Давным-давно в одной далёкой-далёкой... проекте, понадобилось мне сделать обработку http-запросов на Netty. К сожалению, стандартных удобных механизмов для маппинга http-запросов в Netty не нашлось (да и этот фреймвёрк совсем не для того), поэтому, было решено реализовать собственный механизм.
Рубрика «open source» - 118
Маппинг запросов на Netty
2019-01-12 в 19:02, admin, рубрики: java, mapping requests, netty, open source, rest, Анализ и проектирование систем, высокая производительность, ПрограммированиеAWS показал Open Source средний палец
2019-01-10 в 18:00, admin, рубрики: Amazon Web Services, AWS, cloud, mongodb, open sourceОт переводчика: мне кажется, заголовок слегка неточный и на самом деле средний палец показали ребятам из MongoDB, которая теперь не очень то и Open Source.

Сегодня, Amazon AWS запустил продукт DocumentDB — новую базу данных, совместимую с API MongoDB. Компания описывает DocumentDB так — "быстрая, масштабируемая и отказоустойчивая документная база данных, разработанная так, чтобы быть совместимой с вашими существующими приложениями и инструментами на MongoDB". Фактически, это полная замена MongoDB, развёрнутая в AWS, которая не использует код MongoDB.
В AWS утверждают, что, хотя MongoDB отлично справляется со своими задачами, их клиентам всё же трудно создавать быстрые и высокодоступные приложения на платформе с открытым исходным кодом, которые смогут масштабироваться до нескольких терабайт и сотен тысяч операций чтения и записи в секунду. Поэтому компания создала свою собственную базу данных документов, но сделала ее совместимой с API MongoDB 3.6, распространяющимся под лицензией Apache 2.0.
Как писать unit-тесты для акторов? Подход SObjectizer-а
2019-01-10 в 9:22, admin, рубрики: actor model, actors, c++, c++11, concurrency, multithreading, open source, sobjectizer, ПрограммированиеАкторы упрощают многопоточное программирование за счет ухода от общего разделяемого изменяемого состояния. Каждый актор владеет собственными данными, которые никому не видны. Взаимодействуют акторы только посредством асинхронных сообщений. Поэтому самые кошмарные ужасы многопоточности в виде гонок и дедлоков при использовании акторов не страшны (хотя у акторов есть свои заморочки, но сейчас не об этом).
В общем, писать многопоточные приложения с использованием акторов легко и приятно. В том числе и потому, что сами акторы пишутся легко и непринужденно. Можно даже сказать, что написание кода актора — это самая простая часть работы. Но вот когда актор написан, то возникает очень хороший вопрос: «Как проверить правильность его работы?»
Вопрос, действительно, очень хороший. Нам его регулярно задают когда мы рассказываем про акторов вообще и про SObjectizer в частности. И до недавнего времени мы могли отвечать на этот вопрос лишь общими словами.
Но вот вышла версия 5.5.24, в которой появилась экспериментальная поддержка возможности unit-тестирования акторов. И в данной статье мы попытаемся рассказать о том, что это, как этим пользоваться и с помощью чего это было реализовано.
Читать полностью »
Вышел GitLab 11.6 с бессерверными функциями и кластерами Kubernetes для групп
2019-01-09 в 13:48, admin, рубрики: CD, ci, ci/cd, continuous delivery, continuous deployment, continuous integration, devops, Git, gitlab, open source, softmart, системы сборки, Системы управления версиями
Мы рады представить релиз GitLab 11.6, в котором мы расширили возможности бессерверной архитектуры на GitLab и добавили групповые кластеры Kubernetes для упрощения работы с нативной облачной инфраструктурой.
Пишем свой язык программирования, часть 3: Архитектура транслятора. Разбор языковых структур и математических выражений
2019-01-09 в 12:45, admin, рубрики: open source, абстракции, архитектура виртуальных машин, виртуализация, высокая производительность, мозг, новый язык программирования, обучающий материал, разработка стековой вм, разработка языков программирования, Софт
Введение
Приветствую вас, заинтересованные читающие разработчики на не важно каких языках, на которых я ориентирую эти статьи и чьи поддержку и мнения я ценю.
Для начала, по устоявшимся традициям, я приведу ссылки на предыдущие статьи:
Часть 1: пишем языковую ВМ
Часть 2: промежуточное представление программ
Для формирования в вашей голове полного понимания того, что в этих статьях мы пишем, вам стоит заранее ознакомиться с предыдущими частями.
Также мне стоит разместить сразу ссылку на статью о проекте, который был написан мной ранее и на основе которого идет весь этот разбор полётов: Клац сюды. С ним пожалуй стоит ознакомиться первым делом.
И немного о проекте:
→ Небольшой сайт проекта
→ GitHub репозиторий
Ну и также скажу сразу, что все написано на Object Pascal, а именно — на FPC.
Итак, начнем.
Читать полностью »
Фаззинг в стиле 1989 года
2019-01-09 в 8:20, admin, рубрики: C, linux, open source, информационная безопасность, Тестирование IT-систем, фаззингС наступлением 2019 года хорошо вспомнить прошлое и подумать о будущем. Оглянемся на 30 лет назад и поразмышляем над первыми научными статьями по фаззингу: «Эмпирическое исследование надёжности утилит UNIX» и последующей работой 1995 года «Пересмотр фаззинга» того же автора Бартона Миллера.
В этой статье попытаемся найти баги в современных версиях Ubuntu Linux, используя те же самые инструменты, что и в оригинальных работах по фаззингу. Вы должны прочитать оригинальные документы не только для контекста, но и для понимания. Они оказались весьма пророческими в отношении уязвимостей и эксплоитов на десятилетия вперёд. Внимательные читатели могут заметить дату публикации оригинальной статьи: 1990 год. Ещё более внимательные заметят копирайт в комментариях исходников: 1989.
Читать полностью »
Упрощаем написание резюме разработчика
2019-01-08 в 7:00, admin, рубрики: open source, Карьера в IT-индустрии, поиск работы, поиск работы в it, Программирование, резюме, резюме IT-специалиста, управление персоналом, управление проектамиПроблема
Каждый раз, когда приходит время искать работу, кандидат садится обновлять резюме, и попутно смотрит более опытным взглядом на свой прошлый опыт. И все переписывает, снова и снова. И каждый раз думает, что найдет вакансию мечты, а дальше станет уже настолько опытным, что на новое место его будут звать без каких-то действий с его стороны. А потом история повторяется, снова и снова.

