Как стать автором
Обновить
68
0
Михаил Алфёров @malferov

Пользователь

Отправить сообщение

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

Время на прочтение10 мин
Количество просмотров50K
Эта статья базируется на главе 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) }

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

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

Время на прочтение19 мин
Количество просмотров130K

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", и даже рефакторинг!


Забавно, что символ # также можно было использовать для создания комментариев. Так что ничего не меняется в этом мире.
Читать дальше →
Всего голосов 37: ↑34 и ↓3+31
Комментарии58

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

Время на прочтение3 мин
Количество просмотров46K

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

Узнать больше про QR-коды
Всего голосов 11: ↑10 и ↓1+9
Комментарии57

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

Время на прочтение4 мин
Количество просмотров15K

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

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


Читать дальше →
Всего голосов 56: ↑55 и ↓1+54
Комментарии15

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

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



Читать дальше →
Всего голосов 217: ↑215 и ↓2+213
Комментарии71

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

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

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

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

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

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

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

Время на прочтение3 мин
Количество просмотров7.1K
В последнее время я наблюдал несколько десятков презентаций, которые начинались вот так:

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

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

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

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

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

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

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

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

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

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

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

Читать дальше →
Всего голосов 75: ↑68 и ↓7+61
Комментарии36

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

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



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

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

Время на прочтение3 мин
Количество просмотров3.4K
Некоторое время назад на Хабре писали о том, что Билайн открыл специальный сайт для борьбы с мошенниками. Правда, польза данного ресурса, как мне кажется, весьма сомнительна. Особенно принимая во внимание просьбы службы поддержки оператора.

Ну, обо всем по порядку.
Читать дальше →
Всего голосов 65: ↑56 и ↓9+47
Комментарии44

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

Время на прочтение3 мин
Количество просмотров22K
beeline_logo

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

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

Время на прочтение1 мин
Количество просмотров4.7K
Девятый пункт Договора об оказании услуг связи «Билайн» вынудил всех абонентов оператора «согласиться» на получение рекламы.

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

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

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

Виртуальные рабочие столы в Windows

Время на прочтение5 мин
Количество просмотров289K
На данный топик, меня сподвиг вот этот опрос. Здесь будут рассмотрены программы, позволяющие создавать виртуальные рабочие столы.

Много картинок!
Читать дальше →
Всего голосов 109: ↑93 и ↓16+77
Комментарии154

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

Время на прочтение1 мин
Количество просмотров5K
Windows 7 SP1Сегодня компания Microsoft разместила на внутреннем сайте корпорации финальную RTM-сборку первого пакета обновлений (SP1) для Windows 7 и Windows Server 2008 R2. Подписание прошла версия 7601.17514.101119-1850 — именно она становится золотой, и её Microsoft планирует в ближайшее время предоставить своим партнёрам.
Читать дальше →
Всего голосов 84: ↑62 и ↓22+40
Комментарии109

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

Время на прочтение4 мин
Количество просмотров9.2K
imageСтрашное название, но не придумал, как это сказать проще.
Собственно, сама статья:

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

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

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

Начнем-с…
Читать дальше →
Всего голосов 131: ↑113 и ↓18+95
Комментарии44

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

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

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

Время на прочтение8 мин
Количество просмотров1.3K

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


дальше много текста
Всего голосов 83: ↑78 и ↓5+73
Комментарии55

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

Время на прочтение6 мин
Количество просмотров146K


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

Правильные социальные share-кнопки

Время на прочтение2 мин
Количество просмотров80K
Социальные сети все сильнее проникают в нашу жизнь: сегодня наличие у сайта страницы или группы в социальных сетях — скорее норма, чем исключение, а многие пользователи Вконтакте используют свою ленту в качестве агрегатора новостей с интересующих их сайтов. Самый простой и, наверное, эффективный способ привлечения трафика из соцсетей — это размещение share-кнопок на страницах сайта. В этой статье немного рассуждений о проблемах таких кнопок и попытка найти идеальное решение.

Внешний вид


Читать дальше →
Всего голосов 113: ↑85 и ↓28+57
Комментарии78

Информация

В рейтинге
Не участвует
Откуда
Ставрополь, Ставропольский край, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Специалист
JavaScript
CSS
HTML
JQuery
PHP
MySQL
OOP
Linux
Ajax