@phpclubru

Страница 95 из 956
Pavel
27.01.2017
11:50:03
Да, отлично

Но имхо в finally как раз делать такие проверки не логично - там должно быть нечто, инвариантное к предыдущей ситуации в коде.

Adel
27.01.2017
11:51:23
+1

Dmitry
27.01.2017
11:54:40
это ты сейчас так заумно сказал "ифы в файнали недопустимы"? :)

Google
Pavel
27.01.2017
11:55:49
Не совсем, инвариантно - значит независимо от того что там было до - исключение или return или все в порядке - в finally должен быть один и тот же уютный код

Если там ифы будут из-за другой логики, то почему бы нет

Dmitry
27.01.2017
11:57:47
какие ваши доказательства

Pavel
27.01.2017
11:58:59
Клянусь святым асинхронным генератором

Dmitry
27.01.2017
12:04:25
асинхронные клятвы не принимаются, а то знаем вас... оставят вместо клятвы банальный promise и свялят

Adel
27.01.2017
12:10:37
)))

dypa
27.01.2017
12:25:17
Коллеги - как думаете стоит проводить DevConf в этом году? Что нового появилось с прошлой что хотелось бы узнать, обсудить и прочее?
не был ни на одной конфе, но: 1) невозможно разоравться между всеми залами, а послушать полезно всё 2) скучные доклады лично для меня сначала читают changelog, и статьи из wikipedia, потом приходит мастодонт и рассказывает как у них всего много (но не рассказывает про архитектуру) и обязательно начинается пиар фреймворка нужного 3,5 людям на планете. только не подумай что я говорю что всё говно и всё плохо, вы молодцы. ps открыл секцию по golang - там описания в разы интереснее - люди делятся реальными проблемами. pss лично мне понравился формат fwdays

Dmitry
27.01.2017
12:26:26
да в общем почему я на всякие хайлоады и риты перестал ходить... вроде даже интересная тема, а по итогам - ничего нового

Pavel
27.01.2017
12:26:35
+

Получается что интереснее компактные целевые митапы

Где 3-4 доклада по 20 минут

Dmitry
27.01.2017
12:27:49
ну и работу еще искать, которая все эти конфы оплачивала, своего бабла жалко

dypa
27.01.2017
12:27:53
Google
dypa
27.01.2017
12:28:20
ну и работу еще искать, которая все эти конфы оплачивала, своего бабла жалко
о, у меня каждый 5й на собеседовании спрашивает про оплачиваемые конференции :)

Dmitry
27.01.2017
12:29:06
ну я понимаю их... ибо они дохрена стоят, а по первости - может даже и полезный опыт

dypa
27.01.2017
12:32:32
добавлю, на конференцию сеньоры ходят послушать про архитектуру, опыт решения сложных проблем (для @confguru)

Eugene
27.01.2017
12:32:53
или просто выпить

dypa
27.01.2017
12:33:27
хотя лично мне комфортнее всегда посмотреть запись, всегда можно сделать паузу и обдумать, перемотать назад если не понял глубокой мысли автора

Dmitry
27.01.2017
12:33:38
блин, ну ты же понимаешь, что решение сложных проблем - это или банальщина, которую все знают, или кастомщина, которая никому не подойдет больше

тем более, что большинство этих опытов - они с потолка, без какой-то серьезной аналитики разных решений, ибо это ваще очень дорого

да и действительно сложные внутренности не втиснуть в доклад...

Pavel
27.01.2017
12:36:32
Имхо доклады должны быть не техническими а больше пропагандистско-эмоциональными, чтобы зажечь желание копаться в теме дальше

тем более, что большинство этих опытов - они с потолка, без какой-то серьезной аналитики разных решений, ибо это ваще очень дорого
Помню пару лет назад на девконфе выступал парень про то как прикручивать DDD к yii1, и перед докладом он объявил что его уволили :D

Dmitry
27.01.2017
12:37:31
о, да... потом такой вот напропагандированный приходит в офис и тимлид берет больничный... на время, пока не выветрится

Pavel
27.01.2017
12:37:37
Может он даже в этом чате есть

