Задать вопрос
  • Как правильно написать код на Python для шифра "Цезарь"?

    @Vorono4ka
    У Rsa97 отличная идея с алфавитом. Мне захотелось написать код с её реализацией.

    У этой идеи есть небольшой нюанс (отнюдь, не минус, а порой даже плюс, если говорить о шифровании): без правильного алфавита расшифровать текст сразу не получится. Если это не нравится, то можно использовать для каждого языка свой алфавит, а не смешивать их воедино. Тогда алгоритм станет более похожим на классический шифр Цезаря, а значит и точный алфавит знать дешифровщику знать не нужно.

    Если уходить от задачи с шифром Цезаря, можно перемешать алфавит любым идемпотентным алгоритом (чтобы каждый раз получать одинаковый результат). Тогда шифр станет более надёжным.

    А если нет необходимости читать старые данные по прошествии времени, то можно вовсе менять ключ, по которому перемешивается алфавит, каждый день и получить этакую "Энигму".

    В C, Java и других языках понадобится следующая формула для приведения shift в нужные границы (0 ≤ shift < len(alphabet)):
    shift = (shift % len(alphabet) + len(alphabet)) % len(alphabet)


    Первый modulo нужен для ограничения сдвига размером алфавита. Сложение результата с длиной алфавита необходимо для получения неотрицательного числа.

    В Python же будет достаточно этого (см. как реализован modulo в Python):
    shift %= len(alphabet)  # Или shift = shift % len(alphabet)


    Но так как при индексации уже берется modulo, здесь никак не нужно обрабатывать shift заранее.

    import string
    
    alphabet = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя" 
    alphabet += alphabet.upper()
    alphabet += string.ascii_letters
    
    # Также можно добавить к алфавиту string.punctuation и string.digits
    
    def caesar_cipher(text: str, shift: int) -> str:
        return "".join(
            alphabet[(alphabet.index(char) + shift) % len(alphabet)] if char in alphabet else char 
            for char in text
        )
    
    cipher = caesar_cipher("Привет, мир! Hello, world!", 46)
    text = caesar_cipher(cipher, -46)  # Или len(alphabet) - 46
    print(f"{cipher}\n{text}")


    Итого получаем рабочий алгоритм и результат:
    DЭХОСЯ, ЩХЭ! ъYеез, пзкеX!
    Привет, мир! Hello, world!
    Ответ написан
    Комментировать
  • Почему флешка быстро умирает, если на неё несколько раз залить линукс для последующей установки?

    @aleks-th
    Это современные говнофлешки, сделанные из микросхем из которых самые шлаковые SSD делают. (и они имеют свойства терять данные после того как просто полежат на полочке...)

    Попробуй подойти к вопросу кардинально, сменив носитель:
    Сам долго воевал с флешками - потом плюнул, взял из старого ноута HDD на 500 гиг. положил в коробочку, поставил тот же Ventoy и с него теперь ставлю.
    Проблем как с флешкой что полежит и файлы не работают теперь нет.
    Ответ написан
    2 комментария
  • Почему флешка быстро умирает, если на неё несколько раз залить линукс для последующей установки?

    Rufus / Ventoy / YUMI (Your Universal MultiBoot Installer) / etc
    Ответ написан
    Комментировать
  • Почему флешка быстро умирает, если на неё несколько раз залить линукс для последующей установки?

    @defmin
    почему умирает? форматирование перезаписывает участок MFT каждый раз, а выравнивания износа у флешек нет, но это не должно приводить к умиранию, на винде такие "поломки" лечатся с помощью diskpart, командой clean

    для того чтобы не заниматься извращением, насилуя флешку, то используйте Ventoy: на такую флешку просто записывается .iso файл и с них производится загрузка

    67a1e8d0d0a1b869593451.png
    Ответ написан
    12 комментариев
  • Не могу из роутера сделать повторитель!?

    @FloppaTheBig
    Попробуй openwrt на него накатить, там больше возможностей
    Ответ написан
    1 комментарий
  • Как бюджетно создать хранилище и сервер для камер видеонаблюдения?

    @Dupych
    SecureOS Lite. Ищи в игете.
    Бесплатная на 32 камеры.
    Немного непонятная в настройке.
    Но цепляет кучу типов камер и есть монитор камер.
    Нужен хороший проц не ниже 4 ядра и 8 гигов оперы.
    Распбери ге подойдет. Не вытянет.
    Если хочешь собрать NAS то OenMediaVault. ISCSI Target.
    Надежно и просто.
    У меня по ISCSI Target бэкапы подключены и никаких отвалов.
    Ответ написан
    Комментировать
  • Настройка AnyDesk. Обязательное подтверждение?

    @maksam07
    Вероятнее всего этот спойлер на 4пда вам поможет:
    https://4pda.to/forum/index.php?act=findpost&pid=5...
    Ответ написан
    Комментировать
  • Какой набор отверток взять для электроники?

    @fbi_suck
    Эникей
    У меня вот такой. Хватает в 99% случаев. Не стачиваются, за 3 года сломался только гибкий удлинитель. Иногда не хватает длины бит, если отверстие под винт в технике длинное и тонкое, но более универсальных наборов все равно не видел.
    КАРТИНКА

    6741e939d5a4c342273642.jpeg
    Ответ написан
    3 комментария
  • Почему питание домашних роутеров — 12 В?

    @artem-dainov
    Php, java, js. Boot spring, jquery, git
    Чтобы можно было питать от машины или машинного акб.
    Можно было бы сказать, что я шучу, да только вот в Украине так не шутят.
    Ответ написан
    1 комментарий
  • Что произошло с роутером после большого количества смены MTU?

    @Zel08
    В каком роутере стоит mtu 1480? Акстичь автор, начни читать хотя бы Википедию... MTU (maximum transmission unit) — это максимальное количество байт, которое сможет передать роутер без фрагментации.

    Чем больше этот параметр, тем выше скорость интернета. Для интерфейса Ethernet типовое значение этой характеристики — 1500. Реальная величина параметра MTU чуть меньше — в пределах 1460–1480 байт. (https://help-wifi.ru/tekh-podderzhka/mtu-v-routere...).
    Автор какие конкретно игры? Консоль подключена или ПК версии ?? Вот мы все должны клещами вытаскивать и читать за тебя
    Ответ написан
    7 комментариев
  • Софт для сервера видеонаблюдения, а какой?

    pindschik
    @pindschik
    ФЫВА ОЛДЖ
    - Писать непрерывное видео на SSD - это очень плохая идея. Моторесурс на запись у них низкий, уделаете диски очень быстро. Лучше берите HDD.
    - Всё же проще сделать на регистраторе, он дешевле сервера виндовс.
    - Некоторые программы от регистраторов (и производителей камер) умеют делать локальную капись, на нем же вы сможете локально смотреть трансляцию (там где программа поставлена). Или поставить еще одну, и настроить. Но с регистратором это всё много проще.
    - С трансляцией в большой интернет сложнее. Нужно преобразование потока и его кеширование на серверной стороне, т.к. много клиентов ни камеры ни регистратор не вывезут. Тут или покупать платное решение, или делать на коленке своё.
    - Еще вариант - просто отдать это на откуп какому-нибудь провайдеру. Платите абонплату и всё.
    Ответ написан
    1 комментарий
  • Софт для сервера видеонаблюдения, а какой?

    NeiroNx
    @NeiroNx
    Программист
    Возьми видеорегистратор, не придумывай проблем из ничего.
    Видеорегистратор - это такой мини-пк с специализированным софтом, с чипом умеющим аппаратный декодинг. Софт отлажен и надежен - это не винда которая захочет обновиться именно в тот момент когда нужно запись с камер.

    Лучше вибирать того бренда, которого у вас стоят камеры - это единая инфраструктура и каждый регистратор под свой бренд заточен, хотя и умеет принимать другие.

    XM - дешевый и надежный.
    Dahua - дороже и менее надежный.
    HikVision - дорогой.
    Ответ написан
    Комментировать
  • Как прокинуть Веб-камеру по rdp?

    @Desert-Eagle
    Новичок во всем
    А в чем проблема?
    В дефолтном клиенте от MS для RDP под macos есть галочки при создании RDP подключения.
    Не работает чтоли или вы просто не пытались даже?
    66865ab4df189794287877.png
    Ответ написан
    2 комментария
  • Как реализовать переход организации с Windows на Astra Linux безболезненно?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Нашли, на что переходить...
    Ответ написан
    3 комментария
  • Почему происходят фризы локальной сети?

    flapflapjack
    @flapflapjack
    на треть я прав
    На данный момент еще не сделаны VLAN

    Сделайте в первую очередь.

    Я бы сделал так:
    Пустил на свой порт все вланы (ну раз у вас их нет, то зачем тогда вообще управляемый коммутатор вам нужен?)
    У себя на компе tcpdump'ом или wireshark'ом смотрел на подозрительный траффик. Обычно кто-то бушует в одном влане, но раз у вас нет разделения - страдают все.

    Я больше всего грешу на видеонаблюдение.
    Ответ написан
    1 комментарий
  • Как исправить код чужого репозитория?

    ayazer
    @ayazer
    Sr. Software Engineer
    создаете свою форку -> создаете в своей форке новую ветку -> исправляете баг в новой ветке -> создаете pull request с ветки своей форки в основную ветку оригинального репозитория. И обычно в более-менее популярных репозиториях есть список требований/рекомендаций которые надо выполнять если хотите чтоб ваш код вмерджили
    Ответ написан
    7 комментариев
  • Дешевые виртуальные PHP хостинги такие слабые или я что-то недогоняю?

    Zoominger
    @Zoominger Куратор тега Веб-разработка
    System Integrator
    виртуальные дешевые сервера по сути ничтожны по производительности?

    С просветлением вас.
    Ответ написан
  • Wan2lan или как сделать из openwrt просто свич?

    Energoblock
    @Energoblock
    Geek
    Зачастую в openwrt физические порты LAN определяются как eth1, а порт WAN как eth0. Поэтому нужно:
    1. Заходим в Network - Interfaces и удаляем интерфейс WAN.
    2. Там же на интерфейсе LAN нажимаем Edit, заходите в раздел Physical settings и добавляете галочки так, чтобы у вас они стояли напротив eth0, eth1 и wlan0 (Wireless network). Тем самым вы объедините все 5 проводных портов и беспроводной интерфейс в один мост. То есть получите обычный свитч без WAN порта.
    3. Заходите в настройки vlan и отключаете так как вы и планировали.
    Ответ написан
  • Как уйти из медицины в программисты?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Вы тут попали в больную гнойную мозоль тостера. Каждый день кто-то приходит и спрашивает "как стать программистом", в 99% случаев это бездельники которые ничего не умеют, и учиться не хотят, но увидели на ютубе видос о том что "программисты зарабатывают от 200к в месяц", а потом их завалила реклама курсов "стань питон-джедаем за 3 дня и уедь в США кататься на порше". Но на курсы денег нет поэтому они приходят сюда и спрашивают "как стать программистом за 3 дня самостоятельно, и можно ли будет получать хотя бы 150к на начальном этапе".

    Так что не удивляйтесь комментариям.

    По делу - начальный этап самый сложный. Во многом из-за засилья "хочунов", которые ничего не умеют но заспамили уже весь интернет и всех работодателей. Через это придется как-то пробиться, или упорством или хитростью. Надо как можно раньше получать реальный опыт, неважно какими способами - и искать работу джуном. Быть готовой что 20 раз откажут перед тем как взять. Дальше все зависит от упорства, города и удачи.

    Город какой у вас?
    Ответ написан
    4 комментария
  • Как уйти из медицины в программисты?

    php666
    @php666
    PHP-макака
    Слишком мало перспектив развития
    "(само)развитие" - это термин девочек из инстаграмм. Нет никакого абстрактного "развития". У человека либо есть четкие цели, либо нет. Вся суть работы - зарабатывание денег на кусок хлеба. Все остальное - розовые сопли. С чего ты решила, что именно программирование дает развитие, а не медицина?
    Рассказать тебе, как я, будучи программистом, порой приходя с работы в пятницу, испытываю лишь желание напиться до чертиков (что раньше активно и делал)? Ибо работа в этой сфере напоминает день сурка и весьма унылую жизнь, которая проходит за коробкой монитора 30х40. Я вижу одних и тех же людей, веду неподвижный образ жизни и решаю практически одни и те же задачи. От того, что я изучил новый фреймворк/технологию я не стал умнее, богаче или моя жизнь кардинально поменялась. Ткни пальцем, где в описанных моментах ты можешь увидеть "развитие"?

    Могу предположить, что развитие - это когда ты создашь свою частную клинику, на тебя будут работать люди, а ты выйдешь на качественно иной уровень по самооценке, кругу общения и финансам. Вот это - развитие.

    и карьерного роста
    Карьера в айти - это максимум должность руководителя отдела/подразделения/управления. К общим задачам кодинга добавляется и еще и обязанность быть прослойкой между программистами и бизнесом. И это все после многих лет работы. Многие в виду профдеформации вообще этим не хотели бы заниматься, ибо у разработчиков такой тип личности - умышленное абстрагирование от лишних коммуникаций. Или ты метишь стать Цукербергом/Джопсом?

    Еще одним фактором является отсутствие даже теоретической или временной возможности удаленной работы.
    ЗАБУДЬ про удаленную работу. По факту её почти нет, её сложно найти.
    Что бы решать задачи сложнее и интереснее, чем удаленное написание мутных систем для мутных заказчиков (что эквивалентно в терминах медицины работе в должности медсестры в типовой коммерческой клинике) нужно работать в офисе. На дядю. По ТК РФ. Как все.
    Ни один серьезный бизнес не нанимает удаленщиков. Никогда. Сотрудники должны быть на местах, что бы тыкать друг-друга носом в монитор и быть частью работающей команды в зоне доступности рабочего графика и часового пояса. Нет никаких причин нанимать какого-то человека за 1000 верст, что бы чатиться с ним в чатике и обсуждать по вотсапу какие-то вопросы. Ни одной причины. Если есть какой-то абстрактный гений - он скорее переедет поближе к работе и также будет ходить на работу с 9 до 18.

    .Вижу у себя реальный интерес к процессу
    Интерес к процессу быстро кончится на попадание в реальные задачи, где будут сроки, дедлайны, невнятные требования, тысячи кем-то написанных строк кода и коллеги по рангу выше будут гонять тебя за твой кривой код.
    Мне тоже было интересно купить иглодержатель и эмулировать зашитие ран по видеоурокам на ютубе.

    И еще Максим Федоров высказал очень правильную вещь. Что бы стать программистом не нужно дипломов и обучения в профильном ВУЗе. Соответственно, таких людей всегда будет значительно больше, чем врачей - людей, прошедших все круги обучения. Теперь подумай - а стоит ли нивелировать себя до уровня этих "простолюдинов"?
    Ответ написан
    25 комментариев