Записи
oasdiff
Дано:
- Две версии одного приложения: A и B.
- Обе версии предоставляют контракт, описанный с помощью
OpenAPI. - У приложения есть пользователи, соблюдающие текущий контракт.
Задача:
- Выяснить, имеются ли обратно несовместимые изменения в контракте новой версии.
- Выяснить, какие дополнительные изменения произошли в контракте.
Golang Test Summary
Стандартные инструменты Go не позволяет вывести сводную информацию по тестам. Но, когда у вас большой проект, и надо понимать общую картину, такая информация бывает полезна. Допустим, вы обновляете ваш собственный форк до состояния
апстрима, и вам необходимо оценить объем проблем, вызванных слиянием изменений.
APFS Case Sensitive
По умолчанию файловая система в macOS регистронезависимая. Это значит, что file.txt и FILE.txt для неё одно и то же. В некоторых, хоть и довольно редких ситуациях, при разработке и поддержке некоторых проектов может потребоваться
регистрозависимость. Переформатировать диск и переустанавливать ОС — долгое и неблагодарное занятие. Вот как я решил эту проблему.
Postgres Table Naming
Почему я предпочитаю именовать таблицы в postgres в единственном числе?
/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 не может описать полностью все нюансы форматирования.