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

Open source *

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

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

Как создать редактор кода для 40+ языков с помощью React

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

Подробностями разработки онлайн-платформы выполнения и компиляции кода более чем на 40 языках делимся к старту курса по Frontend-разработке. Автор этого материала — основатель TailwindMasterKit.

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

Open source, собственные серверы и экспертиза: доступный межсетевой экран для инфраструктуры в Selectel

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

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

Чтобы учесть потребности бизнеса, мы в Selectel решили создать собственный межсетевой экран, который не зависит от крупных вендоров. Взяли open source, собственную инфраструктуру и компетенции специалистов компании. Под катом рассказываем, как мы реализовали выгодный по цене и функционалу МЭ на выделенных серверах Selectel.
Читать дальше →
Всего голосов 43: ↑37 и ↓6+31
Комментарии21

DIY. Книги для всех, даром

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

Lingtrain cover


⚡ Градиент обреченный


Upd. 11.06.2022 Многие заинтересовались генерацией изображений нейросетями. Вот Colab (интерактивная среда для запуска кода) для рисования картинок в стиле pixel art по текстовому описанию. Просто запускайте, ближе к концу увидете ячейку для ввода текста. Примеры картинок из Colab'а в комментариях.


Два года назад я начал делать небольшой проект, связанный с обработкой текстов на иностранных языках. Он постепенно развивался и стал использоваться лингвистами в НКРЯ, а энтузиасты сохранения малых языков используют его для расширения своих параллельных корпусов.


Сегодня же я расскажу как при помощи него создать полноценную параллельную книгу на разных языках. Книга будет красиво сверстана в PDF, иметь содержание, обложку и две выровненные по смыслу колонки текста. Такие книги служат отличным подспорьем при изучении иностранного языка. Найти их, однако, не так просто, и скорее всего это будут книги для детей или избранная классика. Полный пример готовой книги можно посмотреть здесь. Под капотом у приложения NLP модели, поддерживаемых языков более ста.


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

Сделать книжку
Всего голосов 76: ↑76 и ↓0+76
Комментарии50

Tree-sitter: обзор инкрементального парсера

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

Некоторые IDE и текстовые редакторы парсят исходный файл целиком при каждом изменении, что может тормозить на больших файлах, а некоторые делают это построчно с помощью регулярных выражений, что тоже тормозит и не даёт качественной подсветки кода, т.к. теряется контекст. Для решения этих проблем в недрах GitHub был создан tree-sitter - инкрементальный парсер, который используют всё больше и больше проектов. Давайте разбираться зачем и почему.

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

Истории

Как без боли сделать мультиплеер на Godot, который будет работать в браузере

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

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

К счастью, эта проблема легко решается!

Вам может сказочно повезти, если поисковик выдаст этот пост на Reddit. Мне вот повезло, поэтому спешу рассказать и другим. Моя статья будет не столько переводом этого поста (и материалов, на которые она ссылается) на русский язык, сколько пересказом от моего лица с имеющимся опытом разработки + дополнительно поведаю о некоторых вещах, что не были упомянуты в посте.

Поехали!
Всего голосов 8: ↑7 и ↓1+6
Комментарии2

Интеграция FreeIPA с Active Directory

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

В IT-инфраструктуре HOSTKEY для хранения учетных данных и контроля доступа традиционно использовался FreeIPA. Когда появилась необходимость управлять офисными компьютерами с Windows и оборудованием Cisco Systems, пришлось задуматься об интеграции с Active Directory. Рассказываем, как она была реализована в нашей локальной сети.

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

VintageOffice: Интеллектуальная защита

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.8K

В статье описано решение для защиты авторов документов от самих себя.

Как часто испытываем разочарование, увидев в важном документе досадную ошибку, после отправки электронного письма?

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

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

Книга «Open Source. Разработка программ с открытым исходным кодом»

