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

Разработка

Сначала показывать
Порог рейтинга

Как мы создали Pingora, прокси-сервер, связывающий Cloudflare с Интернетом

Системное администрирование *Программирование *Nginx *Тестирование веб-сервисов *
Из песочницы
Перевод

Сегодня мы хотим рассказать о Pingora, новом HTTP-прокси, который мы создали своими силами с использованием Rust и который обслуживает более 1 триллиона запросов в день, повышает нашу производительность и предоставляет множество новых возможностей для клиентов Cloudflare, требуя при этом лишь треть ресурсов процессора и памяти от объема ресурсов нашей предыдущей инфраструктуры прокси.

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

Читаем дальше!
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 360
Комментарии 3

Новости

Шифрование сертификатов TLS — как формируется цифровая подпись

Блог компании GlobalSign Информационная безопасность *Разработка веб-сайтов *Криптография *IT-стандарты *


По оценке независимой исследовательской и консалтинговой компании Frost & Sullivan, TLS-сертификаты от GlobalSign обеспечивают максимально надёжное шифрование. В том числе за это GlobalSign получила в сентябре 2022 года награду 2022 Global Competitive Strategy Leadership Award.

Но возникает вопрос, чем же отличается шифрование в разных сертификатах? В частности, какие алгоритмы используются для криптографической подписи?
Читать дальше →
Всего голосов 5: ↑3 и ↓2 +1
Просмотры 847
Комментарии 2

Что Должно Быть в Каждом FirmWare Pепозитории

C *Разработка робототехники *Программирование микроконтроллеров *DevOps *Производство и разработка электроники *
Tutorial

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

То есть перечислить самые универсальные и переносимые программные компоненты (кирпичики), которые могут пригодиться в практически любой сборке.

Читать далее
Всего голосов 9: ↑7 и ↓2 +5
Просмотры 1.1K
Комментарии 5

Рассылка писем через Unione (php, Yii2)

PHP *Программирование *Yii *ООП *

В статье представлен код позволяющий отправлять транзакционные письма через сервис unione, делать HTTP запросы к REST апи, а так же отправлять обычные email по smtp используя общий класс отправитель различных сообщений.

(new UniversalReader($name))->read()
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 468
Комментарии 0

Добавление расчёта пути к схеме метро Москвы из Википедии

JavaScript *Работа с векторной графикой *HTML *GitHub *

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

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

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 844
Комментарии 6

Объясняю Pattern Memento (Снимок)

Python *IT-стандарты *

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

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

Читать далее
Всего голосов 6: ↑3 и ↓3 0
Просмотры 2.6K
Комментарии 4

Самые известные и странные олдовые компьютерные вирусы (часть 2)

Блог компании RUVDS.com Информационная безопасность *Читальный зал История IT

В первой части мы рассказали о нескольких самых ранних из известных компьютерных вирусов на заре их зарождения. Теперь мы расскажем о вирусах на рубеже 80-х и 90-х годов. Это время стало эпохой не только колоссальных политических перемен, но и превращения вирусов из творений отдельных энтузиастов в предмет массового увлечения для одних и огромную проблему для других.
Читать дальше →
Всего голосов 20: ↑19 и ↓1 +18
Просмотры 3.3K
Комментарии 5

На грани между ИТ и ИБ: противоборство или союз специалистов?

Блог компании Southbridge Информационная безопасность *IT-инфраструктура *

В среде разработчиков бытует мнение, что информационная безопасность относится к IT не напрямую, а косвенно, что это вспомогательная область и даже вторичная. Но так ли это на самом деле? На этот неоднозначный вопрос серьезно и обстоятельно ответили спикер Слёрма Роман Панин и его коллега Павел Шатилов, руководители направления архитектуры ИБ в МТС.

Читать дальше
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 647
Комментарии 2

Если нужно провести пентест или обнаружить вредоносную активность в сети — обсуждаем проект p0f

Блог компании VAS Experts Информационная безопасность *IT-стандарты *

Говорим о компактной утилите для сбора цифровых отпечатков. Её применяют для оценки безопасности ИТ-инфраструктуры. Обсудим возможности и альтернативы.

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 825
Комментарии 0

История эволюции высокоскоростных поездов в СССР и не только

Блог компании Онлайн Патент Патентование *Производство и разработка электроники *Научно-популярное

В предыдущей статье мы подробно рассказали об истории создания и внедрения высокоскоростных поездов (ВСП) за рубежом. В нашей стране также велись подобные работы и об этом расскажем в нашем материале.

Читать далее
Всего голосов 6: ↑4 и ↓2 +2
Просмотры 2.2K
Комментарии 11

Сканер уязвимостей на Python или как написать сканер за 6 часов

Информационная безопасность *Python *

Сканер уязвимостей на Python или как написать сканер за 6 часов

Недавно мне довелось участвовать в хакатоне по информационной безопасности на научной конференции в прекрасном городе Санкт-Петербург в СПбГУТ. Одно из заданий представляло из себя написание собственного сканера уязвимостей на любом ЯП с условиями, что использование проприетарного ПО и фреймворков запрещено. Можно было пользоваться кодом и фреймворками существующих сканеров уязвимости с открытым кодом. Это задание и мое решение с моим коллегой мы и разберем в этой публикации.

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Просмотры 1.9K
Комментарии 1

