Size: a a a

2021 January 25
PHP.today
Статья про транзакции для самых маленьких. Мне очень понравилось, как просто и красиво расписано.

Если вдруг (маловероятно конечно, но вдруг) вы еще не разбирались с транзакциями - то эта статья - отличный старт.

#транзакции

https://telegra.ph/CHto-takoe-tranzakciya-01-25
источник
2021 January 27
PHP.today
​​Только-только я расстроился, т.к. уже конец января, а от badoo ни слова о ежегодном конкурсе (для тех, кто не в курсе: они каждый год выкладывают пачку задач на hackerrank, и если ты решил хорошо - зовут на собес, а там и в Лондон, на работу), так сразу нашел, чем потешить свое ЧСВ.

Обнаружил, что в linkedin появились значки вида “знаток PHP”, и, чтобы получить их, нужно пройти небольшой тест. Например, тест по PHP состоял из 15 вопросов, на каждый из которых давалось 1,5 минуты. Если зафейлил - есть возможность пройти тест еще раз(не знаю, с такими же вопросами или другими, но лично я бы сделал с другими, иначе какой смысл).

Сами вопросы были простецкие, ответы выбираются из готовых четырех-пяти. Единственный вопрос, который чуть не обнулил мой таймер в 1.5 минуты - про форматирование времени: ну не помню я наизусть всех модификаторов=) в итоге ответил интуитивно, и вроде как правильно.

В общем, всем рекомендую! И делитесь своими результатами в комментариях, интересно, кто как прошел.
источник
PHP.today
​​🐍Почему начинающему Python-разработчику сложно найти работу? Работодатели выбирают джуниоров, которые не просто знают синтаксис, а умеют решать задачи в команде.

📌Научитесь за 5 месяцев с поддержкой ментора применять Python в разных областях: разработка, web, тестирование и Data Science. Вас ждет:
● Самая хардкорная на рынке начальная программа
● Работа с API и DevOps-инструменты
● Свой готовый проект, который пополнит портфолио + домашки
● Живое общение с экспертами и созвоны с персональным ментором

После обучения навыков будет достаточно, чтобы претендовать на позиции junior+ с зарплатой ~100 тыс. руб.

Пройдите вступительное тестирование на курс: https://otus.pw/tGbL/
источник
2021 February 04
PHP.today
Откопал пару задачек на алгоритмы в интернетах, предлагаю вам их решить, ответы пишите в комменты. Ну и ставьте плюс в комменты, если хотите больше задачек.
———————
Задача 1.
Во вре­мя пере­ез­да в квар­ти­ре появи­лось 5 пустых коро­бок, и кот стал в них спать. На каж­дой короб­ке напи­са­на своя циф­ра, от 1 до 5, а сами короб­ки сто­ят в ряд по порядку.

Наут­ро кот выле­за­ет из оче­ред­ной короб­ки, а на ночь пере­хо­дит спать в сосед­нюю спра­ва или сле­ва, кото­рая сто­ит рядом с той, где он ноче­вал в про­шлый раз. Каж­дое утро мож­но открыть толь­ко одну короб­ку, что­бы про­ве­рить, есть ли там кот.

Есть ли такая стра­те­гия, что­бы гаран­ти­ро­ван­но най­ти кота в какое-нибудь утро, если мы не зна­ем, в какую короб­ку он пошёл спать в первую ночь?
———————
Задача 2.
Пред­ставь­те, что у вас есть элек­три­че­ская духов­ка с одной меха­ни­че­ской кноп­кой. Кноп­ка по оче­ре­ди вклю­ча­ет режи­мы рабо­ты от сла­бых к силь­ным, затем выклю­ча­ет духов­ку, а при сле­ду­ю­щем нажа­тии сно­ва вклю­ча­ет самый сла­бый режим. Так мож­но щёл­кать по кру­гу сколь­ко угод­но — в зави­си­мо­сти от коли­че­ства щелч­ков духов­ка будет про­хо­дить все ста­дии работы.

И вот ситу­а­ция: вы дома, вам ско­ро уез­жать, духов­ка рабо­та­ет на пер­вом режи­ме. Вне­зап­но отклю­ча­ет­ся электричество.

Про­бле­ма в том, что когда элек­три­че­ство вклю­чит­ся, духов­ка зара­бо­та­ет на том режи­ме, на кото­ром сто­ит кноп­ка. Вас дома уже не будет.

Сей­час вам нуж­но нажать меха­ни­че­скую кноп­ку столь­ко раз, что­бы при вклю­че­нии све­та духов­ка ока­за­лась в выклю­чен­ном режи­ме. Вы не помни­те, сколь­ко имен­но у духов­ки режи­мов рабо­ты, но их точ­но не боль­ше четы­рёх (вклю­чая выключенный).

Вопрос: сколь­ко раз нуж­но сей­час нажать на кноп­ку, что­бы духов­ка точ­но ока­за­лась в выклю­чен­ном режиме?

