Как стать автором
Поиск
Написать публикацию
Обновить
51.28

GitHub *

Веб-сервис для хостинга и разработки IT-проектов

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

Анализируем исходный код с помощью GitLab

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

Своевременное выявление уязвимостей в коде является одной из важнейших задач конвейера CI/CD, ведь чем раньше мы обнаружим ошибку в коде, тем дешевле нам обойдется ее исправление. Для решения этой задачи существует множество различных решений. Но если мы используем конвейер CI/CD то нам необходимо интегрировать наш анализатор в этот процесс. Однако, в GitLab имеется своя функциональность для анализа исходного кода. В этой статье мы настроим GitLab SAST для автоматического анализа исходного кода на наличие уязвимостей.

Читать далее

Новости

Полное руководство по добавлению серверов MCP в Claude Code: от основ к мастерству

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

Эта статья предоставляет самые современные методы настройки MCP, решения распространённых ошибок, а также рекомендует 10 протестированных практичных MCP-серверов. Это поможет решить более 90% проблем с настройкой и расширить функционал Claude Code.

Читать далее

Легчайший бот на Python, который переводит ваш голос в текст

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

Всем привет! Недавно вдохновилась всякими ботами в тгшке и решила для будущего портфолио сделать своего первого бота + подумала, что может быть это будет полезно кому-то из вас :-)

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

Читать далее

Надоело воевать с Git? Попробуй Jujutsu (jj), и вот почему он круче, чем кажется

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

Статья для разработчиков, которые устали от сложностей Git и хотят навести порядок в своих проектах. Я расскажу про Jujutsu (jj) — современную альтернативу, которая меняет подход к контролю версий. Без веток, без stash, без мучительных rebase -i — только чистая история и удобный workflow, который позволит вам фокусироваться на написании кода, а не на борьбе с системой. Готовые примеры и наглядная демонстрация возможностей внутри.

Читать далее

Публикация maven-артефактов в GitHub репозитории

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

Уже как три года я работаю над проектом со стеком Kotlin, Spring Boot, Maven. Все начиналось как небольшая учебная практика в вузе на коленке за пару недель и разрослось в приличную систему, которая уже использовалась по всей России.

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

Читать далее

От консоли к GUI: Как написать игру «Сапёр» на Python с нуля версия GUI (часть вторая)

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

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

Читать далее

Рынок найма глазами инженера

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

Политика найма в большинстве компаний оставляет желать лучшего. Они просто тратят своё и наше время (я как-то проходил собеседование из 9 этапов!). Они охотятся на передовых программистов и при этом даже не могут отличить реальных людей от LLM. Короче, в манибол они явно не играют.

Для соискателей картина тоже выглядит тоскливо. Некоторые из лучших знакомых мне программистов (среди которых мейнтейнеры компилятора Rust) не могут найти работу, так как теряются под воздействием стрессовых факторов собеседования. Одному такому человеку, который уже более 4 лет работает с Haskell и более 2 лет — с Rust, рекрутёр прямо сказал, что он «не технарь». Плюсом ко всему компании могут неделями, а порой и месяцами мурыжить людей, не давая понять, приняли их на работу или нет.

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

Читать далее

МИФИсты создали Рокхлю или Eurobot must go on

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

Краткий туториал по созданию робота для соревнования автономных роботов Eurobot 2025 от студентов МИФИ с учётом опыта прошлого года.

Читать далее

От консоли к GUI: Как написать игру «Сапёр» на Python с нуля версия консоли (часть первая)

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

Создайте свою версию легендарного «Сапёра» на Python. В этом пошаговом руководстве вы освоите всё: от создания игрового поля до управления флагами и проверки победы. Неважно, новичок вы или опытный программист — это увлекательное приключение поможет вам прокачать навыки. Начните программировать и играть с собственным «Сапёром» уже сегодня.

Читать далее

Автоматическое обновление зависимостей с Dependabot

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

Я завершил автоматизацию процесса обновления зависимостей для моего pet-проекта. Теперь Dependabot проверяет наличие обновлений и создаёт pull-реквесты. После успешного прохождения всех проверок изменения автоматически вливаются в основную ветку.

Как это сделано

Использование инструментов разработки программного обеспечения для законотворческой деятельности

Время на прочтение5 мин
Количество просмотров813
12 декабря 1993 на всенародном голосовании была принята Конституция России. Одно слово в том, оригинальном тексте Конституции сыграло особую роль в дальнейшей судьбе страны. Это слово было «подряд», в пункте 3 статьи 81 о том, может ли один и тоже человек занимать должность президента Российской Федерации не более двух сроков. Много копий сломано в дискуссиях об этом слове, Конституционный суд разъяснял смысл этого пункта в своем решении. Немногие принимали это во внимание, когда голосовали за или против принятия Конституции.

20 января 2020 президент России Владимир Путин внес в Государственную Думу проект закона с новыми поправками в Конституцию. Большой объем поправок, предложенных в этом проекте закона, не дает возможности обычному человеку разобраться в них. Возникает риск того, что мы повторим историю с словом «подряд», и мы снова будем принимать решение и голосовать за или против принятия Конституции без полной информации о последствиях этих поправок.

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

Что такое инкрементальная гидратация в Angular

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

Как инкрементальная гидратация в Angular помогает сделать приложения действительно быстрыми

Если вы когда-либо запускали SSR в Angular, вы наверняка сталкивались с этим парадоксом: страница вроде бы загружается молниеносно, но ощущается медленной. Контент есть, кнопки на месте — а кликаешь по ним, и в ответ тишина. Почему? Потому что браузер всё ещё «оживляет» интерфейс — запускает JavaScript, подключает обработчики, восстанавливает состояние. Это и есть гидратация, и в классическом исполнении она не так уж и быстра.

Читать далее

DSL KeyPad — ввод более 4 700 символов Юникода прямо с клавиатуры

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

Зачем? — У меня и самой был запрос на такую программу. Программу с кучей «нестандартных» символов. Существующие решения не отвечали моим потребностям и тогда я решила создать своё, подходящее под мои хотелки: многоязычный ввод, ввод типографских, математических и даже алхимических символов. И теперь я надеюсь, что сие «изобретение» окажется полезным не только для меня.

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

В статье представлен обзор на DSL KeyPad и его основные фичи, благодаря которым вы сможете печатать с внушительным арсеналом символов, имея всего-то две языковые раскладки: русскую и английскую. Румынский? Немецкий? Или может быть Вьетнамский? Старославянский? Да легко — множество комбинаций и ряд фич позволит вам писать на куче языков. Да хоть Германские руны и Глаголицу печатать. Прилагаются и широкие возможности кастомизации под свои нужды.

А это примеры названий языков и систем, написанные с помощью моей программы:

Қазақ тілі, Хуэйзў йүян, Забони тоҷикӣ, Йағнобӣ зивок, Аԥсуа бызшәа, Авар мацӏ, Українська мова, Словѣньскъ ѩꙁꙑкъ, Црногорски језик, Ли́мба Рꙋмѫнѣскъ, Итәнмәӈин крвэԓхатас, Даһур Усүүэ, Эвэды̄ турэ̄н, Азәрбајҹанҹа, Башҡорт теле, Тэлэңгэт, Чӑваш чӗлхи…

Ænglisċ sprǣċe, Français, Tiếng Việt, Hànyǔ Pīnyīn, Norrœnt mál, Limba Română, Español, Język polski, Čeština, Bokmål, Tamaziɣt, Türkçe, Sää’mǩiõll…

Читать далее

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

Автоматизация деплоя с помощью GitHub Actions: руководство для чайников

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

Привет, Хабр! Меня зовут Микаэль Оганесян, я backend-разработчик, и сегодня хочу поделиться с вами опытом настройки CI/CD с использованием GitHub Actions. В этой статье мы разберём, как автоматизировать процесс деплоя вашего приложения, что сэкономит ваше время и уменьшит количество ошибок при ручном деплое.

Читать далее

Git: Больше чем commit и push. 5 команд, которые спасут вашу репутацию (и нервные клетки)

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

git commit -m "WIP" — три слова, после которых начинается настоящий ад.

Доброго времени суток. Такая технология как Git в представлении не нуждается. Все знают add, commit, push — это как азбука. Но что делать, когда что‑то пошло не так? Ошибочный коммит прокатился по ветке? Надо срочно переключиться, но незавершенные правки мешают? Нужно перенести только одно исправление из другой ветки?

Знакомая ситауция? Тогда давайте разберем 5 команд, которые выходят за рамки базового workflow и реально спасают репутацию (и ваши нервные клетки).

Спасти нервные клетки

Совместное использование 1С:EDT и Git

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

Экосистема продуктов 1С содержит много различных полезных инструментов разработки. Одним из них является 1C:EDT (1C:Enterprise Development Tools) — расширяемая среда разработки прикладных решений, созданная на основе свободной интегрированной среды разработки модульных кроссплатформенных приложений Eclipse.

1C:EDT поддерживает ключевые принципы создания прикладных решений на платформе «1С:Предприятие 8» и содержит большое количество инструментов автоматизации разработки, делающих работу программиста более быстрой и комфортной, а также позволяет расширять функциональность инструментов разработки с помощью технологии плагинов.

В этой статье мы поговорим о том, как интегрировать 1С:EDT с системой контроля версий Git для того, чтобы сделать разработку более эффективной.

Читать далее

Нагрузочное тестирование на Python и Locust с запуском на CI/CD

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

Разбираемся, как организовать нагрузочное тестирование на Python с Locust — с сидинговыми сценариями, кастомными API-клиентами на HTTPX, конфигурацией через Pydantic и автоматическим запуском в GitHub Actions. Всё — на практике, с архитектурой, фреймворком и публикацией отчётов в GitHub Pages.

Читать далее

Статический анализ Pull Request'ов — ещё один шаг к регулярности

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

Хотите, чтобы статический анализ работал не только на ваших локальных машинах, но и прямо в Pull Request'ах? Чтобы баги ловились до попадания в главную ветку, а не после? В этой статье покажем, как это сделать на конкретном примере пайплайна в GitHub Actions.

Читать далее

Призраки в коммитах: пылесосим историю Git в поиске утекших секретов

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

Пользователи GitHub часто используют принудительные пуши (git push --force), чтобы переписать историю коммитов — например, когда случайно закоммитили секреты и хотят удалить их из репозитория. 

На первый взгляд кажется, что коммит исчез, но на самом деле GitHub его не стирает. «Удаленный» коммит остается доступен по хэшу — пусть и без прямых ссылок. GitHub продолжает хранить такие коммиты вечно.

В статье покажу, как вычислял такие коммиты с помощью GitHub Archive и вытаскивал из них секреты, за которые мне выплатили $25 000 по багбаунти. А еще поделюсь open-source инструментом, который позволит вам самостоятельно искать подобные утечки.

Читать далее

«Смерть релиз-менеджера: Как тестировщики устроили тихий переворот в IT»

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

Привет Хабр! Меня зовут Олег, я являюсь действующим QA Engineer в компании Intelsy. Это моя вторая статья после этой (тут могла бы быть ваша реклама), уж очень понравилось делиться информацией и получать обратную связь от читателей! Статья для тех, кто хочет улучшить процессы поставки кода в прод или понять, где можно сэкономить время! Постараюсь немного раскрыть эту тему, поделиться своим мнением (которое ни в коем случае не претендует на звание "истина в последней инстанции"), и да, по традиции помним "у каждого своя кухня". Надеюсь прочтение будет интересным и полезным!

В современных IT-командах границы между ролями стираются: разработчики пишут тесты, DevOps внедряют мониторинг, а тестировщики всё чаще участвуют в процессах, выходящих за рамки классического QA. Один из самых спорных вопросов — должен ли QA инженер заниматься релиз-менеджментом?

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

 В этой статье мы разберём:

· Почему QA идеально подходит для управления релизами?
· Плюсы и минусы
· Как внедрить релиз-менеджмент в обязанности тестировщика
· Почему отдельная роль релиз-менеджера часто избыточна
· Какие инструменты и метрики использовать для успешного контроля выпусков

 1. Что такое релиз-менеджмент и почему QA должен в нём участвовать?

Релиз-менеджмент — это комплекс процессов, связанных с планированием, подготовкой и развертыванием новой версии продукта. Он включает:

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

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