Dmitry
27.01.2017
12:38:27
ddd ваще срамные буквы ;) сразу отказ на собеседовании ;)

Pavel
27.01.2017
12:38:52
Есть хорошие технические тулзы про которые никто не знает, им бы не помешало пиара и презентаций

Dmitry
27.01.2017
12:39:18
хабр читай ;)

Pavel
27.01.2017
12:40:44
Да там мало по пхп

Вот сколько появилось тулз за последнее время, никто про них не рассказывает

dypa
27.01.2017
12:41:02
спасибо
главное учитывать мое мнение слишком сильно - тк я 146% не заплачу за билет на devconf ближайшие 3 года

Dmitry
27.01.2017
12:41:53
;)

Google
Dmitry
27.01.2017
12:42:03
и мое слишком сильно учитывайте ;)

dypa
27.01.2017
12:43:31
Вот сколько появилось тулз за последнее время, никто про них не рассказывает
для джунов был бы хороший доклад про использование SPL. а то спрашиваешь людей использовали - говорят нет. кстати про то как устроен composer был бы не плохой доклад

dypa
27.01.2017
12:49:18
А что в composer сложного? Пересказ мана?
внутренности вполне интересны, вот что происходит после composer install или new Foo

ман можно пересказать в формате: самые интересные грабли

вон @chebotarevp поднимал вопрос использования amphp на проде если я верно помню

Dmitry
27.01.2017
12:51:31
когда все баги в проекте исправлены - наберите composer update для загрузки новых багов

Pavel
27.01.2017
12:51:36
да

ни одного доклада по асинхронности ваще =)

Хотя эта тема уже с 2015 года развивается

Dmitry
27.01.2017
12:52:23
потому что все, кто развивает асинхронность на пхп - быстро сваливают на что-то более подходящее ;)

dypa
27.01.2017
12:52:31
по сути с приходом php7, пхп может быть как нода

Pavel
27.01.2017
12:52:58
внутренности вполне интересны, вот что происходит после composer install или new Foo
У меня даже вставала проблема, связанная с асинхронностью и компосером - как подгружать пространства имен если скрипт работает в виде демона и его надо на горячую релоадить.

Dmitry
27.01.2017
12:53:40
не релоадь на горячую ;)

не так много причин горячего релоада

Adel
27.01.2017
12:54:34
Докладчик про ДДД которого уволили - это Иван Матвеев :) и он сейчас в хорошей конторке работает

Dmitry
27.01.2017
12:54:54
а уволил его григори? ;)

Pavel
27.01.2017
12:56:50
Подожди, он же тут писал вроде?

Помню даже аватарку его, в смокинге

dypa
27.01.2017
12:57:26
а по тонкой настройке php-fpm было что нить толковое?

Google
Dmitry
27.01.2017
12:58:04
гм, а что там тонко настраивать... фикачишь стресс-лоадером и смотришь, при каком числе воркеров загнется все

хотя рассказать можно было бы, но там доклада то на 15 минут

Pavel
27.01.2017
12:59:05
не релоадь на горячую ;)
Вот есть у меня допустим асинхронный движок воркера, который написан на пхп с компосером. И есть сами воркеры, который являются частью проекта. Они со своим компосером тоже, и когда движок инклюдит эти файлы воркеров, то могут возникнуть конфликты неймспейсов

Dmitry
27.01.2017
13:00:43
можно упростить до "у меня есть два проекта со своими композерами, и я хочу из первого сделать инклуд второго". И сразу "шооооо?!" ;)

вообще для пхп воркеров асинхронный движок на пхп... это какой-то изврат... воркеры, то поди, как отдельный процесс каждый работают?

Pavel
27.01.2017
13:05:05
вообще для пхп воркеров асинхронный движок на пхп... это какой-то изврат... воркеры, то поди, как отдельный процесс каждый работают?
Не, я считаю это абсолютно нормальная крутая идея, которая пока еще не реализована толком. Такие асинхронные IO молотилки могут на одном треде десятки и сотни корутин обрабатывать - письма рассылать, вычитывать задачи из реббита и т.д.

Dmitry
27.01.2017
13:07:06
в тредах?

