Pull to refresh
-5
@LyohaProtoread⁠-⁠only

User

Send message

Автоматизация релизов с помощью github-action и semantic-release. А так же использование Pre-commit в Github action

Reading time5 min
Views7.8K

В этом посте будет описано практическое применение semantic-release для terraform модуля terraform-yandex-compute (Модуль Terraform, который создает вычислительные ресурсы в облаке Яндекса) c Github action.



А так же будет рассмотрено использование Pre-commit в Github action.


Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments2

8 правил, которые пригодятся при описании Git-коммитов

Reading time9 min
Views25K

Иногда системы контроля версий напоминают групповые чаты: вроде бы все тут собрались по какому-то поводу и пишут о чём-то одном, но что именно пишут ― разобраться порой просто невозможно. Как и в чате, где на одно грамотное и полное сообщение наберётся сотня «гыгы, лол» и «))))))», в Git-коммитах на несколько внятных описаний приходится втрое больше чего-то такого:

c63b59c ЛОГИКА РАБОТЫ File[] filesList; (ВНИМАНИЕ!)

3775079 Правки самые последние NEW

71acc53 Правка последняя

Особенно это становится заметно во времена крупных доработок. Когда у разработчика много задач и горящих дедлайнов, есть соблазн плюнуть на написание нормальных комментариев к коммитам (commit messages) и применить золотое антиправило экономии времени «Разберусь потом». Но когда наступает это «потом», комментарии типа «03.03 – 04.03» или «последняя правка» не дают ничего, кроме чувства досады на себя в прошлом.

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

Читать далее
Total votes 11: ↑8 and ↓3+6
Comments42

Атрибуты HTML, которыми вы никогда не пользовались

Reading time10 min
Views30K

В январе этого года Мэдисон Канна спросила у своих подписчиков в Twitter:

Какие языки/технологии вам бы хотелось изучить или узнать глубже в этом году?

Мой выбор: typescript, next.js, react, graphql, solidity, node — Мэдисон Канна (@Madisonkanna) January 3, 2022

Мой ответ был очень простым: HTML. И я ни в коей мере не был саркастичным или насмешливым. Разумеется, я неплохо знаю, какие теги использовать в каких случаях и как обеспечивать семантику и доступность моего HTML.

Однако существует целая куча малоиспользуемых атрибутов, о которых я забыл, и, вероятно, целая куча атрибутов, о существовании которых я и не знал. Этот пост стал результатом моих исследований, и я надеюсь, что он окажется для вас полезным при создании страниц на HTML.
Читать дальше →
Total votes 75: ↑75 and ↓0+75
Comments9

Цивилизация Пружин, 1/5

Reading time14 min
Views109K
### Часть 1. Золотое «Ку»

Лет в шесть мне попался в руки дедовский справочник[50] по грузовым автомобилям середины 20-го века. Добротный, напечатанный на гладкой плотной бумаге раритет. Единственное, что вообще осталось на память от деда после распада страны, войн и переездов.



В справочнике содержалось множество интересных ТТХ, так что слово «грузоподъёмность» стало мне знакомо с раннего детства. И когда отец на прогулке упомянул, что любой грузовик весит столько же, сколько увозит сам, я это запомнил. Запомнил и, много позже, заинтересовался.

Отец был прав. Для грузовиков 60-х годов это правило выполняется с довольно удивительной точностью:

Читать дальше →
Total votes 237: ↑230 and ↓7+223
Comments266

Рисуем красивые трейсбеки, перехватывая исключения в Python

Reading time10 min
Views14K

Все мы тратим немало времени на отладку, копаясь в логах или читая трейсбеки (traceback, отчёты о трассировке стека). Любое из этих дел может оказаться сложным и длительным. Этот материал посвящён тому, как сделать трассировку стека и работу с исключениями как можно более простыми и эффективными.

