Как стать автором
Обновить
26
0

Пользователь

Отправить сообщение

RC6. От простого к сложному

Время на прочтение7 мин
Количество просмотров12K

RC6 - симметричный блочный шифр, использующий в качестве своей основы сеть Фестеля. Разберемся, как это работает.

Что тут у нас?
Всего голосов 30: ↑29 и ↓1+28
Комментарии9

Поиск работы Java-программистом в Лондоне по Dependent визе

Время на прочтение4 мин
Количество просмотров4K

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


Image of London
Автор фото: @_leafabienne


Предыстория. Мне очень хотелось переехать, и я пыталась найти себе работу в Лондонe, еще пока была в Москве. У мужа это получилось быстрее, так что переехала с ним и продолжила поиски уже на месте по dependant визе. Мотивация статьи — сравнить поиск работы из России и поиск работы “на месте”. Спойлер: “на месте” по dependent визе многократно быстрее ;).

Процесс рекрутинга


Процесс рекрутинга в зарубежные компании можно разделить на несколько этапов

Читать дальше →
Всего голосов 6: ↑4 и ↓2+2
Комментарии7

«Breakout-YOLO»: знакомимся с шустрой object-detection моделью, играя в классический «Арканоид»

Время на прочтение7 мин
Количество просмотров12K


Всем привет! Весенний семестр для некоторых студентов 3-го курса ФУПМ МФТИ ознаменовался сдачей проектов по курсу «Методы оптимизации». Каждый должен был выделить интересную для себя тему (или придумать свою) и воплотить её в жизнь в виде кода, научной статьи, численного эксперимента или даже бота в Telegram.


Жёстких ограничений на выбор темы не было, поэтому можно было дать разгуляться фантазии. You Only Live Once! — воскликнул я, и решил использовать эту возможность, чтобы привнести немного огня в бессмертную классику.

Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии7

Три кейса инвентаризации рабочих станций в условиях удалённой работы

Время на прочтение3 мин
Количество просмотров2.6K
Управление рабочими станциями при их физическом отсутствии в офисе — новый вызов для компаний, которые перевели сотрудников на удалённый режим работы. При наличии прав администратора, пользователи, непреднамеренно могут установить софт, который окажется эксплойтом для чьего-то злого умысла. Например, многим известен кейс отказа от Zoom в Google, SpaceX и других известных компаниях и государственных структурах.



В этой статье мы разберём примеры использования решения для распространения ПО и инвентаризации Quest KACE в том числе и для обнаружения на рабочих станциях того же Zoom. Подробности под катом.
Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии0

Твое рабочее окружение в нордическом стиле

Время на прочтение4 мин
Количество просмотров14K

Хочу поделиться своей интересной находкой, которая помогла мне наконец осуществить свою маленькую мечту. Объединить все свои рабочие инструменты единым стилем. И не просто стилем, а хорошо продуманным, выверенным и целостным. Что мне помогло этого добиться? Это палитра Nord, портированная для большинства современных и не очень редакторов, терминалов и не только. Если вам не чужда подобная мечта, прошу под кат.


Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии16

Алгоритмы быстрой обработки HTTP-строк

Время на прочтение22 мин
Количество просмотров9.2K
В HTTP/2 появилась компрессия стандартных заголовков, но тело URI, Cookie, значения User-Agent по-прежнему могут составлять десятки килобайт и требуют токенизации, поиска и сравнения подстрок. Задача становится критичной, если HTTP-парсер должен обрабатывать интенсивный злонамеренный трафик. Стандартные библиотеки предоставляют обширный инструментарий обработки строк, но у HTTP-строки есть своя специфика. Именно для этой специфики разработан HTTP-парсер Tempesta FW. Его производительность в несколько раз выше по сравнению с современными Open Source решениями и превосходит быстрейшие из них.


Александр Крижановский (krizhanovsky) основатель и системный архитектор Tempesta Technologies, эксперт в области высокопроизводительных вычислений в Linux/x86-64. Александр расскажет об особенностях структуры HTTP-строк, объяснит, почему стандартные библиотеки плохо подходят для их обработки, и представит решение Tempesta FW.

Под катом: как HTTP Flood превращает ваш HTTP-парсер в узкое место, проблемы x86-64 с branch mispredictions, кэшированием и не выровненной памятью на типичных задачах HTTP-парсера, сравнение FSM с прямыми переходами, оптимизация GCC, автовекторизация, strspn()- и strcasecmp()-like алгоритмы для HTTP-строк, SSE, AVX2 и фильтрация инъекционных атак с использованием AVX2.
Всего голосов 39: ↑38 и ↓1+37
Комментарии2