Как мы строили реактивный игровой сервер на Vert.x

Блог компании MY.GAMES Разработка игр *Игры и игровые консоли

Всем привет, меня зовут Алексей Жуков, я старший программист в студии IT Territory. В этой статье я расскажу, как мы строили игровой сервер для Rush Royale. Объясню, почему создание сервера в геймдеве — это не так просто, как кажется на первый взгляд, а также опишу плюсы и минусы реактивного подхода, который мы использовали в нашей работе. 

Читать далее
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 1.5K
Комментарии 1

Игра Жизнь — клеточный автомат на HTML

CSS *JavaScript *HTML *
Из песочницы

Игра Жизнь - это клеточный автомат созданный в 1970 году Джоном Конвеем.

Это не совсем игра, а просто симуляция клеток по определенным правилам.От игрока лишь требуется размещать эти клетки.

В этом посте мы сделаем "Игру Жизнь" на HTML странице при помощи CSS & JS.

Читать далее
Всего голосов 9: ↑3 и ↓6 -3
Просмотры 2.6K
Комментарии 7

YubiKey головного мозга. Как подружить Ubuntu 22.04.1 LTS c аппаратным ключом безопасности?

Настройка Linux *Информационная безопасность *
Из песочницы

Итак вы решили переехать на новенькую свежую убунту и у вас на столе лежит Юбик 5ой серии без которого вы не можете жить в современном мире.

И как у любого нормального технаря перед Вами сразу встают ровным строем несколько вопросов...

Читать далее
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 3.4K
Комментарии 7

Размер имеет значение! Часть 2

Git *Оболочки *Разработка под Android *GitHub *DevOps *
Tutorial

Как бы мы себя не обманывали - Размер имеет значение! И конечно, мы будем говорить о размере нашего андроид приложения, куда мы добавляем кучу классных features, и даже не задумываемся как это может негативно повлиять на размер приложения. Поэтому мы научимся обнаруживать регрессию размера нашего приложения на CI для автоматизации этого процесса.

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

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 1.7K
Комментарии 0

Rust 1.64.0: rust-analyzer в rustup, IntoFuture, ffi-типы в core и alloc, улучшения в Cargo

Open source *Программирование *Системное программирование *Компиляторы *Rust *
Перевод

Команда Rust рада сообщить о новой версии языка — 1.64.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.


Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.64.0 вам достаточно выполнить команду:


rustup update stable

Если у вас ещё нет rustup, то можете установить его со страницы на нашем веб-сайте, а также ознакомиться с подробным описанием выпуска 1.64.0 на GitHub.


Если вы хотите помочь нам протестировать будущие выпуски, вы можете использовать beta (rustup default beta) или nightly (rustup default nightly) канал. Пожалуйста, сообщайте обо всех встреченных вами ошибках.

Читать дальше →
Всего голосов 25: ↑25 и ↓0 +25
Просмотры 2.7K
Комментарии 3

ITить-КОЛОТИТЬ, серии 14-15

Блог компании Cloud4Y Информационная безопасность *Системное администрирование *Управление персоналом *IT-компании

Привет! Мы продолжаем выкладывать новые выпуски нашего сериала про айтишников. Как он появился и как снимался второй сезон нашего мини-сериала, рассказывали ранее.

Читать далее
Всего голосов 6: ↑3 и ↓3 0
Просмотры 1.2K
Комментарии 3

Пособие по программированию модулей ядра Linux. Ч.7

Блог компании RUVDS.com Настройка Linux **nix *Разработка под Linux *
Перевод

Заключительная часть последней версии руководства по созданию модулей ядра от 02 июля 2022 года. Здесь мы рассмотрим обработку прерываний, криптографию, стандартизацию интерфейсов с помощью модели устройства, а также разберём принцип работы драйвера виртуального устройства ввода и возможность внесения в модуль некоторой оптимизации. В завершение же я укажу на пару неявных, но важных нюансов, а также дам рекомендации по дальнейшему погружению в тему программирования ядра.
Читать дальше →
Всего голосов 28: ↑27 и ↓1 +26
Просмотры 2.1K
Комментарии 0

Первый опыт написания полноценной программы

Программирование *C++ *Учебный процесс в IT
Из песочницы

Каждый начинающий программист мечтает реализовать свой собственный проект. Не написать простенький код, по заданию преподавателя, а воплотить в жизнь свои идеи. Так и я, изучая C++ 3-4 месяца, решился попробовать разработать макет электронного журнала для преподавателей.

Читать далее
Всего голосов 28: ↑15 и ↓13 +2
Просмотры 5.7K
Комментарии 25

Понедельный план онбординга для QA-инженера с опытом

Блог компании Productivity Inside Тестирование мобильных приложений *Управление разработкой *Карьера в IT-индустрии
Перевод
За последние четыре года мы выстроили процесс адаптации, который оставляет хорошее впечатление даже у мегаопытных новых сотрудников. Сегодня мы расскажем про основные этапы и поделимся списком действий первостепенной важности. Эти принципы легко можно адаптировать под инженеров любого уровня, которых вы нанимаете.
Читать дальше →
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 1.7K
Комментарии 0