Как отправить процесс в фоновый режим?

Сколько лет работаю, всегда отправлял процессы в фоновый режим с помощью screen. И все бы хорошо, только вот если изначально не думаешь, что выполнение займет много времени, то велик шанс просто начать выполнять процесс. А когда захочешь пойти домой, то окажешься на распутье — то ли идти отдыхать, то ли ждать энное количество времени, когда… Continue reading Как отправить процесс в фоновый режим?

array_map(‘intval’, $array) vs. array_map(function($val) { … }, $array)

И я продолжаю серию своих никчемных исследований… <?php ini_set(‘memory_limit’, ‘4096M’); $array = []; for ($i = 0; $i < 1000000; $i++) { $array[$i] = (string)$i; } $start = microtime(true); $tmp = array_map(‘intval’, $array); $end = microtime(true); echo ‘array_map(\’intval\’, $array): ‘ . ($end – $start) . PHP_EOL; $start = microtime(true); $tmp = array_map(function($value) { return (int)$value;… Continue reading array_map(‘intval’, $array) vs. array_map(function($val) { … }, $array)

1Password

Я всегда думал, что пароль, который использовал для многих своих, скажем так, основных учетных записей достаточно надежен, но то ли бдительность потерял, то ли просто нельзя так долго использовать один и тот же пароль. В общем, перед самым Новым годом мой твиттер оказался взломан. За неделю пока я не заходил прочитать свою ленту, там наспамили… Continue reading 1Password

array_key_exists vs. isset

Очередное маленькое бесполезное исследование скорости работы двух похожих функций. Код и результаты, как водится, ниже. <?php $array = range(0, 1000000, 3); $start = microtime(true); for ($i = 0; $i < 1000000; $i++) { array_key_exists($i, $array); } $end = microtime(true); echo ‘array_key_exists: ‘ . ($end – $start) . PHP_EOL; $start = microtime(true); for ($i = 0;… Continue reading array_key_exists vs. isset

PhpStorm Best Practices

Я уже несколько лет использую Jetbrains PhpStorm, начиная с самой первой версии. С каждым новым релизом он становится все лучше и радует все больше. (Последнее утверждение не касалось третьей версии, тогда пришлось вернуться обратно на двойку.) На мой взгляд это лучшая среда для разработки на PHP. Но на деле я не использовал ее даже на… Continue reading PhpStorm Best Practices

Published
Categorized as PhpStorm

Обновление PHP в Mac OS X

Сегодня мне рассказали про очень простой способ обновить PHP на локальной Mac OS X. Шаг 1. Сначала необходимо установить Xcode, если вы этого до сих пор не сделали. Запускаем его, идем в меню Xcode → Preferences… и выбираем тут закладку Downloads. Жмем “Install” напротив Command Line Tools. Шаг 1 завершен, в дальнейшем при очередном обновлении этого… Continue reading Обновление PHP в Mac OS X

Меняем историю

На работе мы имеем дело c git и github. Чтобы не захламлять историю нашего основного репозитория на гитхабе, мы решили соединять коммиты перед пулл-реквестом. То есть вместо истории: 9fc47c08e9d70cdd33768eff1dd0c4ea95c95a7f Создал класс для фичи 69e87e4eee9bc656184a8e32c619625db0b2f51f Написал класс этой фичи 4644b4d8111fd6a9fb38087bfa9f869215ff842e Правлю баг… 4881c35c6d58e0453e737a06ae19d264acddf423 Правлю другой баг… 86861e363530a4924217e4a497a74b168beb157d Форматирование! 9680a87d2a86bb205615afeb6a9780fc7a914ef5 Все, теперь можно! Мы получаем нечто вроде: 38b34074eb416155167b10c6914c95ee4c26d2e6 Фича такая-то. Описание особенностей. Понятно,… Continue reading Меняем историю

Кирдык казанской Мамбе

Узнал, что дополнительный офис разработки, расположенный в Казани, Мамба решила расформировать. Если нужны контакты хороших PHP-программистов, обращайтесь, могу порекомендовать несколько человек.

Published
Categorized as Бред

function_exists vs. extension_loaded

Одно небольшое бесполезное исследование провел сегодня на работе по долгу службы. Код и результаты его выполнения ниже. <?php $functionExistsStart = microtime(true); for ($i = 0; $i < 1000000; $i++) { function_exists(‘this_function_doesnt_exist’); } $functionExistsEnd = microtime(true); $extenstionLoadedStart = microtime(true); for ($i = 0; $i < 1000000; $i++) { extension_loaded(‘this_extension_is_not_loaded’); } $extenstionLoadedEnd = microtime(true); echo ‘function_exists ‘… Continue reading function_exists vs. extension_loaded

Последние события

Как я писал ниже, я сменил место работы, но писать об этом в блоге пока что не хочется. Поэтому пришлось придумать повод — я записался на мастер-классы по веб-разработке. Это может показаться смешно, так как я и сам, наверное, мог бы их вести и даже для более подготовленных слушателей, чем присутствовали вчера на первом занятии.… Continue reading Последние события