2 марта на митапе в Ереване расскажу про обеспечение качества в Yii.
Все заметки с тегами «Yii, PHP»
-
Расскажу про обеспечение качества в Yii в Ереване
26 февраля
-
PHP 8
30 ноября 2020
На днях релизнулся PHP 8. Он не так богат на полезные возможности, как PHP 7.0 или PHP 7.4, но определённо хорош как производительностью с новым JIT, так и тысячей приятных мелочей.
О новых возможностях коротко можно почитать на специальной странице, которую мы подготовили вместе Романом Пронским, JetBrains и сообществом.
В честь выхода мы провели стрим с участием двух видных разработчиков этого релиза: Дмитрия Стогова и Никиты Попова.
Запись можно посмотреть на YouTube.
По поводу стабильности могу сказать, что, определённо можно пробовать переводить на восьмёрку продакшн. Большинство серьёзных багов отловили в бетах. Yii 1, Yii 2 и Yii 3 к PHP 8 готовы.
-
PHP 7.4
28 ноября 2019
Увидела свет новая версия PHP.
Самое важное для меня:
- Производительность увеличилась.
- Типизация свойств. Потенциально хорошая штука для простых DTO.
- Ковариантность возвращаемого типа и типа аргументов. Очень полезно для типизированных коллекций и реализации PSR с добавлением дополнительной типизации.
- Возможность бросать исключения в
__toString()
. Точно упростит обработчик ошибок в Yii 3 и очень важно для реализации виджетов. - preload. Потенциально интересно.
-
2018
30 декабря 2018
Вот и конец 2018-го года. Год получился очень напряжённым и интересным, хоть это и не очень выражалось в моей публичной активности.
Всех поздравляю с наступающим и желаю чтобы наработки года проявлялись приятными сюрпризами в следующем.
А теперь подведём немного итогов.
Skyeng, тимлидство
С начала года я стал тимлидом в Skyeng. Думал что тимлид — это почти то же, что и tech lead, коим я уже был, но оказалось, что сильно ошибся. Сделал все мыслимые и немыслимые ошибки, научился жить в условиях дефицита времени, избытка хотелок и желающих их получить. Когда-нибудь напишу про всё это или расскажу на какой-нибудь конференции. Надеюсь, в следующем году или нормально тимлидить, учитывая полученный опыт, или же понять, что это не моё и заниматься далее только технической частью проектов.
Конференции
Я уже не первый год участвую в организации конференций Олега Бунина РИТ и Higload, но, кажется, об этом не упоминал. В этом году вместе с программным комитетом мы отсмотрели огромное количество заявок на доклады и отобрали самые лучшие. На самих конференциях побывал слушателем, вышли они хорошо. Подготовить свой доклад сил и времени, к сожалению, не хватило, но на РИТ-е удалось собрать небольшой митап по Yii.
Побывал на РИФ Воронеж гостем. С тех пор, как я последний раз бывал на РИФ-е, главная конференция родного города сильно выросла, что не может не радовать. Кроме неё посетил пару собраний воронежского “Глубокого рефакторинга” и воронежский GDG DevFest, которые тоже подросли.
С докладами был в Белгороде на БИФ, в Ижевске на IT Camp, в Кемерово на RoboPHP, в Москве на DevConf, в Челябинске на UWDC и в Киеве на PHP FWDays.
Yii
Yii за год обзавёлся новым сайтом, форумом и инфраструктурой. Выпустили 2.0.14 и 2.0.15 и хорошо продвинулись с 3.0.0. Также выпустили Yii 1.1.20. Релизнули множество новых версий расширений.
К команде присоединился Андрей Васильев, @hiqsol. Он активно занимается 3.0.0.
Были оформлены в документ "ценности Yii".
Код из 2.0.0 был взят в Symfony intl Polyfill.
Были и другие события и новости. Я писал об этом на своей странице на Patreon.
Глобальное
Посты
Хоть год и не был богат на публикации, кое-что всё-таки появилось:
- Делать метод в сущности или нет
- try-finally
- Организация конфигов в Craft CMS
- 500-я страница YouTube
- certbot и перевод проектов на SSL
- Про этику хакерства
- Naming things
Путешествия
- Южная Корея: Сеул и mud festival в Boryeong. Давняя мечта весело поваляться в грязи осуществилась.
- Китай: Пекин и Гуанчжоу. Китай не перестаёт удивлять. Очень разные города.
- Ямайка. Прекрасная природа.
- Турция: Стамбул. Каждый раз в нём находится что-то новое.
- Украина: Киев. Один из любимых городов и множество прекрасных людей.
- Россия: Москва, Челябинск, Белгород, Ижевск, Кемерово.
Кофе
- Научился варить кофе в турке.
- Наши кофейни заработали отличную репутацию. Не обошлось без невесёлых сюрпризов, но, в общем, всё удачно.
- Привёз в кофейню кофе Tim Wendelboe.
- Варили кофе на РИФ и других мероприятиях.
Семья
Дочь пошла в первый класс. Личность. Отлично ладит с людьми. Хочет играть на гитаре и болящие пальцы её не пугают. Уроки — это сложно. Некоторые задания для первоклассников вводят в ступор родителей. Сын растёт упрямым и любопытным. И то и другое пока через край. Балансировать между работой, проектами и семейными делами не так просто, но в этом году всё получилось.
-
Буду на PHP fwdays
24 мая 2018
10 Июня буду в Киеве на PHP fwdays. Расскажу про PHP в целом и немного про Yii.
Конференция будет знатная: будут мейнтейнеры Yii, Doctrine, Composer, MongoDB, Symfony, XDebug. А также JetBrains, доклады по Laravel.
Недорогие билеты почти все разобрали, но вообще билеты ещё есть.
-
Буду 20 июля в гостях у Superjob
18 июля 2017
Superjob проводит PHP-meetup 20 июля в своём офисе. Для тех, кто не был на YiiConf я расскажу ещё раз «Yii. Что дальше?».
Вход бесплатный, количество мест ограниченно. Зарегистрироваться здесь.
-
Yii на PHP frameworks day
24 августа 2016
3 сентября в Киеве пройдёт конференция PHP frameworks day. В этом году Yii будет представлять Дмитрий Науменко (@SilverFire). Он расскажет про профилирование PHP-приложений в общем и про Yii в частности.
Программа довольно интересная. Подробности можно найти на сайте. Билеты вроде ещё остались.
-
Yii 2.0 AR сделал все PHP ORM в независимом тесте
6 декабря 2015
Carsten из команды Yii добавил в тесты kenjis AR Yii 1.1 и Yii 2.0. Получились вот такие результаты. Yii 2.0 рвёт в клочья всех, кроме Phalcon.
Сюрпризом это не стало, но, всё же, приятно.
-
Составные части хеш-строки bcrypt
26 ноября 2015
Хороший способ хранения данных для аутентификации — хеш-строки bcrypt. В PHP это реализуется при помощи crypt с алгоритмом blowfish. В более поздних версиях PHP — при помощи password_hash. В Yii для этого есть Security::generatePaswordHash(). Выглядит строка на выходе вот так:
$2y$13$YUUgrko03UmNU/fe6gNcO.Hka4lrdRlkq0iJ5d4bv4fK.sKS.6jXu
Длина в случае пароля всегда 60 символов.
- 2y - версия алгоритма bcrypt. Мы используем blowfish, так что в новых версиях PHP должна быть всегда
2y
. - 13 - cost. Стоимость вычислений. 2^13 итераций функции формирования ключа.
- Оставшееся — конкатенированные соль и хеш, закодированные через base64 с немного нестандартным набором символов. Первые 22 символа — 16 байт соли. Оставшееся — хеш.
При сравнении пароля bcrypt достаёт версию алгоритма, cost и соль из хеш-строки сохранённого пароля. Далее, используя их, вычисляет хеш нового пароля и сравнивает с сохранённым хешем.
- 2y - версия алгоритма bcrypt. Мы используем blowfish, так что в новых версиях PHP должна быть всегда
-
Видео с PHP frameworks day 2015
29 октября 2015
Организаторы PHP frameworks day очень оперативно порадовали видео с конференции.