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

Open source *

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

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

Обзор Teleport: организация безопасного доступа для кластеров Kubernetes

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

Платформа Kubernetes является одной из самых популярных систем для оркестрации контейнеров. Со временем многие организации полностью переводят свою инфраструктуру и проекты на «рельсы» Kubernetes. Однако здесь возникают вопросы безопасности, связанные с необходимостью контроля – кто и как сможет получать доступ к кластеру Kubernetes. По умолчанию подключиться к кластеру Kubernetes может каждый – для этого достаточно стандартного конфигурационного файла с именем config. Для решения данных проблем безопасности существует продукт под названием Teleport.

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

Пишем свой ansible плагин (connection)

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

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

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

Здесь я буду говорить о "потрохах" подключений ansible.

Глубже разобраться в ansible
Всего голосов 6: ↑6 и ↓0+6
Комментарии5

OpenSource против «кровавого энтерпрайза» или откуда берутся проблемы с feature request

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

Ни одно облачное решение, если только оно не разработано на заказ, не может полностью удовлетворить все запросы потребителя. Поэтому многие хотя бы раз отправляли производителю ПО feature request, или, по‑русски, запрос на добавление дополнительной функциональности. Возможно, вы тоже были в этой роли. Производитель может включить такой запрос в дорожную карту развития продукта. Или отправить его в корзину. В этом материале расскажем, чем отличается работа с feature request у создателей решений, в основе которых лежат скопированные open source продукты и Enterprise, и какой подход мы используем при обновлении нашей платформы для построения виртуальных ЦОДов vStack.

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

Ирина, голосовой помощник — теперь и со вкусом GPT-3

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

«Лама... Альпака...Чатгпт...» — раздавалась в уютненьком чатике по Ирине.

Хабр был не лучше — статьи по работе с GPT множились как грибы, а в комментах раздавались возгласы в духе «Дайте мне голосового помощника, с которым можно болтать!»

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

Тем не менее, и меня заинтересовало, насколько весело будет именно болтать с GPT, но самому в коде и платном API‑доступе разбираться не хотелось. Но сегодня утром меня снабдили и примером, и ключиком...

‑-

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

— Полностью оффлайн SpeechToText и TextToSpeech
— Поддержка плагинов
— Готовые команды «таймер», «погода» и ряд прочих. Поддержка HomeAssistant.
— Поддержка работы в клиент‑серверном режиме — сервер + куча микрофонов + Телеграм‑клиент, например.

Расскажу, что улучшилось за прошедший год с момента прошлой статьи.

TL;DR> Добавлен плагин для общения с GPT-3 нейросетью. Сделан пакет упрощенной установки под Windows — «скачай и запусти». Сделано два веб‑клиента — один распознает слова прям в браузере (тяжелый), другой отправляет весь звуковой поток на сервер (легкий) — так что можно запускать клиенты, например, на смартфоне. Добавлен TTS Silero v3 — имхо, лучшее озвучивание доступное в открытом доступе. Сделан докер‑образ для быстрого запуска Ирины без установки зависимостей. Добавлено нечеткое распознавание фраз. Обновлена VOSK‑модель распознавания голоса на специально натренированную для Ирины.

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

Истории

Двадцать пять лет curl

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

Когда жить интересно, время летит незаметно. 20 марта curl исполнилось 25 лет.

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

▍ Я в то время


Я создал самый первый релиз curl, и с тех пор выпускал пакеты каждого нового релиза. В день, когда я впервые выпустил curl, мне было 27 лет, я работал разработчиком ПО в Frontec Tekniksystem, где в основном занимался разработкой встроенных систем для более крупных шведских компаний-разработчиков. Например, в течение нескольких лет в конце 90-х я работал над довольно большим количеством проектов для телекоммуникационного гиганта Ericsson.

Мне нравились программирование и разработка с тех пор, как в середине 80-х у меня появился первый компьютер. В 1990-х у меня уже был устоявшийся ежедневный график: когда моя вторая половина ложилась спать, я продолжал бодрствовать, час-два занимаясь разработкой. По сути, именно так мне удавалось находить время для своих проектов в первые несколько десятков лет. Меньше сна. Меньше других дел.
Читать дальше →
Всего голосов 83: ↑83 и ↓0+83
Комментарии15

Учим ChatGPT говорить и слушать

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

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

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

Программирование контроллера сервоприводов MC50. Введение

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

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

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

IAMeter: не ошибается ли SAST-сканер?

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

Как можно оценить качество работы SAST-инструмента? Ответ простой: посмотреть на количество false positive и false negative срабатываний на заранее подготовленном уязвимом приложении.

