Илья Зыкин. Pro Жизнь
137 subscribers
1.1K photos
45 videos
4 files
95 links
Download Telegram
Капистрано (часть 1)

Есть такой хороший подход — программист пишет код, а системный администратор настраевает сервер и занимается деплоем приложения.

Сис админ, или DevOps — это не важно. Есть целая профессия, которая занимается разверткой серверов, поддержанием их рабочего состояния. Подготовкой к деплою, и доставкой кода на продакшн сервера.

У этих условных сисадминов есть свои инструменты. Терраформы, Кубернетисы, Баш скрипты, Ансиблы и Паппеты. Эти люди способны обеспечить работу и Go и PHP и Ruby и Java проектов. Они красавчики!

Повторюсь! У них свой набор инструментов. Традиций, подходов и прочего.

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

Никто из профессиональных девопсов никогда не работал с этой поделкой. Никому она не была интересной. Это очень нишевый инструмент деплоя.
👍2
Капистрано (часть 2)

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

Так просто кто-то придумал. Так написали в документации и все стали бездумно делать.

Капистрано как зависимость стала идти с кодом проектов. Поверх капистраны еще шли не менее уродливые плагины на капистрану под разные случаи деплоя. Все они были написаны в формате капистрановского DSL (я уже упоминал, что он явно не красивый и не удобный).

Конфиги капистраны хранились в проекте и раздували его. Да, обычно не сильно. Но все равно не приятно.

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

Так еще 15 лет назад, а то и больше, я выкидывал из проектов код деплоилки в отдельный каталог и репозиторий и жить становилось веселее всем.

1) Решения не смешивались
2) Читать код и поддерживать отдельный инструмент деплоя намного проще, когда тебе не мешают файлы основного проекта, которые находятся где-то рядом и хрен его знает где и как и что найти.
3) Команда разработчиков могла ничего не знать о капистране, и тонкостях деплоя. А им обычно и не надо об этом знать. Обычно разрабы в это нос совать не должны.
4) Я избавил окружение разработки и зависимости от лишнего мусора. Меньше кода — быстрее загрузка.

В общем одни плюсы со всех сторон. Да и при переключении на другую деплоилку не надо заботится о том, чтобы почтистить проект от капистраны. Ведь ее в проекте нет.
👍2
Storybook, Capistrano и зоопарк прочих сопутствующих решений (Часть 2)

На примере капистраны я хотел вам продемонстрировать, что логика одного человека (меня) — вообще не совпадает с логикой экосистемы и сообщества.

Мои доводы очень простые

1) Капистрано — инструмент деплоя. Проект, команда разработчиков ничего не должны знать о том, как его деплоят. А значит — капистрано из проекта — вон!
2) Сложившиеся традиции — всего лишь устоявшиеся практики — вы сами можете формировать свои предпочтения и практики. Главное, чтобы в этом была видимая вам логика, упрощение, и (желательно) документация, которая объясняет ход ваших мыслей и подходов.

А дальше — больше. Если мы встали с вами на эту скользкую дорожку выкидывания из проекта всего ненужного барахла. Так может подумаем, чтобы там такого его выкинуть в отдельный репозиторий.
👍2
Кандидаты на выброс из проектов

Меньше народу (файлов и зависимостей) — больше кислороду (лучше фокус, навигация, поддержка).

Уже давольно давно я активно разгружаю основной код проектов от всего того хлама, который разработчики напихивают внутрь и потом в корне проекта у них 250 файлов c настройками, 100500 зависимостей, которые используются только по праздникам, и тд и тп.

Что бы такого можно выкинуть?

— Код деплой-инструментов. Ну, этого точно в проекте держать не надо.
— Докер файлы, скрипты инициализации и прочее для запуска окружения для разработки. — это все можно легко вынести в отдельный репозиторий и организовать удобную и простую в поддержке запускалку проектов любой сложности.
— Любые дополнительные инструменты разработки, дебага, отладки — типа сторибука.

Так, Илья, ты что-то упоролся. Может еще и тесты предложишь вынести во вне?

Нет, а вот тесты их запускалки точно выностить из основного проекта не надо — тесты это неотьемлемая часть технологического процесса. Тесты это не опциональные элементы; Выделяя и отрывая из основного проекта опциональные и логически автономные фрагменты главное не перестараться.
👍3
Главная причина покупки виндового ноутбука.

Я уже забыл, что ноутбуки могут так сильно греться.

С другой стороны, я для игр их не использовал лет 15. Как раз с покупки моего самого первого ноута ASUS на котором мы с женой играли в Героев 3

А по ночам я залипал в DeadSpace. Ух страшно тогда было, капец. Помню, я в наушниках, а жена ночью подошла спросить не налить ли мне чаю. Дотронулась до плеча и чуть не потеряла меня. Нельзя же так пугать, когда ты идешь по помещениям планетарного потрошителя Ишимуры.
👍5
Хотелось вечером позаниматься опенсорсом. Но постучали в дверь и пока нет такой возможности. 😂
👍3
Классик ситуэйшн.

