Pull to refresh
68
0
Михаил Алфёров @malferov

User

Send message

Понимаем JIT в PHP 8

Reading time7 min
Views37K
Перевод статьи подготовлен в преддверии старта курса «Backend-разработчик на PHP»




TL;DR


Компилятор Just In Time в PHP 8 реализован как часть расширения Opcache и призван компилировать операционный код в инструкции процессора в рантайме.

Это означает, что с JIT некоторые операционные коды не должны интерпретироваться Zend VM, такие инструкции будут выполняться непосредственно как инструкции уровня процессора.
Читать дальше →
Total votes 19: ↑17 and ↓2+21
Comments12

Изучаем PHP изнутри. Zval

Reading time10 min
Views52K
Эта статья базируется на главе Zvals книги PHP Internals Book, переводом которой на русский язык я сейчас занимаюсь [1]. Книга ориентирована в первую очередь на C-программистов, желающих писать свои расширения для PHP, но, я уверен, что она окажется полезной и для PHP-разработчиков, так как описывает внутреннюю логику работы интерпретатора. В статье я оставил только базовую теорию, которая должна быть понятна всем разработчикам (даже не знакомым с PHP или C). За более полным изложением материала обратитесь к книге.

Задачка для привлечения внимания. Каким будет результат выполнения следующего кода?
$obj1 = new StdClass();
$obj2 = new StdClass();

$obj1->value = 1;
$obj2->value = 1;

function f1($o) {
  $o = 100;
}

function f2($o) {
  $o->value = 100;
}

f1($obj1);
f2($obj2);

var_dump($obj1);
var_dump($obj2);


Ответ
object(stdClass)#1 (1) { [«value»]=> int(1) }
object(stdClass)#2 (1) { [«value»]=> int(100) }

Если вы точно определили ответ и можете объяснить почему он будет именно таким, то, наверное, вы не узнаете из этой статьи ничего нового, иначе — вам определенно стоит прочитать эту статью, чтобы углубить свои знания.
Читать дальше →
Total votes 54: ↑47 and ↓7+40
Comments37

PHP 8 — Что нового?

Reading time19 min
Views136K

PHP, начиная с 7 версии, кардинально изменился. Код стал куда быстрее и надёжнее, и писать его стало намного приятнее. Но вот, уже релиз 8 версии! Ноябрь 26, 2020 — примерно на год раньше, чем обещали сами разработчики. И всё же, не смотря на это, мажорная версия получилась особенно удачной. В этой статье я попытаюсь выложить основные приятные изменения, которые мы должны знать.


1. JIT


Как говорят сами разработчики, они выжали максимум производительности в 7 версии (тем самым сделав PHP наиболее шустрым среди динамических ЯПов). Для дальнейшего ускорения, без JIT-компилятора не обойтись. Справедливости ради, стоит сказать, что для веб-приложений использование JIT не сильно улучшает скорость обработки запросов (в некоторых случаях скорость будет даже меньше, чем без него). А вот, где нужно выполнять много математических операций — там прирост скорости очень даже значительный. Например, теперь можно делать такие безумные вещи, как ИИ на PHP.
Включить JIT можно в настройках opcache в файле php.ini.
Подробнее 1 | Подробнее 2 | Подробнее 3


2. Аннотации/Атрибуты (Attributes)


Все мы помним, как раньше на Symfony код писался на языке комментариев. Очень радует, что такое теперь прекратится, и можно будет использовать подсказки любимой IDE, функция "Find usages", и даже рефакторинг!


Забавно, что символ # также можно было использовать для создания комментариев. Так что ничего не меняется в этом мире.
Читать дальше →
Total votes 26: ↑23 and ↓3+31
Comments58

Как мы сделали оплату по QR

Reading time3 min
Views47K

Всем привет! Сегодня с вами Владислав Козуля, тимлид команды Розница, и я расскажу, как начать платить по QR и ни в чём себе не отказывать. Моя команда делает продукт Касса МойСклад, которым часто пользуются наши клиенты, у которых есть точки продаж. Речь пойдёт о том, как разработка инструментов для повседневной работы выглядит изнутри.

