Pull to refresh
-1
0
Игорь @arku

Php Developer

Send message
Да, с этим пакетом было получше, но все равно некорректная информация проскакивала регулярно. Например на staging можно было наблюдать транзакции по 150 секунд. Кто-то начинал транзакцию, но она не заканчивалась, пока кто-то еще не присылал request. Под нагрузкой было не заметно, но осадок остается — как после такого данным верить?

Сейчас мы скооперировались с разработчиками RR и родили плагин для RR, который из golang части позволяет мерить со 100% аккуратностью, это для нас стало значительным плюсом по сравнению со swoole, где всё в NR вроде выглядит хорошо, но полного доверия как то нет… :)
Увидел что вы используете newrelic и swoole и очень удивлен — в таком режиме он ведь не может гарантировать, что в рамках одного request будет завершена та же транзакция, что и
была начата. В нашем случае это происходило рандомно и это было очень хорошо заметно, особенно по вкладке Errors, где на «endpoint A», был выкинут «EndpointBException», который встречается только на «endpoint B».
Могу поделиться своим опытом. Был проект на Phalcon, решили двигаться в сторону Swoole. Медленно перешли на Laminas/mezzio. Медленно т.к. пришлось значительно переделать проект под то, чтобы понимать, что мы оставляем в памяти. Зарелизили swoole на продакшен — выявились проблемы с APM (newrelic), решили что буст по перфомансу не стоит некачественной APM информации. Вернулись в phpfpm. Сейчас пытаемся в Roadrunnner, доработки проекта, за исключением кастомного worker.php из документации не потребовалось вообще — работает из коробки. RR показывает значительный прирост по большинству endpoint, но не на всех, на текущий момент изучаем, что именно тормозит.

Swoole еще не понравился довольно скудной документацией и тем, что шаг вправо, шаг влево — китайская дока.
Они сломали кое-что в 2.2.0 и починили в 2.2.1 :)
github.com/composer/composer/issues/10382

Много чего посыпалось на самом деле, но т.к. у всех рождество, никто не горевал особо =)
до 5% звучит размыто :) Возможно сохранился какой-нибудь график, где после деплоя видно, что стало например на 1мс быстрее?
Спасибо за статью!
Подскажите, сколько по факту получилось сэкономить времени при реализации Reverse-proxy стратегии?
Т.е. например есть endpoint, он отдает инфу за 100мс, из них 80мс это http запрос к другому сервису. Сколько в таком случае получается сэкономить?
Это компания, предлагающая построить дом за указанную цену. С землей написано невнятно, вроде как входит в цену, но даже если и да, это по прежнему в деревне, вдалеке от крупного города.

400к за дом — это действительно можно найти, но 400к за «Трёхэтажный дом с гаражом и сауной» — имхо, такого на рынке нет вообще.
Это какой-то третьесортный сайт, есть проверенные www.immobilienscout24.de или www.neubaukompass.de

за 400к действительно можно найти дом*, но это 100% в деревне, в лучшем случае километрах в 30 от крупного города.

*Под домом — я подразумеваю новостройку (4-5 комнат, 100-120m2) или близкую к нему, развалюху 1850 года можно найти значительно дешевле. Вдоль польской границы можно найти что-нибудь начиная от 30.000 евро.
Которые не final — те abstract, верно.

100% покрытие — это действительно так себе цель, но код должен иметь такую возможность :) В реальности, 30% в проекте — уже хорошо :pepe:
Для себя я выработал следующее правило:
— Все классы должны быть final
— Если удается достичь 100% покрытия этого и всех зависимых классов несмотря на final — интерфейс не нужен.
Обычно, увы, такого не получается, поэтому интерфейсы нужны чуть менее, чем всегда.

Чтобы жизнь была проще, в PhpStorm есть Ctrl+T по имени классу и Extract Interface, с галочкой «заменить все использования». Это позволяет ОЧЕНЬ легко проводить рефакторинг старого кода.
Вроде тред про Германию был, про US рынок не знаю почти ничего, сорри.
Говоря о процентах по ипотеке — не забывайте о теле кредита, в РФ оно в десятки раз меньше. Среднестатичная 3кк квартира в городе из топ10, в новостройке стоит 400к евро — таких цен в РФ нет.
хостил несерьезное, пара тройка часов даунтайма было норм для меня. Тем не менее, последний «дамп» — там. Надеюсь хотя бы через пару дней оживут…
Красивая многоходовочка однако.
Акт 1. Говорим «забаним nginx» — бурления 146%
Акт 2. Говорим «забаним твитч» — бурления 20%, ибо в первом акте уже отбурлили
Акт 3. Баним твитч. Бурления минимальные, ненуачо, nginx же не тронул!
С одной стороны мотивирует, с другой стороны, когда у тебя стандартный 5\2 рабочий график, то записать 10 минутный туториал = 10 часов работы = почти все выходные… Вот так и выходит что работаешь круглосуточно, а отдыхать когда?:) work-life-balance все дела…
Лечебный? Значит врач прописал? Тогда страховка покроет.
Сами диагностировали или лечебный=тайский? Тогда это развлечение, а развлечения в европе значительно дороже :)
У меня Upper-intermediate, есть сертификат выданный 5 лет назад. На работе язык общения английский, владею «свободно». Тем не менее, читать книги, смотреть фильмы и подкасты
«свободно» — я не могу. Много незнакомых слов. Тупо словаря не хватает. Если вы можете — у вас уже явно не Upper-intermediate :)
P.S. Живу не в англоязычной стране, вероятно это тоже решает.
del
не та ветка =(
Проведу вам аналогию.

Вам из Омска надо в Москву. На выбор — дорогой и быстрый самолет (погружение в среду), медленный поезд\автобус (курсы языка), пешком — бесплатно, медленно, можно сдохнуть не дойдя до цели.
В целом можно делать примерно так же, как и LaravelCollective/annotations.

Получаем список классов контроллера. Получаем список методов. Вызываем их все, внедряя туда «Роутер*». В контроллере проверяем, если есть внедренный роутер, то получаем маршрут для этого метода. Если маршрут подходит — вызываем этот маршрут, без внедрения роутера.

Костыльно? Да. Более чем. Я бы даже сказал, что звучит еще ужаснее :)
Хуже\медленнее чем вариант с аннотациями? Едва ли.

Information

Rating
Does not participate
Location
Hamburg, Hamburg, Германия
Registered
Activity