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

GitHub *

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

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

Переводчик текста для терминала

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

Большое количество специалистов в области IT используют переводчики текста в своей работе, и я тому не исключение. Достаточно часто в вакансиях Системного администратора можно встретить требуемый навык - "чтение технической документации на английском языке", но, не всегда такая документация может быть очевидной в полной мере, даже имея базовый уровень английского языка, и как мне кажется, тут нечему стесняется. Для перевода текста чаще всего используется браузер, а также десктопные приложения, я же расскажу про альтернативу таким решениям, для перевода текста прямо в консоли Linux или Windows.

Читать далее

Как я оптимизировал свой конвейер CI/CD до выполнения за 60 секунд

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

Как и многие, я храню свой код на GitHub. Пару лет назад я сделал простой пайплайн для сборки, анализа и тестирования моих веб‑приложений и сервисов. Он выполнял свою задачу, и так как это был мой первый опыт по настройке пайплайна CI/CD на GitHub, он сводился к одному шагу.

build (and deploy)

Со временем я стал замечать, что я стараюсь избегать вносить изменения в код. Будучи счастливым обладателем ADHD, я часто замечаю за собой сложность в решении задач с большим количеством препятствий и одним из них стало то, что выполнение пайплайна занимало больше 5 минут. Я коммитил изменения и шел делать кофе, пока пайплайн тестировал и деплоил код. И не всегда возвращался, отвлекаясь на другие вещи.

Я решил для себя, что максимальное количество времени, которое я готов ждать - 1 минута.

Читать далее

Проверяем фактор автобуса для опенсорсных проектов

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

Из Википедии: фактор автобуса (англ. bus factor, либо truck factor) проекта — это мера сосредоточения информации среди отдельных членов проекта; фактор показывает количество участников проекта, после потери которых (в оригинале — «попадания» которых под автобус или грузовик, варианты: увольнения, заболевания, рождения у них ребёнка, наступления несчастного случая и других форс-мажорных обстоятельств) проект не сможет быть завершён оставшимися участниками.

Мотивация

Во всех компаниях, где я работал (в строительстве и разработке ПО), в тот или иной момент времени возникал вопрос «фактора автобуса» в управлении разработкой проектов.

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

В разработке ПО можно провести множество параллелей, но по природе нашей работы поставка выпущенного кода — это единственный способ измерения фактора автобуса. По крайней мере, именно её изучали многие исследователи, в том числе и в научной статье, имеющей большое количество цитирований (156, согласно Google Scholar!) с момента её публикации в 2016 году (препринт выпустили в 2015 году). Ша отправил мне статью, а после того, как мы обнаружили её исходные данные и исходный код, это стало идеальным проектом на выходные, который бы позволил, как минимум, получить представление об интересных метриках open source.

Читать далее

Как внести свой вклад в Open Source и стать полезным

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

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

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

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

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

Читать далее

Практика: мой опыт интеграции более 50 нейронных сетей в один проект

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

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

Преодолеть открытие

Книга: «Git: контроль версий. 3-е изд.»

Время на прочтение11 мин
Количество просмотров7.3K
image Привет, Хаброжители!

Рекомендуем ознакомиться с книгой «Git: контроль версий. 3-е издание»!

С «Git: контроль версий» вы освоите философию и фундаментальные принципы работы Git, а также получите продвинутые навыки по отслеживанию содержимого, совместной работе и управлению проектами в командах. В этой книге Прем Кумар Понуторай и Джон Лолигер предлагают подробный и пошаговый подход к изучению Git, начиная с фундаментальной философии этой системы и заканчивая продвинутыми командами Git и принципами, которые позволят лучше понять внутреннюю механику Git.

Глава 3 в книге полностью посвящена веткам. Создание веток в Git считается легковесной и недорогой операцией. Зачем они нужны, руководство по ветвлению, управление ветками – все это описано в книге.

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

Читайте с удовольствием!
Читать дальше →

Telegram-бот для анализа текста | выделение тематических групп

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

Буквально месяц назад, мы с моим коллегой участвовали в HAKATON. Наша команда взялась за интересную задачу от компании МТС: на основе тысяч опросов, найти усредненный синоним к определенной категории ответов и визуализировать это в виде графика, либо облака слов.

После выполнения задачи и защиты проекта мы задумались...

Читать далее

«Удалённо» управляем компьютером с доступом в BIOS

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


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

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

Но как это сделать? Вот этим мы тут и будем заниматься…
Читать дальше →

Обходим ограничение доступа Github к базе уязвимостей Trivy. Быстрый фикс вам в помощь

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

Совсем недавно разработчики, применяющие сканер образов Trivy, столкнулись с ошибкой TOOMANYREQUESTS. Она произошла из-за достижения максимального количества пользователей инструмента и предельной скорости по загрузкам из Container Registry (CR) ghcr.io.

