Виталий публично
345 subscribers
79 photos
4 videos
211 links
Download Telegram
Сегодня поговорю о решении одной проблемы в CSS/JS.

При адаптивной верстке мы используем @media запросы в CSS. Но что делать, когда нужно использовать их в JS? Проверять $(window).width()? Такой способ дает погрешность, из-за ширины скроллбара. А нам нужна точность.

Решение - использовать невидимые блоки-хелперы. Их видимость контролируется в CSS, правила действуют через @media, без погрешностей. А в JS мы просто проверяем, видим или нет тот или иной блок-хелпер.

Пример на jsfiddle

Как вам решение?
Сегодня покажу, как применять функции map и reduce в JS на практике.

На примере простой задачи поэтапно пройдем от условия к решению. И используем map с reduce вместо хождения по циклам в each и собирания данных в переменные.

Читать пост в телеграфе
Channel name was changed to «Gambala.live»
Набросал основу для будущей базы знаний в notion

notion.so/18ddb5fdf73848a887ca1c1001ed47c2

Сейчас там микрозаметка-памятка по командам в линуксе, ссылка на 500 моих закладок, выложенных в паблик. И всё. Но уже сейчас базу можно добавить к себе в notion-аккаунт, и в будущем пользоваться ей при наполнении. А наполнить ее у меня есть чем.
Прямо сейчас в https://t.me/webschool_rus_chat обсуждаем нюансы использования БЭМ - подключайтесь.
В базе знаний свежая заметка - памятка по настройке https на серверах ubuntu с nginx. Через certbot и Let's Encrypt. https://notion.so/df85cd435ca44f32aef01b0ca328e132
Накануне провел 6 часов за изучением темы, теперь в базе свежая заметка - о конфигурировании nginx под rails-проекты.

https://notion.so/28b5b03a5fc942ef92d449721eae0c5c

А что у вас в конфигах?
Никогда до конца не знаешь, к чему приведут твои действия.

Давеча, как обычно, делился опытом в профильных чатах, отвечал на вопросы. Один из таких ответов в итоге лег в основу статьи на 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/

А что используете вы?