Рубрика «php» - 55

В интернете уже есть полно книг, статей, да и тех же постов на хабре для начинающих. Но, как по мне, то существует ряд нюансов которые обычно или вообще не упоминаются (видимо, их считают очевидными), либо же упоминаются очень редко. И это не советы из серии «изучайте код других разработчиков», «используйте git», «делайте бекапы» или «мойте руки перед походом в production-консоль». Это обыденные, практические вещи, которые приходят с некоторым опытом. Часть из них не пригодится если вы используете самые современные подходы к разработке, часть из них универсальны. Конкретно в этом посте выражен опыт PHP разработчика, но на самом деле множество пунктов подходят и к другим стекам разработки.

Если вы начинающий веб-разработчик — добро пожаловать под кат, Senior-ы вряд ли найдут там для себя что-то новое
Читать полностью »

Сегодня Adobe анонсировала, что покупает Magento за 1.68 млрд. долларов.
Эта покупка даст Adobe недостающую часть e-commerce платформы, которая работает в B2B и B2C сегментах и должна отлично вписаться в облачный стек компании.

Это также должно помочь Adobe конкурировать с Salesforce, которая предлагает свою облачную платформу и которая купила Demandware за более чем за 2 млрд долларов в 2016 году, чтобы предложить подобный функционал.
Читать полностью »

Интеграция с ЕСИА на базе oauth2-client (PHP) - 1

Представляем yet another PHP-пакет интеграции с ЕСИА — ekapusta/oauth2-esia. Реализован как адаптер к популярному league/oauth2-client.

Читать полностью »

В статье я поделюсь личным опытом разработки и реализации “волшебных ссылок”. Расскажу зачем они нужны в нашем проекте, как функционируют и в конце даже всплакну над тем, что отсутствие такого функционала в больших системах используемых мною заставляет меня гневно рвать на себе волосы.

Код будет только в одном месте, т.к. основная цель статьи — рассказать про саму идею, а не показать то, насколько красив код.

Magic link или история о том, как мы упростили жизнь пользователю - 1
Читать полностью »

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

У распределений даже стали появляться свои имена. Это и «борода Чурова» для выборов 2011, и «пик Володина» для знаменитых 62.2% в Саратове. Поскольку до сих пор даже на хабре появляются статьи, не знакомые с решением проблемы целочисленного деления и не согласные "добавлять мусор" небольшой случайной добавки в данные, давайте посмотрим на результаты совсем иначе. Мы зайдём к построению графиков с противоположной стороны, где проблемы целочисленного деления вообще нет. И тоже увидим пики на целых значениях.

Нахождение числа комиссий, «рисовавших» целые значения явки на президентских выборах РФ 2018 года - 1

Читать полностью »

Всего год назад я сидела на Хабре и читала подобного рода статьи для того, чтобы поддержать свой боевой дух, когда решила покинуть родной Казахстан и найти работу в Европе. Но, к моему сожалению, все статьи начинались примерно одинаково: “Меня зовут username и я программирую с 8 лет”. Я вам поведаю совсем другую историю.

Сказ о том, как я в Финляндию переехала - 1
Читать полностью »

image

Какие расширения вообще бывают

PHP module – оно же обычное расширение PHP
К этому типу относится подавляющее число расширений в PHP. Все то, что подключается в php.ini с помощью инструкции extension=some_library.so — это они и есть.

Zend extension
Расширений такого типа крайне мало, однако они ничуть не менее востребованы.

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

Читать полностью »

Последнее время, на фестивале РИТ++ докладов по серверному программированию меньше, чем по клиентскому. Связано ли это с популярностью noBackend подходов, общим смещением фокуса в сторону фронтенда, или просто традициями конференции, сказать трудно.

Тем не менее, в программе Backend Conf целых 25 докладов, и мы решили составить полный гид по ним всем. Потому что это все равно два потока, и все равно придется выбирать, куда податься.

Вся программа Backend Conf: от микросервисов до бесконечных данных - 1
Читать полностью »

В эту пятницу, 18 мая, состоится профессиональная конференция веб-разработчиков DevConf 2018. Приглашаем принять участие. Очень кратко про программу:

DevConf::BackEnd: Агрегатное мышление, переписывание проекта с Drupal 8 на Yii 2, Yii 2.1, PHP и фреймворки, Service Oriented Architecture, отправка уведомлений, sample profiling, open tracing, Business Intelligence.

DevConf::FrontEnd: HOC в React, WebRTC: видеозвонки из браузера, Headless Chrome, архитектура большого легаси проекта, JSON API, Фреймворк для индивидуального дизайна, Тестируй это, Node.js и бесплатный митап LuaInMoscow.

DevConf::Storage: MySQL/MariaDB/Percona Server: что нового, логическая репликация в PostgreSQL, SphinxSearch, ClickHouse, ProxySQL для отказоустойчивости MySQL, обзорный доклад про разные механизмы сжатия данных от Андрея Аксенова.
Читать полностью »

в 7:35, , рубрики: php, php iternals

Зачем простому PHP разработчику может понадобится дебаг исходников? Ну например если он заметил какое то не очевидное поведение и хочет разобраться в нем на максимально “низком” уровне. О таком интересном для меня поведение, а так же процессе “дебага сурсов” я и хотел бы поговорить.

Мотивация

Начнем с места в карьер, вот два похожих куска кода:

Раз

$arr = [];

for ($i =0; $i < 300; $i++)
{
  $arr[rand(1,1000)] = 1;
}
 
$sum = 0;
for ($i = 1001; $i < 200000000; $i++){
  if (array_key_exists($i, $arr)){
    $sum++;
  }
}

Два

$arr = [];

for ($i =0; $i < 300; $i++)
{
  $arr[rand(1,1000)] = 1;
}

sort($arr);
 
$sum = 0;
for ($i = 1001; $i < 200000000; $i++){
  if (array_key_exists($i, $arr)){
    $sum++;
  }
}

Разница между ними в том, что во втором случае мы отсортировали массив $arr, тем самым обновили ключи 0..count($arr)-1. А заинтересовал меня тот момент, что первый скрипт выполняется 6.0 секунд, тогда как второй 4.7 секунды. Получается около 20 процентов разницы.

Если Вы знакомы с внутренним устройством хэш-таблицы php а так же с хэш функцией то Вы или уже знаете ответ или можете без особого труда догадаться. Ну а для остальных я расскажу как настроить среду для дебага и выяснить в чем же дело.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js