• Какую литературу по back-end посоветуете?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Сэм Ньюмен «Создание микросервисов»
    Ответ написан
    Комментировать
  • Какую литературу по back-end посоветуете?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Ответ написан
    Комментировать
  • Какой выбрать вектор дальнейшего обучения?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Читайте много книг, в идеале все по выбранному направлению и процентов 30-40% от смежных.

    Если конкретно по информационной безопасности то надо знать:
    • компилируемые языки, Си, Си++
    • разбираться в ядре операционной системы, можно ограничиться только миром Linux, а можно пройтись по всем основным, "Ядро Linux. Описание процесса разработки" Роберт Лав, у Таненбаума много потрясающих книг на тему распределённых систем и операционок как таковых, в чём-то базовые вещи
    • понимать алгоритмы - здесь вам в помощь бессмертные труды Кнута
    • желательно знать парочку интерпретируемых языков что бы искать баги и чинить уязвимости по всем фронтам
    • разбираться в компиляторах и понимать машинный код хотя бы на базовом уровне
    • разбираться в виртуализации, ключевые слова: kvm, quemu, xen, lxc, openvz, virtuozzo, docker, vagrant, прочеее...


    Читать https://www.opennet.ru и www.linux.org.ru , по сетям nag.ru
    Определиться со сферой деятельности и копать более углублённо по ней.
    Ответ написан
    3 комментария
  • Какой алгоритм использовать для нахождения повторяющихся слов в строке?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    Задача поставлена странно, во первых ни в одном языке нет миллиона слов, а используется в среднем от 3 до 10 тыс. То есть задача для миллиона в корне неверна. В любом случае как минимум 1 проход потребуется в любом случае, я бы сделал так.
    1. Создание dictionary слов и их количества
    2. Проход по очереди всех слов
    3. Поиск текущего слова в списке, если его там нет добавляем в список и количество выставляем в 1, если есть +1 к количеству

    В итоге получаем 1 проход по всему тексту и обращение по индексу к dictionary, которое стоит относительно дешево, намного дешевле перебора всего списка.

    Похожий подход применял для анализа текстов, в итоге для 20 книг ~500 стр каждая уходило около 3-5 секунд.
    Для C# это выглядит так
    Ответ написан
    9 комментариев
  • Как оптимизировать алгоритм подсчёта суммы чётных чисел Фибоначчи?

    @Oxoron
    Шарпер
    Навскидку, числа Фибоначчи идут в периоде (нечет-нечет-чет).
    При этом четный член равен сумме предыдущих нечетных.
    3+5 = 8
    13 + 21 = 34
    55 + 89 = 144

    То есть, четное число - это полусумма своей тройки.
    Так что берем искомую последовательность, добавляем при необходимости один-два члена (чтоб получить полную тройку). Сумма первых 2k+1 чисел равна 2*F_{2k+1}. Сумма первых 2k чисел равна F_{2k+2}.

    Так что ищем сумму, отнимаем 1 и 2, отнимаем добавленные слагаемые, делим на два, получаем ответ.

    Формулу быстрого поиска энного числа Фибоначчи ищем на википедии.
    В результате при любых больших n поиск будет занимать почти одинаковое время.
    Ответ написан
    Комментировать