Эта история началась около месяца назад, когда Кирилл Тхай добавил поддержку вложенных пространств имен в CRIU, после чего наша система CI приказала долго жить. В тот момент ничто не предвещало тех увлекательных приключений, в которые мы оказались вовлечены.
Рубрика «open source» - 198
Linux все еще не торт
2017-07-11 в 4:17, admin, рубрики: autotest, bugs, continuous integration, crash, CRIU, leaks, linux, linux kernel, memory, open source, panic, system programming, upstream, Блог компании Virtuozzo, Разработка под Linux, системное программирование, Тестирование IT-системGitLab CI для непрерывной интеграции и доставки в production. Часть 1: наш пайплайн
2017-07-10 в 5:52, admin, рубрики: continuous deployment, continuous integration, devops, Git, gitlab, gitlab ci, open source, Блог компании Флант, системы сборки, Системы управления версиями
Итак, GitLab CI: что можно ещё рассказать о нём? На хабре уже есть статьи про установку, про настройку раннеров, про командное использование, про GitLab Flow. Пожалуй, не хватает описаний того, как используется GitLab CI в реальном проекте, где задействовано несколько команд. А в современном мире разработки ПО это действительно так: ведь есть (как минимум) разработчики, тестировщики, DevOps- и релиз-инженеры. С подобным разделением на команды мы работаем уже несколько лет. В этой статье я расскажу о том, как мы, используя и улучшая возможности GitLab CI, реализовали и применяем в production для коллектива из нескольких команд процессы непрерывной интеграции (CI) и отчасти доставки приложений (CD).Читать полностью »
Быстрое удаление пробелов из строк на процессорах ARM
2017-07-09 в 15:33, admin, рубрики: avx, movemask, neon, open source, SS4, sse, x64, x86, Алгоритмы, высокая производительность, Программирование
Предположим, что я дал вам относительно длинную строку, а вы хотите удалить из неё все пробелы. В ASCII мы можем определить пробелы как знак пробела (‘ ’) и знаки окончания строки (‘r’ и ‘n’). Меня больше всего интересуют вопросы алгоритма и производительности, так что мы можем упростить задачу и удалить все байты со значениями меньшими либо равными 32.
В предыдущией статье, где я задавал вопрос об удалении пробелов на скорость, лучшим ответом было использование векторизации с помощью 128-битных регистров (SSE4). Оно оказалось в 5-10 раз быстрее подхода в лоб.
Очень удобно, что во всех процессорах имеются 128-битные векторные регистры, также как в процессорах x64. Неужели процессоры ARM могут работать настолько же быстро, как процессоры x64?
Читать полностью »
Как я научился кодить после 30
2017-07-05 в 8:51, admin, рубрики: open source, Wirex, Блог компании Wirex, код, приложения, Программирование, самообразование, Софт«Погрузитесь в изучение предмета, найдите наставника и не оглядывайтесь назад» — ключевые советы, которые автор материала дает всем, кто стремится освоить программирование с нуля. В истории, приведенной ниже, речь идет о непростом пути человека, решившего сменить профессию после 30 лет, чтобы стать разработчиком программного обеспечения.

Люди часто спрашивают меня, как я начал кодить и всегда удивляются, узнавая, что научился я после 30.
Предлагаю вам свою историю о том, как я прошел путь с самых азов до разработчика широкого профиля в Udacity — стартапе из Кремниевой долины, команда которого поставила перед собой цель демократизировать образование. В этой истории я уделил особое внимание рассказу о том, как мне удалось получить работу, несмотря на то, что каждая вакансия младшего веб-инженера требовала наличия научной степени в области компьютерных наук или двухлетнего опыта работы по профессии.
За все это время мне довелось побороться за сохранение отношений с близкими, потратить все свои сбережения, потерять веру в себя и сдаться. И только спустя год размышлений над неудачей, изменив свой настрой, я предпринял еще одну попытку и добился успеха.
Читать полностью »
Что, если выкинуть все лишнее из базы в распределенный кэш – наш опыт использования Hazelcast
2017-07-05 в 8:16, admin, рубрики: Hazelcast, in-memory database, open source, split brain, Анализ и проектирование систем, Блог компании Яндекс.Деньги, высокая производительность, Разработка под e-commerce
Так как базы данных Яндекс.Денег вынуждены хранить массу второстепенной и временной информации, однажды такое решение перестало быть оптимальным. Поэтому в инфраструктуре появился распределенный Data Grid с функциями in-memory базы данных на базе Hazelcast.
В обмен на стабильно высокую производительность и отказоустойчивость мы получили любопытный опыт внедрения, который не во всем повторяет документацию. Под катом вы найдете рассказ о решении проблем Hazelcast при работе под высокой нагрузкой, борьбе со Split Brain, а также впечатления от работы с распределенным хранилищем данных в большой инфраструктуре.Читать полностью »
Имитируем управление устройствами с помощью акторов
2017-07-04 в 6:59, admin, рубрики: actor model, c++, c++ библиотеки, concurrency, multithreading, open source, ПрограммированиеКорни SObjectizer берут свое начало в теме автоматизированных систем управления технологическими процессами (АСУТП). Но использовали мы SObjectizer в далеких от АСУТП областях. Поэтому иногда возникает ностальгия из категории «эх, давно не брал в руки шашек...» Однажды из-за этого в составе SObjectizer появился один из самых объемных примеров — machine_control. Уж очень тогда захотелось «тряхнуть стариной», смоделировать задачку управления оборудованием на современном SObjectizer-е. Ну и под шумок запихнуть в пример разные вкусные фичи SObjectizer-а вроде фильтров доставки, шаблонных агентов и диспетчера с поддержкой приоритетов. Сегодня попробуем рассказать и показать, как это все работает.

