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

Open source *

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

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

Terminode или Новичок пишет «терминал» (часть 2)

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров1.9K

В прошлой своей статье я рассказывал о том, как начинал создавать свой якобы «терминал». Её заметило две с лишним тысячи человек, что для меня уже было каким‑то неплохим числом. Некоторые писали мне различные советы, кто‑то давал критику по статье. И вот, спустя небольшое время работы я снова пишу статью о своем «терминале» под именем Terminode. Вот она вторая часть «новичка пишущего терминал».

А что далее?

Почта в терминале: олдскульные и необычные email-клиенты

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

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

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

Читать далее

Я устал править за нейросетью — теперь пишу промпты по-другому

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

Устал от багов нейросети. Решил разобраться в алгоритмах ИИ-галлюцинаций, как они влияют на работу, и в конце оставил гайд с рекомендациями по написанию промптов для генерации кода, текста и изображений.

Читать далее

Реализация создания Проектов, управления их правами и участниками в IDM Midpoint

Уровень сложностиСложный
Время на прочтение53 мин
Количество просмотров386

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

Читать далее

Собираем умные часы: выбор микросхемы

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров8.5K
image

Полный видеоролик по этой статье есть на моём YouTube-канале.

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

n8n – всё, что нужно знать о сервисе

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

Привет! Если вы ищете способ автоматизировать рутину, интегрировать любимые сервисы и работать с ИИ без сложной настройки — вам в особенности подойдёт n8n.

n8n.io — платформа для автоматизации рабочих процессов (workflow automation) с открытым исходным кодом. Платформа. позволяет не зная программирования и, не написав ни одной строчки кода, создавать различные инструменты для вашей работы.

В неё встроено более 400 готовых узлов (nodes) для популярных сервисов и множество AI агентов, поддержка RAG.

Ранее мы уже разбирали эту платформу в нашей предыдущей статье и, прочитав её, вы уже сможете самостоятельно развернуть ТГ чат-бота с ChatGPT.

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

Читать далее

Лайфхаки проектирования и адаптации (opensource)решений под себя

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров1.6K

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

Представьте, что у вас есть некая система, которая работает определённым образом. У неё есть свой API, свои архитектурные принципы, рекомендуемые подходы к разработке и т.п. С другой стороны, у вас у самого есть видение своего будущего проекта, его архитектуры и того, как бы вы хотели управлять функционалом, предоставляемым «некой системой». Видение есть, а вот уверенности, что так можно – нету. Вот, делюсь своим подходом, как я поступаю в таких ситуациях.

Осторожно, лонгрид!

Это не баг — это фича: как мы начали писать свою open-source альтернативу Buf, потому что нас заблокировали

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

Решил я ворваться тоже в “Сезон Open Source”, но как обычно в стиле «🐢» а не вот эти вот ваши молнии.

Читать далее

OpenVPN. Разворачивание на сервере

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

Привет хабр! В этой статье хочу рассказать, как развернуть свой собственный vpn сервис.

Тут будет только базовая настройка, рассчитанная только на личное пользование, но, ее хватит чтобы спокойно полистать youtube и прочие ресурсы, которых вам возможно не хватает.

Читать далее

Атака клонов или темная сторона Open Source

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

В далёкой-далёкой стране под названием «Open Source»...

Когда-то мы просто хотели сделать VPN, который можно будет легко развернуть на своем сервере, без сбора логов, централизации и слежки. В 2020 году, на хакатоне Demhack, организованном цифровыми правозащитниками из Роскомсвободы, родилась идея создать VPN-сервис, который станет независимым и неуязвимым к блокировкам. Так появился Amnezia VPN – бесплатное open-source решение, позволяющее каждому настроить VPN на собственном сервере с использованием различных протоколов, например, OpenVPN, WireGuard, Shadowsocks, IKEv2 или OpenVPN over Cloak, как надежда на свободный и неуязвимый интернет. Чуть позже мы сделали еще клиент AmneziaWG, о нем расскажем ниже. И как любой хороший повстанческий корабль, он был построен не корпорацией, а маленькой командой инженеров и активистов – с использованием открытого кода, под свободной лицензией.

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

Читать далее

Nerdlog: быстрый TUI-просмотрщик логов с удаленных хостов, с таймлайном, без сервера

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

(Или как я написал радикально простую альтернативу Graylog)

В 2022 году я и моя команда работали над сервисом, который выводил довольно большой объём логов с распределённого кластера из 20+ хостов — всего около 2–3 миллионов сообщений в час. Мы тогда использовали Graylog, и запрос логов за последний час выполнялся за 1–3 секунды — довольно быстро. Однако, инженеры по инфраструктуре хотели избавиться от Graylog — он требовал от них утомительного обслуживания, и в итоге было принято решение перейти на Splunk. Когда Splunk наконец внедрили, мне пришлось с удивлением обнаружить, что он работает невероятно, возмутительно медленно. Тот же запрос выполнялся не за секунды, а за минуты. В чем там было дело, и можно ли это улучшить - никто разбираться не хотел.

