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

Open source *

Открытое программное обеспечение

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

Эволюция CAPTCHA: доказательство PoW, продвинутые боты

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


Поскольку во всех типах капчи системы ИИ показывают результат лучше человека, исследователи задались задачей придумать более эффективные методы защиты от ботов.

Например, mCaptcha — опенсорсная CAPTCHA, работающая по принципу proof-of-work. Её уже можно встретить на некоторых сайтах.
Читать дальше →
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 7

Новости

Производительность блочного хранилища на основе софт рейдов (mdadm, LVM и ZFS) при использовании iSER и NVMe-oF

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 1.8K
Обзор

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

Цель - протестировать производительность трёх систем объединения физических устройств в одно логическое систем при использовании iSER и NVMe-oF.

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

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 11

Вызовы эпохи Web3 для технологии блокчейн и возможные решения

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 1.1K
Обзор

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

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

Искусство ETL. FAQ по Data Cooker ETL

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

Как и было обещано, в завершение серии ( 1 2 3 4 5 ) статей о разработке инструмента для ETL больших данных, я выкладываю выжимку ответов на вопросы.


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


Q. Что это такое?


A. Специализированный инструмент для а) быстрого создания ETL процессов и б) эффективного по стоимости их выполнения.


Промка: https://dcetl.ru
Исходники: https://github.com/PastorGL/datacooker-etl
Официальная группа в телеге: https://t.me/data_cooker_etl

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

Истории

VETKeys — on-chain шифрование в Internet Computer

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 346
Обзор

В этой статье обзорно поговорим про грядущую фичу Internet Computer'a под названием VETKeys. Она полностью решает проблему менеджмента ключей в privacy-focused приложениях (и в Web3.0, и в Web2.0), позволяя вообще не хранить ключи шифрования пользователей, а запрашивать их on-demand из блокчейна по протоколу гарантирующему, что никто кроме самого пользователя его ключ не увидит.

Читать далее
Всего голосов 1: ↑0 и ↓1 -1
Комментарии 0

userver 1.0 — релиз фреймворка для IO-bound программ

Время на прочтение 7 мин
Количество просмотров 5.7K
С момента выхода 🐙 userver в опенсорс прошло чуть больше года. За это время мы успели реализовать множество запросов от наших новых пользователей и обросли внушительной аудиторией в каналах поддержки. При этом поток вопросов, как пользоваться различными частями userver, значительно сократился, а это значит, наши улучшения документации принесли свои плоды.

image

Поэтому мы вышли из беты и сделали релиз!

Что нового в релизе? Зачем вообще нужен userver и какие существуют технологии для обеспечения надёжной работы серверных приложений? Можно ли воспользоваться крутыми C++ классами из userver, не используя при этом корутины? Какие дальнейшие планы? Ответы на все эти вопросы ждут вас под катом.
Читать дальше →
Всего голосов 44: ↑44 и ↓0 +44
Комментарии 9

Реализуем на Rust пул потоков с балансировкой нагрузки, пользуясь только стандартной библиотекой

Уровень сложности Сложный
Время на прочтение 14 мин
Количество просмотров 1.9K
Обзор
Перевод
image

В программировании «пулом потоков» (thread pool) называется паттерн проектирования, обеспечивающий конкурентное выполнение компьютерной программы. Эта модель также может именоваться «worker crew» (рабочая бригада) или «replicated workers» (самовоспроизводящиеся задачи). Пул держит наготове множество потоков, ожидающих, пока владеющая им программа не выделит ему в конкурентное выполнение ряд задач
— по Википедии


Репозиторий: github.com/arindas/sangfroid

Этот пост написан в основном под впечатлением от лекции Роба Пайка "Конкурентность – это не параллелизм".

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

Неочевидные возможности короля картографического ПО на гаджетах

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

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

ПО OsmAnd расшифровывается, как OpenStreetMap Automated Navigation Directions (источник: оф.сайт), а не как пишут, на некоторых форумах, например, на 4pda, как ОпенСтритМапАНДроид.

Читать далее
Всего голосов 51: ↑51 и ↓0 +51
Комментарии 102

Инструменты для пентеста Wi-Fi

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 5.4K
Обзор

Это дополнение к основной статье "Как стать гуру или Wi-Fi Cheat Sheet". Я увидел много откликов по данной теме как положительных, так и отрицательных. Кому-то не нравится подача (да, есть свои минусы, но перенести материал из обычной заметки Markdown достаточно сложно), кому-то инструменты, но кто Я такой, чтобы останавливаться. Сегодня я приложу максимально полный список (для меня) инструментов с кратким описанием.

Пора изучать
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 0

Оценка эффекта персонализации баннеров в Альфа-Банке с применением библиотеки Kolmogorov ABacus

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 1.2K
Кейс

Знакома ли вам такая ситуация: вы разработали модель машинного обучения и попытались оценить эффект, но эксперимент показал, что модель не принесла никакого экономического эффекта?

