Виталий Емельянцев
Сегодня поговорю о решении одной проблемы в CSS/JS. При адаптивной верстке мы используем @media запросы в CSS. Но что делать, когда нужно использовать их в JS? Проверять $(window).width()? Такой способ дает погрешность, из-за ширины скроллбара. А нам нужна…
Кстати тут ребята из CSS-LIVE помимо моего решения кейса с адаптивностью в JS упомянули еще парочку. И подробнее объяснили, почему вообще приходится так изворачиваться.
Ссылка: http://css-live.ru/articles/polnyj-kontrol-nad-kontrolnymi-tochkami-v-css-i-v-js.html
Ссылка: http://css-live.ru/articles/polnyj-kontrol-nad-kontrolnymi-tochkami-v-css-i-v-js.html
CSS-LIVE
Полный контроль над контрольными точками. В CSS и в JS
Всем привет! Недавно меня поругали за то, что для гарантии адаптивности вёрстки я применяю дополнительный класс .js-adaptive, который я вешаю на элемент body с помощью JavaScript. К примеру, при ширине экрана 600px и ниже класс .js-adaptive вешается на body…
В базе знаний свежая заметка - памятка по настройке https на серверах ubuntu с nginx. Через certbot и Let's Encrypt. https://notion.so/df85cd435ca44f32aef01b0ca328e132
Накануне провел 6 часов за изучением темы, теперь в базе свежая заметка - о конфигурировании nginx под rails-проекты.
https://notion.so/28b5b03a5fc942ef92d449721eae0c5c
А что у вас в конфигах?
https://notion.so/28b5b03a5fc942ef92d449721eae0c5c
А что у вас в конфигах?
Никогда до конца не знаешь, к чему приведут твои действия.
Давеча, как обычно, делился опытом в профильных чатах, отвечал на вопросы. Один из таких ответов в итоге лег в основу статьи на css-live.ru. Которую теперь отрепостили Веб-стандарты.
Теперь осталось только услышать о ней в их подкасте 😇.
P. S. Хотите приобщиться к веб-разработке:
→ Подписывайтесь на мой канал в телеграме: Gambala.live
→ Задавайте вопросы: в личке, в профильных чатах, на Stack Overflow или в моей Школе Веб 2.0
Давеча, как обычно, делился опытом в профильных чатах, отвечал на вопросы. Один из таких ответов в итоге лег в основу статьи на 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 лет - подход до сих пор актуален. Хотя мне все же есть, чем его дополнить. Могу написать статью на тему. Интересно? Палец вверх.
TL;DR:
- В рельсовых контроллерах оптимально держать только CRUD-экшны (index new create show edit update destroy);
- Если появляются нестандартные экшны - их стоит вынести в отдельный контроллер и сделать CRUD;
- Как выносить и строить иерархию - описано в первой статье.
Эти принципы я использую уже 2 года во всех боевых проектах. Несмотря на то, что первой статье уже 5 лет - подход до сих пор актуален. Хотя мне все же есть, чем его дополнить. Могу написать статью на тему. Интересно? Палец вверх.
В базе знаний новая заметка - как увеличить своп на сервере
https://notion.so/2861cd3aaf164637a2754dcfe1a4f481
https://notion.so/2861cd3aaf164637a2754dcfe1a4f481
Маст-рид для всех rails-разработчиков, хостящих свои проекты на минимальных VPS-ках с 512Мб оперативки. Прекомпиляция ассетов - прожорливая операция, и если ей не хватает оперативки - деплой прерывается с непонятными и трудно диагностируемыми ошибками. Поэтому лучше взять за правило - в каждом новом VPS заводить своп. Тогда проблем не будет.
Продолжаю хайпить и отхватывать open-source пойнты при обновлении библиотек. Уже поднимал эту тему ранее на канале: "Обновление → баги и опечатки в Readme → легкие PR'ы".
Теперь я официально контрибьютор rails/webpacker. Хоть мой вклад в библиотеку ничтожен - есть два плюса:
1. Узнаваемость среди разработчиков. Следующие мои PR-ы там будут приниматься быстрее;
2. Узнаваемость в сообществе. Влияет на кол-во и качество вкусных предложений по работе. Потому что круто, если вы пишете отличный код. Но если мир не знает о вашем существовании - рассчитывать на лакомые вакансии будет трудно. Поэтому помимо кодинга - важно прокачивать soft skills, и говорить о себе в сообществе.
Теперь я официально контрибьютор rails/webpacker. Хоть мой вклад в библиотеку ничтожен - есть два плюса:
1. Узнаваемость среди разработчиков. Следующие мои PR-ы там будут приниматься быстрее;
2. Узнаваемость в сообществе. Влияет на кол-во и качество вкусных предложений по работе. Потому что круто, если вы пишете отличный код. Но если мир не знает о вашем существовании - рассчитывать на лакомые вакансии будет трудно. Поэтому помимо кодинга - важно прокачивать soft skills, и говорить о себе в сообществе.
В базе знаний новая заметка - Почему с турболинками в Rails так сложно? И как фронтенд работает в рельсах.
https://notion.so/df4c32146dd145a5b371adf589437d0f
Норм? Или есть что добавить? Пишите.
https://notion.so/df4c32146dd145a5b371adf589437d0f
Норм? Или есть что добавить? Пишите.
Написал обычно не свойственный для Stack Overflow титанических размеров ответ на вопрос по БЭМу и принципам именования в нем.
Ссылка: https://ru.stackoverflow.com/questions/671568
Можно даже плюсануть ответ там. Это подстегнет меня давать больше таких ответов и впредь.
Ссылка: https://ru.stackoverflow.com/questions/671568
Можно даже плюсануть ответ там. Это подстегнет меня давать больше таких ответов и впредь.
Stackoverflow
БЭМ именование и структура
Помогите разобраться.
1) Можно ли в БЭМ делать вложенности class в class?
.class {
.class1 {}
.class2 {}
}
2) Бывают случаи, когда необходимо добавить padding или margin одному элементу или к
1) Можно ли в БЭМ делать вложенности class в class?
.class {
.class1 {}
.class2 {}
}
2) Бывают случаи, когда необходимо добавить padding или margin одному элементу или к
Где меня можно найти в телеграме? В тематических чатах без флуда и спама. Делюсь с вами списком любимых:
По руби, рельсам и веб-разработке внутри этого стека:
- 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
А в каких чатах сидите вы? Поделитесь.
По руби, рельсам и веб-разработке внутри этого стека:
- 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 - именуйте лайауты не
Знаете о других подобных нюансах? Пишите, пополним заметку вместе.
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
Стартап - на финишной прямой. За ним - новые проекты.
А каким путем идете вы? Поделитесь своей историей в чате.
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/
А что используете вы?
Расширение, палит список технологий, на которых построен открытый в текущей вкладке сайт.
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 страницам.
Интересная тема?
С релизом 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 страницам.
Интересная тема?
В базе знаний новая заметка - Настраиваем Sublime Text для работы
Стек: Ruby, Rails, Slim, Sass, CoffeeScript, ES6, JSX, React, Git. Мой личный набор плагинов и конфигов.
https://notion.so/Sublime-Text-14b5d9bafbd54559894d2dcdb6ab42d4
А если занимаетесь фронтендом - для вас существует подобная заметка на гитхабе.
Стек: Ruby, Rails, Slim, Sass, CoffeeScript, ES6, JSX, React, Git. Мой личный набор плагинов и конфигов.
https://notion.so/Sublime-Text-14b5d9bafbd54559894d2dcdb6ab42d4
А если занимаетесь фронтендом - для вас существует подобная заметка на гитхабе.
Evernote для заметок я начал использовать в 2014-м. До этого сидел в TiddlyWiki, Rizzoma.com, даже в программе собственной разработки на Delphi. На днях залез разобрать базу в риззоме.
Полсотни заметок - и все удалил. Потому что все, написанное там, либо было воплощено за эти годы, либо потеряло актуальность.
В веб-разработке (особенно в js-стеке) знания вообще быстро теряют актуальность. Исключения есть, например те же RailsCasts, которые я всем советую - местами до сих пор актуальны, но это потому что Rails-стек относительно стабилен, и сами скринкасты сделаны качественно.
Лучшее, что вы можете сделать со своими заметками, или с заметками из моей базы знаний - это взять и применить знания оттуда на практике. И получить выгоду уже сейчас. Максимум - отложить это на несколько недель или месяцев. Если знания пролежат дольше - вероятно, их вы уже никогда не примените.
Согласны с написанным? Палец вверх.
Полсотни заметок - и все удалил. Потому что все, написанное там, либо было воплощено за эти годы, либо потеряло актуальность.
В веб-разработке (особенно в js-стеке) знания вообще быстро теряют актуальность. Исключения есть, например те же RailsCasts, которые я всем советую - местами до сих пор актуальны, но это потому что Rails-стек относительно стабилен, и сами скринкасты сделаны качественно.
Лучшее, что вы можете сделать со своими заметками, или с заметками из моей базы знаний - это взять и применить знания оттуда на практике. И получить выгоду уже сейчас. Максимум - отложить это на несколько недель или месяцев. Если знания пролежат дольше - вероятно, их вы уже никогда не примените.
Согласны с написанным? Палец вверх.
Там новый выпуск Random Ruby Newsletter подвалил. Рекомендую - хорошая выжимка полезноты по руби и рельсам. С каждой рассылки 3-5 ссылок стабильно идут в закладки.
На рассылку можно подписаться по e-mail, но я отслеживаю в телеграм-канале: @randomruby
На рассылку можно подписаться по e-mail, но я отслеживаю в телеграм-канале: @randomruby