Виталий Емельянцев
281 subscribers
102 photos
9 videos
221 links
Длиннопосты здесь

Навигация: https://gambala.pro/telegram
Чат: https://t.me/gambala_chat
Личка: https://t.me/gambala
Сайт: https://gambala.pro
Download Telegram
Никогда до конца не знаешь, к чему приведут твои действия.

Давеча, как обычно, делился опытом в профильных чатах, отвечал на вопросы. Один из таких ответов в итоге лег в основу статьи на css-live.ru. Которую теперь отрепостили Веб-стандарты.

Теперь осталось только услышать о ней в их подкасте 😇.

P. S. Хотите приобщиться к веб-разработке:
→ Подписывайтесь на мой канал в телеграме: Gambala.live
→ Задавайте вопросы: в личке, в профильных чатах, на Stack Overflow или в моей Школе Веб 2.0
Иерархия контроллеров (Хабр) - ссылка, которой я чаще всего делюсь в рельсовом (и около) сообществе. Маст-рид. В дополнение к ней также хорошо заходит How DHH Organizes His Rails Controllers.

TL;DR:
- В рельсовых контроллерах оптимально держать только CRUD-экшны (index new create show edit update destroy);
- Если появляются нестандартные экшны - их стоит вынести в отдельный контроллер и сделать CRUD;
- Как выносить и строить иерархию - описано в первой статье.

Эти принципы я использую уже 2 года во всех боевых проектах. Несмотря на то, что первой статье уже 5 лет - подход до сих пор актуален. Хотя мне все же есть, чем его дополнить. Могу написать статью на тему. Интересно? Палец вверх.
В базе знаний новая заметка - как увеличить своп на сервере

https://notion.so/2861cd3aaf164637a2754dcfe1a4f481
Маст-рид для всех rails-разработчиков, хостящих свои проекты на минимальных VPS-ках с 512Мб оперативки. Прекомпиляция ассетов - прожорливая операция, и если ей не хватает оперативки - деплой прерывается с непонятными и трудно диагностируемыми ошибками. Поэтому лучше взять за правило - в каждом новом VPS заводить своп. Тогда проблем не будет.
Продолжаю хайпить и отхватывать open-source пойнты при обновлении библиотек. Уже поднимал эту тему ранее на канале: "Обновление → баги и опечатки в Readme → легкие PR'ы".

Теперь я официально контрибьютор rails/webpacker. Хоть мой вклад в библиотеку ничтожен - есть два плюса:

1. Узнаваемость среди разработчиков. Следующие мои PR-ы там будут приниматься быстрее;

2. Узнаваемость в сообществе. Влияет на кол-во и качество вкусных предложений по работе. Потому что круто, если вы пишете отличный код. Но если мир не знает о вашем существовании - рассчитывать на лакомые вакансии будет трудно. Поэтому помимо кодинга - важно прокачивать soft skills, и говорить о себе в сообществе.
Набросал тезисы для «Иерархии контроллеров 2.0». Статья, похоже, выйдет зверская.
В базе знаний новая заметка - Почему с турболинками в Rails так сложно? И как фронтенд работает в рельсах.

https://notion.so/df4c32146dd145a5b371adf589437d0f

Норм? Или есть что добавить? Пишите.
Написал обычно не свойственный для Stack Overflow титанических размеров ответ на вопрос по БЭМу и принципам именования в нем.

Ссылка: https://ru.stackoverflow.com/questions/671568

Можно даже плюсануть ответ там. Это подстегнет меня давать больше таких ответов и впредь.
Спасибо, ребят, щедро налили лайков, люблю вас!

На самом деле все окей. Случайный прохожий не сможет поставить лайк на SO. Ему помешает местная система репутации, о которой я еще расскажу. Она крутая
Где меня можно найти в телеграме? В тематических чатах без флуда и спама. Делюсь с вами списком любимых:

По руби, рельсам и веб-разработке внутри этого стека:
- Random Ruby Chat
- Ruby School .us

По веб-разработке широкого профиля (HTML, CSS, JS, UI/UX, Дизайн, IT)
- Школа Веб 2.0
- Frontend_ru
- css
- annode webdev
- DEVs chat

По видеоиграм и их разработке:
- Gamin

По бизнесу и самореализации:
- Чат (Startup Garden)

Еще в ряде чатов я формально сижу, но из-за обилия флуда откликаюсь только, если упомянуть меня в сообщениях как @gambala. Вот они:
- Ruby & RoR
- pro.ruby

А в каких чатах сидите вы? Поделитесь.
А тем временем, в базе знаний новая заметка - пополняемая памятка по тонкостям именования вьюх в рельсах.

https://notion.so/7c7d813dd08e425b839de79a88cff1c3

tl;dr - именуйте лайауты не application.slim, а application.html.slim, всегда. Избавите себя от лишних проблем с рендером js.erb-вьюх.

Знаете о других подобных нюансах? Пишите, пополним заметку вместе.
Разговорились в чате, кто каким путем пришел в IT. Мой путь:

2005-2009
Вожусь в конструкторах видеоигр, знакомлюсь с программированием.

2010-2011
Ставлю на паузу видеоигры, пишу простенькие программы себе в помощь (аналог Evernote, например) под винду и линукс.

2012
От ВУЗа прохожу практику в местной шаражкиной веб-студии. Верстаю сайты на вордпрессе, затем в ModX. Первая з/п порядка 1-3к руб. в месяц.

2013
Изучаю Ruby on Rails. Создаю сайт себе, сайт под дипломную работу в ВУЗе. Регистрирую ИП. Начинаю фрилансить. Ищу в ВК молодых предпринимателей, создаю им лендинги и сайты. Заработок порядка 6-10к в месяц.

