Docker + Makefile
Если вы как-то связаны с Docker и почему-то до сих пор не использовали Makefile — самое время заинтересоваться.
Последние 3 дня налаживаю один свой старый рельсовый проект. Ему больше 10 лет.
Понятное дело, половину софта пришлось собирать по архивам, чтобы законсервировать в докере и больше не переживать.
Отдельный вопрос — деплой.
Старые деплоилки уже не актуальны. Новые варианты поддерживать никто не будет.
Проект хоть и коммерческий, но штатного разработчика в нем нет уже лет 5. Он просто работает и выполняет свои задачи. Раз в год я захожу обновлять сертификаты и проверить логи.
Makefile позволяет супер удобно и просто автоматизировать базовые рутинные операции. скопировать проект но новый сервер, запустить, управлять сервисами.
Работает и на простых проектах и на огромных.
Если вы как-то связаны с Docker и почему-то до сих пор не использовали Makefile — самое время заинтересоваться.
Последние 3 дня налаживаю один свой старый рельсовый проект. Ему больше 10 лет.
Понятное дело, половину софта пришлось собирать по архивам, чтобы законсервировать в докере и больше не переживать.
Отдельный вопрос — деплой.
Старые деплоилки уже не актуальны. Новые варианты поддерживать никто не будет.
Проект хоть и коммерческий, но штатного разработчика в нем нет уже лет 5. Он просто работает и выполняет свои задачи. Раз в год я захожу обновлять сертификаты и проверить логи.
Makefile позволяет супер удобно и просто автоматизировать базовые рутинные операции. скопировать проект но новый сервер, запустить, управлять сервисами.
Работает и на простых проектах и на огромных.
👍6
SQL Схема в типы TypeScript
Последнее время активно пиарится файловая база данных SQLite. Слышали про такую?
Меня она интересует одной интересной особенностью.
Ходят слухи, что Telegram делает на каждый чат отдельную базу SQLite. То сообщение, которое вы читаете, вероятно, сохраняется в отдельном файле для этого чата.
Мне хочется поиграться с этим подходом при построении Telegram Mini App.
Но писать приложение на JS без типизации уже не представляю как и зачем.
Было бы хорошо, схему БД сконвертировать в Типы. Задумано — сделано.
Пару часов раздумий об идее. Парсинг в AST дерево. 3 функции на JS и вуаля! Выглядит работоспособно.
Еще сегодня спроектировал свой фреймворк для NodeJS. Ничего существующего не приглянулось. В январе вернусь к написанию телеграм приложений.
Последнее время активно пиарится файловая база данных SQLite. Слышали про такую?
Меня она интересует одной интересной особенностью.
Ходят слухи, что Telegram делает на каждый чат отдельную базу SQLite. То сообщение, которое вы читаете, вероятно, сохраняется в отдельном файле для этого чата.
Мне хочется поиграться с этим подходом при построении Telegram Mini App.
Но писать приложение на JS без типизации уже не представляю как и зачем.
Было бы хорошо, схему БД сконвертировать в Типы. Задумано — сделано.
Пару часов раздумий об идее. Парсинг в AST дерево. 3 функции на JS и вуаля! Выглядит работоспособно.
Еще сегодня спроектировал свой фреймворк для NodeJS. Ничего существующего не приглянулось. В январе вернусь к написанию телеграм приложений.
👍5🔥2
На Новый год мальчики 35+ дарят себе чекап.
Своевременная диагностика старого корыта обходится дешевле, чем ремонт. 👨🔧
Если вам нужен был знак - вот он. Следите за здоровьем. Хотя бы иногда. Даже малые усилия часто приводят к хорошим результатам.
Своевременная диагностика старого корыта обходится дешевле, чем ремонт. 👨🔧
Если вам нужен был знак - вот он. Следите за здоровьем. Хотя бы иногда. Даже малые усилия часто приводят к хорошим результатам.
👍5🔥4
NodeJS Framework
Не могу сказать, что достаточно погружен в NodeJS чтобы знать как они организуют код проектов.
Все что я видел — или супер простое и спагетти образное или супер сложное корпоративное, невероятное в освоении, использовании и поддержке.
Написать свой фреймворк — что может быть проще и интереснее?! Я этим занимался в 2007 на PHP, что меня остановит в 2024? Правильно, ничего.
Тем более много мне и не надо — умело бы get и post запросы обрабатывать и направлять на нужный контроллер.
Щепотка ситуативного говнокода, щепотка тестов. Фигак, фигак и в продакшн!
Точка входа в NodeJs чиста и прекрасна. Роутер простой, но good enough.
Контроллеры на своих местах, просты и легки.
Нет, Ruby on Rails я свой не напишу, но и задачи такой нет.
Сделаю каркас под себя. Покрою тестами и реализую небольшой pet проект. Есть одна идейка.
Не могу сказать, что достаточно погружен в NodeJS чтобы знать как они организуют код проектов.
Все что я видел — или супер простое и спагетти образное или супер сложное корпоративное, невероятное в освоении, использовании и поддержке.
Написать свой фреймворк — что может быть проще и интереснее?! Я этим занимался в 2007 на PHP, что меня остановит в 2024? Правильно, ничего.
Тем более много мне и не надо — умело бы get и post запросы обрабатывать и направлять на нужный контроллер.
Щепотка ситуативного говнокода, щепотка тестов. Фигак, фигак и в продакшн!
Точка входа в NodeJs чиста и прекрасна. Роутер простой, но good enough.
Контроллеры на своих местах, просты и легки.
Нет, Ruby on Rails я свой не напишу, но и задачи такой нет.
Сделаю каркас под себя. Покрою тестами и реализую небольшой pet проект. Есть одна идейка.
👍3🔥3
Посмотрел открытое интервью.
Антон приятный человек. Кандидат приятный человек.
С оценкой миддл не согласен. Собеседование построено по принципу самого банального интервью на джуниора. Ну и давать какие либо оценки о более высоком уровне тут просто не на чем.
Что отличает джуниорское интервью от мидловского?
На джуниорском с тебя снимают 3 шкуры вопросами отличия одного цикла от другого, просят в голове проинтерпретировать код и предсказать результат. Ты должен знать все самые ненужные мелочи обо всем на свете.
На мидловском интервью тебя спрашивают, что ты уже делал и какой реальный опыт построения проектов.
На сеньерском обсуждают дизайн систем.
На принципальском говорят о work life balance, про покер и в какой колледж планируешь отдать учится детей. 😉
В общем, люди приятные. Интервью банальное. Приятно провел 23 минуты за чаем.
Антон приятный человек. Кандидат приятный человек.
С оценкой миддл не согласен. Собеседование построено по принципу самого банального интервью на джуниора. Ну и давать какие либо оценки о более высоком уровне тут просто не на чем.
Что отличает джуниорское интервью от мидловского?
На джуниорском с тебя снимают 3 шкуры вопросами отличия одного цикла от другого, просят в голове проинтерпретировать код и предсказать результат. Ты должен знать все самые ненужные мелочи обо всем на свете.
На мидловском интервью тебя спрашивают, что ты уже делал и какой реальный опыт построения проектов.
На сеньерском обсуждают дизайн систем.
На принципальском говорят о work life balance, про покер и в какой колледж планируешь отдать учится детей. 😉
В общем, люди приятные. Интервью банальное. Приятно провел 23 минуты за чаем.
👍3
Последний выходной года.
Укатил с семьей в отель у озера. Сменить обстановку. Перезагрузиться.
Последние недели было много работы. Жаловаться не приходится. Это хорошо, когда много работы. Но все равно устал. Надо отключиться от рутины. Дать мозгу каких-то новых впечатлений.
У меня не будет длинных праздников. 2-3 новогодних дня отдохну и в бой. Надо успеть отгулять Новый год в ускоренном режиме. Делаю все возможное 😉
Укатил с семьей в отель у озера. Сменить обстановку. Перезагрузиться.
Последние недели было много работы. Жаловаться не приходится. Это хорошо, когда много работы. Но все равно устал. Надо отключиться от рутины. Дать мозгу каких-то новых впечатлений.
У меня не будет длинных праздников. 2-3 новогодних дня отдохну и в бой. Надо успеть отгулять Новый год в ускоренном режиме. Делаю все возможное 😉
👍4🔥3
Написал роутер для NodeJS/ExpressJS приложений.
Зачем изобрел велосипед?
Потому что могу и хочу. Этого уже достаточно.
И вообще мне нравится как получилось.
Что решает?
Точка входа в NodeJS приложение должна выглядеть так как на картинке.
Вся серьезная логика должна быть раскидана по контроллерам, моделям, утилитам, и тд и тп.
Роутер в рельсовом стиле
Я давно укушен в мозг рельсой. И считаю что это не плохо, а очень даже хорошо. Так что не удивительно, что я приверженец рельсовых подходов.
Минимализм
Для реализации 98% задач мне нужны минимальные средства, а не универсальные комбайны.
Что дальше?
- оформить NPM
- сделать мигратор для баз данных
- после этого можно будет реализовывать базовый проект
Зачем изобрел велосипед?
Потому что могу и хочу. Этого уже достаточно.
И вообще мне нравится как получилось.
Что решает?
Точка входа в NodeJS приложение должна выглядеть так как на картинке.
Вся серьезная логика должна быть раскидана по контроллерам, моделям, утилитам, и тд и тп.
Роутер в рельсовом стиле
Я давно укушен в мозг рельсой. И считаю что это не плохо, а очень даже хорошо. Так что не удивительно, что я приверженец рельсовых подходов.
Минимализм
Для реализации 98% задач мне нужны минимальные средства, а не универсальные комбайны.
Что дальше?
- оформить NPM
- сделать мигратор для баз данных
- после этого можно будет реализовывать базовый проект
👍6🔥1