Все потоки
Поиск
Написать публикацию
Обновить
380.02

Open source *

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

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

Год Тигра в Taiga UI

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

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

Весь год я участвовал в разработке потрясающего продукта — Taiga UI. Это библиотека компонентов на Angular, на которой построены сотни продуктов Тинькофф и много других проектов. Наша команда потратила много времени и сил — расскажу, что из этого получилось.

Читать далее

Независимые онлайн-сервисы: философия свободного интернета и истории его администраторов

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

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

Здесь не будет технических спецификаций и команд для копипасты в терминал, только истории людей (в том числе значительных персон даркнета). Что может быть лучше, чтобы увидеть источник жизни независимого интернета, как не личные убеждения и истории администраторов свободных интернет-ресурсов?

Читать далее

Doom для кнопочных телефонов

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

❄ Только для телефонов на чипе Spreadtrum SC6531(E/DA).
❄❄ ...если повезёт и экран с клавиатурой заработают.
❄❄❄ Но сначала вам еще надо найти клавишу для входа в "download mode".

Перефразируя мемную фразу: "Вернее запустить смогут не только лишь все, мало кто сможет это сделать".

Опубликовал на github исходный код, и даже готовые бинарники для Windows.

Читать далее

SimpleX – первый мессенджер без идентификаторов пользователей

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

Сегодня рассказываем про анонимный мессенджер SimpleX, который написан на Haskell и позволяет, в том числе, использовать сеть Tor для общения.  

​​SimpleX – не только один из немногих мессенджеров, который не собирает данные пользователей, но и единственный на сегодняшний день мессенджер, который не использует идентификаторы для профилей пользователей, даже случайные числа. Также он полностью open source, и каждый может принять участие в его разработке.

Читать далее

Мой диплом, или Как собрать вещи и переехать на YDB

Время на прочтение13 мин
Количество просмотров15K
Меня зовут Арслан, в этом году я делал сервис для построения циклов заказа (например, заказа такси). Возможно, вы видели пост от другого разработчика в команде, Ильи Lol4t0. Всего сервис обрабатывает примерно 5000 RPS с задержкой 100 мс в 99 перцентиле. Раньше для хранения данных использовалась связка PostgreSQL с YT — MapReduce-системой Яндекса.

Обычно информация по заказу нужна в быстром доступе в течение пары часов. На эту парадигму хорошо ложилась архитектура с горячим и холодным хранилищем. Событие создавалось в PostgreSQL, асинхронно реплицировалось в YT, а спустя два часа удалялось из PostgreSQL, никаких проблем. Но со временем начали напрягать несколько вещей: сложность архитектуры, низкая доступность во время проведения работ на PostgreSQL и ограниченная возможность горизонтально масштабировать систему. Мы решили перейти на новую архитектуру с базой данных YDB. Хотели на примере тестового сервиса разобраться, как работать с базой, проверить всё под нагрузкой и реализовать хранение данных исходного сервиса.



Вообще, изначально я написал про это диплом. Но потом подумал, что читателям здесь тоже будет интересно, и всё переделал под Хабр. Если тоже переезжаете на YDB (после выхода в опенсорс это стало проще) или адаптируете систему с базой — заглядывайте. Поговорим о большинстве возможных трудностей при переезде.
Читать дальше →

Как фронтендеры приручили микросервисы и перестали беспокоить бэкендеров

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

Привет Хабр! Меня зовут Евгений Лабутин, я фронтенд-разработчик в МТС Digital. Расскажу вам о том, как мы приручили микросервисы на нашем проекте МТС Твой бизнес, зачем они нам вообще понадобились и какую выгоду мы от этого получили. Интересно? Добро пожаловать под кат!

Читать далее

Что такое веб-стандарты и как работает веб-браузер?

Время на прочтение8 мин
Количество просмотров6K
image

