2 доклада по Symfony на митапеPHP NNсообщества Трансляция стартует 24 апреля в 11:00 (Мск)
🎤 Как переделать Symfony-проект в целое направление (Денис Юрьев, Skysmart от Skyeng)
🎤 Как структурировать код, чтобы не получить большой ком грязи (Валентин Удальцов, ведущий каналов Пых и PHP Point)
Будет возможность включиться голосом в митап с вопросами 🐘
Начните уже 24 марта в 20:00 мск осваивать профессиональные навыки на демо-занятии «gRPC для микросервисов или не REST-ом единым».
Вместе с преподавателем Сергеем Петрелевичем вы разберете, что такое gRPC и как его можно использовать вместо REST-а для коммуникаций между микросервисами. Используйте эту возможность, чтобы перенять опыт эксперта и попробовать онлайн-курс «Java Developer. Professional».
📍Пройдите вступительный тест, чтобы участвовать в демо-занятии: https://otus.pw/p0Hy/
В последнее время, собеседуя backend-разработчиков заметил нехорошую тенденцию. Люди не очень в SQL. Когда-то давно, когда я начинал, еще не были так распространены ORM, да и большинство кода даже не использовало ООП. И не было другого выхода, кроме как писать "сырые" запросы. (Да и сырыми их тогда никто не называл).
Сейчас общество как будто развращено симфонями и ларавелями, и, особенно, по начинающим разработчикам это заметно.
И сейчас хочу поделиться с вами статейкой о том, как узнать, почему написанный вами (или ORMкой) запрос педалит работает медленно.
Недавно появилась парочка интересных переводов о зловредах в php.
Первый настоятельно рекомендую к прочтению, как минимум для общего развития. Сама по себе идея проста до гениальности - мы берем пару невидимых символов (например - пробел и табуляция), и считаем, что они "1" и "0". Кодируем наш скрипт в бинарный формат, заменяем единицы и нули нашими невидимыми символами, и - вуаля!
Чем себя занять в моменты, когда на работе нужно написать много рутинного кода, ну или задачи по-просту не интересные? Кто-то ходит по собесам просто ради интереса, кто-то пишет пет проекты, а кто-то фрилансит. В перерывах между пет-проектами лично я люблю решать небольшие конЕчные (не конЧЕнные=)) задачки.
Как это работает? Вам дается задание, область написания кода и кнопка "test", по нажатию на которую запускаются автотесты, проверяющие ваш код. В некоторых заданиях дополнительно еще ограничено время. Кстати, обычно очень широкий выбор языков программирования.
Вот совсем коротенький список, буду рад, если в комментариях дополните: 1. www.hackerrank.com Платформа запущена в 2012 году. Помимо просто решения задач предлагает еще получить сертификаты в той или иной области, а также есть площадка для поиска работы. По сути, хакерранк это топовая платформа, которая также используется крупными компаниями для найма на работу через решение задач. К примеру - ежегодный Badoo конкурс о найме на работу в Лондон - размещался именно там.
2. www.codewars.com - очень похожая на первую, однако тут упор сделан на писькомерство. При регистрации вам выдают, кажется, 8 кю (8 уровень, как в карате-до), и по решению задач присваивают новый кю/дан. После решения задачи вы попадаете на экран, на котором есть полный список всех решений всех пользователей с лайками по категориям "бест практис" и "самое умное решение". Самое топовое решение наверху. Можно его форкнуть и улучшить. Ну и можно контрибьютить - добавлять свои задания
Ну и из релизов: в четверг вышли патч версии php: В 7.3 - один багофикс с soap, В 7.4 - довольно внушительная пачка фиксов, там и кор и mysqli.
Довольно угарный фикс - php падал, если исходник > 4 гигов. Мне просто любопытно посмотреть код того, кто обнаружил эту багу))) Вот сама бага https://bugs.php.net/bug.php?id=80523
❓Куда и как расти айтишнику с опытом? Сделайте выбор на бесплатных демо-уроках онлайн-курсов «Flutter Mobile Developer», «Golang Developer. Professional» и «DevOps практики и инструменты»:
📌«Пишем Flutter-приложение с использованием Redux»: https://otus.pw/psaJV/ — Узнаете, как использовать подход к управлению состоянием во Flutter-приложениях. Выясните главные особенности Redux. Напишете небольшое приложение и обсудите, как хорошо Redux масштабируется в перспективе. 📌«Go-каналы снаружи и внутри»: https://otus.pw/IkRD7/ — Получите простую абстракцию в картинках для понимания принципов работы каналов. Узнаете, как каналы устроены на уровне языка.
📌«Prometheus: быстрый старт»: https://otus.pw/R9TS/ — Рассмотрите архитектуру Prometheus. Разберётесь, как система работает с метриками. Поймёте, как формировать алерты и события в системе.
🔥Регистрируйтесь сейчас — напомним в день вебинара!
Откопал пару задачек на алгоритмы в интернетах, предлагаю вам их решить, ответы пишите в комменты. Ну и ставьте плюс в комменты, если хотите больше задачек. ——————— Задача 1. Во время переезда в квартире появилось 5 пустых коробок, и кот стал в них спать. На каждой коробке написана своя цифра, от 1 до 5, а сами коробки стоят в ряд по порядку.
Наутро кот вылезает из очередной коробки, а на ночь переходит спать в соседнюю справа или слева, которая стоит рядом с той, где он ночевал в прошлый раз. Каждое утро можно открыть только одну коробку, чтобы проверить, есть ли там кот.
Есть ли такая стратегия, чтобы гарантированно найти кота в какое-нибудь утро, если мы не знаем, в какую коробку он пошёл спать в первую ночь? ——————— Задача 2. Представьте, что у вас есть электрическая духовка с одной механической кнопкой. Кнопка по очереди включает режимы работы от слабых к сильным, затем выключает духовку, а при следующем нажатии снова включает самый слабый режим. Так можно щёлкать по кругу сколько угодно — в зависимости от количества щелчков духовка будет проходить все стадии работы.
И вот ситуация: вы дома, вам скоро уезжать, духовка работает на первом режиме. Внезапно отключается электричество.
Проблема в том, что когда электричество включится, духовка заработает на том режиме, на котором стоит кнопка. Вас дома уже не будет.
Сейчас вам нужно нажать механическую кнопку столько раз, чтобы при включении света духовка оказалась в выключенном режиме. Вы не помните, сколько именно у духовки режимов работы, но их точно не больше четырёх (включая выключенный).
Вопрос: сколько раз нужно сейчас нажать на кнопку, чтобы духовка точно оказалась в выключенном режиме?
🐍Почему начинающему Python-разработчику сложно найти работу? Работодатели выбирают джуниоров, которые не просто знают синтаксис, а умеют решать задачи в команде.
📌Научитесь за 5 месяцев с поддержкой ментора применять Python в разных областях: разработка, web, тестирование и Data Science. Вас ждет: ● Самая хардкорная на рынке начальная программа ● Работа с API и DevOps-инструменты ● Свой готовый проект, который пополнит портфолио + домашки ● Живое общение с экспертами и созвоны с персональным ментором
После обучения навыков будет достаточно, чтобы претендовать на позиции junior+ с зарплатой ~100 тыс. руб.
Только-только я расстроился, т.к. уже конец января, а от badoo ни слова о ежегодном конкурсе (для тех, кто не в курсе: они каждый год выкладывают пачку задач на hackerrank, и если ты решил хорошо - зовут на собес, а там и в Лондон, на работу), так сразу нашел, чем потешить свое ЧСВ.
Обнаружил, что в linkedin появились значки вида “знаток PHP”, и, чтобы получить их, нужно пройти небольшой тест. Например, тест по PHP состоял из 15 вопросов, на каждый из которых давалось 1,5 минуты. Если зафейлил - есть возможность пройти тест еще раз(не знаю, с такими же вопросами или другими, но лично я бы сделал с другими, иначе какой смысл).
Сами вопросы были простецкие, ответы выбираются из готовых четырех-пяти. Единственный вопрос, который чуть не обнулил мой таймер в 1.5 минуты - про форматирование времени: ну не помню я наизусть всех модификаторов=) в итоге ответил интуитивно, и вроде как правильно.
В общем, всем рекомендую! И делитесь своими результатами в комментариях, интересно, кто как прошел.
Конкурс для айтишников. Простые правила и крутые призы.
Что делать? Показать, без чего вы не проживёте 2021. Любимый кот, литр кофе или боксерская груша?
Лучшие работы получат iPhone 12, Apple Watch 6 и AirPods 2, остальным 50 счастливчикам мы подарят стильные худи.
Условия просты: 1. Создайте свой «набор для выживания» в 2021 и соберите в нем до 5-ти необходимых предметов. Например, ноутбук, любимое блюдо или любую другую вещь. Для удобства можете скачать шаблон на сайте. 2. Затем опубликуйте «набор» в VK, FB или Instagram с хэштегом #выживуттолькоайтишники 3. Зайдите на сайт и отправьте нам ссылку на пост.
Всем привет. Данный пост подойдет новичкам, или прожженным бэкендерам, которым проще написать на го или джаве, чем на js/css. Когда вообще появилось это разделение на Front и Back? Только только у нас в команде был верстальщик, который особо и программистом то не выглядел, и вот вдруг React, Angular, TypeScript, а кто не успел - теперь Backend разработчик.
Так что делать, если ты бэкэнд до мозга костей, а пет проект, под капотом выглядящий великолепно(нет), с фронта похож на сайты из 2000х?
1. Twitter bootstrap. Содержит множество полезных симпатичных элементов из коробки. И хоть фронты сейчас начнут кидаться ссаными тапками (и тряпками), потому что бутстрап - это только скелет, лэйаут, грид, etc на котором нужно строить свое приложение, но для нас это просто палочка-выручалочка, если нужно придать человеческий вид своему детищу.
2. Vue JS Если надоело писать говнокод на jQuery для того, чтобы например показать форму редактирования прямо на строке в гриде, и после того как все заработало от одного вида этого куска кхм хочется принять валокордин - есть великолепная припарка - Vue JS. Он выглядит так, как будто он написан бэкэндерами для бэкэндеров, чтобы последние хоть как-то могли похвастаться тем, что знают js фреймворк, и гордо называть себя full stackами. В нем нет этого бардака jquery, и нет тонн синтаксического сахара и абстракций type script. Все бесподобно просто и понятно, как php, и приправлено отличной подробной докой.
3. А для тех, кому нужно и то и то - вот bootstrap-vue.org Сам не пробовал, но раз поддерживаются последние версии и того и другого - значит проект живой и свежий.
Эхх, за что я любил Yii 1 в лохматом 2012 - так это за коробочный неплохой внешний вид, и включение аякса на гриде одним параметром. Теперь такого не делают))
Вместо послесловия
Ну и раз зашел разговор про сервера: я давно забил на хостинги. По цене они не намного выигрывают у vds/vps а ограничений масса. Да и я считаю что каждый уважающий себя php разработчик должен уметь развернуть php+nginx+db на чистой машине, ну и прекрасно знать что такое ssh, sudo, и почему нельзя запускать nginx под рутом.
Так вот, я уже лет 7 пользуюсь digitalOcean, 5$ в месяц и все мои пет-проекты прекрасно живут на выделенной виртуалке. И по этому случаю держите реферальную ссылку https://m.do.co/c/a2a1a8f9796f , которая не только мне согреет лапу, но и даст вам 100$ на 60 дней потестить и решить, нужно ли оно вам вообще. Они зажмыдились, раньше давали 25$ навсегда (а это, на минуточку, 5 месяцев халявного пятибаксового сервера) а сейчас 100$ но всего на 2 месяца, но это ж все-таки лучше, чем ничего))
Добавил реакции, хочу получить фидбэк, полезно ли, или больше такое не писать.
Почему ценятся PHP-разработчики со знаниями Symfony?
Узнайте 13 января о ключевых навыках программирования на одном из самых сложных, надежных и высокопроизводительных PHP-фреймворках на встрече с Александром Пряхиным, техническим директором в CityAds Media. На вебинаре Александр представит программу онлайн-курса «Symfony Framework» и ответит на ваши вопросы.
👉🏻Рекомендуем заранее пройти вступительный тест, чтобы оценить свой уровень подготовки и сложность курса. Регистрируйтесь на мероприятие и запасайтесь вопросами для эксперта: https://otus.pw/vXln/