На пути к этой цели мы узнаем о том, как реализовывать и использовать собственные перехватчики исключений (exception hook), которые позволяют убрать из трейсбеков весь «информационный шум». Мы поговорим о том, как улучшить читабельность отчётов о трассировке стека, как выводить в них лишь то, что нужно для решения проблем с Python-кодом и с возникающими в процессе его работы исключениями. Кроме того, мы посмотрим на несколько потрясающих Python-библиотек, в которых имеются готовые к использованию, хорошо сделанные перехватчики исключений. Их можно использовать без необходимости написания собственного кода перехватчиков.

Читать далее
Total votes 27: ↑27 and ↓0+27
Comments1

Обзор ретро-футуристичного КПК DevTerm с Linux

Reading time6 min
Views16K

Команда ClockworkPI выпустила интересный карманный девайс с ОС Linux, который легко собирается без паяльника, имеет экран с разрешением 1280х480, предлагает богатые возможности для кастомизации и даже оснащён неожиданным диковинным модулем — термальным принтером.
Читать дальше →
Total votes 32: ↑30 and ↓2+46
Comments4

Проектирование непредсказуемого интеллекта в играх. Часть 2 — интеллект толпы

Reading time9 min
Views14K

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

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

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

Читать далее
Total votes 23: ↑23 and ↓0+23
Comments5

«Что я получу, если смешаю корень златоцветника и настойку полыни?» или 10 вопросов для Junior Python-разработчика

Reading time7 min
Views19K

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

Читать далее
Total votes 16: ↑14 and ↓2+16
Comments36

Нет, Open Source не означает «бесплатная поддержка»

Reading time6 min
Views29K
Год назад разработчик опенсорсной программы Raccoon APK Downloader заявил, что отныне приём баг-репортов — это часть платной поддержки. Идея обсуждается до сих пор и вызывает споры по понятным причинам. С одной стороны, это как-то контринтуитивно… С другой стороны, определённая логика тоже есть… В общем, судите сами, вот оригинальная заметка Патрика Альбрихта, её бурное обсуждение и пояснение позиции по итогам обсуждения.

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

Юзер:	Здравствуйте, хочу зарепортить баг в вашей программе.
Я:		Отлично! Для этого откройте тикет, пожалуйста.
Юзер:	Но тикеты вроде входят в платный пакет?
Я:		И?
Юзер:	Просто хочу сказать, что ваша программа сломана, чтобы вы могли починить её.
Я:		Да, с вашей стороны это запрос на поддержку. Пожалуйста, откройте тикет.
Юзер:	…бл%$#%$...
Читать дальше →
Total votes 149: ↑146 and ↓3+185
Comments74

Сделайте Linux похожим на Windows 95

Reading time2 min
Views30K

Темы и наборы иконок Linux, вдохновлённые другими операционными системами, существуют с тех пор, как в Linux появился графический интерфейс. Иногда эти темы становятся очень похожими на оригинал. Но… Что, если бы вы могли сделать свой рабочий стол Linux почти таким же, как Windows 95?

Читать далее
Total votes 57: ↑56 and ↓1+71
Comments82

Введение в мониторинг серверов с помощью Prometheus и Grafana

Reading time4 min
Views83K

Мониторинг нужен всем: и серверам крупных технологических компаний и домашним Raspberry PI. Мониторинг позволяет узнать, когда сервер выходит из строя, когда заканчивается дисковое пространство и даже когда подходит время апгрейда.

В этой статье рассмотрим настройку базового мониторинга с помощью Prometheus, Node Exporter и Grafana.

Читать далее
Total votes 12: ↑7 and ↓5+3
Comments4

Ретрожелезо в фильме «Брат»

Reading time8 min
Views46K
«Брат» Алексея Балабанова не является моим любимым фильмом в смысле «часто пересматриваю с семьей». Безусловно талантливое кино настолько хорошо передает пасмурную эпоху середины девяностых, что смотреть его попросту больно. Дело даже не в сюжетной канве, не в героях и смысле их поступков, а в деталях. Когда понимаешь, что у тебя в комнате были похожие обои, а у дедушки стояла такая же радиола. Атмосфера «Брата» — она про приход новых времен, ценностей, вещей и людей. Даже если перемены безусловно к лучшему (а не как в фильме) — все равно немного жаль. Через 23 года после премьеры фильм сам по себе стал капсулой времени, зафиксировал какую-то условную реальность, которая местами очень хорошо резонирует с моими собственными воспоминаниями. Точно могу сказать, что мне повезло, и мои девяностые были лучше, чем в кино.


