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

GitHub *

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

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

Пишем письма с Gmail на Bitcoin

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

Привет, Хабр!
Это снова команда Eppie, децентрализованной p2p почты, в которой адрес принадлежит пользователю, а не сервису.

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

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

Читать далее

Новости

Как я шахматного бота писал

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

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

Читать далее

«Расскажите про SOLID»: Как проходить унизительный тех. скрининг с HR (Гайд от бывшего рекрутера)

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

Давайте честно. Есть один этап в IT-найме, от которого у любого Senior-разработчика начинает дергаться глаз. Это технический скрининг с HR-ом.

Вы специалист с 10-летним опытом. А напротив вас сидит 23-летняя девушка, которая по бумажке задает вам вопросы, ответы на которые она сама не понимает. «А чем отличается SQL от NoSQL?», «Расскажите про SOLID».

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

Но что, если я скажу вам, что ваша злость и попытки «доказать, что вы умный» это именно то, из-за чего вы проваливаете этот этап?

Как бывший рекрутер, я сейчас вскрою этот театр абсурда и покажу, что на самом деле происходит в голове у HR-а, и как нужно действовать, чтобы пройти этот фильтр с конверсией 90%.

Читать далее

Статический анализ в open source проектах с помощью PVS-Studio

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

Хотите, чтобы ваш open source проект был чище и безопаснее? Рассказываем, как использовать PVS-Studio для регулярного анализа кода, внедрить его в CI и находить баги до их попадания в релиз. И да, лицензия для открытых проектов у нас бесплатная.

Читать далее

Терминал — ваш лучший друг: 5 утилит командной строки, которые заменят вам GUI

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

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

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

Читать далее

40 млн GitHub-репозиториев: открытый датасет метаданных для анализа и обучения

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

Я собрал датасет метаданных по ~40 млн публичных репозиториев GitHub. Внутри — звёзды, форки, лицензии, язык, описание, размер, дата создания и др. Схема по смыслу максимально совместима с GH Archive/GitHub API. Лицензия — MIT. Ниже — как скачать, что внутри и идеи использования.

Датасет: ibragim-bad/github-repos-metadata-40M

Читать далее

Учебник под микроскопом. Часть 1: из PDF в TXT

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

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

Читать далее

Ваш GitHub — ваш личный бренд

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

Закодили очередную фичу для продукта, который увидят пара тысяч пользователей вашей компании? Написали скрипт, который сэкономил кучу времени, но всем плевать? Чувствуете, что ваше имя как инженера теряется где-то между Jira-тасками и код-ревью?

Да-да, что-то такое я знаю: это примерно каждый первый программист. Оу, вам много платят? Вы настоящий-пренастоящий сеньор? Извините, ни разу о вас не слышал и вряд ли услышу.

А теперь прочтите имена этих людей:
Линус Торвальдс. Ричард Столлман. Гвидо ван Россум. Брэм Моленаар. Джеймс Гослинг.

Они вам о чём-то говорят? Вы слышите их не первый раз? Ещё бы. Ведь это люди, изменившие, без сомнения, целый мир.

Что их всех объединяет? Они не стали знаменитыми, потому что удачно устроились в FAANG (ну или Съелбанк, Тындекс) и вовремя закрыли квартальный OKR. Нет. Они создали проекты с открытым исходным кодом, которые стали фундаментом всего, что мы используем сегодня. Вы бы узнали имя Линуса, если бы он просто тихо перекладывал JSON'ы для какой-нибудь корпорации? Вопрос риторический.

Погрузиться в мир Open Source!🐧🐧🐧

Парсер Гугл Карт: обзор, инструкция и сценарии для многопоточного парсера — готовое решение для парсинга отзывов

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

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

Google, конечно понимает повышенный интерес к своей базе и предоставляет официальный API для парсинга (Google Places API), но у него есть существенные ограничения - во-первых, он платный, что на больших объемах существенно бъет по бюджету, а во-вторых, тут есть лимиты по частоте запросов. Эти ограничения и побуждают компании прибегать к альтернативному подходу - парсингу отзывов (как в моем случае) или парсингу данных (в широком смысле) непосредственно с веб-версии Google Maps, минуя официальный API.

Собственно я прошел этот путь ровно также, как его проходит большинство специалистов, кому нужны данные из Гугл Карт. Сперва АПИ, считаем экономику - понимаем что она не сходится - перестраиваем экономику и вместо оплаты лимитов Гугла, сокращаем траты за счет использования прокси и многопоточного парсера. Собственно из затрат у меня реально были только прокси от Proxyma, я использовал самый простой тариф 5$ за 1 Гб трафика, но в целом, если взять сразу 30Гб то цена снижается уже до 3$ за Гб трафика, что уже интереснее. 

Читать далее

Персонализация LLM через шифр: как я экономлю токены и хакаю модель одновременно

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

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

ScriptorMemory — вытекающая из KAiScriptor короткая выжимка, которая действует как назначение роли: удерживает «кто говорит и как действует» без большого словаря, поддерживая устойчивый ролевой голос в диалоге, и выстраивая для модели новые правила поведения.

Носителем шифра может быть что угодно: unicode-символы, стикеры, буквы, цифры, обычные слова и пунктуация. Оба слоя могут быть использованы недобросовестно — это зафиксировано как риск нарушения TOS.

Читать далее

Освоение Git: от основных основ до эффективной интеграции с Claude Code

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

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

А Claude Code, как передовой инструмент AI-программирования, не только полностью совместим с рабочими процессами Git, но и благодаря глубокой интеграции предоставляет разработчикам беспрецедентную автоматизацию и удобство.

Из этой статьи вы получите следующее:

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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