Меня зовут Алиса Кириченко, я занимаюсь разработкой контейнерной платформы «Штурвал». Мы вовсю используем Trivy, но совсем не хотим зависеть от доступности сторонних сервисов. Иначе заказчики не поймут. Поэтому базы у нас свои, и обновляются они каждую ночь.

Если лень дальше читать, то вот, берите:

Trivy DB: public.shturval.tech/trivy-db

Trivy Java DB: public.shturval.tech/trivy-java-db

Детали — под катом.

Читать далее

Как Elasticsearch поломал сборки и «обнулил» звёзды в Github

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

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

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

В какой-то момент от коллег поступает информация о том, что официальная библиотека elasticsearch-php в момент сборки через composer install перестала устанавливаться.

Читать далее

Git для самых маленьких

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

Дисклеймер: если ты продвинутый разработчик с Х годами опыта, пожалуйста, закрой эту статью. Здесь ты не найдешь абсолютно ничего полезного для себя.

Итак, небольшое вступление. Когда мне впервые пришлось делать коммит на GitHub, я помню, что перерыла кучу источников, и везде все было как-то не так, как в итоге сделала я.

В этой статье я расскажу о том, как сделать первый коммит на GitHub, и как делать последующие. Только мой опыт и сочетание консоли и фич IntelliJ Idea + у меня mac os, поэтому здесь именно про него (важно для установки).

Погнали.

Читать далее

Лучший подручный инструмент для GitHub: учимся работать с Actions

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

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

Привет, Хабр! На связи Виктор Рябков. Я — разработчик и создатель одноименного YouTube-канала. Сегодня погрузимся в мир GitHub Actions и узнаем, как эта система упрощает процессы разработки при взаимодействии с репозиторием. Рассмотрим ключевые аспекты: автоматизацию проверки кода и деплой на сервер.
Читать дальше →

Автоматизация деплоя React-приложения на VPS с помощью Jenkins и Nginx: Пошаговое руководство

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

Автоматизация деплоя React-приложения на VPS с Jenkins и Nginx: настройка вебхуков GitHub и триггеров для запуска деплоя при каждом изменении в коде.

Читать далее

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

Тестирование на проникновение в веб-приложении VAmPI

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

Привет, уважаемый читатель!

В рамках данной статьи мы узнаем:

* Какие API уязвимости есть в VAmPI?

* Из-за чего эти уязвимости существуют и эксплуатируются?

* Какие есть способы защитить веб-приложение?

* Какой есть дополнительный материал для самостоятельного изучения?

Ссылка на GitHub VAmPI: https://github.com/erev0s/VAmPI

Преисполниться в пентесте

Невидимый Технический Долг: Управление TODO Комментариями

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

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

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

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

Читать далее

Использование кошелька Монеро через Телеграм бот

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

Так как не знаю никакие Монеро кошельки на мобильном устройстве, а в Trust Wallet и Cryptobot попросту нет этой монеты, решил сделать свою реализацию, которую уже на удивление можно считать MVP и свободно принимать и переводить XMR.

Для начала, скачиваем Monero CLI Wallet, для того чтобы взаимодействовать с блокчейном:

https://www.getmonero.org/downloads/

Читать далее

Как я использую git

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

Недавно я пытался объяснить коллеге, какие у меня критерии при формировании пул реквеста — когда стоит объединять что‑либо в один пул реквест, а когда нет. И я заметил за собой фразу «ну, кроме…» несколько раз и решил записать, как я использую git — чтобы разобраться в особенностях моего подхода, как я мог бы улучшить его и, возможно, поделиться чем‑то полезным.

Поскольку это интернет, давайте сразу обговорим: то, как я использую git основывается на последних 12 годах работы в компаниях с относительно небольшими (до 50 человек) командами. В каждой из них мы использовали только git и GitHub; изменения выполнялись в отдельных ветках, предлагались в виде пул реквестов и сливались в основную ветку. В последние несколько лет, после введения GitHub squash‑merging, мы использовали его.

Я никогда не использовал какую‑либо другую систему контроля версий. Я не могу и не буду сравнивать git с Mercurial, jj, Sapling, и т. д.

Итак, вот как я использую git.

Читать далее

Крадем учетные данные Windows

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

В этой статье мы разберем различные сценарии получения паролей в системе Windows.

Metasploit

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

Читать далее

Создание GitHub бота для сообщества

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

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

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

Меня зовут Александр, в Positive Technologies я занимаюсь развитием open-source-инициатив в сфере информационной безопасности. В статье расскажу, как настроить бота, покажу примеры его работы и поделюсь реальными кейсами, где он уже помог ускорить взаимодействие.

Читать далее

Настройка BurpSuite professional на Ubuntu 24

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

На данном практическом занятии мы рассмотрим процесс установки и начальной настройки BurpSuite Professional на Ubuntu 24 (22).

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

В поисковике через гугл-дорк ищем
site:github.com burpsuite professional

Читать далее