Но есть еще один момент: если отвлечься от кровавой драмы, замечаешь как плотно в сюжет «Брата» интегрированы актуальные на тот момент технические новинки. Анализировать такое — все равно, что идентифицировать марки машин и модели будильников в фильме «Назад в будущее». Занятие несколько странное, но вполне имеющее право на жизнь, а у таких людей, как я, вообще основное. Недавно я пересмотрел «Брата» на быстрой перемотке, по возможности постарался определить модели попадающих в кадр устройств, а на основе этого сделать выводы, абсолютно никак не влияющие на впечатление от фильма. Переиздание фильма в HD доступно на Ютюбе, скриншоты взяты оттуда. Началось все с простого вопроса: а какой у Данилы Багрова был CD-плеер?
Читать дальше →
Total votes 123: ↑119 and ↓4+159
Comments139

Современный Python: как начать свой проект с нуля при помощи Pyenv и Poetry

Reading time7 min
Views59K

Рассказываем, как начинающему разработчику установить и управлять различными версиями Python с помощью Pyenv, подготовить свой проект и создать виртуальное окружение через Poetry.

Читать далее
Total votes 15: ↑11 and ↓4+8
Comments16

В поисках идеального ретроноутбука для DOS-игр

Reading time10 min
Views12K
В процессе перетаскивания с места на место тяжеленного ЭЛТ-монитора я напомнил себе, что когда-то давно хотел коллекционировать только портатив. Ноутбуки, карманные компьютеры и мобильные телефоны попросту легче и компактнее. Я уже собрал достаточно приличное количество ноутбуков из 90-х, которые когда-то были моей недостижимой мечтой. Можно ли ограничиться ими и не заморачиваться с настольными ПК? Есть одна проблема: концепцию «ноутбука для геймеров» придумали относительно недавно. 25 лет назад портативный компьютер стоил примерно как бюджетная иномарка, и покупался, в абсолютном большинстве случаев, чтобы заработать еще больше денег, а не играть по вечерам в Doom. Но это тогда, а сейчас коллекционер компьютерного хлама вряд ли будет работать исключительно с электронными таблицами, базами данных и текстовым редактором в MS-DOS. А если хочется поиграть в Балду, Опасного Дейва, Принца Персии и Прехисторик — какой ноутбук будет самым лучшим?


Отвечу сразу: идеального ретроноутбука для ретроигр не существует. Но как отдельная дисциплина в коллекционерском многоборье, поиск наиболее совместимого (хотя бы!) с популярными DOS-играми портатива вполне оправдан. Это повод внимательнее посмотреть на характеристики и возможности старых устройств, а заодно еще раз восхититься многообразием технических решений той интересной эпохи. Вот этим я сегодня и хочу заняться. Если уж не предложить рабочее решение, то хотя бы описать основной набор проблем: поддержка звука, требования к процессору и, самое главное, бесконечные и разнообразные страдания с ЖК-дисплеями.
Читать дальше →
Total votes 21: ↑20 and ↓1+22
Comments26

Немного о затенении по Фонгу

Reading time6 min
Views12K

«Мы не можем ожидать, что у нас получится отобразить объект точно таким, каким он является в реальности, с текстурами, тенями и т.д. Мы надеемся только на то, чтобы создать изображение, которое достаточно близко к достижению определённой степени реализма».

Буй Тыонг Фонг

Буй Тыонг Фонг родился в 1941 году и стал учёным-информатиком во время Вьетнамской войны. Должно быть, ему сложно оказалось завершить своё обучение в токсичной среде 60-х, не говоря уже о том, что его призвали на фронт! Но ему удалось выжить и дожить до 1975 года, прежде чем его жизнь забрала лейкемия спустя всего два года после того, как он заложил для мира фундамент современной теории освещения и затенения: шейдер Фонга.
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments0

Трёхмерная графика с нуля. Часть 2: растеризация

Reading time47 min
Views56K
image


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

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

Тогда как это удаётся играм?

Ответ заключается в использовании совершенно иного семейства алгоритмов, которое мы исследуем во второй части статьи. В отличие от трассировки лучей, которая получалась из простых геометрических моделей формирования изображений в человеческом глазе или в камере, сейчас мы будем начинать с другого конца — зададимся вопросом, что мы можем отрисовать на экране, и как отрисовать это как можно быстрее. В результате мы получим совершенно другие алгоритмы, которые создают примерно похожие результаты.
Читать дальше →
Total votes 38: ↑37 and ↓1+36
Comments2

100 лет со дня рождения Станислава Лема

Reading time2 min
Views19K
«Космос — лабиринт, созданный из лабиринтов. В каждом обнаруживается следующий. До тех мест, куда нельзя войти нам самим, мы добираемся с помощью математики. Мы создаем из нее средства передвижения по нечеловеческим областям мира. И еще — из математики можно конструировать внекосмические миры независимо от того, существуют ли они.»

image

Читая мудрого автора, проникаешься стилем его мышления. Сегодня 100 лет со дня рождения великого мыслителя. Уверен, что Лем оказал влияние (прямое или косвенное) на каждого автора Хабра. А 2021 год даже назван Годом Лема.

Станислав Лем пережил холокост, войну, медицинский университет, травлю со стороны американских фантастов (в тч и доносы Филипа Дика), советскую цензуру и… глубочайшее разочарование в человечестве. («Пока я не пользовался Интернетом, не знал, что на свете столько идиотов».)

Для меня Лем это прежде всего «Сумма Технологии» (чего стоит наблюдение, что природа и эволюция за 4,5 млрд лет не смогли реализовать колесо), а уж потом сатирические сай-фай произведения. У каждого свой Лем. Мне, например, больше всего понравился «Глас Господа», «Возвращение со звёзд» и «Фиаско». «Солярис» и «Непобедимый» вообще «не зашли». Очень понравилась его автобиография и прочие полезные заметки-размышления про технологии и природу человека/человечества.

Под конец жизни Лем занялся блоггерством (и даже стриммерством) в печатном формате, публиковался в Компьютерре и «Химия и Жизнь» (а если бы он был жив, то точно бы писал на Хабре). Пять лет назад я откопал из небытия и опубликовал на Хабре «Безопасна ли техника без опасности», сегодня тоже хочется почтить память человека, который сильно повлиял на мое мировоззрение.
Читать дальше →
Total votes 60: ↑58 and ↓2+77
Comments105

35 вопросов с собеседования JavaScript-разработчика

Reading time8 min
Views98K

Это перевод статьи, в которой Abdo Amin приводит 35 вопросов на собеседованиях JavaScript-разработчиков, которые он сам задает. К вопросам прилагаются и ответы.

Читать далее
Total votes 20: ↑13 and ↓7+8
Comments13

Ультимативный гайд по поиску утечек памяти в Python

Reading time7 min
Views27K

Практика показывает, что в современном мире Docker-контейнеров и оркестраторов (Kubernetes, Nomad, etc) проблема с утечкой памяти может быть обнаружена не при локальной разработке, а в ходе нагрузочного тестирования, или даже в production-среде. В этой статье рассмотрим причины появления утечек в Python-приложениях, доступные инструменты для отладки и мониторинга работающего приложения, а также общую методику поиска утечек памяти.

Читать далее
Total votes 61: ↑61 and ↓0+61
Comments4

5 писателей-фантастов, работавших программистами

Reading time5 min
Views21K

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

Читать далее
Total votes 27: ↑26 and ↓1+35
Comments23
1
23 ...

Information

Rating
Does not participate
Registered
Activity