#задачи #логика #арифметика
источник
PHP.today
​​❓Куда и как расти айтишнику с опытом? Сделайте выбор на бесплатных демо-уроках онлайн-курсов «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. Разберётесь, как система работает с метриками. Поймёте, как формировать алерты и события в системе.

🔥Регистрируйтесь сейчас — напомним в день вебинара!
источник
2021 February 05
PHP.today
А как вы относитесь к enum в текущем виде?
источник
PHP.today
Голосование по енамам в PHP

https://wiki.php.net/rfc/enumerations#voting

Подробнее про предложение можно прочитать в дайджесте № 194. А пока давайте проведем свое альтернативное голосование.
источник
PHP.today
Поддерживаете ли добавление енамов в PHP 8.1 в текущем виде?
Анонимный опрос
83%
Да
17%
Нет
Проголосовало: 2292
источник
2021 February 07
PHP.today
Насыплю сверху про enum:
Кто еще не разобрался, или не понимает зачем, вот отличная статья на эту тему

https://habr.com/ru/post/541246/


Ну и из релизов: в четверг вышли патч версии php:
В 7.3 - один багофикс с soap,
В 7.4 - довольно внушительная пачка фиксов, там и кор и mysqli.

Довольно угарный фикс - php падал, если исходник > 4 гигов. Мне просто любопытно посмотреть код того, кто обнаружил эту багу)))
Вот сама бага https://bugs.php.net/bug.php?id=80523
источник
2021 February 11
PHP.today
Чем себя занять в моменты, когда на работе нужно написать много рутинного кода, ну или задачи по-просту не интересные? Кто-то ходит по собесам просто ради интереса, кто-то пишет пет проекты, а кто-то фрилансит. В перерывах между пет-проектами лично я люблю решать небольшие конЕчные (не конЧЕнные=)) задачки.

Как это работает? Вам дается задание, область написания кода и кнопка "test", по нажатию на которую запускаются автотесты, проверяющие ваш код. В некоторых заданиях дополнительно еще ограничено время. Кстати, обычно очень широкий выбор языков программирования.

Вот совсем коротенький список, буду рад, если в комментариях дополните:
1. www.hackerrank.com Платформа запущена в 2012 году. Помимо просто решения задач предлагает еще получить сертификаты в той или иной области, а также есть площадка для поиска работы. По сути, хакерранк это топовая платформа, которая также используется крупными компаниями для найма на работу через решение задач. К примеру - ежегодный Badoo конкурс о найме на работу в Лондон - размещался именно там.

2. www.codewars.com - очень похожая на первую, однако тут упор сделан на писькомерство. При регистрации вам выдают, кажется, 8 кю (8 уровень, как в карате-до), и по решению задач присваивают новый кю/дан. После решения задачи вы попадаете на экран, на котором есть полный список всех решений всех пользователей с лайками по категориям "бест практис" и "самое умное решение". Самое топовое решение наверху. Можно его форкнуть и улучшить. Ну и можно контрибьютить - добавлять свои задания
источник
2021 February 18
PHP.today
Недавно появилась парочка интересных переводов о зловредах в php.

Первый настоятельно рекомендую к прочтению, как минимум для общего развития. Сама по себе идея проста до гениальности - мы берем пару невидимых символов (например - пробел и табуляция), и считаем, что они "1" и "0". Кодируем наш скрипт в бинарный формат, заменяем единицы и нули нашими невидимыми символами, и - вуаля!

#backdoor #уязвимость

Подробности тут https://telegra.ph/Nevidimye-simvoly-skryvayushchie-veb-shell-v-zlovrednom-kode-na-PHP-02-18

Второй - не особенно-то и актуальный для PHP - взлом через менеджер зависимостей (composer для PHP) путем подмены приватного пакета на публичный.
https://telegra.ph/Zashchita-ot-uyazvimosti-Dependency-Confusion-v-PHP-s-pomoshchyu-Composer-02-18
источник
2021 February 20
PHP.today
Что ждет PHP в 2021?
Узнаем 27 февраля на большом стриме.

🎤 2 доклада: о WebRTC от Ильи Левина из Skyeng, о gRPC — от Антона Жукова из ManyChat.

🏄 Острые дискуссии, мнения о 2020, планы на 2021. В эфир придут:

- Никита Попов (PHP core team)
- Дмитрий Елисеев (ElisDN)
- Валентин Удальцов (Пых)
- Роман Пронский (PHP-дайджест)
- Александр Макаров (Yii)
- Сергей Жук (Между Скобок)
- Константин Буркалев (SDCast)
- Петр Мязин (Пятиминутка PHP)
- Антон Околелов (Цинковый прод)
- Николай Пучко (PHPToday)

🎁 Покажем итоги опроса про лучшее из мира PHP за 2020, разыграем фирменного слоника и целый пул других подарков.

