Тут нам поможет Крис Койер и его ресурс со списокм сервисов и объяснением концепции — https://thepowerofserverless.info/
Начиная с июля 2018 года пользователи Chrome будут получать предупреждения о небезопасности посещения сайтов по протоколу HTTP.
Если вы еще не используете защищенное соединение HTTPS и HTTP/2, то советую научиться делать это сейчас. Умение работать с HTTPS и что такое HTTP/2 уже спрашивают даже на собеседованиях.
Как легко и без SMS получить и настроить HTTPS? Либо заюзать LE и сборку докер контейнера с автовыпиской сертификатов, либо вовсе все это отдать на откуп Cloudflare, который просто маленький Amazon для маленьких энтерпрайзов.
https://goo.gl/onade7
Если вы еще не используете защищенное соединение HTTPS и HTTP/2, то советую научиться делать это сейчас. Умение работать с HTTPS и что такое HTTP/2 уже спрашивают даже на собеседованиях.
Как легко и без SMS получить и настроить HTTPS? Либо заюзать LE и сборку докер контейнера с автовыпиской сертификатов, либо вовсе все это отдать на откуп Cloudflare, который просто маленький Amazon для маленьких энтерпрайзов.
https://goo.gl/onade7
Medium
Как легко и без SMS получить и настроить HTTPS / HTTP/2
Каждый web-разработчик в 2018 году уже должен уметь и знать
Сегодня пара слов про работу с массивами в JS. В целом работа с массивами (aka списками) в JavaScript — это большая тема. Данный пост навеян недавним собеседованием. Вопрос простой: Как получить значение последнего элемента массива?
Забегая вперед, могу сказать что один из способов, который я использую в работе, выглядит так:
const [last] = arr.slice(-1)
https://goo.gl/UZokp7
Забегая вперед, могу сказать что один из способов, который я использую в работе, выглядит так:
const [last] = arr.slice(-1)
https://goo.gl/UZokp7
Medium
Найти крайнего в списке
Last in list. Hacks and tricks with Array in JS
Небольшая заметка о том, как я сочетанием CSS свойтсв Zoom и Scale добился плавных контуров и пофиксил анимацию.
https://medium.com/@frontman/css-zoom-scale-2a07ffc1bcb4
https://medium.com/@frontman/css-zoom-scale-2a07ffc1bcb4
Medium
CSS: zoom + scale
Сглаживание объектов анимации при масштабировании
Как сгенерить символьно числовой ID на JS не прибегая к библиотекам с md5 и тому подобное? На самом деле на JS легко генерятся простые несекурные ID, а так же легко сгенерить UUID. Как всегда 1 минута на прочтение магических рун: https://goo.gl/6QqrsL
Medium
Простой способ генерации символьных ID и UUID
На JavaScript
Мы опубликовали результаты нашей ЗП аналитики по фронтендерам. Наши данные очень хорошо отражают реалии, ведь мы ежедневно работаем с сотнями фронтендеров и у нас большое число заказчиков именно по этой профессии.
Аналитика показывает очень интересные тенденции и распределение заработных плат фронтендеров. В целом это логично и ожидаемо, но пока не увидишь своими глазами — не поверишь.
https://vc.ru/33311-rynok-zarplat-frontend-razrabotchikov
Аналитика показывает очень интересные тенденции и распределение заработных плат фронтендеров. В целом это логично и ожидаемо, но пока не увидишь своими глазами — не поверишь.
https://vc.ru/33311-rynok-zarplat-frontend-razrabotchikov
vc.ru
Рынок зарплат фронтенд-разработчиков
Аналитика от кадрового агентства New.HR.
Есть очень старая задачка: создать массив N размерности и заполнить его числами от 0 до N. Были времена, когда ее спрашивали на собеседованиях. Сейчас вряд ли кто-то всерьез будет спрашивать про нее на техническом интервью, но в жизни и быту она периодически встречается. Раньше для этих целей использовали сложную конструкцию вида:
Отчасти эта задача и была интересна для собеседования своей “магией”. Если человек мог написать такую конструкцию и объяснить что тут просиходит — он точно знал как работает call, чем отличается от apply, что такое array-like объект, как устроен класс Array в JS и так далее. Сейчас это уже не обязательно, ведь у нас есть ES6+.
С приходом новых стандартов ES2016 и прчих задача стала скучна, а реализация стала более читаемая и идиоматична. Теперь эта же задача может быть решена таким образом:
Спред оператор можно заменить на Array.from(), например и тому подобные:
В итоге задача сошла на нет и ее уже редко где встретишь на собеседовании. А были времена, когда меня такое спрашивали и были времена, когда я не мог ответить на этот вопрос 🙂
Если покопаться, можно найти еще разновидности, но они будут повторять эти базовые концепции. Просто будут другие методы и способы инициализации стартового экземпляра Array.
let n = 10
const arr = Array.apply(null,{length:n}).map(Number.call, Number)
Отчасти эта задача и была интересна для собеседования своей “магией”. Если человек мог написать такую конструкцию и объяснить что тут просиходит — он точно знал как работает call, чем отличается от apply, что такое array-like объект, как устроен класс Array в JS и так далее. Сейчас это уже не обязательно, ведь у нас есть ES6+.
С приходом новых стандартов ES2016 и прчих задача стала скучна, а реализация стала более читаемая и идиоматична. Теперь эта же задача может быть решена таким образом:
const arr = [...Array(n)].map((_,i)=>i)Спред оператор можно заменить на Array.from(), например и тому подобные:
const arr = Array.from(Array(n)).map((_,i)=>i)В итоге задача сошла на нет и ее уже редко где встретишь на собеседовании. А были времена, когда меня такое спрашивали и были времена, когда я не мог ответить на этот вопрос 🙂
Если покопаться, можно найти еще разновидности, но они будут повторять эти базовые концепции. Просто будут другие методы и способы инициализации стартового экземпляра Array.
Небезызвестный Сергей Рубанов aka @chicoxyzzy мне напомнил, что Array.from принимает 2й необязательный аргумент. Так что педпоследний пример можно переписать так:
или так
const arr = Array.from(Array(n), (_, i) => i)или так
const arr = Array.from({ length: n }, (_, i) => i)Во 1х - все таки довел выпуск до финала. Во 2х, теперь есть возможность выпуск слушать не только в SC, на сайте и айтюнс, но и в телеге, прямо тут
Слушать на сайте и в SC: https://radiojs.ru/2018/02/radiojs-51/
Слушать в телеге:
https://news.1rj.ru/str/itradiostream
Слушать на сайте и в SC: https://radiojs.ru/2018/02/radiojs-51/
Слушать в телеге:
https://news.1rj.ru/str/itradiostream
С утра меня сподвигли заглянуть в квест ReturnTrue. Так как я потерял ссылку на свои решения, пришлось бытро проходить по новой. Часть задач ушли во 2й сезон и чтобы их увидеть, нужно теперь решать еще и 2й сезон. И вот пока решал задачи, вдруг осенило, что заполнить числами массив можно еще одним способом (вчера я как раз писал про это):
Вообще подумал, что стоит разобрать челлендж, так как там очень интересные задачи и есть очень сложные. Чего стоит random4. Кстати про рандом - это отдельная тема, которую хочется так же разобрать и обсудить. Но обо всем по порядку…
Кстати, если кто-то не знал, предлагаю порешать https://alf.nu/ReturnTrue
Мой ник MAY✪R. В квесте от меня запушено 4 задачи =)
const arr = [...Array(n).keys()]Вообще подумал, что стоит разобрать челлендж, так как там очень интересные задачи и есть очень сложные. Чего стоит random4. Кстати про рандом - это отдельная тема, которую хочется так же разобрать и обсудить. Но обо всем по порядку…
Кстати, если кто-то не знал, предлагаю порешать https://alf.nu/ReturnTrue
Мой ник MAY✪R. В квесте от меня запушено 4 задачи =)
Очень крутая реализация мимишной формы авторизации. Фишка вся в анимированном аватаре, который следит за действиями. Это шедевр. Сразу захотелось разобраться как это делается и научиться делать похожие
https://codepen.io/dsenneff/pen/QajVxO?editors=1010
https://codepen.io/dsenneff/pen/QajVxO?editors=1010
Если вас интересует возможность построения универсальной архитектуры, которая будет в себе позволять использовать любой фреймворк, для начала стоит ознакомиться с тем, что другие уже успели сделать в этом направлении. Подборка статей на тему Микросервисной архитектуры на клиенте https://goo.gl/JTC9Te
Medium
Микросервисы на фронтенде
Сборник материалов
Получить конфиг файл Nginx, как он видит его или достать данные из памяти - задачи, с которыми может столкнуться веб разработчик (фулстек, девопс, админ, nodejs, etc…). Потеряли все конфиги, а на сервере есть запущенный Nginx, который работает? Не беда, все данные можно восстановить из памяти, но придется помучаться
https://medium.com/@frontman/nginx-tips-tricks-bcd0fe600614
https://medium.com/@frontman/nginx-tips-tricks-bcd0fe600614
Medium
Nginx tips & tricks
Выгружаем конфиг из памяти
Pro WEB & IT via @like
Ответы на эти вопросы в статье: https://goo.gl/V1FXa8
Medium
Случайные числа не случайны
Как создать генератор случайных числе на JS и предсказать Math.random()
Вышел новый выпуск подкаста 5min React. Слушать можно прямо в телеграме https://news.1rj.ru/str/itradiostream
Telegram
IT Radio Streams
Канал радиотрансляций IT-подкастов. Слушайте прямо в Телеграме. Больше никаких приложений. Все в одном месте. Если хотите добавить свой подкаст: пишите @frontdevops
Мысли про мнение Петра Мязина про TS (смотри ссылку на подкаст выше). Петр рассказал хорошую позицию по отношению к TS и да, наверное так оно и нужно. Мне нравится его подход и в чем-то я даже согласен.
Если уходить в хардкор по типам - перестаешь писать код, вместо решения бизнес задачи начинаешь дебажить его, что в условиях стартапа это неприемлемо.
Про проекты: Мое имхо, не пихать TS там, где это замедлит разработку. Лендинги с джиквери - да, не нужно TS. Простой плагин для браузера - не нужно TS. Сложный плагин дл ябраузера - возможно нужно. Парсер чего-то - не факт что нужно. Базовые библиотеки для парсинга для переиспользования - мб нужно.
Сервер на ноде - это уже сервис и, в зависимости от того, что он будет делать и сколько планируется иметь логики - либо нужно, либо нет, но скорее нужно, чем нет. Но, возможно, вместо ноды нужно взять Go, PHP, Python. Тема обширная и я ее постараюсь раскрыть, возможно даже в cледующем выпуске RadioJS.
Если уходить в хардкор по типам - перестаешь писать код, вместо решения бизнес задачи начинаешь дебажить его, что в условиях стартапа это неприемлемо.
Про проекты: Мое имхо, не пихать TS там, где это замедлит разработку. Лендинги с джиквери - да, не нужно TS. Простой плагин для браузера - не нужно TS. Сложный плагин дл ябраузера - возможно нужно. Парсер чего-то - не факт что нужно. Базовые библиотеки для парсинга для переиспользования - мб нужно.
Сервер на ноде - это уже сервис и, в зависимости от того, что он будет делать и сколько планируется иметь логики - либо нужно, либо нет, но скорее нужно, чем нет. Но, возможно, вместо ноды нужно взять Go, PHP, Python. Тема обширная и я ее постараюсь раскрыть, возможно даже в cледующем выпуске RadioJS.
Новости фронтенда: Житель Москвы переписал свою квартиру на Vue.js. К чему это я? А к тому, что 22 марта планируется первый Moscow Vue Meetup. Готовим доклады 🙂
И да, в продолжении предыдущей темы, открылась регистрация на наше мероприятие https://www.meetup.com/vue-js-moscow/events/248462774/
Meetup
Vue.js Moscow Meetup #1 (22.03.2018)
Thu, Mar 22, 2018, 7:00 PM: Ссылка на трансляцию: https://www.youtube.com/watch?v=h9NQs0SEVoAДрузья привет! Рады сообщить о первом московском митапе, посвященном исключительно фреймоврку Vue.js.Наша в