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

Open source *

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

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

Причесываем VSCode до неприличной Yocto IDE или история одной кнопки

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

Идея написания этой статьи вдруг возникла у меня в начале 2025 года, когда я проснулся 2 января с тяжелой головой и вдруг понял что нужно сделать что хорошее, что то хорошее для вас, как говорит моя дочь Маргарита «для тех кто в Интернете». Как минимум мне нужен компьютерный класс на Raspberry Pi4, ну или хотя бы ферма docker(ов).

Я обожаю Visual Studio Code, но мне всегда не хватает времени чтобы более детально разобраться в его огромной функциональности, в различных конфигурациях, тасках и launch(ах) описанных в формате json и я решил это обойти.
Статья из серии DockerFace.

Краткое содержание статьи:

Выбор и настройка плагина для VSCode

Запись Yocto образа на SD карту памяти

Сборка Yocto образа в Docker(е)

Прием Барона Мюнхгаузена для документирования bash

Запуск Yocto образа RPi под виртуальной машиной Qemu

Развертывание DemoMinimal образа из Yocto коробки

Выписываем Buster Slim(а) для крутой разборке в Докере

Настройка DHCP, TFTP и NFS сервера

Загрузка core-image-minimal (wic) образа на rpi4 по сети

Сетевая загрузка Raspbian для платы Raspberry Pi4

Побочный эффект сборки, загрузка ISO дистрибутива Ubuntu по сети

Автоматический анализ Yocto логов с помощью Deepseek

самая красивая кнопка для друзей Элвиса

встраиваем кнопки в VSCode паровозиком

Читать далее

Новости

Devhands Open Sessions c Владимиром Перепелицей. Очереди в 2025м, что выбрать: Kafka, RabbitMQ, NATS или что-то ещё?

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

Привет, Хабр! На прошлой неделе мы провели стрим по очередям с Владимиром Перепелицей (эксперт по большим проектам, очередям и Tarantool, Solution Architect в Exness, создатель S3 в VK Cloud, регулярный спикер и член ПК конференций Highload). Обсудили выбор брокера или системы очередей 2025м году: что поменялось? NATS, его особенности, перспективы, кого он “подвинет” в первую очередь - Kafka или RabbitMQ? Что нового в свежей Apache Kafka 4? Насколько популярны архитектуры, где, например, Kafka основной storage (IoT, сбор метрик и тд). Под катом - расшифровка стрима.

Читать далее

Как я стал core-разработчиком Python в 19 лет

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

Как я стал core-разработчиком CPython в 19 лет: История усилий и достижений

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

Читать далее

Как развивается open source в Яндексе — рассказывает Сергей Бережной, devrel-директор и евангелист открытой разработки

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

На связи «Open source в России» [серия «бигтехи»], и мы продолжаем говорить о развитии организаций на базе открытой разработки. На днях я написал @veged с предложением обсудить open source-проекты Яндекса и все, что с ними связано в компании. Сергей поделился историческими подробностями, рассказал о работе с сообществом и в целом об отношении к open source в Яндексе. В итоге у нас получился один из наиболее подробных материалов из всей серии интервью.

Читать далее

Истории

Нужно ли «развитие» языкам программирования

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

TL;DR: Нет. Хорошо спроектированный язык в развитии не нуждается.

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

Более того, ниже я постараюсь уложиться в нескольких абзацев, чтобы рассказать, какие требования лично я предъявляю языку программирования в 2025 году, и почему этому «идеалу» просто некуда «развиваться».

Опять школота против ООП и ФП

[Часть 1.5] Делаем свою 3D игру на Python

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

[Обложка сделана на /fusionbrain.ai/ ]

Давайте сделаем редактор уровней для нашей игры !

Эта статья является продолжением этой статьи!

Читать далее

Третья часть исследования Nau Engine

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

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

Читать далее

Расширение возможностей веб-сервера при помощи WASM на примере Angie

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

Наверное, не секрет, что одна из причин популярности nginx — это развитая экосистема сторонних модулей. Модули позволяют не просто настраивать какие-то детали обработки запроса, но и глубоко изменять поведение сервера.

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

Теперь в этот набор добавляется ещё и модуль WASM, который мы разработали для нашего веб-сервера Angie (здесь и далее ссылки на нашу документацию). Зачем понадобился WASM на сервере, чем нас не устраивают существующие методы расширения и что в итоге получилось?

Данная статья — транскрипт выступления Владимира Хомутова на конференции HighLoad++. Владимир с 2012 года разработчик nginx, а с 2022 разработчик Angie.

Читать далее

Фундаментальный анализ акций в РФ и США

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

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

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

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

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

Буду использовать для анализа сразу два рынка: США и РФ.

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

РФ: рынок значительно меньше (всего несколько сотен компаний), но, поскольку мы живем здесь, он остается актуальным для анализа и инвестиций.

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

Изучаем существующие стратегии и API

Установка AmneziaVPN на Android TV

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

Всем привет! В этой статье я расскажу о том, как можно использовать AmneziaVPN на AndroidTV. При этом совершенно не важно для чего вы ее используете: для Self-hosted VPN, для AmneziaPremium, или с какими-то другими ключами. Лично у меня была и премиум подписка и мой личный VPN на собственном сервере с X-Ray. 

Читать далее

Код свободы: Хабр и GitVerse открывают сезон Open source

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

Вспомни тот момент, когда ты впервые запустил программу, созданную тысячами невидимых рук. Linux, Firefox, PostgreSQL... За каждым из этих имён стоит революция — мир, где код принадлежит всем и каждый может доработать и улучшить его. Мир open source.