Трансляции в 11:00 (Москва/Минск), 10:00 — Киев
источник
2021 March 04
PHP.today
В последнее время, собеседуя backend-разработчиков заметил нехорошую тенденцию. Люди не очень в SQL. Когда-то давно, когда я начинал, еще не были так распространены ORM, да и большинство кода даже не использовало ООП. И не было другого выхода, кроме как писать "сырые" запросы. (Да и сырыми их тогда никто не называл).

Сейчас общество как будто развращено симфонями и ларавелями, и, особенно, по начинающим разработчикам это заметно.

И сейчас хочу поделиться с вами статейкой о том, как узнать, почему написанный вами (или ORMкой) запрос педалит работает медленно.

#mysql #explain #профилирование

https://habr.com/ru/company/citymobil/blog/545004/
источник
PHP.today
А вы умеете писать sql запросы?
Анонимный опрос
56%
Любой сложности
35%
Ну прочитать, вставить, удалить строку
9%
Зачем? ORM за меня все делает
Проголосовало: 1157
источник
2021 March 11
PHP.today
​​Как расширить свои возможности применения Java?

Начните уже 24 марта  в 20:00 мск осваивать профессиональные навыки на демо-занятии «gRPC для микросервисов или не REST-ом единым».

Вместе с преподавателем Сергеем Петрелевичем вы разберете, что такое gRPC и как его можно использовать вместо REST-а для коммуникаций между микросервисами. Используйте эту возможность, чтобы перенять опыт эксперта и попробовать онлайн-курс «Java Developer. Professional».

📍Пройдите вступительный тест, чтобы участвовать в демо-занятии: https://otus.pw/p0Hy/
источник
2021 March 16
PHP.today
Все мы умеем настраивать веб сервер. Как минимум это нужно даже на локалке, чтобы развернуть проект.

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

В частности - вот какие уязвимости можно допустить просто по незнанию в конфигах nginx

#уязвимость #nginx #вебсервер

https://telegra.ph/CHastye-oshibki-v-nastrojkah-Nginx-iz-za-kotoryh-veb-server-stanovitsya-uyazvimym-03-16
источник
2021 March 17
PHP.today
​​Какое ключевое качество отличает успешного PHP-разработчика? — Любознательность.
Чтобы решать задачи на Middle+ уровне, необходимо уметь работать с экосистемой PHP.
Начните получать необходимые навыки 13 апреля на демо-занятии «Экосистема PHP». Вместе с Александром Пряхиным, СТО в CityAds Media, вы разберете:
- Какие темы и когда нужно изучать?
- Почему надо задавать вопросы и исследовать все вокруг?

Демо-урок является частью онлайн-курса «PHP Developer. Professional». Используйте эту возможность попробовать курс, познакомиться с преподавателем и получить ценные знания. Для регистрации на занятие пройдите вступительный тест https://otus.pw/jQOZ/
источник
2021 March 29
PHP.today
Вчера злодеи скомпрометировали внутренний репозиторий PHP и добавили бэкдор в исходный код.

Первым бэкдор обнаружил чешский программист Майкл Воржишек, который обратил внимание на подозрительный кусок кода и задался вопросом, что тот должен делать. Оказалось, что выполнять код через вызов функции zend-eval-string, содержащийся с подстрокой zerodium (это такая американская компания, покупающая 0-day, видимо хакеры пошутили), передаваемой в HTTP-заголовках.

Сегодня один из основных членов команды PHP Никита Попов подтвердил, что вчера был добавлен вредоносный код от его имени и от имени другого члена команды Расмуса Лердорфа. Он сообщает, что его учетная запись не была скомпрометирована, а взломан был именно сервер репозитория, в связи с чем они переедут на GitHub.

Атака на цепочку поставок.
источник
2021 April 16
PHP.today
В PHP 8.1 скорее всего появятся файберы.

Вот вам статейка на русском о том, что это такое, и как можно будет использовать
https://telegra.ph/Fibery--novaya-ficha-v-PHP-81-04-16

Ну а за самим RFC можно следить тут https://wiki.php.net/rfc/fibers

И милости просим в комменты, если есть уже идеи, как будете использовать их в своих проектах

#fibers #асинхронность #корутины
источник
2021 April 20
PHP.today
​​С выходом 8 версии PHP теперь не только удобнее, но и еще более востребованным. У вас уже есть некоторый опыт в PHP? Тогда самое время прокачать свои навыки в OTUS! На онлайн-курсе «PHP Developer. Professional» вы за 5 месяцев научитесь разрабатывать надежный бэкенд и сможете претендовать на middle/ senior позиции.
Каждый поток программа актуализируется с учетом обновлений и трендов. Занятия ведут сильнейшие эксперты-практики.
После обучения вы сможете:
- Писать понятный чистый код и работать в команде
- Ориентироваться в экосистеме PHP
- Анализировать код и повышать стабильность приложений

Занятия начинаются 26 апреля. Успейте пройти вступительный тест и занять место с дополнительной скидкой https://otus.pw/zMdw/
источник