Для тех, кому не интересна лирика, и кто хочет сразу перейти к делу — то вперед на github. А для тех, кому важна механика и история проекта — собственно и посвящена статья.
С появлением специализированных ресурсов биржы труда, таких как LinkedIn, HeadHunter и др., казалось бы, ситуация должна была улучшиться — заполняем весь опыт в одном месте, и больше прошлое не ворошим. Но не тут-то было — заполнили в одной системе, нельзя просто по клику мышки выгрузить ее в другую. Нету единой БД, на которую можно линковать свою учетную запись. Оно и понятно — подобные компании заинтересованы вытеснить других, а не заниматься интеграцией друг с другом, а простым кандидатам в итоге становится только хуже.
Математика в Gamedev по-простому. Триангуляции и Triangle.Net в Unity
2019-01-07 в 18:32, admin, рубрики: .net, algorithms, C#, Gamedev, gamedevelopment, math, open source, triangulation, unity, unity3d, геймдев, игры, математика, процедурная генерация мешей, разработка игр, триангуляции, юнитиВсем привет! Меня зовут Гриша, и я основатель CGDevs. Математика – очень крутой инструмент при разработке игр. Но если скажем без понимания векторов и матриц обойтись в принципе сложно, то алгоритмы триангуляций не столь обязательная вещь, но с помощью них решается достаточно большое количество интересных задач. Сегодня хотелось бы поговорить про достаточно важный инструмент в вычислительной геометрии, такой как триангуляции и их применение в игровой индустрии. Кроме того, я написал порт и немного обёрток великолепной библиотеки Triangle.Net для Unity + поделиться парой своих реализаций алгоритмов триангуляции. Если интересно – добро пожаловать под кат. Ссылка на гитхаб прилагается.
Пишем свой язык программирования, часть 2: промежуточное представление программ
2019-01-07 в 12:32, admin, рубрики: open source, абстракции, архитектура виртуальных машин, виртуализация, высокая производительность, мозг, новый язык программирования, обучающий материал, разработка стековой вм, разработка языков программирования, Софт
Введение
Приветствую всех, кто заглянул почитать мою очередную статью.
Повторюсь, я описываю создание языка языка программирования, на основе проведенной ранее работы, результаты которой описал в этом посте.
В первой части (линк: habr.com/post/435202) я описал этапы проектирования и написания языковой ВМ, которая будет выполнять наши будущие приложения на нашем будущем языке.
В этой статье я планирую описать основные этапы создания промежуточного языка программирования, который будет собираться в абстрактный байткод для уже непосредственного выполнения на нашей ВМ.
Думаю, что не помешает сразу привести ссылки на сайт проекта и его репозиторий.