Admin
ERROR: S client not available

Pavel
27.01.2017
13:07:39
Ну если что вычислительное попалось - можно тред или процесс породить, а так в одном треде все можно делать

Как нода и поступает

Короче што я распинаюсь, в раби уже такое вовсю реализовано https://github.com/mperham/sidekiq

Dmitry
27.01.2017
13:10:19
ну вот и получится, что почти все задачи или по отношению cpu/io ближе к cpu или же ты выносить io bound в отдельный асинхронный сервис и сливаешь ему

вот офигенный пример, да ;) сделали из руби какой-то мультитул, и в итоге никому она не нужна

Pavel
27.01.2017
13:11:52
На ней работает гитлаб если я правильно помню

Dmitry
27.01.2017
13:12:40
гитлаб? это тот, у которого мои пуши пары файлов по 20 секунд уходят и сохранение страницы в вики секунд 40?

а все потому-что приходит радостый юниор вася, херачит математику, и вся твоя асинхронность виснет

Pavel
27.01.2017
13:13:40
У нас на прошлой работе очень была такая потребность - 5-6 проектов было, на каждом 3-5 воркеров работает. Письма рассылают, счетчики обновляют, рейтинги пересчитывают в базе и т.д. Это запускалось просто как 5 консольных команд например. Отмасштабировать это нельзя было, посмотреть статистику по выполняющимся задачам - тоже, следить за падающими демонами нужно.

Dmitry
27.01.2017
13:13:58
а потом девопс носится по офису с матерными воплями

Google
Pavel
27.01.2017
13:14:41
Не утрируй, у нас было все нормально ;) Мы сами там и девопсили и код писали и носились с воплями.

Dmitry
27.01.2017
13:14:50
пффф... следить за твоим супер-пупер асинхронным мультитулом не нужно?

Pavel
27.01.2017
13:15:21
пффф... следить за твоим супер-пупер асинхронным мультитулом не нужно?
Если это как опенсорс проект который постоянно допиливается - то не нужно, он кучу работы на себя берет.

Dmitry
27.01.2017
13:15:36
прекрасно масшабируется, просто нужно смотреть сервисно-ориентированно, есть сервисы, есть менеджер задач, который рассовывает их по сервисам

в опенсорсе демоны не падают! ;)

Pavel
27.01.2017
13:16:16
В семерке - не падают ;)

Можно отловить любой throwable

Dmitry
27.01.2017
13:16:48
аааха ;) таже out of memory?

Pavel
27.01.2017
13:17:25
Да это забарывается ловко

Dmitry
27.01.2017
13:18:01
ну да... достаточно лишь сразу писать идеальный код, и все ;)

Pavel
27.01.2017
13:18:23
Один легковесный процесс-контроллер порождает второй процесс с воркерами, сам не жрет память и следит за ними

Если надо еще воркеров порождает, зависшие убивает, релоадит и все остальное

Dmitry
27.01.2017
13:18:53
с тредами? ;)

Pavel
27.01.2017
13:19:41
с процессами. У них разные пространства памяти.

Dmitry
27.01.2017
13:21:17
и каждый процесс в event loop и выполняет разные задачи?

Pavel
27.01.2017
13:21:39
Да там насколько хватит фантазии придумать

Может одну блокирующую задачу, может несколько асинхронно. Это уже дело техники.

Dmitry
27.01.2017
13:22:04
не надо фантазии, нужно архитектуру под задачи строить, а не задачи под архитектуру

Pavel
27.01.2017
13:22:44
Отдельный проект строится универсально для всех задач и не зависит от архитектуры

По умолчанию можно сажать каждый воркер в свой процесс и пусть он работает синхронно в один тред.

Dmitry
27.01.2017
13:26:09
да просто у тебя фантазия приведет к невменяемому коду. "Может одну блокирующую задачу, может несколько асинхронно. " - вот как это? У тебя 10 воркеров, как ты поймешь, что у тебя 5-й воркер занят блокирующей задачей, и, хотя сейчас по rr его очередь, нужно его пропустить?

да только таймаутом, значит у тебя каждая блокирующая будет замедлять распределение задач

Страница 95 из 956