Sinatra / Padrino / ExpressJS
На микро-фреймворках (Sinatra/Padrino/Express) я никогда не делал сколько-нибудь серьезные по объему кода проекты.
При этом был однажды супер-простой проект на ExpressJS, который зарабатывал компании миллионы. Но с точки зрения кода он был натурально на 3 функции.
Для проектов побольше обычно шло уже что-то более серьезное.
Сейчас неспешно делаю небольшую игру и было интересно поиграться с ExpressJS и проследить за сложностью проекта и в какой точке эта сложность начинается.
Работать в формате пустого фреймворка стало сложно примерно после 7 эндпоинта. Захотелось написать роутинг и маппинг на контроллеры. Сразу стало жить сильно проще. Лучше фокус, лучше понимание, лучше декомпозиция по функционалу.
Тут же захотелось осознанную структуру проекта чтобы разложить части на свои места. Контроллеры, утилиты-хелперы, типы, константы, хуки, модели и api.
Главный вывод — сырой микрофреймворк на 5+ эндпоинтов надо допиливать напильником. Это быстро и супер эффективно.
На микро-фреймворках (Sinatra/Padrino/Express) я никогда не делал сколько-нибудь серьезные по объему кода проекты.
При этом был однажды супер-простой проект на ExpressJS, который зарабатывал компании миллионы. Но с точки зрения кода он был натурально на 3 функции.
Для проектов побольше обычно шло уже что-то более серьезное.
Сейчас неспешно делаю небольшую игру и было интересно поиграться с ExpressJS и проследить за сложностью проекта и в какой точке эта сложность начинается.
Работать в формате пустого фреймворка стало сложно примерно после 7 эндпоинта. Захотелось написать роутинг и маппинг на контроллеры. Сразу стало жить сильно проще. Лучше фокус, лучше понимание, лучше декомпозиция по функционалу.
Тут же захотелось осознанную структуру проекта чтобы разложить части на свои места. Контроллеры, утилиты-хелперы, типы, константы, хуки, модели и api.
Главный вывод — сырой микрофреймворк на 5+ эндпоинтов надо допиливать напильником. Это быстро и супер эффективно.
👍3
Подводная лодка и как всплыть на поверхность
Я сижу здесь в своей подводной лодке и переодически отправляю сообщения (в телегу) хотя даже не уверен, что их кто-то получает. Но мне это особо и не нужно. Не в этом цель.
А есть другая группа людей — новички в ИТ. Которым надо наоборот как-то с глубины всплыть и показать, что они существуют. Но они никак не могут придумать, как это сделать.
За годы работы я встретился десятки раз с одной и той же ситуацией.
Ты начинаешь новый проект и тебе надо несколько недель посвятить тому, чтобы выбрать инструменты, роутер для проекта, БД и ORM, установить тесты, аккуратно разложить все по каталогам и папкам. Написать документацию как это все запустить. Написать пару простых демо тестов, демо роутов и контроллеров. Это все требует времени.
Это бесконечное поле для создания пустых пет проектов, которые делают только то, что упрощают запуск разработки настоящего продукта.
Таких решений много, но в тоже время всегда не хватает. Новички — вот вам идея.
Я сижу здесь в своей подводной лодке и переодически отправляю сообщения (в телегу) хотя даже не уверен, что их кто-то получает. Но мне это особо и не нужно. Не в этом цель.
А есть другая группа людей — новички в ИТ. Которым надо наоборот как-то с глубины всплыть и показать, что они существуют. Но они никак не могут придумать, как это сделать.
За годы работы я встретился десятки раз с одной и той же ситуацией.
Ты начинаешь новый проект и тебе надо несколько недель посвятить тому, чтобы выбрать инструменты, роутер для проекта, БД и ORM, установить тесты, аккуратно разложить все по каталогам и папкам. Написать документацию как это все запустить. Написать пару простых демо тестов, демо роутов и контроллеров. Это все требует времени.
Это бесконечное поле для создания пустых пет проектов, которые делают только то, что упрощают запуск разработки настоящего продукта.
Таких решений много, но в тоже время всегда не хватает. Новички — вот вам идея.
👍3
Как я встретил Андрея Ситника. Часть 1
Пока вспоминаю про фронтендщиков.
А. Ситник это значимая фигура во всем мире. Его инструментами пользовались и пользуются крупнейшие корпорации мира. Перечислять не будут — загуглите сами.
Мы познакомились в 2012 году. Тогда Андрей еще был просто фронтендщиком в команде "Злые Марсиане". Если слово "просто" к Андрею вообще применимо.
Я только первый год полностью ушел работать в стартап. Который уже через 2 года станет одним из крупнейших интернет-сервисов страны.
В тот момент я был первым и единственным Ruby/Rails/JavaScript разработчиком. Старался вписываться в любые движухи, которые проходили в Москве и Питере. Профессиональное сообщество в 2012 году только только начало формироваться и я был фактически у его истоков и видел как появлялись и росли выдающиеся специалисты в своем деле.
Не помню условий и причин события, но у Злых Марсиан проходили в то время Брейн Вошинги — экспресс курсы на 2-3 дня. Я подал заявку и очень скоро ее одобрили. Я двинул из SPb в МСК
Пока вспоминаю про фронтендщиков.
А. Ситник это значимая фигура во всем мире. Его инструментами пользовались и пользуются крупнейшие корпорации мира. Перечислять не будут — загуглите сами.
Мы познакомились в 2012 году. Тогда Андрей еще был просто фронтендщиком в команде "Злые Марсиане". Если слово "просто" к Андрею вообще применимо.
Я только первый год полностью ушел работать в стартап. Который уже через 2 года станет одним из крупнейших интернет-сервисов страны.
В тот момент я был первым и единственным Ruby/Rails/JavaScript разработчиком. Старался вписываться в любые движухи, которые проходили в Москве и Питере. Профессиональное сообщество в 2012 году только только начало формироваться и я был фактически у его истоков и видел как появлялись и росли выдающиеся специалисты в своем деле.
Не помню условий и причин события, но у Злых Марсиан проходили в то время Брейн Вошинги — экспресс курсы на 2-3 дня. Я подал заявку и очень скоро ее одобрили. Я двинул из SPb в МСК
👍3
Андрей Ситник. Часть 2
Брейн вошинг проходил в Digital October. В самом центре Москвы. Собралось человек 30 крутых разработчиков со всей России. В основном рельсовики. Самостоятельно мало кто позволял себе купить довольно дорогие курсы от Злых Марсиан. А компании редко когда горят идеей качать разработчиков за свой счет (никому не надо чтобы они потом ушли к конкурентам).
Для меня тогда это было, конечно, довольно значимое событие. Топовые ребята, уже состоявшиеся в профессии и я, по сути только что попавший в эту высшую лигу.
Ехал я не ради Андрея. Я тогда вообще о нем не знал. Ехал я ради того, чтобы встретить и познакомиться с другим крутым человеком и вытянуть тайные знания у самых крутых ребят в России. А марсиане тогда были именно из этого числа.
Сессия с Андреем была, кажется, в первый день. И вот мы уставшие, но в полном предвкушении тайных знаний зашли в аудиторию.
Я сел за самый близкий к спикеру стол. Сперва была лекция, а потом должна была быть практика.
Брейн вошинг проходил в Digital October. В самом центре Москвы. Собралось человек 30 крутых разработчиков со всей России. В основном рельсовики. Самостоятельно мало кто позволял себе купить довольно дорогие курсы от Злых Марсиан. А компании редко когда горят идеей качать разработчиков за свой счет (никому не надо чтобы они потом ушли к конкурентам).
Для меня тогда это было, конечно, довольно значимое событие. Топовые ребята, уже состоявшиеся в профессии и я, по сути только что попавший в эту высшую лигу.
Ехал я не ради Андрея. Я тогда вообще о нем не знал. Ехал я ради того, чтобы встретить и познакомиться с другим крутым человеком и вытянуть тайные знания у самых крутых ребят в России. А марсиане тогда были именно из этого числа.
Сессия с Андреем была, кажется, в первый день. И вот мы уставшие, но в полном предвкушении тайных знаний зашли в аудиторию.
Я сел за самый близкий к спикеру стол. Сперва была лекция, а потом должна была быть практика.
👍2
Влияю на корпорации. Прям влияю! 🤣
Пару недель назад меня пригласили на архитектурный звонок одной крупной американской компании. Есть у меня там знакомый.
Не просто компания. Одна из мировых корпораций в производственной сфере.
Начальник одного из ИТ отделов рассказывал о том, что компания задумала разработать свой UI kit для формирования единого стиля среди своих проектов и мини проектов своих партнеров. Ну, типа, чтобы партнеры могли лендинги делать с использованием корпоративных UI элементов.
Для пущей универсальности они хотели сделать UI кит на чистом HTML/CSS/JS.
Заглянул я в их репозиторий. Не, говорю, ребята, то как вы делаете сейчас — обречено на провал. Вы хоть про BEM почитайте.
Сегодня начальник отдела пригласил меня на быстрый синкап. Илья, говорит, спасибо вам за обратную связь во время сессии. Мы изучили ваше предложение и поняли, что надо идти по этому пути. Решили переработать существующий проект под BEM. Спасибо за идею и информацию!
Старый конь борозды не портит. Why not? 👍
Пару недель назад меня пригласили на архитектурный звонок одной крупной американской компании. Есть у меня там знакомый.
Не просто компания. Одна из мировых корпораций в производственной сфере.
Начальник одного из ИТ отделов рассказывал о том, что компания задумала разработать свой UI kit для формирования единого стиля среди своих проектов и мини проектов своих партнеров. Ну, типа, чтобы партнеры могли лендинги делать с использованием корпоративных UI элементов.
Для пущей универсальности они хотели сделать UI кит на чистом HTML/CSS/JS.
Заглянул я в их репозиторий. Не, говорю, ребята, то как вы делаете сейчас — обречено на провал. Вы хоть про BEM почитайте.
Сегодня начальник отдела пригласил меня на быстрый синкап. Илья, говорит, спасибо вам за обратную связь во время сессии. Мы изучили ваше предложение и поняли, что надо идти по этому пути. Решили переработать существующий проект под BEM. Спасибо за идею и информацию!
Старый конь борозды не портит. Why not? 👍
👍3
Андрей Ситник. Часть 3
Я не помню деталей, но в первой части Brain washing Андрей рассказывал про удивительные возможности SASS/SCSS и как это сильно упрощает жизнь разработчику.
Я напомню, что это был 2012 год. SCSS и CoffeeScript были прорывом во фронтенд разработке.
Началась вторая часть сессии. Практика.
Андрей раздал всем задание и все участники склонили головы перед своими ноутбуками, чтобы постараться его сделать. На задание давалось около часа.
Я прочитал задание. Встал из за своего места и вышел из аудитории, чем вызвал удивление.
Минут 10 я провел в холле. Собирал себе тарелку с едой и наливал кофе. Да, там был стол с едой.
Я вернулся в аудиторию под радостные насмешки. Да он совсем охренел! Вернулся с едой и кофе!
Я сел за свое место и через 10 минут сделал задание.
— Андрей! Готово. Проверяй. А я пока перекушу.
— Да, все верно. Отлично получилось!
— Да ладно тебе! Задание же элементарное, - ответил я и принялся за перекус.
Минут через 30 ребята начали показывать свои результаты.
Я не помню деталей, но в первой части Brain washing Андрей рассказывал про удивительные возможности SASS/SCSS и как это сильно упрощает жизнь разработчику.
Я напомню, что это был 2012 год. SCSS и CoffeeScript были прорывом во фронтенд разработке.
Началась вторая часть сессии. Практика.
Андрей раздал всем задание и все участники склонили головы перед своими ноутбуками, чтобы постараться его сделать. На задание давалось около часа.
Я прочитал задание. Встал из за своего места и вышел из аудитории, чем вызвал удивление.
Минут 10 я провел в холле. Собирал себе тарелку с едой и наливал кофе. Да, там был стол с едой.
Я вернулся в аудиторию под радостные насмешки. Да он совсем охренел! Вернулся с едой и кофе!
Я сел за свое место и через 10 минут сделал задание.
— Андрей! Готово. Проверяй. А я пока перекушу.
— Да, все верно. Отлично получилось!
— Да ладно тебе! Задание же элементарное, - ответил я и принялся за перекус.
Минут через 30 ребята начали показывать свои результаты.
👍4
Просто и сложно
В свободные часы делаю небольшую игру для команды на новый год.
Стек простой. React на фронте / NodeJS+Express на бэке.
Проект простейший. Но. Если вдаваться в детали, то на этом простом примере/проекте всплывает почти все, что может быть в реальном рабочем процессе.
И декомпозиция на компоненты, и жизненный цикл компонентов, и тестирование, и типизация и формирование контрактов между Frontend/Backend, и Pub/Sub и работа с файлами, и формирование роутинга. И верстки надо немного накинуть, и это и то. А еще надо запустить это на локальной машине в докере, чтобы быстро развернуть на сервере.
Проект маленький, не коммерческий.
Стараюсь себя ограничивать в инструментах и не использовать базу данных, ORM, кастомные хуки и кучу всего. Только необходимый минимум, но и того что есть уже за глаза.
Интересный проект получается. Хороший учебный пример, между прочим. Попросить ребят сделать на основе этого проекта учебный курс?
В свободные часы делаю небольшую игру для команды на новый год.
Стек простой. React на фронте / NodeJS+Express на бэке.
Проект простейший. Но. Если вдаваться в детали, то на этом простом примере/проекте всплывает почти все, что может быть в реальном рабочем процессе.
И декомпозиция на компоненты, и жизненный цикл компонентов, и тестирование, и типизация и формирование контрактов между Frontend/Backend, и Pub/Sub и работа с файлами, и формирование роутинга. И верстки надо немного накинуть, и это и то. А еще надо запустить это на локальной машине в докере, чтобы быстро развернуть на сервере.
Проект маленький, не коммерческий.
Стараюсь себя ограничивать в инструментах и не использовать базу данных, ORM, кастомные хуки и кучу всего. Только необходимый минимум, но и того что есть уже за глаза.
Интересный проект получается. Хороший учебный пример, между прочим. Попросить ребят сделать на основе этого проекта учебный курс?
👍5
Андрей Ситник. Заключение
Часть 1 https://t.me/prostocoding/483
Часть 2 https://t.me/prostocoding/484
Часть 3 https://t.me/prostocoding/486
В 2012 году никто бы и предположить не мог, что Андрей Ситник уже совсем скоро станет звездой в мире фронтенда. Человек, который совсем недавно давал мне учебные задачи, создал инструменты, которые использовали крупнейшие корпорации мира. Можно ли было это представить тогда? Я не мог.
Эта встреча и в целом брейн вошинг дали мне несколько соображений.
1. Человек начинающий свою карьеру в "боевом программировании", за счет своего увлечения делом может дать фору состоявшимся спецам. Не следует обращать внимания на насмешки в спину и непонимание, если ты точно знаешь что делаешь и уверен в своем результате.
2. Увлеченные люди сегодня, могут легко стать звездами завтра. Надо дать человеку простор для реализации своих идей и тогда, возможно, очень скоро появится яркий и сильный профессионал.
3. Все таки, создание супер популярного инструмента — это дело случая, удачи, момента времени. Я не знаю случаев, когда один автор мог серийно делать решения или инструменты настолько популярные, как одно из решений Андрея.
Горите своим делом! Ловите момент! И все обязательно получится!
Часть 1 https://t.me/prostocoding/483
Часть 2 https://t.me/prostocoding/484
Часть 3 https://t.me/prostocoding/486
В 2012 году никто бы и предположить не мог, что Андрей Ситник уже совсем скоро станет звездой в мире фронтенда. Человек, который совсем недавно давал мне учебные задачи, создал инструменты, которые использовали крупнейшие корпорации мира. Можно ли было это представить тогда? Я не мог.
Эта встреча и в целом брейн вошинг дали мне несколько соображений.
1. Человек начинающий свою карьеру в "боевом программировании", за счет своего увлечения делом может дать фору состоявшимся спецам. Не следует обращать внимания на насмешки в спину и непонимание, если ты точно знаешь что делаешь и уверен в своем результате.
2. Увлеченные люди сегодня, могут легко стать звездами завтра. Надо дать человеку простор для реализации своих идей и тогда, возможно, очень скоро появится яркий и сильный профессионал.
3. Все таки, создание супер популярного инструмента — это дело случая, удачи, момента времени. Я не знаю случаев, когда один автор мог серийно делать решения или инструменты настолько популярные, как одно из решений Андрея.
Горите своим делом! Ловите момент! И все обязательно получится!
🔥2👍1
the-teacher
Послезавтра мне 40.
Настало время ответить на главный вопрос, ответ на который никого в общем-то не интересует, кроме меня самого.
Как так получилось, что нищий школьный учитель информатики из г. Иваново, умудрился поработать с крупнейшими компаниями России, одним из лучших университетов США, с топовыми разработчиками со всего мира, живет в Стамбуле и дает консультации крупным корпорациям по развитию ИТ проектов и найму сотрудников?
1. Я всегда был любопытным.
2. Я всегда работал с самыми лучшими.
3. Я хорошенький.
Послезавтра мне 40.
Настало время ответить на главный вопрос, ответ на который никого в общем-то не интересует, кроме меня самого.
Как так получилось, что нищий школьный учитель информатики из г. Иваново, умудрился поработать с крупнейшими компаниями России, одним из лучших университетов США, с топовыми разработчиками со всего мира, живет в Стамбуле и дает консультации крупным корпорациям по развитию ИТ проектов и найму сотрудников?
1. Я всегда был любопытным.
2. Я всегда работал с самыми лучшими.
3. Я хорошенький.
🔥4👍2
Друзья шлют поздравительные мемы. А я жду паром и еду в отель в спа.
🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Гуляли в парке, заходили в кафе попить чаю.
Впервые в жизни я встретил кота, который с удовольствием украл с нашего стола и слопал треть шоколадного брауни.
Впервые в жизни я встретил кота, который с удовольствием украл с нашего стола и слопал треть шоколадного брауни.
🔥3