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

Программирование *

Искусство создания компьютерных программ

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

Красота не только в коде — как оформлять репозиторий

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

Сегодня мы затронем сторону, отличную от написания кода. Мы займемся оформлением и написанием документации, как правильно делать коммиты и как оформлять код.

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

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

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

Узнать, как оформлять репозитории
Рейтинг 0
Комментарии 0

Новости

Змеиная наука: Химия в Python, часть 1

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

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

Вперед!
Всего голосов 3: ↑2 и ↓1 +1
Комментарии 4

PyTelegramBotAPI на примере проекта сбора обратной связи #2

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

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

Эта статья направлена именно на новичков, в ней я постараюсь объяснить тему ботов на примере сбора обратной связи.

Читать далее
Рейтинг 0
Комментарии 0

Как выбрать первую механическую клавиатуру. Пособие для новичка

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

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

В статье отвечу на вопросы о том, что такое HotSwap board, что за проценты в размерах клавиатур и зачем нужна крутилка на некоторых из них. А так же помогу определиться с тем, какую клавиатуру вам искать.

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

Истории

Проблема понимания существующего кода, или Как делать иногда [не] надо

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

Я столкнулся с тем, что я иногда не понимаю код, с которым мне приходится работать. И это сильно сказывается на моей производительности и на качестве конечного результата. Неделю назад я прочитал статью Плохо девелопмент за авторством @dalerank(Сергей Кушниренко), в которой описывается проблема молодых специалистов, которые упрощая себе работу пользовались готовыми решениями, а не писали код с нуля. Моя статья не об этой статье и не ответ к ней. В самой статье Сергея Кушниренко была ссылка на другую статью - You should refuse to develop what you don’t understand. И вот эта статья меня несколько озадачила. Я задумался о проблеме понимания того, с чем я работаю. О ней я бы хотел написать, но и некоторые тезисы из статьи Сергея Кушниренко я тоже затрону.

ВНИМАНИЕ! Дальше вас ждет душная простыня текста без юмора.

Соглашаюсь со строкой выше
Всего голосов 13: ↑12 и ↓1 +11
Комментарии 15

Computer Science: книги, от новичка до профи

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

What’s up guys?

Computer Science – грубо говоря - наука о компьютерах. Она объединяет всё, что программист должен знать о компьютерах и работе с ними для создания эффективных программ и алгоритмов. Программисты бывают разные, и как правило отличаются только языком, на котором пишут, но всех их объединяет необходимость понимать основы этой науки для понимания того, как работает компьютер.

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

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

Рекомендации по разработке баз данных и клиентских приложений

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

Привет, Хабр! 

Представляю Вашему вниманию небольшой список рекомендаций по разработке и сопровождению баз данных, надеюсь будет полезным!

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

Алгоритмы не важны

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

Прошу простить заранее за несколько кликбейтный заголовок )

Не так давно писал в соцсетях хейт‑пост по поводу «алгоритмических секций» при приёме на работу в Яндекс.

Да и многие другие софтверные компании это практикуют и считают навыки написания алгоритмов — чуть ли не самым важным навыком для программистов.

И ставят данной компетенции очень высокий приоритет при приёме на работу.

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

Читать далее
Всего голосов 123: ↑91 и ↓32 +59
Комментарии 264

Message broker per service

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

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

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

Чем хорош Rust для продакшена?

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

За последние годы интерес к Rust значительно вырос. Отчасти этому способствовало то, что ведущие участники технологической индустрии, такие как Microsoft, Google и Amazon рассказали о своём опыте использования этого языка в реализации критических систем.

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

Будучи консультантом по Rust, я имел возможность работать со многими компаниями: как крупными, так и малыми. В итоге я понял, что организации в первую очередь ценят продуктивность, стабильность и удобство при долгосрочной поддержке, а не производительность.
Читать дальше →
Всего голосов 51: ↑46 и ↓5 +41
Комментарии 13

Асинхронный python без головной боли (часть 3)

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

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

И снова здравствуйте
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 5

Как проклятие невидимой стены ждало меня 20 лет

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


Когда на меня накатывает хандра, я бросаю всё и пилю свой игровой движок. Это неблагодарное занятие, но меня прёт.


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


И вот я тут спустя 5 лет.

Читать дальше →
Всего голосов 140: ↑138 и ↓2 +136
Комментарии 44

Инфраструктура у жилья в столице

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

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

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

Программа расчитала десятки миллионов пешеходных дистанций от жилых зданий Москвы в 2км от метро и я опубликовал данные на Github в виде поисковика жилья для гиков.

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

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

Битва пет-проектов
Дата 25 сентября – 30 ноября
Место Онлайн
Яндекс Backend Tour
Дата 13 – 26 ноября
Время 18:00 – 23:00
Место Москва Нижний Новгород Екатеринбург Новосибирск Санкт-Петербург Онлайн
SMM TRENDS
Дата 22 ноября
Время 14:00 – 19:00
Место Онлайн
HighLoad++ 2023
Дата 27 – 28 ноября
Время 9:00 – 20:00
Место Москва Онлайн
Открытая трансляция Главного зала HighLoad++ 2023
Дата 27 – 28 ноября
Время 10:00 – 20:00
Место Онлайн
Business Code Conference
Дата 30 ноября
Время 17:30 – 00:00
Место Москва
Импульс Т1
Дата 1 декабря
Время 12:30
Место Москва Онлайн
YaTalks 2023 — главная конференция Яндекса для IT сообщества
Дата 5 – 6 декабря
Время 9:00 – 23:59
Место Москва Белград Онлайн