Photo by Mike Boening
Вышел GitLab 9.3: Code Quality и межпроектные графики конвейеров
2017-07-03 в 14:54, admin, рубрики: continuous delivery, continuous deployment, continuous integration, elasticsearch, Git, gitlab, kubernetes, open source, performance analysis, Блог компании Softmart, системы сборки, Системы управления версиямиВышел GitLab 9.3: Code Quality и межпроектные графики конвейеров

В GitLab 9.3 мы представляем Code Quality, межпроектные графики конвейеров, индекс совместной разработки, улучшения локализации, описания сниппетов и многое другое!
GitLab представляет собой интегрированный продукт для всего цикла разработки. С выходом каждого ежемесячного релиза мы стремимся добавлять новые аспекты совместного написания кода, непрерывной интеграции, автоматизации релизов и мониторинга. Так, в GitLab 9.3 мы внесли функциональность, позволяющую улучшить качество кода, сократить время цикла разработки, а также упростить управление большими проектами.
Классификация текста с помощью нейронной сети на JAVA
2017-07-03 в 7:19, admin, рубрики: java, open source, классификация текста, машинное обучение, нейронные сети, паттерны проектирования, Программирование, Проектирование и рефакторинг, шаблоны проектирования– Наша Лена уходит в декрет, – сообщил начальник, – поэтому нам надо искать замену на время ее отсутствия. Часть задач мы распределим, а вот как быть с задачей перенаправления обращений пользователей?
Лена – это наш сотрудник технической поддержки. Одна из ее обязанностей – распределение поступающих на электронную почту обращений между специалистами. Она анализирует обращение и определяет ряд характеристик. Например, «Тип обращения»: ошибка системы, пользователю просто нужна консультация, пользователь хочет какую-то новую функциональность. Определяет «Функциональный модуль системы»: модуль бухгалтерии, модуль паспортизации оборудования и т.д. Проставив все эти характеристики, она перенаправляет обращение соответствующему специалисту.
– Давай я напишу программу, которая это будет делать автоматически! – ответил я.
На этом увлекательный роман заканчиваем и переходим к технической части.

The incredible machine или мой самый лучший тест
2017-07-03 в 6:38, admin, рубрики: c++, open source, OpenPapyrus, Программирование, распознавание штрих-кода, тестирование, Тестирование IT-систем, штрихкод, метки: OpenPapyrusДобрый день.
Помнится, в одном сериале про заучек ребята рулили стерео-системой, находящейся в пределах доступности собственной руки, из компьютера, передавая сигнал посредством интернета через всю планету. Здравомыслящая девушка, которую они хотели удивить, впечатлена не была, ибо полагала, что обычный ПДУ дешевле и проще.
Тем не менее, есть хорошая новость: incredible machine все-таки может быть полезна. Например, для тестирования программных систем.
Читать полностью »
JaCarta Authentication Server и JaCarta WebPass для OTP-аутентификации в Linux SSH
2017-06-29 в 9:21, admin, рубрики: JaCarta Authentication Server, JaCarta WebPass, JAS, linux, open source, OTP-аутентификация, ssh, Аладдин Р.Д., Блог компании Аладдин Р.Д., Единый Клиент JaCarta, информационная безопасность, криптография, системное программирование, метки: JaCarta WebPass, JAS, OTP-аутентификацияВ этой статье мы поговорим об основных этапах настройки аутентификации в Linux SSH для замены парольной аутентификации одноразовыми паролями — в статье описан сценарий аутентификации в сессию SSH-подключения к Linux OS посредством одноразовых паролей с использованием устройства JaCarta WebPass.