2014
Клиентов больше не ищу, работает сарафанка. Одни приводят других. В какой-то момент вливаюсь в молодую команду и работаю над стартапом. 15-20к в месяц с фриланса.

2015
Клиенты приходят из-за рубежа. Один из участников команды работает в европейской конторе, потом в штатовской. Подкидывает заказы оттуда. Планка теперь 40-80к.

2016
Упираюсь в потолок по доходу, если работать на заказ (180-250к). Хочу потолок пробить. Поэтому сокращаю все расходы до критического минимума и все время посвящаю тому самому стартапу из 2014-го.

2017
Стартап - на финишной прямой. За ним - новые проекты.

А каким путем идете вы? Поделитесь своей историей в чате.
Порекламирую Wappalyzer, уж больно часто им пользуюсь.

Расширение, палит список технологий, на которых построен открытый в текущей вкладке сайт.

https://wappalyzer.com/

А что используете вы?
Кстати - заметили сочетание Ruby on Rails и React на скрине выше? Теперь и такое бывает.

С релизом Rails 5.1 и webpacker - стало возможным в кои-то веки писать фронтенд на ES6 и современных js-фреймворках. Я уже опробовал много фич Rails 5.1, и последнюю неделю занимаюсь фронтендом. И он крут.

Конечно, не без сложностей:

1. Webpack - отдельный мир. Рельса подстилает соломку и генерирует надежные development и production-ready конфиги, но если всплывают баги (в third-party плагинах, например) - приходится зарываться в вебпак с головой.

2. CoffeeScript → ES6 - непривычно. Прощай, чистый код на отступах - привет, фигурные скобочки и точки с запятой. Но в итоге - к ним быстро привыкаешь, а нативные возможности ES6 уделывают CoffeeScript на раз-два.

3. React - офигенно. Рельсы как фреймворк закрывают много кейсов в разработке. Но один остается - динамичные веб-компоненты на фронтенде. А у нас в Melp.pro их выходит полсотни. Отказаться от динамики, пожертвовав удобством для пользователей - не наш вариант. И к счастью - реакт эту проблему закрывает.

Если в какой-то момент я запущу курс по веб-разработке на рельсах - отдельной главой в нем однозначно будет современный фронтенд в вебпакере и реакт. Потому что хватит мучиться и писать велосипеды на jquery. Уже сейчас можно писать простой и понятный разработчику, но мощный фронтенд в дополнение к рельсовым server-side-rendered страницам.

Интересная тема?
Порой накатывает ощущение собственной беспомощности. Устраняется просмотром заранее отобранных мотивирующих фильмов. На скрине - мой набор, 33 тайтла.

А какие - у вас? Ай-да делиться в чате:
В базе знаний новая заметка - Настраиваем Sublime Text для работы

Стек: Ruby, Rails, Slim, Sass, CoffeeScript, ES6, JSX, React, Git. Мой личный набор плагинов и конфигов.

https://notion.so/Sublime-Text-14b5d9bafbd54559894d2dcdb6ab42d4

А если занимаетесь фронтендом - для вас существует подобная заметка на гитхабе.
Evernote для заметок я начал использовать в 2014-м. До этого сидел в TiddlyWiki, Rizzoma.com, даже в программе собственной разработки на Delphi. На днях залез разобрать базу в риззоме.

Полсотни заметок - и все удалил. Потому что все, написанное там, либо было воплощено за эти годы, либо потеряло актуальность.

В веб-разработке (особенно в js-стеке) знания вообще быстро теряют актуальность. Исключения есть, например те же RailsCasts, которые я всем советую - местами до сих пор актуальны, но это потому что Rails-стек относительно стабилен, и сами скринкасты сделаны качественно.

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

Согласны с написанным? Палец вверх.
Там новый выпуск Random Ruby Newsletter подвалил. Рекомендую - хорошая выжимка полезноты по руби и рельсам. С каждой рассылки 3-5 ссылок стабильно идут в закладки.

На рассылку можно подписаться по e-mail, но я отслеживаю в телеграм-канале: @randomruby
В базе знаний есть ссылка на 500 моих закладок. Это личная коллекция ссылок по веб-разработке, бизнесу и жизни:

https://notion.so/500-7f28b255b2604374b222ef63b9925809

Беда в том, что каждую неделю у меня появляется по 20-30 новых закладок, и добавлять их в единый публичный список становится неудобно. Плюс вам будет тяжело отслеживать обновления в закладках.

Поэтому я ввожу новую рубрику - дайджест закладок. Все самое свежее, что появляется у меня - транслируется вам. Первый выпуск уже в базе знаний:

https://notion.so/1-63798b2d2c304470986a57640b612bc7

Там же будут появляться последующие, а на канале, будут анонсироваться.

Как вам формат? Можно ли улучшить? Пишите:
С начала июня пробил потолок по темпу разработки - выдаю теперь по 200 коммитов в неделю. В планах 250-300. Настроение огонь 🔥. Скоро запуск.

Какой темп у вас? Над чем работаете? Го обсуждать:
Коллега выкатил огроменный гайд по гридам, рекомендую - читать на css-live.

Сам я неделю назад перешел на флексы (наконец-то, да), дропнув поддержку IE10 и меньше. Хорошее решение для продакшна. По гридам - подожду 2018-го. Но потихоньку знакомиться можно уже сейчас.

На ангельском есть гайды на css-tricks, codrops и MDN.

На русском, теперь - гайд на css-live.