Найм Джуна/мидла.
- Вот тебе 1500 вопросов из всех сфер ИТ, дизайн, и онлайн кодинг на 3 часа. 5 этапов интервью.
- ой, ну вы не все ответили, не знаем, достойны ли вы ваших 500$ в месяц. Мы подумаем.

Найм синьера-помидора.
Встреча с СТО/вице президентом по инжинирингу на 30 минут.
Чувак, времени нет. Давай по быстрому. Есть реакт, тейлвинд, nextjs, тесты и ci/cd. Умеешь такое? Чего не знаешь, ребята покажут. Ну давай, завтра желательно выходи. Денег мульен, работать не спеша. Соблюдай ворк баланс, не выгорай. Пока 👋
👍2
Сегодня собеседовал действующего разработчика из Гугла. Он работал на Shell, и крупную фарм компанию из США.

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

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

Отлично пообщались с человеком. Я с удовольствием оставил положительный результат в отчете.
🔥2
В нашем закрытом топ клубе переодически проходят встречи.

Вечер воскресенья мы с ребятами проводим на звонке с нашим знакомым архитектором Alex R. из Сан-Франциско.

Спрашиваем / слушаем о сравнении жизни в Нью Йорке / Сан Франциско. О налогах для ИТ в Техасе, как эти налоги вообще платить, о житье/бытье, страховках на машины, и вообще за жизнь трещим.

Всегда интересно узнать как живут люди по ту сторону океана, какие особенности работы в профессии есть, куда движется ИТ в США
👍1
Нет, ну надо уже фултайм уходить в HR. Брошу эти ваши руби с реакто-докерами и сфокусируюсь только на интервью 🤣

Предупреждаю — Шок контент.
Там ценник минимум в 2 раза выше, чем у программистов. (Но не у всех, не у всех)
👍2
Я никогда в жизни с такой радостью не ходил в школу. Ни когда был учеником, ни когда был учителем. А вот провожать своего парня в школу - это прямо мое.
👍3
День успешного ИТ предпринимателя из Стамбула.

Николаич опять ввязался в какую-то авантюру. 🫡
👍3🔥1
Смотрела моя жена на то, как я провожу десятки интервью, вздыхаю при виде не очень хороших резюме у очень хороших специалистов и предложила мне собрать вместе все лучшие практики и сформировать пример резюме, которое должно повысить шансы на трудоустройство.

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

Целые треды в твиттере/реддите/стековерфлоу создают.

Ребята сломя голову несутся находить самый оптимальный запрос к базе данных или алгоритм на языке программирования X, Y или даже Z.

Но правильный ответ на этот вопрос, конечно же, не технический.

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

Быстро, просто, эффективно.

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

Как ни крути — задача не тривиальная и совсем не технического характера.

Молоток везде видит говозди, а программист алгоритмы. Но жизнь она немножечко сложнее. Чуть-чуть. Самую малость.
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Изучать что-то новое это трудно. Еще труднее изучать что-то в долгую. Когда какое-то знание ты получаешь не ради сиюминотной выгоды, а в рамках долгосрочного плана.

Сперва идет период адаптации сознания/мозга. Потом мозг долго сопротивляется. Потом потихоньку стена пробивается и что-то новое пробиваться в глубину.

В юности это все происходит быстрее; Лет до 25-27. Потом это делать все сложнее и сложнее. Надо себя заставлять учиться, чтобы поддерживать мозг в активном состоянии. У меня по крайней мере так.
🔥4👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Приятно жить и работать, когда твои старания заметны, и люди неожиданно для тебя отмечают что то, что ты делаешь — хорошо.

Всегда не знаю как реагировать на такие внезапные моменты. Даже на секунду теряюсь. Но. Это заряжает. Это по-настоящему радует.
👍2🔥2
Рельсовик головного мозга

Свою карьеру рельсовика я начал в 2002 году.

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

Потом года с 2007 я превратился в ruby on rails разработчика. Нахватался там всякого. Работал с топовыми ребятами со всего мира. Налипло на меня всяких рельсовых практик.

И тут в 2024 дали мне небольшой проект на чистом NodeJS. Посмотрел я на нодовую экосистему. Поплакал. Да и написал свой мини ruby on rails на JavaScript.

Роутер, контроллеры, модельки возьму из какой-нибудь ORM.

Можно дать рельсовику проект на другом языке и стеке. Но рельсу из головы уже не вынешь. Застряла крепко.
🔥4👍3🤯1
Работать с крупными компаниями выгодно и интересно. Но, объективно, нужен приток людей, идей, новых задач со стороны.

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

Станица на getmentor у меня относительно давно.
Но теперь буду целенаправленно работать со своей собственной платежной страницей. Скоро подключу telegram mini app к ней.

По моим продуктам теперь информация будет здесь
https://omyclasses.com
🔥6👍2