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

Open source *

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

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

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

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

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

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) канал. Пожалуйста, сообщайте обо всех встреченных вами ошибках.

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

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

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

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

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

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

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

Чем занимается ClickHouse пока мы спим или неожиданный OOM

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

Не смотря на все свое дружелюбие и конструкторную гибкость - ClickHouse временами выглядит, как весьма капризная технология. Одной из таких особенностей, с которой мне довелось столкнуться - стала борьба с внезапным OOM.

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

Об этом далее и пойдет текст
Всего голосов 5: ↑5 и ↓0+5
Комментарии2

Истории

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

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


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

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

Статья содержит много технических моментов, которые я открыл для себя по ходу исследований. В конце посмотрим, каким проектам Yatagan может быть полезен в качестве замены, а в каких польза от него будет невелика.
Читать дальше →
Всего голосов 57: ↑53 и ↓4+62
Комментарии13

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

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

1015_NET7_Errors_ru/image1.png


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

Читать дальше →
Всего голосов 15: ↑14 и ↓1+17
Комментарии11

Динамические инвентории Ansible

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

В последнее время я всё чаще и чаще сталкиваюсь с тем, что Ansible используют таким образом, что этот комок костылей и граблей просто нереально разгребсти адекватному человеку без употребления фенибута или чего-либо мощнее. Одним из таких костылей является запуск анзибля в скрипте, чтобы предварительно сгенерировать inventory. Мне искренне непонятно, почему люди не читают документацию, а если и читают, то умудряются написать гигантский костыль в виде скрипта запуска, но не могут разобраться с тем, чтобы написать динамический инвенторий.

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

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

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

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

Привет всем.

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

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

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

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

Проблема grpc-gateway и как ее можно решить

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

Модификация кода сгенерированного с помощью grpc-gateway для возможности использования middleware.

Читать далее
Всего голосов 15: ↑10 и ↓5+8
Комментарии2

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

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

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

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

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

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

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

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

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

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

Эта статья - первая часть перевода статьи 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 найдется что-то для каждого, и мы всегда стремимся внедрять новые технологии. Некоторые из них даже новаторские.

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

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

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

Многие из нас, наверное, помнят времена когда мы просиживали долгие часы в компьютерных клубах, играя в 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в России

Читать далее
Всего голосов 19: ↑17 и ↓2+23
Комментарии30

Терабайты в кармане, или Apple Silicon Air для Big Data

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

Думаете, Apple Silicon Air и iMac выглядят совсем уж "не серьезно" для задач обработки многотерабайтных данных? Я сам так и думал, к счастью, реальность оказалась намного интереснее. Давайте посмотрим на топовые Apple Silicon M1 iMac и M2 Air на примерах работы с данными спутниковой интерферометрии (мое хобби и, порой, работа).


PyGMTSAR Jupyter notebooks

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


Попробуйте сверхбыстрый хостинг в России от AdminVPS

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

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

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн

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

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 26: ↑25 и ↓1+30
Комментарии2

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 15: ↑14 и ↓1+16
Комментарии39

Обучение Russian SuperGLUE моделей с помощью библиотеки DeepPavlov

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

В последние годы соревнования GLUE и SuperGLUE на английском языке стали стандартным бенчмарком для определения возможностей универсальных языковых моделей, таких как BERT, RoBERTa в решении широкого круга задач обработки естественного языка, в том числе задач с недостаточным объемом обучающей выборки. Соревнования GLUE/SuperGLUE представляют из себя наборы задач NLP на основе ранее представленных датасетов. Академическое сообщество NLP довольно быстро расправилось с GLUE, отчасти вследствие того, что задачи были довольно однотипные, они сводились либо к парной текстовой классификации, либо к классификации единственной последовательности. Ответом на это был новый набор задач SuperGLUE, в состав которого вошли вопросно-ответные задачи, задачи кореференции и задачи семантического следования. На данный момент модели, обученные на базе ERNIE и DeBERT, превзошли качество разметки человеком.

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

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

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

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

Читать далее
Всего голосов 26: ↑25 и ↓1+29
Комментарии43

Итоги Standoff 10: о технологической независимости, переходе на отечественные операционки и опасности цифрового следа

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

Три дня подряд десять команд хакеров со всего мира[1] пытались ограбить банк, нарушить работу нефтегазовой отрасли, транспорта или реализовать другие недопустимые события в виртуальном Государстве F, построенном на настоящих физических IT-системах и контроллерах. Шесть команд защитников наблюдали за действиями атакующих и расследовали инциденты. Одновременно на площадке Standoff 10 ведущие эксперты по информационной безопасности обсуждали наиболее острые проблемы отрасли: замену ПО иностранных вендоров, развитие отечественного опенсорса, атаки шифровальщиков, при которых невозможно заплатить выкуп. Рассказываем обо всем по порядку.

Узнать больше
Всего голосов 2: ↑1 и ↓10
Комментарии0

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