
Roman
28.08.2017
08:06:52
Камрады, PHP-Дайджест подоспел!
https://habrahabr.ru/company/zfort/blog/336500/

V
28.08.2017
08:07:49
Я знал что рано или поздно мы перейдем и на эту дрянь...

Andrews
28.08.2017
08:07:56
О, моя статейка есть

Aleksei
28.08.2017
08:14:09
Теплая сердцу весть.

Google

Евгений
28.08.2017
08:24:07
Ребят, кто может подсказать, в чем разница между интерпретатором и компилятором? Как я понимаю, компилятор берет написанный код, и пропускает его через несколько этапов( синтаксический анализ, парсинг, семантический анализ и т.д), и выдает машинный код который потом выполнятся. А интерпретатор делает всё то же самое, только только построчно, и после прохождения этих этапов сразу выполняет строку. Так?

Andrey
28.08.2017
08:25:25
Ребят, кто может подсказать, в чем разница между интерпретатором и компилятором? Как я понимаю, компилятор берет написанный код, и пропускает его через несколько этапов( синтаксический анализ, парсинг, семантический анализ и т.д), и выдает машинный код который потом выполнятся. А интерпретатор делает всё то же самое, только только построчно, и после прохождения этих этапов сразу выполняет строку. Так?
Интерпретатор выполняет код, а компилятор перегоняет код в машинный код.

Евгений
28.08.2017
08:27:05

Toxa
28.08.2017
08:28:23
Да, все те же операции, но не перегоняет в машинный код!

Dmitry
28.08.2017
08:28:25
Чистых интерпретаторов сейчас еще поискать нужно. Как правило - это стат анализ + компиляция в байт-код и потом уже интерпретация байт-кода

Andrey
28.08.2017
08:28:34
Обычно интерпретация состоит из трёх стадий.
Хм...
Хотя я всегда сам байт-код делал.
Чот не чистая компиляция получается.

Евгений
28.08.2017
08:30:23
В пхп допустим если я в середине скрипта не поставил точку с запятой, получается до этой середины весь код выполнится, т.к ошибок нету, а в середине выполнение прервется из-за ошибки в синтаксический?
В синтаксисе

Dmitry
28.08.2017
08:31:08
A compiler is computer software that transforms computer code written in one programming language (the source language) into another computer language (the target language).
In computer science, an interpreter is a computer program that directly executes, i.e. performs, instructions written in a programming or scripting language, without previously compiling them

Google

Magnus
28.08.2017
08:31:24
Насколько я могу судить - нет. Сначала синтаксический анализ, потом - выполнение

Dmitry
28.08.2017
08:34:33

Евгений
28.08.2017
08:35:17
Но пхп ж вроде интерпретируемый язык.
Запутался

Dmitry
28.08.2017
08:35:37
Чистых интерпретаторов сейчас еще поискать нужно. Как правило - это стат анализ + компиляция в байт-код и потом уже интерпретация байт-кода

Виктор
28.08.2017
08:36:41
Чистым интерпретатором PHP был в версии 3

Евгений
28.08.2017
08:37:37

dypa
28.08.2017
08:37:59
чет я не понял накой нужен https://dependr.io/ если есть composer outdated

Sergey
28.08.2017
08:57:18
@empy26 https://www.sitepoint.com/how-php-executes-from-source-code-to-render/
Не знаю если ли перевод, но там подробно вроде все объясняют как оно происходит

Евгений
28.08.2017
08:58:52

Magnus
28.08.2017
08:58:58

Timur
28.08.2017
08:59:46
можно пожалуйста ссылку на github где можно поразбирать чужой код?

?
28.08.2017
09:00:47

Andrews
28.08.2017
09:01:18
Сурово

dypa
28.08.2017
09:01:23

Timur
28.08.2017
09:01:36

Sergey
28.08.2017
09:01:44
Timur а в чем профит смотреть в чужой код?

Timur
28.08.2017
09:02:15

Magnus
28.08.2017
09:02:35

Google

dypa
28.08.2017
09:07:33

Timur
28.08.2017
09:08:38