Расскажу я вам одну историю. Как-то раз я разрабатывал очередной компонент с выбором даты для нашей системы проектирования. Компонент состоит из поля для текстового ввода и всплывающего календаря, отображаемого при щелчке мышью по этому полю. Затем всплывший календарь можно закрыть, щелкнув вне него или в случае, если была выбрана дата.
Читать дальше →

Rust 1.66.0: дискриминанты для перечислений с полями, black_box, cargo remove

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

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


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


rustup update stable

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


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

Читать дальше →

Lingtrain. Приложение для создания мультиязычных книг и параллельных корпусов

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

📌 градиент обреченный

Хочу показать, как создать мультиязычный параллельный корпус и книги при помощи моего пет-проекта.

Для примера возьмем 10 редакций "Мастера и Маргариты" Михаила Булгакова (ru, uk, by, en, fr, it, es, de, hu, zh). Сначала выровняем девять переводов с оригиналом, а затем выровняем все вместе. Получим параллельный корпус на 10 языках и много красивых книг. Приступим.

Код я оформил в виде веб-приложения, основная логика которого выполняется при помощи библиотеки lingtrain-aligner. Выравнивать можно прямиком из кода на python, либо через UI. В приложении будет удобней разрешать конфликты и там есть редактор, позволяющий корректировать получающийся корпус плюс дополнительные опции по верстке. Код у проекта открытый, можно посмотреть как все работает внутри. Приступим.

Читать далее

Яндекс выпускает Yatagan — опенсорс-фреймворк для внедрения зависимостей, позволяющий ускорить сборку

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


Меня зовут Фёдор Игнаткевич, я делаю приложение Яндекс и мобильный Яндекс Браузер для Android. Примерно год назад я предложил команде идею фреймворка для внедрения зависимостей, который более чем вдвое ускорил сборку обоих проектов и который мы сегодня выложили на Гитхаб — чтобы разработчики других приложений тоже могли улучшить скорость сборки. Я с нуля реализовал фреймворк, а затем мы вместе с командой интегрировали его в проекты и сейчас активно используем.

Как раз про свой опыт разработки я и хочу рассказать. Давайте попробуем разобраться, какие есть факторы замедления сборки, как Yatagan, совместимый с Dagger по API, с ними справляется и какие ещё задачи могут стоять перед DI-фреймворком — например, в части зависимостей под рантайм-условиями. Кстати, нативная поддержка этих зависимостей в Yatagan избавила нас от ручной обработки состояний A/B-экспериментов в DI.

Статья содержит много технических моментов, которые я открыл для себя по ходу исследований. В конце посмотрим, каким проектам Yatagan может быть полезен в качестве замены, а в каких польза от него будет невелика.
Читать дальше →

.NET 7: разбираем ошибки и подозрительные места в исходниках

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

1015_NET7_Errors_ru/image1.png


.NET 7 зарелизился. Это хороший повод покопаться в исходниках, чтобы поискать ошибки и странные места. За комментариями по находкам обратимся к самим разработчикам .NET — кому знать код, как не им? Погнали!

Читать дальше →

Настраиваем QtCreator для полноценного программирования и отладки микроконтроллеров STM32

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

Привет всем.

На данный момент я активно осваиваю разработку ПО для STM32 и хотел бы поделиться моим опытом.

Как известно, для STM32 имеется много сред для разработки, однако часть из них, несмотря на удобность, имеют ограничения по использованию в случае пробной версии. Так, для IAR размер прошивки ограничивается 32 кБ, что весьма немного.

В данной публикации будет рассмотрен способ настройки окружения для полноценной разработки и отладки ПО для микроконтроллеров STM32 в среде QtCreator.

Читать далее

PostgreSQL под капотом. Часть 1. Цикл сервера

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

Продолжаем изучать исходный код PostgreSQL

В этот раз исследуем главный цикл сервера:

- Принятие входящих подключений;

- Проверка окружения;

- Обработка упавших воркеров.