Сорок лет назад это казалось утопией. Софт для серверов и пользовательских компьютеров создавался на заказ и мог запросто стоить дороже железа, на котором разворачивался. И его нельзя было модифицировать, даже если он работал неправильно. Не желая мириться с ситуацией, в 1983 году Ричард Столлман запустил в Массачусетском технологическом институте проект GNU. Планы проекта были амбициозными: разработать столько свободного ПО, чтобы хватило на все задачи (почти как у Стругацких — ПО всем, даром, и чтобы никто не ушёл обиженным). Для достижения этой цели проект в 1984 году приступил к разработке операционной системы GNU (рекурсивный акроним от англ. GNU’s Not UNIX — GNU не Unix). Как мы знаем, у них получилось. Кто мог тогда подумать, что именно свободное программное обеспечение станет фундаментом цифрового мира в далёком 2025 году!

А теперь представь: твой код тоже часть этой революции. Твоё имя — в списке контрибьюторов проекта, который используют миллионы. Звучит круто, правда? Сегодня Хабр совместно с GitVerse — AI-first-платформой для работы с кодом со встроенным AI-ассистентом GigaCode — открывает сезон Open source: время, когда мы вместе будем исследовать, как создаётся, развивается и меняет мир ПО с открытым исходным кодом.

Узнать о конкурсе

Как мы пишем код для curl на C

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

Мне часто задают такой вопрос: как мы пишем на C код для curl, чтобы он был безопасным и надёжным в миллиардах установок? Мы предпринимаем определённые меры и принимаем решения. «Серебряной пули» нет, есть только рекомендации. Как вы убедитесь сами из этой статьи, в них тоже нет ничего странного или неожиданного.

«c» в слове «curl» не обозначает и никогда не обозначало язык программирования C, это расшифровывается как client.

Предупреждение

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

Читать далее

Песочница своими руками

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

Если бы меня попросили составить список наиболее часто используемых не по делу страшилок в нашей профессии, я бы на первое место с большим отрывом поставил мантру «никогда, ни при каких обстоятельствах, не используйте eval». Потому что это небезопасно, а-та-та. (Для скучающих я привел внизу пополняемый список ненавистных мне идиотских обощений, рассчитанных на новичков и тупых.)

Как все без исключения догмы, эта тоже имеет крайне ограниченную область применения. Из того, что не нужно разрешать случайным посетителям сайта выполнять любой код на сервере — никак не следует, что eval — чем-то плох per se. В конце концов, зачем-то его ведь придумали и добавили в такую прорву самых разных языков.

Не так страшен eval, как его противники

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

19 марта – 28 апреля
Экспедиция «Рэйдикс»
Нижний НовгородЕкатеринбургНовосибирскВладивостокИжевскКазаньТюменьУфаИркутскЧелябинскСамараХабаровскКрасноярскОмск
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область

Зачем выбирать F#?

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

Если бы кто-нибудь сказал мне несколько месяцев назад, что я буду снова экспериментировать с .NET после более чем пятнадцатилетней паузы, то я бы, наверно, рассмеялся1. В начале своей карьеры я пробовал работать с .NET и Java, и хотя некоторые вещи .NET делал лучше, чем Java (у него была возможность научиться на ошибках ранней Java), я быстро остановился на Java, потому что это была по-настоящему портируемая среда.

Наверно, читающие мой блог знают, что последние несколько лет я время от времени экспериментировал с OCaml, и я могу с уверенностью сказать, что он стал одним из моих любимых языков программирования наряду с Ruby и Clojure. Недавно работа с OCaml привлекла моё внимание к F# — это разработанный компанией Microsoft ML (Meta Language) для .NET , функциональная копия объектно-ориентированного (по большей мере) C#. Самый новый ML-язык…

Читать далее

Когда менять шины: как Python и открытые API помогут избежать ошибок

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

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

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

Как Python и погода помогают решить

Возвращаем доступ к Аниме за пару минут

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

Всем привет! Мы уверены, что среди читателей Хабра точно найдутся любители аниме. В последние годы в России под удар попали не только новостные сайты и соц. сети, но и разные видео-хостинги. В том числе регулярно блокируются сайты с аниме-контентом и фанфиками, ссылаясь на  обвинения во «вреде для психики» и «пропаганде». 

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

Мы считаем несправедливыми подобные ограничения, поэтому добавили поддержку некоторых популярных аниме-сайтов в наш бесплатный VPN - Amnezia Free.  

Ниже представлен список сайтов, на которых снова можно будет смотреть аниме.

Читать далее

Прочтите это, если планируете работать с Next.js

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

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

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

Именно такие ожидания я связывал с Next.js — опенсорсным фреймворком для веб-разработки, созданным и управляемым компанией Vercel. Vercel — это облачный провайдер, предлагающий управляемый хостинг Next.js как услугу.

Читать далее

Запуск Linux внутри PDF

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


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

Оказалось, что на этом возможности движка по рендерингу PDF не ограничиваются. Он способен запустить даже эмулятор полноценного процессора, а в нём — целую операционную систему.
Читать дальше →

Rust 1.86.0: преобразование в родительский трейт, поддержка изменяемой индексации для HashMap и срезов

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

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


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


$ rustup update stable

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


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

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

Не только для райсеров. Arch Linux на Hyprland для работы и гейминга

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

Все мы уже много раз слышали и видели заветные I use arch btw и конечно виноваты не те, кто так говорит, ведь это прописано в лицензионном соглашении в процессе установки через очень приятный и понятный даже вашей бабушке GUI. Вам не нужно вручную подключаться к вашему wifi, не нужно размечать и монтировать диски. А установку всех нужных именно вам пакетов за вас сделает сама система, нужно только подписать соглашение ...

Как же пользоваться Hyrpland и стоит ли делать свой Rice?

Читать далее
1
23 ...