Обложка канала

PHP.today

3917 @phptoday

Свежие новости из мира PHP. Обновленные стандарты. Лучшие практики с примерами кода. Как писать чистый, читаемый и понятный код.

  • PHP.today

    Довольно любопытная статья о том, что и как MySQL пишет на диск, и немного тонких настроек, с которыми можно поиграться, чтоб ускорить базу. https://habr.com/ru/post/684474/
    Разбираемся что MySQL пишет на диск и зачем

    Disclaimer: автор не является разработчиком MySQL, все нижеописанное может не совпадать с реальным положением дел. Часть 0: Размышления о хранении данных Разработчики предъявляют высокие требования к...

    Хабр
  • PHP.today

    С 9 июня потихоньку релизят альфа-версии PHP 8.2. Недавно вышла уже третья альфа. О том, какие RFC включили в 8.2, что же такого новенького мы получим - можно почитать вот тут sergeymukhin.com/blog/ch…v-php-82 (спойлер - ничего сверхъестественного я там не нашел, конечно же, но кое какие вещи типа readonly классов, или устаревание некоторых синтаксических вещей будет полезным)
    Что нового в PHP 8.2

    PHP 8.2 будет выпущен примерно в конце 2022 года, но точно пока неизвестно. В этом посте мы рассмотрим все функции, улучшения производительности, изменения и устаревший функционал

    Sergeymukhin
  • PHP.today

    Я на всякий случай напомню, что у нас есть еще и чатик, где можно позадавать вопросики Ссылка: https://t.me/all_it_ru
    PHP Today Чат

    Говорим про PHP. Канал тут: @phptoday.

    Telegram
  • Реклама

  • PHP.today

    Меня тут недавно попросили рассказать про гит для ребят, только начинающих свой путь в разработке ПО, и я понял, что мне очень нравится рассказывать что-то, что я знаю. А потом посыпались вопросы по каким-то нюансам, и вдруг оказалось, что рассказывать то, что я не знаю - еще более увлекательно 🤣 И тут я подумал - а не заняться ли мне инфоциганством в мире IT? Было ли бы интересно кому-то из вас узнать что-то новое/старое но более подробно на паре-тройке небольших видеомитингов в формате «первый бесплатно, а потом, как пойдет»? Ставь лайк, если да, и какаху, если инфоцигане задолбали. Навскидку приходят разные темы, от инструментов вроде git, ngrok, сервисов типа elasticsearch, nginx, varnish и до каких-то вещей внутри языка вроде алгоритмов, ООП. А может даже что-то про серверы, bash scripting etc. Ну и конечно - можно поговорить о Magento, ведь разрабов там постоянно не хватает, зарплаты х2 от обычного ларавельщика, ООП не хуже чем в симфони, интересных задач хватает (вроде каталога на 2 млн продуктов, которые нужно синхронизировать каждые два часа) а сама мажента таки в ближайшие лет 5 точно не умрет (а потом можно будет свалить куда-то в смежную область) Заодно прикрепляю опрос, чтоб узнать, какого уровня кунг-фу у большинства из подписчиков.
  • PHP.today

    Еще одна, не менее важная часть - это так называемое «поведенческое» интервью. Обычно вопросы по этому поводу задают те же интервьюеры сразу после решения задач, но иногда выделают отдельное собеседование по этому поводу. Простым языком - самый основной вопрос я уже писал в одном из прошлых постов: «какую встретили проблему, как решили, где ошиблись, и какие сделали выводы». К примеру - я делал систему записи к врачу, и из-за большой ограниченности во времени архитектор команды решил взять готовое решение, подпереть костылями и обработать напильником. Но это самое готовое решение имело кучу своих проблем и было плохо расширяемым. В общем я плюнул на все это и сел писать свой велосипед. Однако через неделю оказалось, что готовое решение не зря разрабатывалось многие годы, и содержало много скрытых фич и багфиксов. В общем, потратив в общей сложности полторы недели я все же вернулся к предложенному решению. Ну а вывод простой - не ругаться с архитектором принимать во внимание все аспекты предлагаемого решения и проводить глубокий анализ требований прежде чем нырять с головой в разработку. Еще хочу добавить, что некоторые компании не только хотят послушать про ваше поведение в прошлом, но и заставляют наложить ваш опыт на свои идеи/принципы. Например - Амазон имеет 17+ (они все еще пополняются) так называемых принципов лидерства, к каждому из которых необходимо подготовить историю из личного опыта. Вот тут можно почитать про них подробнее: https://habr.com/ru/amp/post/645045/
    Как разработчику применять принципы лидерства Amazon

    Добрый день, меня зовут Павел Поляков, я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в 🇩🇪 Германии. А еще я автор телеграм канала Хороший разработчик знает , где рассказываю обо...

    Хабр
  • PHP.today

    Алгоритмы. Тут все максимально просто. Интервьюер смотрит на то, как вы умеете решать те или иные алгоритмические проблемы за конечный промежуток времени. Для подготовки требуется понять что такое сложность алгоритма по времени и по памяти tproger.ru/article…xplained ну и потратить от 100 часов на leetcode.com на решение разнообразных задач. А так как все мы любим решать сложные, никому не нужные проблемы методами, которые никому не известны (отсылка к анекдоту, если кто не понял), то такая подготовка - одно удовольствие. Правда обидно за эти интервью - вроде бы созданы они были с благой целью - узнать как человек решает, как мыслит и где оптимизирует, а в итоге - превратились в простой фарс. В итоге инженеры меряются не логическим мышлением, а всего лишь часами, проведенными на литкоде. Скорее всего именно поэтому многие стартапы отказываются от такого подхода, и вместо решения задач гоняют по языкам.
    Оценка сложности алгоритмов, или Что такое О(log n)

    Если вы всё ещё не понимаете, что такое вычислительная сложность алгоритмов, и ждете простое и понятное объяснение, — эта статья для вас.

    Tproger
  • PHP.today

    Итак, приступим. Собеседование в топ компании обычно состоит из многих этапов, начиная с созвона с HR, и заканчивая многочасовым собеседованием, где матерые разработчики по очереди будут приходить и показывать вам, какое вы ничтожество, нет, на самом деле все дружелюбны, максимально вежливы, и всегда готовы помочь. Каждый отдельный этап - это полноценное интервью, где вы должны показать не только умение кодить, но и умения думать, общаться, ошибаться и находить свои ошибки. Также топовые компании добавляют в каждое такое интервью поведенческие вопросы вида «расскажите свою самую большую ошибку в работе, как вы ее исправили, и чему научились в процессе». Обычно основные этапы делятся на два типа - алгоритмы и архитектура. Я начну не по порядку, и поделюсь с вами, на мой взгляд, одной из самых точных статей по этому поводу. Но прежде чем начать читать, я хочу еще раз подчеркнуть, что System Design - это НЕ проверка ваших знаний!! Вам нужно показать не свои знания и опыт, а как вы думаете, ошибаетесь, предполагаете, и что будете делать в той или иной ситуации. Главный совет - забудь весь свой опыт и начни думать «с нуля»! https://habr.com/ru/amp/post/516718/ Вот тут еще подборка неплохих видео с задачами и решениями, однако я хочу вас предостеречь, что некоторые интервьюируемые больше сыпали опытом, чем реально показывали свой мыслительный процесс: youtube.com/playlis…playlist
    Netflix за 45 минут: Краткий рассказ о system design-интервью, чего ожидать + подборка полезных ссылок

    В нашем блоге мы много пишем о построении карьеры в ИТ в разных странах, поиске работы, отличиях в процессе собеседований крупных компаний. В сегодняшней статье мы пойдем дальше и раскроем тему...

    Хабр
  • PHP.today

    Всем привет! Заметил, что в большинстве компаний на постсоветском пространстве собеседования, обычно, сводятся к тому, насколько человек знает отличия класса, от интерфейса, может ответить, что выведет код $a = “a1” + “1a”; Пары каких-нибудь вопросов с подвохом, ну и сопутствующие технологии, будь то джоины в MySQL, композеры, докеры etc. Часто завершается такое собеседование соревнованиями вида «чье ооп круче», паттернами и SOLIDом. Приученный к такому, довольно простому ходу собеседований я окунулся в мир FAANG, где твое ООП ничего не значит, а подробное знание настроек elasticsearch - лишь приобретаемый навык, который вообще никого не волнует. И в этот момент уверенные в себе Senior PHP/FullStack/etc девелоперы часто становятся в один ряд с обычными зелеными джунами, только что вставшими на путь истинный. В общем, я хочу вам поведать, как же все-таки стать тем самым Senior Software Engineer по мнению крупных компаний, из чего состоят собеседования, и почему попасть в FAANG (уже MAANG) гораздо проще чем вы думаете. Кое где буду писать личный опыт, но так как я ленив, то если буду находить уже готовый велосипед в сети, который, по моему мнению, хорошо описывает ситуацию, буду просто делиться ссылками.
  • PHP.today

    Вот вам еще одна статейка по безопастности веб приложений, на этот раз о SSRF habr.com/ru/comp…g/590673
    Атака с большим будущим: за что SSRF поместили в ТОП-10 киберугроз

    В конце сентября сообщество OWASP (Open Web Application Security Project) выпустило обновленную версию списка наиболее опасных угроз для веб-приложений OWASP Top-10. Примечательным стало появление в...

    Хабр
  • PHP.today

    Большую часть жизни пишу код под Magento и Symfony, и, знаете, я настолько привык использовать геттеры и сеттеры, что нововведения PHP 8 в виде объявления свойств в конструкторе с последующим использованием публичных или readonly свойств мне как будто режет глаз. С одной стороны код получается короче и пишется быстрее, но уже давно существуют кодогенераторы, которые делают все за тебя. А вы используете публичные свойства?
  • PHP.today

    Не используйте получение защищенных куками json данных через GET запрос! Если вы: 1. Используете AJAX GET чтобы получить данные пользователя 2. Для авторизации на этом эндпоинте используете куки 3. Возвращаемые данные в формате JSON То поздравляю, вы уязвимы для json hijacking! Пора поменять хотяб один из этих трех пунктов. Подробности тут: https://habr.com/ru/post/63176/
    Угон JSON

    В статье рассматривается метод перехвата данных отдаваемых через JSON с использованием метода "__defineSetter__", Этой уязвимости подвержены сайты JSON с которых: содержит конфиденциальные...

    Хабр
  • PHP.today

    Как избежать 10 частых ошибок в настройке NGINX

    Помогая пользователям NGINX с разрешением проблемных ситуаций, мы поняли, что большинство из них часто совершает одни и те же ошибки конфигурации. Более того, подобные ситуации вполне могут...

    Хабр
  • PHP.today

    А вы когда-нибудь задумывались о том, нравится ли вам PHP, и насколько вы представляете себя серьезным программистом? Не стоит стыдиться PHP. Если вы живете в СНГ, или имеете хороший багаж в какой-нибудь популярной CMS - то, скорее всего вы будете довольны своей работой на PHP, и все будет хорошо. Нет, я не говорю, что язык плохой - очень даже хороший, и ООП можно красивое построить, и в целом код выглядит отлично и понятно, учитывая то, что у нас нет тонн синтаксического сахара. Но если вдруг вам захочется в FAANG, придется переучиваться. Я недавно вдруг осознал, что JavaScript, лет десять назад воспринимаемый как какая-то несерьезная игрушка, которую неумехи-верстальщики пытаются затащить на бэк или сделать там типизацию и красивые классы - уже вполне себе обогнал PHP и по использованию, и по удобству, и, что немаловажно, по зарплате. С учетом того что это чуть ли не единственный фронтовый язык - с JavaScript дороги открыты практически в любую компанию. Статья меня не убедила, но может убедит вас: https://habr.com/ru/post/652545/
    Не нужно стыдиться PHP

    Недавно я решил зайти на сайт cybersport.ru (проект VK GROUP), где хотел посмотреть результаты матчей наших мальчиков по Dote. Мой взгляд упал на статью "Когда будет новый...

    Хабр
  • PHP.today

    Хорошая статья о том, как ребята внедряли статический анализ и что из этого вышло habr.com/ru/comp…g/649257
    Статический анализ и уже выросший проект: внедрять нельзя откладывать

    Зачем нужен статический анализ кода, кажется, никому объяснять сегодня уже не нужно. Но одно дело — поддерживать код «чистым» с первого коммита, и совсем другое — встраивать новый инструмент в проект,...

    Хабр
  • PHP.today

    🧪 PhpStorm Tips & Tricks

    The ultimate list of all my favourite tips and tricks when working with PhpStorm.

    Masteringphpstorm
  • Реклама

  • PHP.today

    Сейчас из каждого утюга можно услышать: ML, нейросети, обучение. А вы знали, что для того, чтобы потрогать нейросети и даже запустить свою не обязательно учить Python или R? Попробовать можно даже на PHP. Вот есть парочка библиотек https://habr.com/ru/company/otus/blog/599985/ А вот еще расширение для PHP, оно устарело и больше не поддерживается, но для того чтоб потрогать и понять - нравится/не нравится - этого достаточно Для реального проекта все-таки стоит выбрать другой язык, но потрогать можно уже здесь и сейчас! P.S. Знаете, откуда выражение «из каждого утюга»? Если советский утюг старой модели воткнуть в розетку радиоточки, можно услышать радио, тихо правда.
    Фреймворки машинного обучения для PHP-разработчиков

    По сей день вокруг машинного обучения не утихает большой ажиотаж. Машинное обучение, искусственный интеллект, Python, Tensor Flow, NumPy — это главные темы для обсуждения во многих группах социальных...

    Хабр
  • PHP.today

    Вдогонку к посту про БД: тут недавно обнаружили старый баг MySQL и MariaDB, который позволяет писать выражения, пропускаемые большинством firewalls и прочих костылей для обнаружения SQL-injection в запросе. Поэтому пишите безопасный код с обязательным экранированием всех параметров прямо на PHP, не нужно писать говнокод в надежде на какой-то плагин для nginx! https://habr.com/ru/news/t/585346/
    Ошибка в экспоненциальной форме записи чисел в MySQL сделала клиентов AWS WAF уязвимыми для внедрения SQL

    Этичные хакеры из Go Secure обнаружили ошибку в MySQL, угрожающую безопасности. Из-за неё клиенты AWS Web Application Firewall (WAF) остались незащищёнными от внедрения SQL. Ещё одна исследовательская...

    Хабр
  • PHP.today

    Тут завезли немного здравого смысла, правда сильно смешали его с личными предпочтениями автора, и отсутствием хороших примеров использования NoSQL. Почему SQL в решении большинства задач лучше, чем NoSQL базы данных, и когда все-таки брать NoSQL? https://habr.com/ru/post/596969/
    NoSQL и Антивакцинаторство

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

    Хабр