Значит ли это, что модель действительно неэффективна? Или причина низких результатов все-таки в чем-то другом? И если так, то в чем именно?

Нечто подобное случилось с командой Альфа-Банка, и мы – GlowByte Advanced Analytics – отправились к ним на помощь, захватив с собой разработанную нами библиотеку A/B-тестирования Kolmogorov ABacus (что в переводе означает “счеты”)!

Как нам удалось решить эту проблему?
Всего голосов 18: ↑17 и ↓1 +16
Комментарии 0

Dragon Userbot — расширение возможностей Вашего Telegram-аккаунта до уровня, ограниченного лишь Вашей фантазией

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 4.4K
Кейс

Мы хотим рассказать о проекте, который существует уже больше года и, за свою историю, получил уже больше 200 "звезд" на GitHub. ​Сегодня, мы релизнули версию 4.0 - она использует новые версии библиотек (Pyrogram) и имеет дополненный функционал.

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

Искусство ETL. Пишем собственный движок SQL на Spark [часть 5 из 5]

Уровень сложности Сложный
Время на прочтение 14 мин
Количество просмотров 937
Туториал

REPL


В данной серии статей я подробно рассказываю о том, как написать на Java собственный интерпретатор объектно-ориентированного диалекта SQL с использованием Spark RDD API, заточенный на задачи подготовки и трансформации наборов данных.

Краткое содержание предыдущей серии, посвящённой API расширения и разного рода технической обвязке:


Расширяемость. API подключаемых функций
Режимы запуска. Пакетный режим, сборка для разных окружений, автотесты


Теперь можно поговорить о последних штрихах, делающих инструмент — инструментом, а именно, об интерактивно-отладочном режиме, то есть, REPL, клиенте и сервере, а также о генераторе документации.


Предупреждение о рейтинге «M for Mature»

Уровень сложности данной серии статей — высокий. Базовые понятия по ходу текста вообще не объясняются, да и продвинутые далеко не все. Поэтому, если вы не разработчик, уже знакомый с терминологией из области бигдаты и жаргоном из дата инжиниринга, данные статьи будут сложно читаться, и ещё хуже пониматься. Я предупредил.

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

JavaScript триггеры и функции появились в Redis 7.2

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 1.7K
Перевод

В Redis уже много лет используется язык программирования Lua для исполнения пользовательского кода налету (eval) или определении пользовательских функций. Lua действительно удобный язык, но скорее с точки зрения встраивания внутрь проекта на C/C++ для выполнение простых скриптов. Большинство же разработчиков, которые используют Redis, предпочли бы не учить новый язык, а работать с уже известным и более популярным скриптовым языком, таким как JavaScript. И это наконец-то случилось.

Предлагаю ознакомиться с тем, как команда Redis в релизе 7.2 дошла до долгожданного внедрения JavaScript и как сделать первый шаги по запуску триггеров и функций.

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

Ближайшие события

Yandex Scale
Дата 25 – 26 сентября
Время 17:00 – 18:00
Место Москва Онлайн
Битва пет-проектов
Дата 25 сентября – 30 ноября
Место Онлайн
Business&IT Day: Retail CPG
Дата 28 сентября
Время 09:50 – 14:00
Место Онлайн
XIX конференция разработчиков свободных программ «Базальт СПО»
Дата 29 сентября – 1 октября
Время 10:00 – 19:00
Место Переславль-Залесский Онлайн
Kokoc Hackathon
Дата 29 сентября – 1 октября
Время 19:00 – 21:00
Место Онлайн
Ruby Russia 2023 Online
Дата 30 сентября
Время 11:00 – 21:00
Место Онлайн
PG Boot Camp Russia 2023
Дата 5 октября
Время 10:00 – 17:00
Место Москва Онлайн
Joker
Дата 9 – 14 октября
Время 16:00 – 19:30
Место Санкт-Петербург Онлайн
Russia Risk Conference 2023 — 19-я конференция по риск-менеджменту
Дата 25 – 26 октября
Время 10:00 – 19:00
Место Москва Онлайн

Искусство ETL. Пишем собственный движок SQL на Spark [часть 4 из 5]

Уровень сложности Сложный
Время на прочтение 15 мин
Количество просмотров 1.1K
Туториал

public abstract class Operation implements Configurable<OperationMeta>


В данной серии статей я подробно рассказываю о том, как написать на Java собственный интерпретатор объектно-ориентированного диалекта SQL с использованием Spark RDD API, заточенный на задачи подготовки и трансформации наборов данных.

Краткое содержание предыдущей серии, посвящённой имплементации спеки языка в коде:
Заметка об использовании prior art
Наборы данных в контексте исполнения
Переменные, настройки контекста исполнения, и метаданные параметров подключаемых функций
Интерпретатор, контекст исполнения, операторы выражений


Разобравшись со всеми контекстами и устройством ядра интерпретатора, можно перейти к описанию API точек расширения, режимов запуска, и технической обвязки сборки исполняемых артефактов.


Предупреждение о рейтинге «M for Mature»

