All streams
Search
Write a publication
Pull to refresh
35
0
Иван @Aco

Программист, Web-разработчик

Send message
Ещё бы хоткеи выводил бы (по правую сторону), было бы вообще отлично.
для а-ля консоль рекомендую использовать readline расширение которое идёт по умолчанию в PHP. или же STDIN константу, которая ресура, на самом деле.
Aвтоинкремент от Instagram очень похож на Object_id в mongodb, там об это всё заранее подумали к счастью.
Не универсально, но почему бы не сделать видяшку в виде батареи ноута (просто идея в слух)? Гамаются, обычно, когда ноут подключен от сети ибо жрёт больше и батарея, как правило, долго не держит.
Неужели никто не сказал ещё этого слова?
Кто-нибудь скажет на каких технология построено сие чудо? Используются новые технологии (WebSocket, EventSource, а может Channel messaging)?
Сори, отрицание забыл дописать
if(!(($this->_state & self::FLAGS) & (($this->_state & self::FLAGS) - 1))){}


так как условие
(($a & FLAGS) & (($a & FLAGS) — 1)) ==0
если в $a только один бит из FLAGS

В противном случае условие не равно не равно:
if (((0b10001010 & 0b00001111) & ((0b10001010 & 0b00001111) - 1))) {}
if ((0b00001010 & (0b00001010 - 1))) {}
if ((0b00001000 & 0b00001001)) {}
if (0b00001000) {}
Когда объект может иметь 40 состояний, тут как-то с битами удобней
Часто использую битовые операции — позволяют сильно упростить условия. Резюмируя написанное:

добавляет бит(ы) из FLAGS в _state:
$this->_state |= self::FLAGS;

Удаляет бит(ы) из _state которые содержатся в FLAGS:
$this->_state &= ~self::FLAGS;

Наличие хотя бы одного бита из FLAGS в _state (может быть и все биты из FLAGS):
if($this->_state & self::FLAGS){}

Наличие всех битов из FLAGS в _state (в _state может быть и больше битов):
if($this->_state & self::FLAGS == self::FLAGS){}

Наличие всех битов в _state кроме битов содержащихся в FLAGS:
if($this->_state & ~self::FLAGS){}

В _state должен быть только один бит из FLAGS (например есть 5 состояний, но в одно время может быть только одно) Не исключает наличие других битов, не входящих в FLAGS:
if((($this->_state & self::FLAGS) & (($this->_state & self::FLAGS) - 1))){}
Правильная настройка сервера + «Transfer-Encoding: chunked» + flush(); в этом случае поможет
>Просто мне казалось, что в shutdown уже какие-то компоненты PHP деинициализированы.

До 5.0 интерпретатор переходил в «нестабильный» режим и там не всё так было хорошо. Однако сейчас всё работает в штатном режиме.

> PHP деинициализированы
если shutdown вызван падением от отсутствия памяти, но то значение, которое пыталось выделить память существовать не будет. Это единственная разница от обычного кода сейчас
согласен, сейчас делаю патч к PHP где все фатальные ошибки будут просто бросать исключения. Посмотрим что из этого выйдет
Ловит ошибки парсинга, отсутствия памяти, вызовов не существующих методов. Стоит упомянуть что после наступления register_shutdown_function следующее падение вы уже не сможете поймать, сколько бы не устанавливали register_shutdown_function. Таковы специфика этого коллбека.
Считаю использование ob_start не рационально. Малого того память жрёт так ещё может быть конфликт с использование других ob_start, например у smarty
В указанном обсуждении qa упоимнал про это habrahabr.ru/qa/14388/#answer_60290
register_shutdown_function(function () {
   $error = error_get_last();
   if ($error && ($error['type'] == E_ERROR || $error['type'] == E_PARSE || $error['type'] == E_COMPILE_ERROR)) {
       if (strpos($error['message'], 'Allowed memory size') === 0) { // если кончилась память
           ini_set('memory_limit', (intval(ini_get('memory_limit'))+64)."M"); // выделяем немножко, что бы доработать корректно
           Log::error("PHP Fatal: not enough memory in ".$error['file'].":".$error['line']);
	} else {
           Log::error("PHP Fatal: ".$error['message']." in ".$error['file'].":".$error['line']);
        }
        // ... завершаемся корректно ....
    }
});
1. 3D сканер
2. 3D принтер
3.…
4. PROFIT!!!
> Не могу понять, все так восхищаются,

я не восхищаюсь, но предполагаю что гугл на этом может не остановиться. предположим, взятие интегралов. а почему нет? Учиться действительно стало проще, всегда можно сверится с результатом ПО.

> Да любой ребёнок может написать программу для построения графиков, о чём вообще радость?

я бы так не сказал. не говоря уже об написании программы.
Круто, стало ещё проще не учиться
> баш|пиво|соседку
ммм, потоковый ввод

Information

Rating
5,391-st
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Software Architect
Lead
Golang
PHP
MySQL
MongoDB
Redis
Git
SQL