Узнать больше про QR-коды
Total votes 8: ↑7 and ↓1+9
Comments57

PHP-Дайджест № 168 (5 – 25 ноября 2019)

Reading time4 min
Views15K

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.4 RC6, Symfony 5.0 и 4.4, WordPress 5.3 и другие релизы, об обновлении PSR-стандартов, RFC предложения из PHP Internals, порция полезных инструментов, митапы, видеозаписи, подкасты и многое другое.

Приятного чтения!


Читать дальше →
Total votes 56: ↑55 and ↓1+54
Comments15

Грандиозное тестирование аккумуляторов AA/AAA

Reading time6 min
Views304K
После моего грандиозного тестирования батареек многие просили провести такие же основательные тесты NiMh-аккумуляторов. За четыре месяца я протестировал 198 аккумуляторов (44 модели AA и 35 моделей AAA).



Читать дальше →
Total votes 217: ↑215 and ↓2+213
Comments73

Office 2013 привязывается к одному компьютеру навсегда

Reading time2 min
Views296K
Несмотря на то, что для большинства программ мы можем пролистывать пользовательские соглашения без особых последствий, есть смысл прочитать условия, которые ставит Microsoft для розничных копий Office 2013, перед тем, как потратить на него от 100 до 500 долларов, т.к. по сравнению с предыдущими версиями в них изменились две ключевых части.

Если вы приобрели розничную редакцию Office 2010, EULA (end-user license agreement, лицензионное соглашение конечного пользователя) разрешает вам устанавливать его одновременно на два компьютера (настольный и ноутбук). При этом, если вы заменяете один из них, то лицензия переносится на новый.
Для Office 2013 не разрешено ни то, ни другое...
Total votes 182: ↑171 and ↓11+160
Comments318

Работаем с EMS по нарушению сроков доставки посылок — инструкция

Reading time4 min
Views213K
Недавний пост в «Я негодую» о работе EMS в нашей стране и полном пофигизме почтовых работников выявил потребность в инструкции о том, что можно сделать, чтобы когда-нибудь проблемы с посылками у EMS прекратились.

Сходу расстрою — посылкой управлять никак нельзя. Если она долго не «прилетает» в Россию (т.е. статус Экспорт стоит, а Импорт — нет) — тут вряд ли что-то поможет. Однако страхуемся, делаем по шагам, описанным ниже.
Порадовать тоже могу: процентов 95 посылок все-таки доходят. Объем для сравнений — порядка 10 посылок в месяц из США и Европы.
Обращаю внимание, что многие посылки (процентов 60 всех отправлений) я получаю «от себя», используя сервисе вроде Шипито. В некоторых случаях это означает, что почта не может отказать в претензиях по причине того, что они представляются «не отправителем». Однако во многих случаях рекомендую идти и биться за свою посылку при помощи процессов и документов, представленных ниже.
Читать дальше →
Total votes 175: ↑171 and ↓4+167
Comments108

Чеклист при подготовке презентации

Reading time3 min
Views7.1K
В последнее время я наблюдал несколько десятков презентаций, которые начинались вот так:

— Мы делаем систему управления электронным обучением…

— Мы провели исследование поведения посетителей на нашем сайте…

— Наша компания была основана более ста лет назад…

Это просто удивительно как люди любят так поступать. Они с первых секунд садятся на уши аудитории рассказом про себя:

— Мы предлагаем SAAS-решение…

— Наши технологии…

И мое любимое:

— Начну рассказ с того, кто мы такие…

Почему все так уверены, что именно это в первую очередь интересует слушателей? Единственное что выступающий гарантированно получит в таком выступлении — это претензии к себе лично и своей компании.

Я видел как один из директоров Microsoft схлопотал громкое улюлюканье, а представитель Ростелекома — едкий троллинг из зала только потому, что выступили по этому шаблону.

Почему каждый раз это происходит?

Читать дальше →
Total votes 75: ↑68 and ↓7+61
Comments36