Java-инспекции в IDEA 2023.2

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

Это ретроспективный пост про Java-инспекции IntelliJ IDEA 2023.2, в преддверии 2023.3 (которая сейчас в состоянии Beta 2). Несмотря на то, что эта версия вышла еще в июле, не все в точности помнят, что же там произошло, и какую версию они вообще используют.

А между тем, там не всё хорошо. Например, баги с тэгом @snippet до сих пор не поправили.

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

Залетайте под кат и погнали!

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

IntelliJ IDEA 2023.2. Долгожданный LSP, встроенный AI-чат, апгрейд до Windows 10 и -Xmx2G

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

Это ретроспективный пост фичей IntelliJ IDEA 2023.2, в преддверии 2023.3 (которая сейчас в состоянии Beta 2). Несмотря на то, что эта версия вышла еще в июле, не все в точности помнят, что же там произошло, и какую версию они вообще используют.

Идея раздулась до 2 гигабайт хипа, появилась поддержка LSP-серверов, и теперь вам нужно проапгрейдиться с Windows 7 минимум до Windows 10.

Из мелочей: появился чата с нейронкой "AI Assistant". Профилировщик научился отображать подсказки прямо в редакторе, а интеграция с GitLab позволяет меньше переключаться между браузером и IDE.

Хотите узнать подробней?

Восхитительно! Читать далее
Всего голосов 24: ↑20 и ↓4 +16
Комментарии 15

Как мы автоматизировали очистку ресурсов с помощью Tempest Cleanup

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

Всем привет! Меня зовут Валентина, я разработчик в тестировании облака Selectel. В своей прошлой статье я рассказала, как мы автоматизировали запуск Tempest-тестов в GitLab. Статья вам понравилась, поэтому я написала продолжение.

В нашей автоматизации была проблема: после тестов ресурсы «подвисали» и не удалялись. Отработавшие тесты занимали проектные квоты и это влияло на стабильность пайплайна.

Для решения этой проблемы нам нужен был инструмент, который умеет автоматически утилизировать ресурсы после каждого теста — и мы кое-что нашли. Интересно? Тогда добро пожаловать под кат!
Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Комментарии 1

Какие баги мы заложили в онлайн-банк на PHDays 12: разбор конкурса $NATCH

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

Всем привет! Если помните, в этом году Positive Hack Days 12 предстал перед нами в новом формате: помимо традиционной закрытой зоны появилось доступное для всех публичное пространство — кибергород, где посетители узнали, как не стать жертвами мошенников на маркетплейсах, а также об особенностях ChatGPT, выборе безопасного VPN и других аспектах ИТ и ИБ. Неизменной частью киберфестиваля остались его конкурсы. Один из них — конкурс по поиску уязвимостей в онлайн-банке. Год назад мы захотели попробовать новый формат в виде Payment Village, но в этот раз решили вернуться к истокам — конкурсу $NATCH, применив новую концепцию! Белым хакерам мы предложили испытать на прочность созданную для конкурса банковскую экосистему (нет, последнее слово не оговорка, но об этом поговорим позже). Специалисты по информационной безопасности искали банковские (и не только) уязвимости в предоставленной системе и сдавали отчеты через багбаунти-платформу, затем организаторы оценивали найденные уязвимости и присваивали им соответствующий уровень опасности — мы хотели, чтобы участники почувствовали себя настоящими исследователями безопасности.

Под катом наш подробный рассказ о том, что из этого вышло, какие баги мы заложили в онлайн-банк в этом году, а какие были рождены нашими кривыми руками.

Далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 1

ООП в Wolfram Mathematica

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

В комментариях к мой статье пользователь @Refridgeratorв ответ на мой вопрос написал, что в Wolfram Language (WL) не хватает следующего:

"ООП, перегрузки операторов, строгой типизации, событийно-ориентированного
программирования, дата-ориентированного программирования, параллельного программирования с примитивами синхронизации, средств отладки, скорости исполнения." (с) @Refridgerator

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

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

О хранении изображений в памяти с выравниванием

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

В разговорах с коллегами, а также по отдельным постам на форумах я заметил, что даже относительно опытные разработчики порой не достаточно глубоко понимают особенности хранения изображений в памяти. Если вы знаете, что такое выравнивание на границу 64-x байт, а также термины типа «длина или шаг строки (LineWidth/StepWidth, Stride)», «зазоры выравнивания (Alignment Gaps)», кроме того в курсе размеров линий кэша и страниц памяти на вашем компьютере, то вам, вероятно, не будет интересно, а остальные, особенно те, кто интересуется обработкой изображений — могут ознакомиться с предлагаемым материалом, и, возможно найдут для себя что-то новое и полезное. Под катом будет немножко кода на Си и ассемблере, пара LabVIEW скриншотов, предполагается также, что у читателя есть базовые знания OpenCV. Для экспериментов понадобится компьютер с камушком, поддерживающим AVX2.

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

Масштабирование телеграм-ботов на примере aiogram

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

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

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

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

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