6 основных библиотек для программирования на Python

Время на прочтение6 мин
Количество просмотров83K
Привет, Хабр! Представляю вам перевод статьи "6 Essential Python Libraries for Python Programming" автора VijayDeveloper.

Python (питон) — это высокоуровневый язык программирования общего назначения, который стал одним из ведущих и популярнейших в сообществе программистов. По своим возможностям он классифицируется от разработки упрощенных приложений до проведения сложных математических вычислений с одинаковым уровнем сложности.

Являясь одним из ведущих языков программирования, он имеет много фреймворков (платформ для построения приложений) и библиотек, которыми можно воспользоваться. Библиотека языка программирования — это просто набор модулей и функций, которые облегчают некоторые специфические операции с использованием этого языка программирования.
Читать дальше →
Всего голосов 38: ↑13 и ↓25-12
Комментарии11

Метод бисекционного деления в тестировании

Время на прочтение7 мин
Количество просмотров19K

Содержание



Иногда баги сами нас находят. Вот мы впихали большую строку данных — и система подвисла. Это она из-за 1 млн символов упала? Или ей какой-то конкретный не понравился?

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

Если найти минимальные данные для воспроизведения, то:

  • Вы сэкономите время разработчику — ему не придется подключаться к тестовому стенду, самому грузить файл и дебажить
  • Менеджер сможет легко оценить приоритет задачи — это нужно срочно исправлять, или баг может подождать? Пока название «некоторые файлы падают, хз почему» — это сделать сложно...
  • Описание бага от понимания причины падения тоже только выиграет.

Как найти минимальные данные для воспроизведения бага? Если есть какие-то подсказки в логах, применяем их. Если подсказок нет, то самый оптимальный метод — метод бисекционного деления (также известный как метод «деления пополам» или «дихотомия»).

Описание метода


Метод применяется для поиска точного места падения:

  1. Взять падающую пачку данных.
  2. Разбить пополам.
  3. Проверить половину 1

    • Если упало — значит, проблема там. Работаем дальше с ней.
    • Если не упало → проверяем половину 2.
  4. Повторяем шаги 1-3 до тех пор, пока не останется одно падающее значение.



Метод позволяет довольно быстро локализовать проблему, особенно если это делается программно. Разработчики встраивают такие механизмы в обработку данных. А если не встраивают, то сами и страдают потом, когда к ним приходит тестировщик и говорит «Вот на этом файле падает, а точную причину я не смог найти».
Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии17

Как защититься от гипновируса

Время на прочтение2 мин
Количество просмотров17K
По данным правозащитной организации «Kämpa för munkar», активность гипновирусов выросла за последний месяц вдвое.

На карте, сделанной с американского спутника, видны зараженные ареалы.



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

• файлов на торрентах – 5 %,
• порнороликов – 21 %,
• фильмов производства «Marvel Studios» — 60 %,
• фильмов с участием Николаса Кейджа – 95 %,
• книг Дэна Брауна – 100 %.
Читать дальше →
Всего голосов 43: ↑29 и ↓14+15
Комментарии20
Несмотря на осторожное отношение к виртуальной инфраструктуре многих российских компаний и до сих пор присутствующий страх миграции в облака, российский рынок облачных сервисов в 2018 году вырос на 25% по сравнению с предыдущим годом. Инфраструктура как сервис становится все более востребована бизнесом в РФ. Прогнозы таковы, что этот рынок будет расти примерно на 23 % в год и по итогам 2022 года может достичь 155 млрд рублей. Заметив усиление тренда на перенос корпоративных ИТ-систем в облака несколько лет назад, в этот сегмент рынка устремились и телеком-операторы в надежде найти новые точки роста для бизнеса.
Подробности — под катом
Всего голосов 26: ↑24 и ↓2+22
Комментарии3

Rust: качаем ленту и парсим JSON

Время на прочтение11 мин
Количество просмотров18K

Я покажу вам, как написать небольшую программу, которая скачивает ленту(feed) в формате JSON, парсит и выводит список заметок на консоль в форматированном виде.


У нас все вылилось в очень лаконичный код. Как? Смотрите под катом.

Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии8

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность