Записи

/usr/bin/arch

Многие из нас за последнее время стали обладателями маков на процессорах M1. Для поддержки приложений, написанных для процессоров Intel есть Rosetta. В этой заметке я хочу подсветить расширенную утилиту arch, которая на маках работает чуть шире, чем uname -m, и ситуации, в которых она может быть полезна.

Читать дальше →

Leetcode 2

Leetcode предлагает три уровня сложности задач: Easy, Medium и Hard. Очевидно, что за решения задач более высоких уровней сложности дают больше баллов рейтинга. Но сейчас нас интересует не рейтинг, а отношение к вашему профилю со стороны компании, куда вы будете проходить интервью.

Читать дальше →

Leetcode 1

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

  • Повысить собственный уровень алгоритмической подготовки — самый очевидный;
  • Опробовать подходы к обработке данных в конкретно взятом языке программирования;
  • Гордиться циферкой рядом с фото профиля — “нагриндить” рейтинг и хвастаться коллегам.

Читать дальше →

Leetcode 0

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

Читать дальше →

pre-commit

Я и моя команда столкнулись с проблемой, когда нарушения соглашений по Code Style стали выявляться достаточно поздно: в CI или на Code Review. Общей настройки .editorconfig нам было явно недостаточно, так как сам по себе editorconfig не может описать полностью все нюансы форматирования.

Читать дальше →

chezmoi

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

  • git
  • vim/nvim
  • tmux
  • editorconfig
  • karabiner
  • zsh
  • и другие.

Обычно, конфигурационные файлы называются дотфайлами (dotfiles) — их имена начинаются с точки (.), что в мире unix-⁠подобных систем делает файл скрытым.

Читать дальше →

gitlab

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

Читать дальше →

youtube

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

Читать дальше →

sdkman + kotlin

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

Читать дальше →