Читать далее

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

Управление заголовками HTTP в Joomla 4 (часть 1)

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

Эта статья - первая часть перевода статьи Joomla’s New HTTP Headers Plugin For J4 из майского номера (2022) Joomla Community Magazine. Статья рассчитана на широкий круг читателей с разными уровнями компетенций, поэтому опытным вебмастерам и разработчикам имеет смысл пропустить часть текста вводного характера и сразу перейти к описанию плагина. Далее текст автора.

В продолжение статьи о безопасности, паролях и плагине WebAuthn в Joomla [JCM, 04/2022, текст на английском - Т.С.], мы рассмотрим еще одну функцию безопасности Joomla, добавленную в Joomla 4. Это плагин HTTP Headers, который теперь включен в ядро.

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

Читать далее

Xonotic: свободный и бесплатный шутер

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

Многие из нас, наверное, помнят времена когда мы просиживали долгие часы в компьютерных клубах, играя в Quake III и Unreal Tournament. Эпоха расцвета аренных шутеров пришлась на конец девяностых и начало нулевых годов. Сейчас этот жанр стал не таким популярным и даже во многом нишевым. Например, почасовая активность игроков в Call of Duty: Modern Warfare II превосходит активность игроков в Quake Champions в несколько сотен раз. Несмотря на то, что игры в жанре аренных шутеров от первого лица продолжают выходить, они остаются в тени «реалистичных» шутеров, «королевских битв» и других.

Сегодня я хотел бы рассказать об одной игре, которая не только является незаслуженно обделённой вниманием, но и представляет собой полностью бесплатную и open-source (GNU GPL) игру. Её название — Xonotic. По версии портала Slant игра находится на первом месте в рейтинге аренных шутеров за которой, на втором месте, следует Quake Live. В Xonotic можно играть на GNU/Linux, Mac и Windows.

_____________

Аренда виртуального сервера VPS/VDSв России

Читать далее

Обзор топ-5 полезных утилит для Docker

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

Проект Docker, запущенный в 2013 году, стал одним из самых популярных инструментов в области контейнеризации. Спустя почти 10 лет Docker активно развивается, однако, не только сама компания Docker Inc привносит улучшения в свой продукт – обычные пользователи тоже вносят свой вклад, создавая различные инструменты, которые совершенствуют взаимодействие с системой Docker.

В статье мы рассмотрим топ-5 полезных утилит, которые упростят работу с Docker.

Читать далее

Kubernetes 1.26: обзор нововведений, включая первый KEP «Фланта»

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

Этой ночью представят новую версию Kubernetes. Среди значимых улучшений релиза: возможность создавать тома из снапшотов, которые находятся в разных пространствах имен; поддержка OpenAPI v3 для команды kubectl explain; выравнивание ресурсов CPU в NUMA-кластере с учетом расстояния между узлами.

Также в Kubernetes 1.26 появится первая фича «Фланта», которая принята как Kubernetes Enhancement Proposal (KEP), а не просто как pull request.

Читать далее

Полиморфные структуры данных и производительность

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

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

Читать далее

Поиск пропавших людей на снимках лесного массива, полученных с помощью БПЛА или ещё один разбор задачи Цифрового Прорыва

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

Привет, Хабр!
Это статья является продолжением цикла материалов по разбору задач Всероссийского чемпионата "Цифровой Прорыв", связанных с Computer Vision. Решение, предлагаемое в статье, позволяет получить место в топ-10 лидерборда, при это реализация самого подхода у автора статьи заняла ~ 3-4 часа. В конце даются советы по улучшению решения, а также идеи, которые могут привести к победе.

Под катом вас ждут: Focal Loss, RetinaNet и причём тут YOLOv5.

Читать далее

Как я писал трекинг парковочных мест

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

Рассказываю, как я делал трекинг свободных парковочных мест руками новичка. Получилось интересно :)

Читать далее

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