@prophp7

Страница 571 из 1387
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
Ребят, кто может подсказать, в чем разница между интерпретатором и компилятором? Как я понимаю, компилятор берет написанный код, и пропускает его через несколько этапов( синтаксический анализ, парсинг, семантический анализ и т.д), и выдает машинный код который потом выполнятся. А интерпретатор делает всё то же самое, только только построчно, и после прохождения этих этапов сразу выполняет строку. Так?

Евгений
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
Насколько я могу судить - нет. Сначала синтаксический анализ, потом - выполнение

Евгений
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
Чистых интерпретаторов сейчас еще поискать нужно. Как правило - это стат анализ + компиляция в байт-код и потом уже интерпретация байт-кода
Есть ли какие то статьи или книги на примете, где бы толково объяснялось как работает компиляция- интерпретация в php? А то искал и ничего толкового не нашел

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/

Не знаю если ли перевод, но там подробно вроде все объясняют как оно происходит

Magnus
28.08.2017
08:58:58
@empy26 https://www.sitepoint.com/how-php-executes-from-source-code-to-render/
Хоть и не я спрашивал, но за ссылку спасибо.

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

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

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

Timur
28.08.2017
09:02:15
с какой целью?
посмотреть как пишут другие, поробовать разобрать

Google
dypa
28.08.2017
09:07:33
посмотреть как пишут другие, поробовать разобрать
https://github.com/search?utf8=✓&q=topic%3Aphp7+language%3APHP&type=Repositories

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')

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
народ, можно ли как нить на стороне сокет сервера (stream_socket_server) проверить что у клиента включен TCP_NODELAY?
ну если принимать пакеты через RAW сокет, можно глянуть флаги, по идее PSH флаг может значить, что клиент c nodelay.

‮‮⚡️???⚡️‮‮
28.08.2017
10:41:17
Слушай, зачем ты такой ник себе взял?
думаешь помню. давно было )

Google
Andrey
28.08.2017
10:41:50
думаешь помню. давно было )
Убери RTL из ника, пожалуйста.

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
выглядит опасно

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 норм

Страница 571 из 1387