Сегодня поговорю о решении одной проблемы в CSS/JS.
При адаптивной верстке мы используем
Решение - использовать невидимые блоки-хелперы. Их видимость контролируется в CSS, правила действуют через
Пример на jsfiddle
Как вам решение?
При адаптивной верстке мы используем
@media
запросы в CSS. Но что делать, когда нужно использовать их в JS? Проверять $(window).width()
? Такой способ дает погрешность, из-за ширины скроллбара. А нам нужна точность.Решение - использовать невидимые блоки-хелперы. Их видимость контролируется в CSS, правила действуют через
@media
, без погрешностей. А в JS мы просто проверяем, видим или нет тот или иной блок-хелпер.Пример на jsfiddle
Как вам решение?
Сегодня покажу, как применять функции map и reduce в JS на практике.
На примере простой задачи поэтапно пройдем от условия к решению. И используем map с reduce вместо хождения по циклам в each и собирания данных в переменные.
Читать пост в телеграфе
На примере простой задачи поэтапно пройдем от условия к решению. И используем map с reduce вместо хождения по циклам в each и собирания данных в переменные.
Читать пост в телеграфе
Набросал основу для будущей базы знаний в notion
notion.so/18ddb5fdf73848a887ca1c1001ed47c2
Сейчас там микрозаметка-памятка по командам в линуксе, ссылка на 500 моих закладок, выложенных в паблик. И всё. Но уже сейчас базу можно добавить к себе в notion-аккаунт, и в будущем пользоваться ей при наполнении. А наполнить ее у меня есть чем.
notion.so/18ddb5fdf73848a887ca1c1001ed47c2
Сейчас там микрозаметка-памятка по командам в линуксе, ссылка на 500 моих закладок, выложенных в паблик. И всё. Но уже сейчас базу можно добавить к себе в notion-аккаунт, и в будущем пользоваться ей при наполнении. А наполнить ее у меня есть чем.
Прямо сейчас в https://t.me/webschool_rus_chat обсуждаем нюансы использования БЭМ - подключайтесь.
Виталий Емельянцев
Сегодня поговорю о решении одной проблемы в 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
Стартап - на финишной прямой. За ним - новые проекты.
А каким путем идете вы? Поделитесь своей историей в чате.