Rm
28.08.2017
10:07:44
если не сложно, мне б массивчик пересобирать
конечнго и с sql и форычем
SELECT
DATE_FORMAT(t.created_at, '%d.%m.%Y'),
w.title,
COUNT(t.id)
FROM
posts AS t
INNER JOIN categories AS w ON t.category_id = w.id
WHERE
t.message_type = 0
GROUP BY
DATE_FORMAT(t.created_at, '%d.%m.%Y'),
w.title
такое вот думаю пойдет
0=>['date_format' => '28.08.2017'
'Skype' => 2
'viber'=> 6
],
1=> [....]

Alex
28.08.2017
10:09:41
В Ларике это просто keyBy('date_format')

Rm
28.08.2017
10:10:20

Alex
28.08.2017
10:11:18
https://laravel.com/docs/5.4/collections#method-keyby

Maksim (Ellrion)
28.08.2017
10:12:05
я думаю человеку нужен groupBy коллекции судя по впоросу

Rm
28.08.2017
10:14:03
вот такую тему делаю если что
щас, обед, спасибо, забегу почитаю после

Maksim (Ellrion)
28.08.2017
10:16:32
если сходу без тестов то вроде так)
$data->groupBy('date_format')->transform(function ($data) {
return $data->pluck('total_count', 'title')
});

Eugene
28.08.2017
10:21:14
народ, можно ли как нить на стороне сокет сервера (stream_socket_server) проверить что у клиента включен TCP_NODELAY?

⚡️???⚡️
28.08.2017
10:26:54
ска я уже испугался что артефакты на экране

Andrey
28.08.2017
10:27:47
У тебя вроде не ник @vasyan2010

Dmitry
28.08.2017
10:39:16

⚡️???⚡️
28.08.2017
10:41:17

Google

Andrey
28.08.2017
10:41:50

Rm
28.08.2017
10:53:54
спасибо щас будем пробовать
держи, разбирайся https://repl.it/K3Eu/0

Eugene
28.08.2017
11:11:37
я пробовал такой вариант:
while ($conn = @stream_socket_accept(...)) {
$sock = socket_import_stream($conn);
$nodelay = socket_get_option($sock, SOL_TCP, TCP_NODELAY);
...
}
но почему-то всегда получаю $nodelay равным 0

Dmitry
28.08.2017
11:14:42
зачем тебе такие вещи вообще детектировать, если ты не очень в tcp?

Eugene
28.08.2017
11:14:58
для интеграционных тестов

Mofsy
28.08.2017
11:15:00
Нельзя так просто взять и в цикле принять сокеты

Антон
28.08.2017
11:15:42
выглядит опасно

Eugene
28.08.2017
11:16:10

Dmitry
28.08.2017
11:17:00
причем тут интеграционные тесты

Eugene
28.08.2017
11:17:42
притом что я тестирую клиента, который может ставить а может и не ставить флажок TCP_NODELAY
так что, есть идеи от тех кто "очень в tcp"?

Dmitry
28.08.2017
11:38:45
исполняй клиент из под strace и смотри, какие опции ушли в ядро ;)

Eugene
28.08.2017
11:47:47
да, я думал про strace, но как то уже оверкилом попахивает )
если кому интересно, мне ответили на room 11: https://chat.stackoverflow.com/rooms/11/php

Mikhail
28.08.2017
11:52:56
Такой вопрос, тем кто симфони пользуются, по опыту, маппинг лучше делать через аннотации, yml, или php ?

Dmitry
28.08.2017
11:53:07
Ответили, что нельзя? достойная ссылка на чат. На самом деле можно, но сложно.. например, анализируя пришедшие данные и задержки в этих данных. Хорошо зная, что клиент отправляет - можно предположить, включен Нейгл или нет. Но это все очень сложно и требует очень хорошего знания tcp.

Mikhail
28.08.2017
11:53:25
про доктрину то есть)

Google

Patrik
28.08.2017
11:53:43

Dmitry
28.08.2017
11:54:28
По-этому проще сказать, что нельзя... да... и strace тут самый простой и верный способ. Ибо ты тестируешь интеграцию своего юнита с ядром.... в ядре и проверять.
Но беда в том, что, насколько я помню, из ядра это тоже получить нельзя... нужны сторонние модули ядра, типа такого https://github.com/veithen/knetstat
Так что strace норм

Eugene
28.08.2017
11:55:46