Если вы можете с ходу ответить чему будут равны результаты этих примеров, то можете пропустить этот мессадж. Для остальных небольшая заметка про тернарный оператор:
https://medium.com/@frontman/2d912b7712b8
<?php declare(strict_types=1);
var_dump( true ? true : 1 ? 1 : 'false' ); // =?
var_dump( true ?: 1 ?: 'false' ); // =?
https://medium.com/@frontman/2d912b7712b8
Medium
Тернарный оператор в PHP
Шпаргалка
Мы очень любим истории, когда внутренний заказчик не спихивает ответственность за найм на рекрутера, а подключается как полноценный owner задачи и системно работает над HR брендом. Когда он вместе с рекрутером прорабатывает сложные возражения кандидатов и работает над созданием честного и конкурентного предложения. Такой подход, по нашему опыту, всегда приводит к нужному результату, даже на отечественном высококонкурентном рынке.
Мы коллекционируем таких руководителей, как редких и удивительных. Если знаете таких, напишите о них в личку или в комментарии, пожалуйста? Мы хотим сделать серию подкастов на тему "Нанимающий менеджер как owner рекрутинговой задачи" !
Это первое интервью из этой серии. Мы поговорили с Романом Ивлиевым, CTO проекта Mos.Ru, про особенности найма в окологосударственный проект. Как упаковывать проект, со всеми его особенностями. Как работать со страхами кандидатов.
Мы коллекционируем таких руководителей, как редких и удивительных. Если знаете таких, напишите о них в личку или в комментарии, пожалуйста? Мы хотим сделать серию подкастов на тему "Нанимающий менеджер как owner рекрутинговой задачи" !
Это первое интервью из этой серии. Мы поговорили с Романом Ивлиевым, CTO проекта Mos.Ru, про особенности найма в окологосударственный проект. Как упаковывать проект, со всеми его особенностями. Как работать со страхами кандидатов.
Как нанимать разработчиков в окологосударственный проект?
Роман Ивлев
В гостях Роман Ивлиев, CTO проекта Mos.Ru
Коллеги, приветствую! Мы в New.HR совместно с «Нормальные исследования» в июле запустили масштабное исследование, куда планируется привлечь 10 000 респондентов — разработчиков.
Мы уделили внимание не только заработной плате, но и вопросам мотивации и вовлеченности. Мы хотим посмотреть, какие языки программирования и технологии считаются наиболее перспективными и почему, а так же, получить данные о том, как много руководителей, которые продолжают писать код и отвечать за команду.
Все это мы разбили по языкам, фреймворкам, библиотекам, сферам компаний и технологиям.
Сейчас нам важно привлечение респондентов. И вы можете с этим помочь. Пройдя исследование сами и отправив своим коллегам, друзьям и знакомым, ссылку на подробности о нем: https://new.hr/3hk9
Для респондентов, принявших участие в опросе, есть бонусы. Все подробности по ссылке https://new.hr/3hk9
Мы уделили внимание не только заработной плате, но и вопросам мотивации и вовлеченности. Мы хотим посмотреть, какие языки программирования и технологии считаются наиболее перспективными и почему, а так же, получить данные о том, как много руководителей, которые продолжают писать код и отвечать за команду.
Все это мы разбили по языкам, фреймворкам, библиотекам, сферам компаний и технологиям.
Сейчас нам важно привлечение респондентов. И вы можете с этим помочь. Пройдя исследование сами и отправив своим коллегам, друзьям и знакомым, ссылку на подробности о нем: https://new.hr/3hk9
Для респондентов, принявших участие в опросе, есть бонусы. Все подробности по ссылке https://new.hr/3hk9
Нашел в сети гениальный рассказ: Фулл-стек матрос. Автор Dmitriy Kiriyenko. Текст на столько гениален, что захотелось перепостить:
Фулл-стек матрос.
— Почему вы хотите работать палубным матросом именно на "Мести рекрутера Веры"?
Я вытянулся в струнку и заученно (в каждом порту работодатель обязательно задаёт этот вопрос) ответил:
— У вас прекрасная команда и корабль собран по последнему слову техники, это возможность получить полезный опыт и навыки, и я хочу быть частью вашей миссии своевременной доставки пассажиров по всему миру.
— Кем вы видите себя через пять лет?
"Кормом для рыб", хотелось ответить мне на второй набивший оскомину вопрос, но, увы, пришлось сказать, что я прежде всего хочу стать очень профессиональным палубным матросом, и уже потом смотреть, куда приведёт меня карьера — может, вперёдсмотрящим, а, может, и боцманом.
— Что ж, кажется, мы можем взять вас с испытательным сроком в качестве фулл-стек разработчика.
— Кого? — переспросил непонятное слово я.
— Палубного матроса. Вы же на эту должность обращались? Что за странная потеря слуха?
— Извините, послышалось что-то другое.
***
Корабль был... монументален. Борт вздымался над причалом на три десятка человеческих ростов. Поднявшись на него, я увидел боцмана, который пробурчав что-то непонятное, кивнул на доску, закреплённую на одном из бортов, сказал:
— Я там кинул тебе в спринт пробные задачи, осваивайся. Если что-то непонятно, спрашивай.
"Спринт?"
Непонятного было много. Почему задачи написаны на доске, а не выкрикиваются боцманом, почему на такой огромный корабль только одна мачта, почему я продолжаю слышать какие-то непонятные слова...
***
Постепенно я разбирался. Научился самостоятельно отмечать на доске, что я взялся делать задачу. Понял, что это не корабль, а целая система кораблей, закреплённых концами в одно целое, несущих часть парусов на себе. Это, кстати, было очень странно поначалу, но я научился быстро и непринуждённо прыгать с борта на борт, выполняя разные задачи, менять схему соединения вспомогательных корабликов, а однажды вообще собрав из досок нечто неприглядное, спустил его на воду, сделал на нём высокую мачту и оборудовал там пост вперёдсмотрящего, и тот гордо перешёл с мачты главного корабля туда.
— А как мы будем держаться в шторм? — спросил я у боцмана как-то. — Ведь кораблики будут стукаться друг об друга, если там гибкое соединение, а жёсткое соединение вообще сломается. Схема, когда каждый гребец сидит в своей вынесенной за борт капсуле тоже не кажется мня такой уж надёжной.
— Не трусь, матрос! Мы постоянно проводим нагрузочное тестирование, и результаты обнадёживают.
Я уже привык к тому, что постоянно слышу какие-то непонятные слова, и не стал переспрашивать, догадываясь, что услышу, что они время от времени заводят наш корабль в специальный водоём, где за деньги тысяча индусов бьют по воде палками, имитируя шторм.
— Как там твоя задача по замене тросиков на двойные с автоматической проверкой, что трос привязан к нужному кораблю? Мы тут в следующем порту берём на борт первую группу пассажиров, пора бы доделать.
— Работаем!
— Обнови оценку в Джире, пожалуйста.
Это непонятное слово я уже точно ассоциировал с доской, где боцман и капитан записывали задачи.
***
Это была катастрофа.
Пользователи (тьфу, сам заговариваться начал, пассажиры) изменили осадку кораблей, и те совсем не так держались на воде. К тому же прыгать с корабля на корабль, когда палуба постоянно уходит из-под ног, оказалось очень сложно, а это приходилось делать постоянно, потому что столовая была вынесена на отдельную лодку, то же самое с туалетом, библиотекой (без которой многие пассажиры не мыслили дальнейшее плавание), и много ещё чем. А пассажиров было много...
Фулл-стек матрос.
— Почему вы хотите работать палубным матросом именно на "Мести рекрутера Веры"?
Я вытянулся в струнку и заученно (в каждом порту работодатель обязательно задаёт этот вопрос) ответил:
— У вас прекрасная команда и корабль собран по последнему слову техники, это возможность получить полезный опыт и навыки, и я хочу быть частью вашей миссии своевременной доставки пассажиров по всему миру.
— Кем вы видите себя через пять лет?
"Кормом для рыб", хотелось ответить мне на второй набивший оскомину вопрос, но, увы, пришлось сказать, что я прежде всего хочу стать очень профессиональным палубным матросом, и уже потом смотреть, куда приведёт меня карьера — может, вперёдсмотрящим, а, может, и боцманом.
— Что ж, кажется, мы можем взять вас с испытательным сроком в качестве фулл-стек разработчика.
— Кого? — переспросил непонятное слово я.
— Палубного матроса. Вы же на эту должность обращались? Что за странная потеря слуха?
— Извините, послышалось что-то другое.
***
Корабль был... монументален. Борт вздымался над причалом на три десятка человеческих ростов. Поднявшись на него, я увидел боцмана, который пробурчав что-то непонятное, кивнул на доску, закреплённую на одном из бортов, сказал:
— Я там кинул тебе в спринт пробные задачи, осваивайся. Если что-то непонятно, спрашивай.
"Спринт?"
Непонятного было много. Почему задачи написаны на доске, а не выкрикиваются боцманом, почему на такой огромный корабль только одна мачта, почему я продолжаю слышать какие-то непонятные слова...
***
Постепенно я разбирался. Научился самостоятельно отмечать на доске, что я взялся делать задачу. Понял, что это не корабль, а целая система кораблей, закреплённых концами в одно целое, несущих часть парусов на себе. Это, кстати, было очень странно поначалу, но я научился быстро и непринуждённо прыгать с борта на борт, выполняя разные задачи, менять схему соединения вспомогательных корабликов, а однажды вообще собрав из досок нечто неприглядное, спустил его на воду, сделал на нём высокую мачту и оборудовал там пост вперёдсмотрящего, и тот гордо перешёл с мачты главного корабля туда.
— А как мы будем держаться в шторм? — спросил я у боцмана как-то. — Ведь кораблики будут стукаться друг об друга, если там гибкое соединение, а жёсткое соединение вообще сломается. Схема, когда каждый гребец сидит в своей вынесенной за борт капсуле тоже не кажется мня такой уж надёжной.
— Не трусь, матрос! Мы постоянно проводим нагрузочное тестирование, и результаты обнадёживают.
Я уже привык к тому, что постоянно слышу какие-то непонятные слова, и не стал переспрашивать, догадываясь, что услышу, что они время от времени заводят наш корабль в специальный водоём, где за деньги тысяча индусов бьют по воде палками, имитируя шторм.
— Как там твоя задача по замене тросиков на двойные с автоматической проверкой, что трос привязан к нужному кораблю? Мы тут в следующем порту берём на борт первую группу пассажиров, пора бы доделать.
— Работаем!
— Обнови оценку в Джире, пожалуйста.
Это непонятное слово я уже точно ассоциировал с доской, где боцман и капитан записывали задачи.
***
Это была катастрофа.
Пользователи (тьфу, сам заговариваться начал, пассажиры) изменили осадку кораблей, и те совсем не так держались на воде. К тому же прыгать с корабля на корабль, когда палуба постоянно уходит из-под ног, оказалось очень сложно, а это приходилось делать постоянно, потому что столовая была вынесена на отдельную лодку, то же самое с туалетом, библиотекой (без которой многие пассажиры не мыслили дальнейшее плавание), и много ещё чем. А пассажиров было много...
Ветер дул беспощадно, море разыгралось не на шутку, многие жёсткие соединения треснули, а тросы угрожали разорваться. Вперёдсмотрящий не всегда мог докричаться до рулевого. Впервые за всю карьеру мне было страшно. Вместе с остальными джуниорами я затыкал пробоины в трюме. Капсулы с гребцами постоянно смывало за борт, капитан с криком "перезапустить сайдкик" дёргал рычаг, выпускались новые капсулы, гребцы прямо из воды забирались в них и начинали грести дальше.
Раздался страшный треск и выворотив пару досок на главном корабле упала мачта. С непонятной руганью про "настройки ДНС в Кубернетес" капитан поставил несколько механиков на плечи друг другу и сказал что-то вроде "девопсы, прописывайте айпи вручную, пока не разобрались", убежал в трюм грести лично. Мы полезли натягивать импровизированный парус из своих тельняшек на эту импровизированную мачту. Механики, которых капитан почему-то назвал "девопсами", старательно держались друг за друга и удерживали парус.
***
— Матрос, можешь откатить свою фичу с прода? — услышал я голос капитана из трюма.
Ситуация не располагала переспрашивать, и надо было соображать.
— Исполняю, капитан!
К тому моменту рядом с девопсами уже был поставлен вертикально выломанный борт, парус перенатянули на него, а девопсы-механики разбежались чинить рулевые плоскости.
На этот бортик я и закрепил место для вперёдсмотрящего, и попрыгал с корабля на корабль, разыскивая место, куда я вынес его два спринта назад. Там его почему-то не оказалось, и пришлось лезть по вантам на первую попавшуюся мачту, в надежде увидеть его. К счастью, он был всего лишь за два корабля отсюда, и мне удалось докричаться. Кивнув, он полез на старое место самостоятельно.
***
Над головой был белый потолок, вокруг — белые стенки, я был привязан, а за стеной кто-то обсуждал меня.
— Курс азалептина даёт неплохие результаты, и он уже начинает видеть реальный мир, — незнакомый голос продожил, — но всё же забирать его отсюда еще нельзя.
— Но он очень нужен в проекте! У нас не хватает рук, можно ли как-то ускорить выздоровление? — а вот этот голос я знал. Это был боцман.
Раздался страшный треск и выворотив пару досок на главном корабле упала мачта. С непонятной руганью про "настройки ДНС в Кубернетес" капитан поставил несколько механиков на плечи друг другу и сказал что-то вроде "девопсы, прописывайте айпи вручную, пока не разобрались", убежал в трюм грести лично. Мы полезли натягивать импровизированный парус из своих тельняшек на эту импровизированную мачту. Механики, которых капитан почему-то назвал "девопсами", старательно держались друг за друга и удерживали парус.
***
— Матрос, можешь откатить свою фичу с прода? — услышал я голос капитана из трюма.
Ситуация не располагала переспрашивать, и надо было соображать.
— Исполняю, капитан!
К тому моменту рядом с девопсами уже был поставлен вертикально выломанный борт, парус перенатянули на него, а девопсы-механики разбежались чинить рулевые плоскости.
На этот бортик я и закрепил место для вперёдсмотрящего, и попрыгал с корабля на корабль, разыскивая место, куда я вынес его два спринта назад. Там его почему-то не оказалось, и пришлось лезть по вантам на первую попавшуюся мачту, в надежде увидеть его. К счастью, он был всего лишь за два корабля отсюда, и мне удалось докричаться. Кивнув, он полез на старое место самостоятельно.
***
Над головой был белый потолок, вокруг — белые стенки, я был привязан, а за стеной кто-то обсуждал меня.
— Курс азалептина даёт неплохие результаты, и он уже начинает видеть реальный мир, — незнакомый голос продожил, — но всё же забирать его отсюда еще нельзя.
— Но он очень нужен в проекте! У нас не хватает рук, можно ли как-то ускорить выздоровление? — а вот этот голос я знал. Это был боцман.
Сегодня короткий пост про простую функцию replace в мире JS. Чтобы понять нужно ли вами читать этот пост, простой микро тест:
Смогли ответить и понимаете почему так? Значит вам не стоит читать текст далее. Для остальных — велком…
https://medium.com/@frontman/ed2507c14a60
’abc'.replace('a', '$$$') // = ???Смогли ответить и понимаете почему так? Значит вам не стоит читать текст далее. Для остальных — велком…
https://medium.com/@frontman/ed2507c14a60
Medium
String.prototype.replace
Регулярки, колбэки и… Шаблоны!
Всем привет! Короткий пост про небольшой Bash скрипт для вашего SEO
https://medium.com/@frontman/e6717d19ed01
https://medium.com/@frontman/e6717d19ed01
Medium
Sitemap.xml
На Bash за 5 минут, без регистрации и SMS
Про "умный дом" и автоматизацию оплаты ЖКХ. Вопрос интересный. Мне самому надоело каждый месяц вспоминать что надо заплатить, надо снять показания... Те кому это тоже надоело придумывадт очень разные способы. Кто во что горазд. Кто-то снимает камерой видео со счетчиков и обрабатывает CV алгоритмами. Кто-то снимает данные прям с цепей. Кто-то использует поверх стандартных счетчиков свои с интерфейсами для снятия показаний.
Я хочу предложит радикальной иной способ, основанный на предсказательной эвристике. Суть такая:
- берем данные за последние N месяцев
- заносим все в Гугл Таблицы
- рассчитываем средний расход
- пищем GScript (по сути JS) который раз в месяц отправляет данные через госуслуги
- раз в полгода корректируем данные
По мере накопления данных рассчеты будут более точными, можно будет потом вносить сезонные коэффициенты и прочее. И не надо ничего снимать в реалтайме, если задача стоит просто заплатить за ЖКХ. Что думаете?
Я хочу предложит радикальной иной способ, основанный на предсказательной эвристике. Суть такая:
- берем данные за последние N месяцев
- заносим все в Гугл Таблицы
- рассчитываем средний расход
- пищем GScript (по сути JS) который раз в месяц отправляет данные через госуслуги
- раз в полгода корректируем данные
По мере накопления данных рассчеты будут более точными, можно будет потом вносить сезонные коэффициенты и прочее. И не надо ничего снимать в реалтайме, если задача стоит просто заплатить за ЖКХ. Что думаете?
Вы знаете как защитить имейл от спам краулеров на чистом CSS? Если нет, го в статью
https://medium.com/@frontman/46fbaaf9c2a0
https://medium.com/@frontman/46fbaaf9c2a0
Medium
Защита Email от Spamer’ов на CSS
Да да, No JS
Всем привет! Прошедшие неделя и выходные были насыщенными в плане записи в подкастах. Я побывал во Фронтенд Юность, побывал в «5min React» и заглядывал в гости к ребятам из подкаста «Цинковый прод» - подкаст получился просто бомбическим. Если вдруг у вас тяжелый Пн, то рекомендую вам целых полтора часа угара и веселья про Rust, PHP и роботов, как собрать своего Boston Dynamics да и просто отлично поржали 🙂
https://soundcloud.com/znprod/028-aleksandr-mayorov-php-luchshe-taypskripta-idempotentnost-api-boston-dynamics-nemnogo-rust
https://soundcloud.com/znprod/028-aleksandr-mayorov-php-luchshe-taypskripta-idempotentnost-api-boston-dynamics-nemnogo-rust
SoundCloud
Hear the world’s sounds
Explore the largest community of artists, bands, podcasters and creators of music & audio
🤟😎 Продолжаю день анонсов и дарю скидку!
Я один из организаторов осенней конференции FrontendConf 2019, поэтому у меня для вас, конечно же, есть промокод🔥
Программа конференции: https://new.hr/3911
Даты: 13-14 октября
Промокод на скидку 10%: GEEKJOB
Послушать более подробно о конференции и предстоящих докладах можно в подкасте «Пятиминутка React»: https://new.hr/391f
Я один из организаторов осенней конференции FrontendConf 2019, поэтому у меня для вас, конечно же, есть промокод🔥
Программа конференции: https://new.hr/3911
Даты: 13-14 октября
Промокод на скидку 10%: GEEKJOB
Послушать более подробно о конференции и предстоящих докладах можно в подкасте «Пятиминутка React»: https://new.hr/391f
Про жизнь
Математику, физику и инженеру-программисту дали три одинаковых красных шара и попросили найти их объём.
Физик взял ровно один литр воды, бросил туда шар и измерил объём вытесненной воды.
Математик достал сантиметр и измерил длину окружности. Затем он разделил результат на два Пи, чтобы узнать радиус, возвёл полученное значение в куб, снова разделил на Пи, потом разделил на три четверти и таким образом получил объём.
А инженер? А инженер достал справочник красных шаров…
Вот так вот выглядит современный программист-инженер.
Математику, физику и инженеру-программисту дали три одинаковых красных шара и попросили найти их объём.
Физик взял ровно один литр воды, бросил туда шар и измерил объём вытесненной воды.
Математик достал сантиметр и измерил длину окружности. Затем он разделил результат на два Пи, чтобы узнать радиус, возвёл полученное значение в куб, снова разделил на Пи, потом разделил на три четверти и таким образом получил объём.
А инженер? А инженер достал справочник красных шаров…
Вот так вот выглядит современный программист-инженер.
Давно юзаю iPad как второй монитор еще, до анонса официальной фичи от Apple. Пробовал через iDisplay, но он был тормозной. Остановлися на Yam Display. Оч удобная и качественная тула, не нагружает ЦПУ, есть возможность выдавать ретину и, что главное, можно на айпаде тыкать в экран, чего не будет в официальной фиче. И так же работает фича как по проводу, так и через WiFi. Рекомендую, если что
Вчера ночью обновился до Mac OS Catalina и узнал что мой Mac Book Pro 2015 года не поддерживает sidecar. Очень странно, так как сторонними приложениями я могу комфортно пользоваться такой фичей, а вот встроенная оказалась недоступна. Ох уже этот Apple… Крч всем кто хотел использовать планшет как второй монитор очень рекомендую Yam Display
И немного про редакторские планы. Накопилось очень много черновиков, которые нужно вычитать и опубликовать, с очень занимательными статьями и задачами с собеседований. А так же хочется поделиться тем, как я последние полгода переписывал GeekJOB.ru в одиночку (я же Fullstack CTO)
Наконец, настал тот день, когда мы заглушили предыдущий боевой сервер со старым сервисом, и представляем вам новый, переписанный с нуля, модный молодежный GeekJOB.ru
Планирую вести серию статей, какие были технические проблемы со старым ресурсом, и как архитектурно построен новый, какие технологии были выбраны и почему
Наконец, настал тот день, когда мы заглушили предыдущий боевой сервер со старым сервисом, и представляем вам новый, переписанный с нуля, модный молодежный GeekJOB.ru
Планирую вести серию статей, какие были технические проблемы со старым ресурсом, и как архитектурно построен новый, какие технологии были выбраны и почему
Новая Mac OS Catalina по дефолту теперь в терминале использует ZSH. Давно думал попробовать перейти. Я олдовый заядлый Bash’овод и пока не вижу разницы, кроме того что теперь все украшения «слетели» и zsh надо настраивать отдельно. Кстати, про раскрашивание консоли я уже как-то писал, если кому-то интересно https://news.1rj.ru/str/prowebit/167
Telegram
Про WEB и IT
На конференциях у некоторых докладчиков можно увидеть терминалы в очень красивой боевой раскраске, прям муа 😘. Выглядит очень стильно, модно, молодежно. Небольшая заметка что это и как:
https://medium.com/@frontman/69005c646601
https://medium.com/@frontman/69005c646601
Интересное видео с визуализацией как росла популярность разных языков программирования с 1965 года по наши дни. Вопрос только в том, как они считали популярность и в чем измерялась… В количестве программистов?
https://www.youtube.com/watch?v=Og847HVwRSI
https://www.youtube.com/watch?v=Og847HVwRSI
YouTube
Most Popular Programming Languages 1965 - 2019
Timeline of the most popular programming languages since 1965 to 2019. So far the most intense ranking I've ever done :) For recent years I've used multiple programming languages popularity indexes with adjustments thanks to the data from GitHub repositories…