Уровень сложности данной серии статей — высокий. Базовые понятия по ходу текста вообще не объясняются, да и продвинутые далеко не все. Поэтому, если вы не разработчик, уже знакомый с терминологией из области бигдаты и жаргоном из дата инжиниринга, данные статьи будут сложно читаться, и ещё хуже пониматься. Я предупредил.

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

Искусство ETL. Пишем собственный движок SQL на Spark [часть 3 из 5]

Уровень сложности Сложный
Время на прочтение 20 мин
Количество просмотров 1.1K
Туториал

04_assets_residents.tdl


В данной серии статей я подробно рассказываю о том, как написать на Java собственный интерпретатор объектно-ориентированного диалекта SQL с использованием Spark RDD API, заточенный на задачи подготовки и трансформации наборов данных.

Краткое содержание предыдущей серии, последней, посвящённой проектированию спецификации языка:
Операторы жизненного цикла наборов данных (продолжение)
Операторы контроля потока выполнения
Операторы управления контекстом исполнения
Операторы выражений


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


Предупреждение о рейтинге «M for Mature»

Уровень сложности данной серии статей — высокий. Базовые понятия по ходу текста вообще не объясняются, да и продвинутые далеко не все. Поэтому, если вы не разработчик, уже знакомый с терминологией из области бигдаты и жаргоном из дата инжиниринга, данные статьи будут сложно читаться, и ещё хуже пониматься. Я предупредил.

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

Разбор работы FIFO на микроархитектурном тренажере

Уровень сложности Средний
Время на прочтение 1 мин
Количество просмотров 3K

FIFO – ключевая концепция в хардварном дизайне. Понимание работы FIFO необходимо, в частности, для понимания протокола valid/ready, который в свою очередь необходим для организации flow-control как внутри цифровых блоков так и на межблочном уровне.

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

Микроархитектурный тренажер дает возможность «прощупать» хардварные сценарии в пошаговом (интерактивном) режиме, предоставляя детальную визуализацию цифровой логики.

Поскольку тренажер является "фронтендом" для HDL симулятора то на самом симуляторе исполняется реальный, синтезируемый SystemVerilog который можно посмотреть и даже поменять его функциональность.

Смотреть видео и читать дальше
Всего голосов 21: ↑20 и ↓1 +19
Комментарии 15

Искусство ETL. Пишем собственный движок SQL на Spark [часть 2 из 5]

Уровень сложности Сложный
Время на прочтение 13 мин
Количество просмотров 1.1K
Туториал

image


В данной серии статей я подробно расскажу о том, как написать на Java собственный интерпретатор объектно-ориентированного диалекта SQL с использованием Spark RDD API, заточенный на задачи подготовки и трансформации наборов данных.

Краткое содержание предыдущей серии:
Вступление
Постановка задачи
Проектирование языка. Операторы жизненного цикла наборов данных
Проектирование системы типов


Предупреждение о рейтинге «M for Mature»

Уровень сложности данной серии статей — высокий. Базовые понятия по ходу текста вообще не объясняются, да и продвинутые далеко не все. Поэтому, если вы не разработчик, уже знакомый с терминологией из области бигдаты и жаргоном из дата инжиниринга, данные статьи будут сложно читаться, и ещё хуже пониматься. Я предупредил.

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

Как сократить мартышкин труд в повседневной работе аналитика SOC

Уровень сложности Простой
Время на прочтение 9 мин
Количество просмотров 2K

Я не встречал людей, которые любят делать одну и ту же рутинную работу. Большинству из нас хочется автоматизировать подобную деятельность, чтобы скучные и повторяющиеся операции выполняла бездушная машина. В центрах мониторинга информационной безопасности немало таких задач, особенно на первой линии. В этой статье я, Константин Грищенко, руководитель отдела мониторинга безопасности в Positive Technologies и участник открытого сообщества Security Experts Community, расскажу о том, как мы в отделе упрощаем свою работу с помощью инструмента SiemMonkey. Любой желающий может скачать его и установить в браузере.

Подробнее
Всего голосов 5: ↑3 и ↓2 +1
Комментарии 0

SDK AppMetrica — теперь в опенсорсе

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

AppMetrica — это инструмент для аналитики мобильных приложений. С помощью него можно формировать отчёты по источникам трафика, ключевым показателям мобильного приложения, аудитории и сценариям использования, а также собирать статистику по сбоям, проводить A/B-тесты и удалённо управлять конфигурацией приложения. 

Сегодня мы опубликовали исходный код SDK AppMetrica на GitHub. Любой желающий может провести аудит SDK, предложить улучшение, отправив пулл-реквест и переиспользовать полезные фрагменты кода.

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 1

Ad-hoc мониторинг: сбор, хранение и визуализация данных

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 1.3K

Готовим гибридную систему мониторинга + щепотка observability дабы нанести непоправимую пользу всему прогрессивному человечеству. С ароматом кофе, перед использованием можно добавить свои данные по вкусу.

Вход в картинную галерею
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Вклад авторов