Рубрика «open source» - 247

image

Структурно-функциональная схема модуля

Хочу рассказать о разработанном и используемом в продакшне модуле Publisher Pulsar (github), который позволяет синхронизировать действия процессов.

Например, есть множество (десятки или сотни) процессов, независимо друг от друга обращающихся к API Google Analytics с одного IP.

При этом, GA установлен лимит в 10 queries per second с одного IP.

Если не регулировать обращения к API, то постоянно будет возвращаться ошибка превышения лимита некоторыми процессами, и либо они не смогут выполнить свою задачу без данных API, либо будут снова и снова пытаться получить данные в цикле, создавая проблему для других процессов, увеличивая количество ошибок. То есть будет хаос и отсутствие прогнозируемости в части процента корректно получаемых данных и процента ошибок при обращениях к API.

Читать полностью »

firebird-logo Читатели Хабра знают, что я (Денис Симонов) уже некоторое время работаю над серией статей и примеров, которые подробно раскрывают особенности разработки приложений для СУБД Firebird для популярных языков и фреймворков: уже написаны 3 статьи по ADO.NET desktop, ASP.NET MVC и Delphi, в работе для PHP, Java, Android. Также, c 2014 года я являюсь редактором русской документации языку Firebird и членом международной группы документации Firebird.

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

Вы спросите – собственно, причем здесь Хабр?

Читать полностью »

2,8 млн репозиториев, 3 ТБ исходного кода и метаданных

База свободных репозиториев Github доступна через интерфейс BigQuery - 1

Google в сотрудничестве с Github выложила для общественного пользования полную актуальную базу всех open-source репозиториев через интерфейс BigQuery. (Проверка свободной лицензии осуществляется через API.)

Наборы данных Google BigQuery Public Datasets содержат информацию о более чем 2,8 млн свободных репозиториев, о более чем 2 млрд файлов (исходный код последних версий 163 млн файлов), 145 млн коммитов и т.д. Общий размер базы — около 3 терабайт.

Раньше архивы Github выкладывались на Github Archive. Теперь всё это богатство доступно для полнотекстового поиска и анализа через простые SQL-запросы. Github обещает обновлять наборы данных еженедельно.
Читать полностью »

Анонс записи выпуска подкаста SDcast об OpenVZ - 1

Уже много лет компания Virtuozzo (бывшее подразделение компании Parallels) разрабатывает серверное ПО для виртуализации на основе открытых проектов. Самые известные opensource разработки компании: OpenVZ, CRIU, P.Haul, Ploop, VCMMD.

Читать полностью »

Разработка многопоточных программ на C++ — это не просто. Разработка больших многопоточных программ на C++ — это очень не просто. Но, как это обычно бывает в C++, жизнь сильно упрощается, если удается подобрать или сделать «заточенный» под конкретную задачу инструмент. Четырнадцать лет назад выбирать было особенно не из чего, поэтому мы сами для себя сделали такой «заточенный» инструмент и назвали его SObjectizer. Опыт повседневного использования SObjectizer-а в коммерческом софтостроении пока не позволяет жалеть о содеянном. А раз так, то почему бы не попробовать рассказать о том, что это, для чего это и почему у нас получилось именно так, а не иначе…
Читать полностью »

С целью популяризации анализатора кода PVS-Studio, который научился проверять помимо C++, ещё и C# проекты, мы решили проверить исходный код WPF примеров, предлагаемых компанией Microsoft.

Проверяем исходный код WPF Samples от Microsoft - 1

С выходом Windows Vista, была представлена новая система для построения красивых клиентских приложений — Windows Presentation Foundation (WPF). Данная графическая подсистема включена в состав .NET Framework начиная с версии 3.0. Она использует язык разметки XAML и пришла на смену устаревшему WinForms. На мой взгляд, основным недостатком WinForms было то, что он осуществлял всю прорисовку на центральном процессоре. WPF поступала более логически и отдавала прорисовку своих компонентов DirectX. Сейчас WPF практически вытеснило WinForms и позволяет делать универсальные интерфейсы сразу для трех платформ (PC, XBOXOne, Winphone).
Читать полностью »

Пациент нулевого дня - 1

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

Читать полностью »

Зачем все это нужно

Все кто использовал Elasticsearch каластер для своих нужд (особенно для логирования и как основную базу данных) на больших нагрузках сталкивался с проблемами консистентности и масштабируемости. Когда требуется распараллелить нагрузку на Elasticsearch обычно применялись статические решения то типу NGINX+Elasticsearch. Это позволяет распараллелить нагрузку, но выглядит не слишком гибко. Особенно если учесть что ноды могут сами выпадать из кластера и простой хелсчек покажет что все отлично, а на самом деле нода перегружена, исключена из кластера. В любом случае хотелось бы иметь данные о состоянии кластера из первых рук, а не довольствоваться простыми проверками.
Итак, приступим к построению балансировки .

Как мы будем это делать

В данном случае мы будем использовать CAT node API, которое является частъю мощьнейшего CAT API, который является инструментом поиска заголовков по Elasticsearch клстреру.
Мы будем использовать только Gobetween и встроенные механизмы Elasticsearch для балансировки записи /чтения СRUD (DATA) нод при произвольном количестве/статусе нод в кластере.

Читать полностью »

Вышел первый российский дистрибутив свободной ОС Tizen - 1

На портале для разработчиков ОС «Тайзен» опубликованы бинарные файлы первого дистрибутива свободной операционной системы «Тайзен» (Tizen) для отечественного процессора 1892ВМ14Я компании НПЦ «ЭЛВИС».

Процессор 1892ВМ14Я — единственный чип в России, наиболее подходящий в рамках программы импортозамещения для замены процессоров NXP i.MX6 (ранее Freescale), Texas Instruments серии DaVinci и TMS320C6000, а также Allwinner, Rockchip и MediaTek.
Читать полностью »

Настраиваем URL Overrides в Keepass2 - 1

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

По специфике моей работы мне часто приходится записывать и хранить большое количество паролей и другой конфиденциальной информации, поэтому я пользуюсь Keepass2 — менеджером паролей со свободной лицензией. Я не стану рассказывать о его возможностях и преимуществах перед другими, все это и так уже обсуждалось не раз. Если кто хочет познакомиться подробнее, вот несколько ссылок: wiki, обзорная статья, сравнения с другими: 1 2.
Вместо этого я хотел бы рассказать об одной его интересной функции:

Функция называется "URL Overrides", и представляет ссобой возможность запускать ассоциированные с записями программы и передавать им данные для аутентификации прямо из Keepass'а.

Например, вы можете хранить в keepass'е список учеток для подключения к удаленному серверу, а в определенный момент выбрать нужную и простым нажатием Ctrl+U, запустить клиент удаленного подключения, и моментально получить доступ к вашему серверу.
Это очень удобно, так как все логины и пароли не хранятся абы где, а надежно зашифрованны в вашей базе keepass и передаются программе-клиенту только в момент подключения.

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

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js