Мне это показалось абсурдным. 2–3 миллиона логов в час — это не так уж и много, и мне казалось, что с помощью старых добрых GNU утилит и обычных лог-файлов, без какого-либо централизованного сервера для логов, можно добиться примерно такой же скорости, как у Graylog (и по крайней мере, гораздо быстрее, чем Splunk), и этого было бы достаточно для большинства наших задач.

Так и начался проект: я не мог перестать об этом думать, взял отпуск на неделю и устроил себе личный хакатон, чтобы написать прототип: просмотрщик логов с простым но удобным TUI интерфейсом, включающим таймлайн-гистограмму. Он подключался к хостам по SSH и анализировал обычные лог-файлы с помощью GNU-утилит bash + tail + head + awk.

Читать далее

Дивидендная доходность Индекса Мосбиржи: как рассчитать за 5 минут с помощью Python

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

В 2024 году инвестиции в Индекс Московской биржи принесли небольшие 1,6%. Это существенно ниже средней доходности (16,8% за 25 лет истории). Но не все знают, что спасло ситуацию в 2024 от минуса. Оказывается, ценовая доходность индекса была отрицательной -6,9%. И только дивидендная доходность 9,1% позволила индексу «сохранить лицо». Такая поддержка со стороны дивидендов происходит не первый раз. Считаем дивидендную доходность в Python за несколько строк.

Читать далее

eb#0: Квалификаторы и машины состояний, или Высокотипизированная магия в .NET

Уровень сложностиСложный
Время на прочтение51 мин
Количество просмотров2.8K

Двое мужчин на КДПВ искренне удивляются чувству вайб-кодинга без применения искуственного интелекта.

Что такое квалификаторы и для чего они нужны? Как это связано с машинами состояний? Откуда берётся магия в .NET?

Всё это органично сочетается во фреймворке EmptyBox.

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

Заглянуть внутрь коробки

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

Почему я исправляю баги бесплатно и как это изменило мою карьеру

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

8 лет назад я исправил опечатку в чужом репозитории, а сейчас регулярно делаю коммиты в проекты, которые использую, и даже вошел в core team библиотеки с 27000 звёзд на GitHub

В этой статье покажу, что участие в Open Source проще, чем кажется. Расскажу, как регулярная работа с чужим кодом помогает быстрее разбираться в незнакомых кодовых базах, писать тесты и лучше документировать решения. А также объясню, почему публичная активность на GitHub выгодно отличает вас от других разработчиков, особенно в эпоху повсеместного использования ИИ.

Читать далее

Открываем Konfeature, нашу open-source библиотеку для удобной работы с Feature Flags

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

Привет! Это Саша Таболин — старший android-разработчик в red_mad_robot. Мы создали открытую библиотеку Konfeature для оптимизации работы с Feature Flags и хотим поделиться нашей разработкой.

Читать далее

Почему ИИ вас заменит. И как к этому подготовиться

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров8.9K

Время размышлений о том, заменит ли ИИ человеческий труд, прошло. Вопрос теперь не "если", а "когда" и "как быстро". По данным ОЭСР, 27% занятых на рынке труда развитых стран потеряют работу из-за искусственного интеллекта. К 2030 году около 38% рабочих мест в США и 30% в Великобритании могут оказаться под угрозой автоматизации.


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

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

Планировщики процессов — другие open source решения

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

Такие workflow-оркестраторы, как Metaflow или Apache Airflow, на слуху. Однако в их тени существуют не менее интересные решения — например, StepWise, Dagu, Windmill, Flyte и µTask. Они предоставляют интересные возможности для автоматизации, ускорения и упрощения настройки сложных workflow, и часто обладают более современной архитектурой, меньшим порогом входа или ярко выраженной специализацией для типовых задач.

Сегодня познакомимся подробнее с инструментами, которые расширят ваш арсенал и помогут создавать более надёжные и экономичные системы.

Читать далее

Еще чуть-чуть быстрее ищем кратчайший путь на Python

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4.5K

Привет! На связи команда геоаналитики ecom.tech, мы строим модели машинного обучения на основе пространственных данных для задач ритейла в реальном времени, а также создаем промежуточные инструменты на базе методов прикладной геоаналитики. На наших технологиях работает Самокат и Мегамаркет. 

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

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

Читать далее

Выкрутили автоматизацию на максимум: с чем кроме инвентаризации помог переход на NetBox

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

Привет, Хабр! На связи команда K2 Cloud — ведущий сетевой инженер Сергей Алексеев и инженер-разработчик Александр Гнатюк.

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

Читать далее

NEAT. Основы

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.1K

Сегодня изучим "теорию" NEAT, который появился в далёком 2004-м году, но при этом остается мейнстримом среди нейроэволюционных алгоритмов. Мы разберём классический вариант, так как это основа и все остальные варианты(CoDeepNEAT, HyperNEAT и т.д.) будут намного сложнее в имплементации, то есть шанс применить за разумное время обычному человеку стремится к нулю и понять их без изначального варианта представляется почти невозможным.

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

Читать далее

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