• Какой алгоритм шифрования самый быстрый?

    Zoominger
    @Zoominger
    System Integrator
    Берите AES, его аппаратная поддержка есть в большинстве современных процессоров.
    Ответ написан
    2 комментария
  • Как обработать массивы?

    erge
    @erge
    Примус починяю
    const al   = "АБВГДЕЁЖЗИКЛМНОПРСТУФХЦЧШЩЫЬЭЮЯ "; // Алфавит
    let key1 = "ПЕРВЫЙ"; // первый ключ
    let key2 = "БУКВА"; // второй ключ
    let open_str = "ЭТО СТРОКА ОТКРЫТОГО ИСХОДНОГО ТЕКСТА"; // кодируемый текст
    
    // т.к. в алфавите нет букв Й и Ъ, то производим соответствующую замену:
    key1 = key1.replace("Й","И").replace("Ъ","Ь");
    key2 = key2.replace("Й","И").replace("Ъ","Ь");
    open_str = open_str.replace("Й","И").replace("Ъ","Ь");
    
    // кодируем текст
    let encoded_str = ([...open_str]).map( (e,i) => al[(al.indexOf(e) + al.indexOf(key1[i%key1.length]) + al.indexOf(key2[i%key2.length])) % 32] ).join("");
    
    console.log(encoded_str);


    PS:
    к строке по сути можно обращаться как к массиву - str[index]
    про .map смотрим здесь - https://developer.mozilla.org/en-US/docs/Web/JavaS...
    если вам надо прям вот на МАССИВАХ, то просто сделайте соответствующие переменные "массивами"
    строку в массив можно разбить так str.split("") или [...str]

    по скрипту
    al - строка / массив букв алфавита
    al.indexOf(char) - получаем индекс буквы в алфавите
    по выбору символа из ключа - т.к. ключ у нас заитерирован, то берем остаток от деления индекса кодируемого символа на длину ключа , это и будет символ из ключа - key1[i%key1.length], далее получаем его код по алфавиту - al.indexOf(key1[i%key1.length])

    и у вас много ошибок в таблице, например в третьей строке - конечный символ не И, а З
    и т.д.

    Ответ написан
    Комментировать
  • Зачем сегодня используется java?

    DevMan
    @DevMan
    Сегодня же по части веба всё и вся на pythone и php (большая часть) ведь это удобнее всего
    много видели интернет-банкингов или крупных систем на питоне/пхп?

    по части десктопа это c#(к примеру) и с++
    ога. особенно на пингвине и яблоке.

    поскольку приложения на java не блещат красотой
    красота зависит не от явы, а от степени рукожопости людей, ее использующих.
    это, кстати, справедливо и для любого другого языка, включая шарп и плюсы.

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

    @deliro
    Значит, смотри. Просто так код никто проверять не будет, особенно тщательно. Но так как программисты — в основном закомплексованные люди с диким ЧСВ, им нужно вбрасывать так, чтобы они были несогласны, т.к. показать свою уникальность и важность — для них необходимость.

    * Создаёшь вопрос с посылом "я тут накидал код, он охуенен". В подпись ставишь "Senior bla-bla-bla developer", накидываешь в "О себе" кучу фейковых сертификатов, которые подтверждают то, какой ты умница и обязательно вставляешь, что у тебя есть вышка и что она просто необходима для того, чтобы быть настоящим хорошим программистом

    * Ждёшь несколько часов

    * Ловишь миллионы горячих пятых точек, с пеной у рта доказывающих свою правоту

    * Выделяешь объективные недочёты

    * PROFIT!
    Ответ написан
    Комментировать
  • Куда податься с незаконченным высшим (2 курса)?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Если есть знания - нет никаких преград.

    Цените не возможность работать, а свои знания и свой личный опыт!
    "Нет диплома - получай половину от ЗП сотрудников с дипломом" - сразу встаёте и уходите с собеседования.

    Поймите правильно: Вы с необходимыми для работодателя знаниями - это исправный рабочий механизм, а не полуфабрикат: почему же Вы должны получать меньше и испытывать какие-то трудности при трудоустройстве?!
    Ответ написан
    4 комментария
  • Linux для начинающих?

    NSA-bot
    @NSA-bot
    Linux Mint
    Ответ написан
    Комментировать
  • Где ошибка в коде?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    oZGq8xg.png
    Ответ написан
    Комментировать
  • Почему все работодатели требуют высшее образование?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    Дело в психологии. Всем нужны адекватные взрослые работники, а не вчерашние подростки больные максимализмом. ВО в каком-то роде создает "возрастной ценз" и в целом учеба в универе ставит мозги на место во многих аспектах. А если человек к 25 годам не осилил ВО то это как бы звоночек, и нужно пристально присмотреться к адекватности кандидата.
    Тоже самое с людьми семейными - если у человека нормальная семья к 30-35 годам то это один из признаков что перед вами нормальный (в целом) человек, а не мизантроп-психопат который не может коммуницировать с людьми.
    Ответ написан
  • Наказание за поиск уязвимостей?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Не будет.
    Разве что они связали второй аккаунт с первым, но вряд ли, особенно если это какая-нибудь онлайн игра, где по традиции разрабам пофиг на читеров.

    Больше похоже на желание отблагодарить. Ну и простимулировать искать уязвимости дальше.

    Вы должны были нанести приличный ущерб, чтобы у них появилось желание вас наказать.
    Ответ написан
    8 комментариев
  • Возможно ли улучшить качество кода?

    longclaps
    @longclaps
    Решение почти рабочее, содержит ошибку, и вправду похоже на Франкенштейна. Давай-ка его разберём:
    Начнем с ошибки:
    припишем справа к той длинной строке вот такую: '0999999999999' (ноль и 12 девяток). Очевидно, этот хвост даст произведением ноль. Но твой алгоритм слажает, и в результате выдаст Finisg_Number равным 282429536481. Исправим это:
    All_Numbers = list('7316717...2963450' + '0999999999999')
    Finisg_Number = 0
    for _ in range(len(All_Numbers) - 13):
        temp = 1
        for Number in All_Numbers[: 13]:
            temp *= int(Number)
        del All_Numbers[0]
        if temp > Finisg_Number:
            Finisg_Number = temp
    print(Finisg_Number)
    Далее пройдёмся по эффективности: хотя задача мелкая и выполняется быстро, почему бы не разобраться, что тормозит? del All_Numbers[0] - это тяжелая операция, при удалении первого элемента листа все остальные копируются на одну позицию левее. А вот del All_Numbers[-1] такого эффекта не вызывает. Попробуем переписать так:
    All_Numbers = list('7316717...2963450')
    Finisg_Number = 0
    for _ in range(len(All_Numbers) - 13):
        temp = 1
        for Number in All_Numbers[-13:]:
            temp *= int(Number)
        del All_Numbers[-1]
        if temp > Finisg_Number:
            Finisg_Number = temp
    print(Finisg_Number)

    Вроде работает. Ну и еще, на каждом шагу выполняется 13 умножений. Немного, а если бы 313? Есть способ обойти и это. Тут я выложу свой код с минимумом комментариев:
    l = list(map(int,
                 '73167176531330624919225119674426574742355349194934969835203'
                 '12774506326239578318016984801869478851843858615607891129494'
                 '95459501737958331952853208805511125406987471585238630507156'
                 '93290963295227443043557668966489504452445231617318564030987'
                 '11121722383113622298934233803081353362766142828064444866452'
                 '38749303589072962904915604407723907138105158593079608667017'
                 '24271218839987979087922749219016997208880937766572733300105'
                 '33678812202354218097512545405947522435258490771167055601360'
                 '48395864467063244157221553975369781797784617406495514929086'
                 '25693219784686224828397224137565705605749026140797296865241'
                 '45351004748216637048440319989000889524345065854122758866688'
                 '11642717147992444292823086346567481391912316282458617866458'
                 '35912456652947654568284891288314260769004224219022671055626'
                 '32111110937054421750694165896040807198403850962455444362981'
                 '23098787992724428490918884580156166097919133875499200524063'
                 '68991256071760605886116467109405077541002256983155200055935'
                 '72972571636269561882670428252483600823257530420752963450'
                 '0999999999999'))
    sliding = 1  # в sliding я буду держать произведение тех чисел из окна, которые больше нуля
    for a in l[:13]:  # это начальное окно, в цикле я буду сдвигать его вправо
        if a:
            sliding *= a
    zerocount = l[:13].count(0)  # тут я буду отслеживать, сколько нулей в текущем окне
    best = 0 if zerocount else sliding  # упс, чуть не потерял начальное окно
    for a, b in zip(l, l[13:]):  # a выходит из окна, b заходит
        if a:
            sliding //= a
        else:
            zerocount -= 1
        if b:
            sliding *= b
        else:
            zerocount += 1
        if not zerocount and best < sliding:
            best = sliding
    print(best)
    ps Поработай над стилем, ссылку на pep8 давали выше.
    Ответ написан
    3 комментария
  • Возможно ли улучшить качество кода?

    SpacePurr
    @SpacePurr
    c#, wpf
    Если мучаешься - бросай. Если интересно - продолжай и код станет лучше. Как и ты. Как и весь мир.
    Ответ написан
    1 комментарий
  • Нужен ли для разработки на Java мощный компьютер\ноутбук?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    ДА! Чем круче - тем лучше: JVM - java virtual machine. Виртуальная машина очень требовательна при запуске (инициализации): чем быстрее работает окружение (cpu+ram) среды разработки - тем лучше.
    Ответ написан
    1 комментарий
  • Выдумать себе опыт работы - это хорошая идея?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    А еще hr-ы просматривают твои аккаунты в соцсетях и если ты там репостишь всякую дичь то тебя не возьмут. Соцкапитал и соцрейтинг, береги честь с молоду, так сказать.
    Ну и по существу - в выдуманный опыт никто не верит конечно же.
    Ответ написан
  • Наемная работа или Фриланс?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    На фрилансе или удалённой работе, нужно решать сразу несколько задач самостоятельно.
    И лишь одна из них напрямую относится к написанию кода.
    Поэтому, сначала поймите процесс взаимодействия и ощутите всю ответственность при работе над проектом.

    Чтобы оценивать сложность проекта и сроки выполнения этапов работ - нужен опыт (в противном случае - дело может дойти до суда).
    Определитесь с направлением и "набейте руку" вместе с ЛИЧНЫМ! опытом по оценке трудоёмкости и скорости исполнения различных типовых этапов внутри одного проекта.
    Спрос: будет только с Вас!
    Ответ написан
    Комментировать
  • Наемная работа или Фриланс?

    origami1024
    @origami1024
    went out for a night walk
    Советую и то и то. Официально ты наёмник. А вечером и на выходных фрилансер (Проблема в том, что большие проекты новичкам доверять - большой риск для заказчика, даже не считая большой конкуренции. Нужн брать маленькие проекты на 1 вечер, участвуя в бесчеловечной конкуренции. Конкуренция делает человека профессионалом).

    P. S. Времени на девушку/жену не будет, придется её бросить, либо позволить ей любовников.
    Ответ написан
    1 комментарий
  • Как написать калькулятор который умеет работать с римскими цифрами?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    В твоем классе не учитываются L, C, D, M. Тебе нужно сначала перевести в арабские цифры, произвести операцию, затем результат переводить обратно в римские цифры. Вот тут посмотри.
    Ответ написан
    Комментировать
  • Как написать калькулятор который умеет работать с римскими цифрами?

    @EmelyanovKonstantin
    GIS архитектура, аналитика, разработка
    L, C, D, M не надо на вход. Только на выход.
    * должен принимать на вход числа от 1 до 10 включительно, не более

    Получайте входную строку как String
    String value1;
    Сканер должен ждать тогда не .nextInt();, а nextLine(); чтобы прочитать строку.
    А потом парсите его по вашим правилам:
    int num1 = toArabic(value1);
    .....
    public int toArabic(String value){
    
       if(value.equals("I") return 1;
       if(value.equals("II") return 2;
       и т.д.
    
    }
    Ответ написан
    1 комментарий
  • Как сами спецслужбисты пользуются интернетом?

    GavriKos
    @GavriKos
    они пользуется самописными браузерами

    Ага, и Путин, и Навальный сами себе браузеры пишут.

    выкупленные айпи сервера

    Бери круче - выкупленные интернеты. У каждого свой.

    на каком железе сидят спецслужбисты, работники антивирусных компаний типа касперского?


    На процессоре Эльбрус же!

    То есть его нет?

    Не беспокойся, твоя история посещения порнхаба никому неинтересна. Да, товарищ майор?
    Ответ написан
    3 комментария
  • Наследование в Java, как правльно наследовать метод?

    GavriKos
    @GavriKos
    Наследуемый и наследник должны иметь одинаковый прототип, т.е. одинаковое имя, входные параметры и возвращаемый тип данных.
    У вас возвращаются разные типы.
    Выход в лоб - возвращать базовый тип, например.
    Ответ написан
    Комментировать