Мы выложили в открытый доступ на GitHub новую версию IAMeter — уязвимого приложения, созданного специально для оценки эффективности SAST-анализаторов. Просканировав его анализатором PT Application Inspector, мы убедились, что SAST вполне может быть как точным, так и полным одновременно, — нашлись все настоящие уязвимости, но не было срабатываний на заведомо ложных.

Предлагаем и вам проверить свой анализатор в «боевых» условиях — сканируйте проект IAMeter и пишите о полученных результатах в комментариях или в наш Telegram-чат.

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

SMILE.Cloud — машинное обучение без навыков программирования

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

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

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

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

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

Шесть открытых библиотек от Mad Brains, которые упростят жизнь Flutter-разработчика

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

Работая над разнообразными бизнес-задачами с помощью Flutter, мы часто сталкиваемся с отсутствием готовых решений. Поэтому команда Mad Brains создает собственные и делится ими с ИТ-сообществом. В этом материале мы рассказываем, как наши библиотеки помогают Flutter-разработчикам и бизнесу.

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

Создаем свой собственный язык программирования с использованием LLVM. Часть 4: Поддержка составных типов

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

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

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

Перевод: Защита ваших репозиториев Git: Исчерпывающее руководство по использованию Gitleaks

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

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

Инструмент хорошо настраивается и поддерживает широкий спектр форматов файлов, включая текстовые, двоичные и даже зашифрованные файлы. Gitleaks можно использовать как инструмент командной строки или как часть конвейера CI/CD, чтобы помочь отловить конфиденциальные данные до их размещения в репозитории.

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

Gitleaks может быть полезен всем, кто работает с Git‑репозиториями, особенно тем, кто имеет дело с конфиденциальными данными. Это эффективный способ предотвратить случайные утечки и обеспечить защиту конфиденциальной информации.

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

Что нового в Jmix 1.5

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

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

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

Одна из наших разработок, Jmix – это технологическая open-source платформа для быстрой разработки бизнес-приложений на Java. О ней и пойдет речь.  

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

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

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
26 октября
ProIT Network Fest
Санкт-Петербург
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

Изучаем чёрный рынок фальшивых звёзд GitHub

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

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

Если вам неинтересна история, то можете сразу перейти к коду в конце статьи.

А если вам понравилась статья, перейдите в репозиторий Dagster и поставьте нам реальную звезду GitHub!
Читать дальше →
Всего голосов 32: ↑32 и ↓0+32
Комментарии5

В платформе Deckhouse появился модуль delivery для непрерывной доставки приложений в Kubernetes

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

В составе Kubernetes-платформы Deckhouse появился новый модуль delivery, в основе которого — утилита с открытым исходным кодом Argo CD. Модуль автоматизирует процессы непрерывной доставки, развертывания и обновления пользовательских приложений в кластере. Также, благодаря доработке «ванильной» версии Argo CD, delivery повышает удобство доставки ПО в закрытые контуры при помощи werf.

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

Инструменты наблюдаемости, о которых нужно знать в 2023 году

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

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

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

В этой статье мы рассмотрим возможности, ограничения и важные особенности одиннадцати популярных инструментов наблюдаемости, что позволит вам выбрать наиболее подходящий для вашего проекта.
Читать дальше →
Всего голосов 32: ↑30 и ↓2+39
Комментарии4

YTsaurus: основная система для хранения и обработки данных Яндекса теперь open source

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

Привет! Меня зовут Максим Бабенко, я руковожу отделом технологий распределённых вычислений в Яндексе. Сегодня мы выложили в опенсорс платформу YTsaurus — одну из основных инфраструктурных BigData-систем, разработанных в Яндексе.

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

В Github-репозитории находится серверный код YTsaurus, инфраструктура развёртывания с использованием k8s, а также веб-интерфейс системы и клиентский SDK для распространённых языков программирования — C++, Java, Go и Python. Всё это — под лицензией Apache 2.0, что позволяет всем желающим загрузить его на свои серверы, а также дорабатывать его под свои нужды.

Читать далее
Всего голосов 176: ↑175 и ↓1+217
Комментарии34

Установка OpenCV под Windows

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

В данной статье будет описан способ сборки OpenCV из исходников с помощью cmake и Microsoft Visual Studio, и пример запуска своего проекта на cmake. Большая часть статьи является повторением официальной документации.

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

Инструкция по установке LineageOS 20 + MicroG на Google Pixel 6 Pro

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

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

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

Перевод: Katana: Обзор мощного сканера безопасности веб-приложений [шпаргалка]

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

Katana — это сканер безопасности веб‑приложений с открытым исходным кодом, который автоматизирует процесс выявления уязвимостей в веб‑приложениях. Он был создан компанией Project Discovery, специализирующейся на оценке уязвимостей и тестировании на проникновение.

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

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

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