Время на прочтение12 мин
Количество просмотров5.1K
image Привет, Хаброжители! Наши представления об открытом исходном коде сильно отличаются от того, что происходит на самом деле. Оптимистичная модель общественного сотрудничества давно ушла в прошлое, теперь — это царство одиночек. Еще совсем недавно информация была качественной, и работало правило — чем ее больше, тем лучше. Внезапно информации стало слишком много. Чем больше уведомлений на нас сыпется, тем меньше мы обращаем на них внимания. В мире программного обеспечения с открытым исходным кодом все происходит точно так же. Работа подразумевает коллективное взаимодействие, но пишущие и публикующие код разработчики настолько перегружены разнообразными запросами, что просто перестают на них реагировать. Open Source — это «дороги и мосты» цифрового мира. Старт работ всегда связан с большим вложением сил и средств, но каждый дополнительный пользователь обходится относительно дешево. Мы не замечаем их пока все нормально, воспринимаем как что-то должное, но большинство таких проектов создаются энтузиастами. Как современному творцу разработать стратегию, создать продукт, обеспечить поддержку и заработать? Надья Эгбал проанализировала платформу GitHub, чтобы рассказать нам что такое современные проекты с открытым исходным кодом, который пишут отдельные разработчики, а используют миллионы.
Читать дальше →
Всего голосов 8: ↑5 и ↓3+2
Комментарии3

Разработка навыка для «Алисы» на основе Google Keep заметок

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

На данный момент я активно пользуюсь приложением Google Keep для управления заметками на смартфоне. Для покупок в магазине достаточно удобно пользоваться заметками вида "чеклист", о которых и пойдет речь ниже.

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

Казалось бы причем тут Алиса... так вот еще удобнее было бы добавлять такие пункты покупок в список, используя голосовой помощник от Яндекса.

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

Насколько естественен естественный язык? Представляем датасет RuCoLA

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


В последние годы в области NLP произошла настоящая революция: огромные нейросети, предобученные на сотнях гигабайт текстов, бьют все известные рекорды качества. Но обладают ли такие нейросети чутьём на «естественность» текста, которое есть у носителей языка? Оценка предложения по внутреннему чутью в лингвистике получила название приемлемости; умение давать подобную оценку — ещё один шаг на пути к общему пониманию языка. Чтобы узнать, насколько хорошо нейросети для русского языка справляются с этой задачей, мы публикуем RuCoLA (Russian Corpus of Linguistic Acceptability) — датасет русскоязычных предложений, размеченных по бинарной шкале приемлемости. Это совместный труд команды исследователей и NLP-разработчиков из SberDevices, ABBYY, Yandex Research, Huawei Noah’s Ark Lab и Факультета компьютерных наук ВШЭ. Также мы открываем лидерборд на данных RuCoLA, чтобы любой желающий мог проверить способности своих моделей или поучаствовать в развитии методов для оценки приемлемости.
Читать дальше →
Всего голосов 37: ↑36 и ↓1+35
Комментарии16

Апдейт, еще апдейт: представлен релиз ядра Linux 5.18

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

С момента выхода ядра Linux 5.17 прошло всего лишь около пары месяцев, и сейчас готов новый релиз, уже Linux 5.18. Несмотря на относительно небольшой временной промежуток между двумя релизами, изменений, дополнений и исправлений весьма солидное количество.

Так, в новой версии насчитывается 16206 исправлений от 2127 разработчиков. Общий размер патча составляет 108 МБ, при этом изменениями были затронуты 14235 файлов, добавлено 1340982 строк кода, удалено 593836 строк. Подробнее о новом релизе — под катом.
Читать дальше →
Всего голосов 49: ↑49 и ↓0+49
Комментарии6

OSINT самолетов, пароходов и поездов

Время на прочтение2 мин
Количество просмотров25K
Предлагаем вашему вниманию набор инструментов от мировых профессионалов в области OSINT, которые помогут в ваших поисках информации, связанных с транспортом. Если вы решили заняться автостопом, авиастопом или хотите поймать попутный грузовой корабль, то эти сервисы для вас. Если вам срочно понадобилось отследить самолет Илона Маска или просто послушать переговоры диспетчеров, то тоже найдете тут много полезного.

Водный транспорт


MarineTraffic


image

Открытый проект, основанный на сообществе, предоставляющий (почти) в режиме реального времени информацию о передвижении судов и их местонахождении в гаванях и портах.
Читать дальше →
Всего голосов 72: ↑68 и ↓4+64
Комментарии11

Rust 1.61.0: пользовательские коды возврата в main, расширение возможностей const fn и изменение IO-блокировок

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

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


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