Снятие парольной защиты с iPhone 4

Reading time1 min
Views8.8K
Ребята с форумов MacRumors нашли способ снятия парольной защиты с iOS 4.1. Для этого достаточно нажать Emergency Call, затем трижды нажать #, кнопку вызова (Call) и немедленно после этого — кнопку блокировки (Lock). Защита снимается и открывается приложение со списком контактов.



Похожая уязвимость была найдена в iPhone в 2008 году, после чего был выпущен патч.
Total votes 63: ↑48 and ↓15+33
Comments50

«Билайн» имеет странное представление о безопасности, но берется бороться с мошенниками

Reading time3 min
Views3.4K
Некоторое время назад на Хабре писали о том, что Билайн открыл специальный сайт для борьбы с мошенниками. Правда, польза данного ресурса, как мне кажется, весьма сомнительна. Особенно принимая во внимание просьбы службы поддержки оператора.

Ну, обо всем по порядку.
Читать дальше →
Total votes 65: ↑56 and ↓9+47
Comments44

«Билайн» обманывает абонентов, рассылая SMS-спам

Reading time3 min
Views22K
beeline_logo

ОАО «ВымпелКом», выпустив новую редакцию Договора об оказании услуг связи «Билайн» и дополнив его злосчастным 9 пунктом, получило законную возможность рассылать на абонентские номера SMS, содержащие рекламную информацию.
Читать дальше →
Total votes 100: ↑88 and ↓12+76
Comments79

«Билайн» оштрафован на 100 000 рублей за рассылку рекламных сообщений

Reading time1 min
Views4.8K
Девятый пункт Договора об оказании услуг связи «Билайн» вынудил всех абонентов оператора «согласиться» на получение рекламы.

Такое положение дел, как, полагаю, и многих других абонентов, меня не устраивало. Вначале я звонил в ЦПК по 0611, писал электронные письма на info@beeline.ru, чтобы отказаться от получения SMS-спама. После этого я посетил офис оператора, где написал заявление об отказе от получения рекламы. Но, к сожалению, это не помогло избавиться от назойливой рекламы.
Читать дальше →
Total votes 204: ↑201 and ↓3+198
Comments183

Несколько интересных особенностей Windows 8

Reading time6 min
Views259K
Так получилось, что в последнюю неделю сентября и первые две недели октября я провёл 6 мастер-классов по Windows 8 для «Кампус-экспертов» — студентов немецких ВУЗов, которые оказывают техподдержку по основным пользовательским продуктам Майкрософт (операционная система, офис и пр.) у себя в ВУЗах. В рамках подготовки к этим мастер-классам я составил небольшой список «особенностей» или фич, показавшихся мне интересными и несколько неочевидными. Еще несколько фич мне подсказали сами студенты. Этот небольшой список со скриншотами я решил оформить в виде небольшого обзора. Конечно, не каждая из этих фич является новой или совсем неизвестной, но я постарался выбрать то. что мне показалось интересным.
Читать дальше →
Total votes 118: ↑98 and ↓20+78
Comments132

Подписан финальный SP1 для Windows 7 и Windows Server 2008 R2

Reading time1 min
Views5K
Windows 7 SP1Сегодня компания Microsoft разместила на внутреннем сайте корпорации финальную RTM-сборку первого пакета обновлений (SP1) для Windows 7 и Windows Server 2008 R2. Подписание прошла версия 7601.17514.101119-1850 — именно она становится золотой, и её Microsoft планирует в ближайшее время предоставить своим партнёрам.
Читать дальше →
Total votes 84: ↑62 and ↓22+40
Comments109

Создание каскадных меню с ярлыками избранных приложений в контекстном меню Windows 7

Reading time4 min
Views9.5K
imageСтрашное название, но не придумал, как это сказать проще.
Собственно, сама статья:

В ходе этой статьи мы разберем как добавлять ссылки на избранные программы в контекстное меню рабочего стола Windows или «Моего компьютера».

Инструкция разделена на 2 части:

1. Создание каскадных меню в контекстном и добавление ярлыков.
2. Добавление функциональности ярлыкам путем их регистрации.

Начнем-с…
Читать дальше →
Total votes 131: ↑113 and ↓18+95
Comments44

«Право на фотосъемку»: FAQ, версия 1.0

Reading time1 min
Views2.3K
Самая первая версия сборника вопросов о праве на фотосъемку была анонсирована на Хабре больше года назад. Тогда она носила номер 0.5, если я правильно помню. Затем за пару месяцев номер дошел до «0.7», и написание временно приостановилось.
В этой версии FAQ стал мегапопулярным. Кроме бесчисленного количества блоггеров и фотосайтов за прошедший год его перепечатала «Вебпланета» и журнал «Интеллектуальная собственность. Авторское право и смежные права» (№7 за 2010 год). В «Вебпланете» он вошел в десятку самых популярных материалов за 2010 год.
Ну, а сегодня на сайте опубликована следующая его версия, 1.0. Адрес — все тот же: "antirao.ru/faq/nophoto". По сравнению с предыдущей версией вопросов стало в два раза больше, а старые вопросы были существенно доработаны. Добавилась пара сотен ссылок на статьи законов из СПС «Pravo.ru». Итоговый текст увеличился примерно в три раза.
В нем отражены самые свежие изменения в законодательстве. Например, часто упоминаемое в прессе постановление, которое «запрещает съемку на 159 улицах Москвы» уже полгода как отменено. Да и сам сборник я мог выпустить еще месяц назад, просто пришлось ждать, когда Конституционный суд опубликует свое постановление о «шпионских камерах», чтобы дописать соответствующий вопрос.
Кроме того, в издательстве «по требованию» «Prostobook.com» можно заказать «книжный» вариант сборника, с цитатами из нужных нормативных актов, для ношения с собой и тыкания запретителей носом в конфликтной ситуации. Книга, как и сам сборник, распространяется по лицензии CC BY-SA.
Total votes 140: ↑138 and ↓2+136
Comments57

Мышиная возня

Reading time8 min
Views1.4K

Купил я прошлой зимой знаменитую MX Revolution замечательной фирмы Logitech. Мышь была приобретена в известной украинской сети по продаже бытовой техники Comfy. Я предварительно зашел в магазин, посмотрел мышку, уточнил цену, на тот момент она составляла 699 гривен (~$85) + дисконт. Причем когда продавец достал мне её с витрины, она была покрыта толстым слоем пыли, и вместо того чтобы протереть её, он долго смотрел на то, как делаю это я. На следующий день пришел с целью заполучить данный девайс. Когда стали пробивать товар, то выяснилось что цена возросла до 760 гривен, хотя на ценнике значилась прежняя. Причем продавец отказался принимать дисконтную карту мотивируя это тем, что это как бы акционный товар, который идет по минимальной цене. На мой вопрос «какой же он акционный если он еще вчера стоил на 60 гривен дешевле?», он молча потупил глаза. Мою Visa Gold тоже отказались принимать так как на нее идет 5% скидки. Самое интересное это то, что с момента открытия этого филиала в нем не было продано ни одного экземпляра MX Revolution. После этого я решил пойти на принцип и добиться того, что полагается мне по закону, а именно купить товар по цене указанной на ценнике. В общем после долгих упрашиваний и угроз пришел менеджер филиала, который разрешил отпустить мне мышь по заявленной цене, но правда без скидки.


дальше много текста
Total votes 83: ↑78 and ↓5+73
Comments55

Базовые стили и полезные CSS-сниппеты

Reading time6 min
Views148K


В этой статье собраны полезные  и «правильные» стили и сниппеты, которые помогут ускорить процесс разработки сайта, а также оптимизировать верстку.
Читать дальше →
Total votes 163: ↑118 and ↓45+73
Comments54

Information

Rating
Does not participate
Location
Ставрополь, Ставропольский край, Россия
Date of birth
Registered
Activity

Specialization

Specialist
JavaScript
CSS
HTML
JQuery
PHP
MySQL
OOP
Linux
Ajax