rustup update stable

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


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

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

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

One day offer от ВСК
Дата16 – 17 мая
Время09:00 – 18:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область

Язык-головоломка Marthue

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

Предлагаю читателям Хабра "эзотерический" язык программирования, обобщающий нормальные алгоритмы Маркова (НАМ) и полусистемы Акселя Туэ (semi-Thue systems). В языке есть возможность интерактивного ввода и вывода, выбора поиска замены подстрок с начала, конца строки или случайным образом, условного рекурсивного вызова одного блока подстановок из другого, а также условного перехода между блоками. Это позволяет совмещать подстановку строк с элементами императивного и даже функционального программирования, а также исследовать недетерминированные алгоритмы.

Интерпретатор написан под Линуксом на языке Common Lisp, который я считаю одним из самых мощных и удобных, в том числе для экспериментальногого программирования. При желании большого труда не составит переписать его на любом популярном языке: например, сделать онлайновую версию в Javascript. Просто для запуска программ Лисп знать практически не нужно: достаточно инсталлировать любую версию Common Lisp и ввести нужный файл парой простых функций. Скачать репозиторий интерпретатора Marthue можно здесь.

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

SingleA: доменный SSO своими руками

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

SingleA — это набор Symfony бандлов, которые позволяют развернуть свой PHP’шный SSO, реализующий фреймворк SingleAuth. Тот, в свою очередь, позволяет пользователям веб-приложений, живущих на общем домене (2 уровня и выше) перестать повторно ходить на SSO после того, как они один раз уже залогинились (даже ради простого редиректа).

Всё это призвано кардинально изменить подход к разработке проектов на базе SOA и микросервисов, упростив получение пользовательских данных на стороне приложений без утомительных интеграций.

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

Запуск облачного стека мониторинга с использованием нескольких ЦОДов

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

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

Это знание, как откровение, снизошло на многих в марте 2021 года. Один из крупнейших европейских провайдеров облачных услуг (OVHcloud) пережил масштабный пожар в одном из своих дата-центров, что вызвало серьезные перебои в работе даже таких крупных клиентов, как правительство Франции.

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

К счастью, используемые нами инструменты, такие, как Grafana Tempo (для трассировки) и Grafana Loki для логирования, способны реплицироваться посредством микросервисов. Но сможем ли мы запустить несколько экземпляров их в нескольких разных ЦОДах? И в состоянии ли мы «безопасно» потерять компонент или целую площадку (другими словами, сохранится ли у нас при этом возможность просматривать, что происходит в наших приложениях)?

Интересно?
Всего голосов 3: ↑2 и ↓1+1
Комментарии0

Новые возможности werf: CI/CD на основе werf и Argo CD

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

В этой статье мы рассмотрим новый экспериментальный режим совместной работы Open Source-утилиты werf и инструмента для непрерывной доставки Argo CD, объединяющий в себе возможности и удобства обоих проектов в рамках одного CI/CD-процесса. Сейчас идет активная разработка этих возможностей werf, но в первом приближении функционал уже доступен и готов к использованию.

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

Totum — open source, self hosted база данных для непрограммистов

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

Инструмент для цифровизации бизнеса в момент, когда он вырос из XLS-таблиц

Универсальный UI, логика на основе простых кодов, автоматические действия, права доступа, логирование, API и куча всего остального 👍

На вашем сервере, легко изучаемая и масштабируемая вместе с ростом бизнеса 🎉

Вместо целой команды проект могут вести 1-2 специалиста ✌️

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

Лицензия: MIT (бесплатно)

Читать далее
Всего голосов 27: ↑21 и ↓6+15
Комментарии17

Как обеспечить безопасность сборки ПО: управляем внешними зависимостями

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

Привет! Проблема управления безопасностью зависимостей — supply chain security — в настоящее время как никогда актуальна. В качестве примера можно привести историю компании SolarWinds: исходный код разрабатываемой ею утилиты был скомпрометирован и среди клиентов компании распространилось вредоносное ПО. Также возникла тенденция по внедрению деструктивного кода разработчиками open-source проектов, широко используемых коммерческими компаниями.

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

Чем заменить телевизор

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

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

Читать далее
Всего голосов 28: ↑24 и ↓4+20
Комментарии79

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