Как стать автором
Обновить
15
0
Александр Панкратов @xtrime

Web разработчик

Отправить сообщение
Я читал на SO этот ответ. Но эту формулировку, видимо, удалили c php.net. Значит эта инфа более не актуальна. www.php.net/manual/ru/opcache.configuration.php#ini.opcache.enable-cli — тут ничего не написано про отладку.

Зато в документации по opcache.enable написано: «Если запрещено, код не будет оптимизироваться и кешироваться.»

Пользовался вестой пару лет. Но судя по этим сообщениям проект умер: forum.vestacp.com/viewtopic.php?f=10&t=19905

Сейчас настроил новый VPS на www.hestiacp.com и мигрирую туда. Это форк весты, но он активно дорабатывается и функционала чуть больше.
Отсутствие ЧС это удар по бизнесу и это очень плохо. Но это не говорит о том, что сидеть дома не нужно, раз нет чс. Чем больше люди будут сидеть дома, тем быстрее пройдет эпидемия. Пропуска и жесткий контроль — правильные меры.
Зачем вообще отдельная приложуха, если уже есть госуслуги с верифицированной учеткой… Специально делали единый портал и всеравно каждое ведомоство пилит свое. Напоминает шутку про 14 стандартов…
А передвижные холодильники для трупов и переполненные больницы не смущают?
Точно так же, как блоггеры зарабатывают на социальных сетях. Чем больше «подписчиков», тем больше шанс привлечь рекламодателей или что-то продать своим «подписчикам» напрямую. Это могут быть консультации, платная поддержка, платные дополнения, выступления на конференциях и тд…
Переходить к личностям, на мой взгляд не очень корректно. Наличие у меня автомобиля не делает меня экспертом в области двс и наоборот. Но если вам так хочется знать, да имеется. 3 литра, stage 2, 450 лс.

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

Не согласен. Пропуск зажигания это неисправность, о чем даже у вас в ссылке написано. Хотя доверия сео текстам у меня не много :)

Любой автомобиль с прямым впрыском топлива работает на сверхобедненых смесях топлива

При низких нагрузках (пробочный режим), да, afr может быть высоким (у себя наблюдал больше 20 по данным мониторинга). Но при интенсивных режимах движения смесь богатая.

колебания качества топлива вызывают пропуск зажигания в такте.

Что вы подразумеваете под колебаниями качества? Сниженное октановое число? Повышенное содержание серы? Повышенное содержание продиводетонационных компонентов топлива (эфиры, спирты, металлсодержащие и тд)?
Можно подробнее про связь состава топлива и пропусков зажигания? Даже в ссылке в качестве причин указаны только механические неисправности.

гениальная «идея» гасить температуру заливанием топлива так вообще по сути не сильно отличается от слова пропуск зажигания (по факту лишнее топливо как в первом так и во втором случае не успевает сгореть, и догорает уже после в выхлопной системе).

При обедненной смеси — да, выше температуры и ниже скорость горения. Смесь может догорать в выпускном тракте. При обогащенной — нет. Во-первых, скорость сгорания увеличивается значительно. Во-вторых, откуда в выхлопной системе окислитель для продолжения процесса горения, если его и в цилиндре-то не хватило?

www.drive2.ru/b/2311860 — тут хорошо описан процесс горения и на графиках видно, что пропуски могут быть только на очень бедной смеси.

Коррекция работы двигателя происходит постоянно. Цель современных блоков управления в том, что бы рабочий цикл был максимально близок к границе детонации. Именно там топливо сгорает максимально эффективно.

После того, как датчик детонации определит, что она имела место — софт корректирует режим работы (происходит откат углов). Если внешние условия резко меняются: выехали из пробки и втопили газ, или двигатель нагрелся, то детонация может возникать даже на высокооктановом топливе, потому что граница резко смещается. С пропусками зажигания в следствии откатов углов я не сталкивался, можно где-то почитать про это? Максимум, что видел: как «сдувает» искру с «слабых» свечей: bmwservice.livejournal.com/200933.html

Мне по прежнему кажется, что предложение ниже требует уточнения:
Пропуски зажигания — детонация это крайнее проявление нестабильности, и бывает при достижении предела на некачественных топливно-смазочных материалах.

Стук, возникающий в двигателях внутреннего сгорания, также называют детонацией (англ. knock), однако это не детонация в строгом смысле этого слова. Стук вызывается преждевременным самовоспламенением топливовоздушной смеси с последующим быстрым её сгоранием в режиме взрывного горения, но без образования ударных волн.

ru.wikipedia.org/wiki/Детонация
Неплохая аналогия.

Я бы еще добавил то, что старшие модели процессоров часто идентичны младшим, с физической точки зрения. При этом частота или количество ядер фиксируются производителями искусственно, для покрытия нескольких ценовых ниш без увеличения затрат на разработку.

Так же поступают автопроизводители: более дешевые модели иногда оснащаются другим блоком управления/прошивкой со сниженной мощностью. При этом сам двигатель идентичен таковому у старшей модели. В редких случаях даже предлагается возможность штатной перепрошивки в старшую модель у официального дилера за отдельную плату. Например: en.wikipedia.org/wiki/BMW_N20#N20B20 имеет широкий диапазон мощности для одной и той же модификации, а дилеры предлагают официальные пакеты увеличения мощности: www.bmw.ru/ru/topics/offers-and-services/original-bmw-accessories/Original_BMW_Accessories.пакет-увеличения-мощности-m-performance-power-kit-для-bmw-320d-и-420d1.html

Но не могу не отметить, что в статье есть небольшие неточности. Например:
«Пропуски зажигания — детонация ...»

Пропуски зажигания и детонация — противоположные по сути явления. Детонация — это взрывное воспламенение смеси после зажигания.

Так же я не согласен, с тем что даунсайзинг ведет к росту потребления топлива. Цель даунсайзинга — снижение массы движущихся частей и снижения потерь на трение. Делается это для повышения КПД и снижения выбросов. При этом общий вес турбомотора может быть даже больше веса аналогичного атмосферника, если брать в расчет интеркуллеры, нагнетатели, увеличенные радиаторы и тд…

Но аналогия с процессорами все же есть: тюнинг позволяет повысить мощность и при этом расход топлива зачастую снижается за счет снижения экологичности. При отключении EGR, удалении катализаторов, снижении рабочей температуры смеси — двигатель работает в более оптимальных режимах и выдает больше мощности без ущерба для надежности. По аналогии: при даунвольтинге снижается температура, вследствие чего CPU или GPU достигают более агрессивных частот в бусте даже без ручного оверклокинга.

Так же, мне кажется, что местами было бы уместнее использовать термин «тюнинг», а не «даунсайзинг».
www.alt-invest.ru/program
Это все сделано на макросах. Десятки лет Альт-Инвест остается одним из лучших решений для бизнес-планирования, оценки и тд…

А вот и гит: github.com/topics/vba-excel

Пример проекта, который билдится из исходников в пустой xslm через скрипт PowerShell: github.com/michaelneu/webxcel

Все что вы перечислили сделать возможно без особых костылей.

«Те, кто готовы пожертвовать насущной свободой ради малой толики временной безопасности, не достойны ни свободы, ни безопасности.»

Макросы это не только возможность записи действий для последующего повторения, но и полноценный VBA. Без макросов не создать серьезные расчеты в аналитике, финансах: сценарные подходы, изменение входных данных, генерация данных, графические формы и окна, доступ к сети, управление рекурсивными вычислениями и многое другое решается только макросами.

Вопрос в конце статьи можно переформулировать: «на языках программирования пишут вирусы, почему их не запретят?»

Хорошо, что Майкрософт проявляет благоразумие.
Hello, danog!

Im very pleased, its good to know that my work is useful! And i want to thank you for super easy step-by-step setup in madelineProto! :)

Thanks for example in bot.php, i will use async mode in madelineProto in my lib ASAP.

Also i'll try to use amphp in TelegramSwooleClient as alternative to swoole, when swoole extension is not available.

What do you need from me, to make TelegramSwooleClient official successor of PWRTelegram?
mmasiukevich спасибо за объективную критику, касательно блокирующих операций. Заменил стандартный Curl на \Swoole\Coroutine\Http\Client. Пришлось переписать всего 10 строк кода.

При одиночных запросах разницы нет, но когда идет одновременный запрос 5-10 медиа-файлов, то поведение TelegramRSS стало лучше. «Долгие» запросы на получение медиа файлов теперь не блокируют, например, отдачу главной страницы.
Спасибо! Почитал про psr7, стало понятнее!
Вы для чего брали swoole? что бы демона сделать? Зачем? Для каких целей?
Ну, как бы микроскопом можно гвозди забивать, но стоит ли?

Я абсолютно согласен, что инструмент должен подходить под цели.

Цель: демон на php, с которым легко наладить связь по http и который максимально легко написать, поддерживать и использовать. Почему вы считаете, что swoole не подходит для этих целей? Что подходит лучше? Roadrunner? Он точно проще?

Документация у него не самая полная. Например, что бы отправить медиа файл в swoole достаточно двух строк:
$response->header('Content-Type', 'image/jpeg');
$response->sendfile('%путь к файлу%');

У swoole, например, есть полный список методов для сервера и его вполне достаточно: www.swoole.co.uk/docs/modules/swoole-server-methods

А как это сделать в roadrunner я не смог найти. В документации всего один пример. Я даже не могу сказать, может ли roadrunner менять заголовки у ответов…
Использование swoole подразумевает отсутствие блокирующих операций.

Почему вы считаете, что подразумевает? Несомненно, это необходимое условие для того, что бы swoole мог обеспечить высокий RPS. Но меня не интересует работа при высоких RPS, меня интересует время отклика на одиночные запросы и упрощение работы с telegram api.

Тут вспоминается анекдот:
— А у тебя машина заводится в -25?
— Хрен ее знает, двери не открываются!

Нет никакого смысла в высоких RPS, ведь уже при 3 запросах в секунду телеграм заблокирует аккаунт за флуд и сервис превратится в тыкву :)

Но с таким же успехом можно было взять RoadRunner и не париться.

Можно было взять много чего. Если рассматривать только php, то есть еще amp. Но есть несколько факторов, из за которых я выбрал swoole:
  • он популярнее amp и roadrunner, если судить по звездам на гитхабе
  • помимо сервера у него есть много дополнительных возможностей среди которых: корутины, асинхронные операции
  • субьективное: код для запуска сервера на swoole выглядит аккуратнее

Единственный для меня минус: нет возможности использовать на shared хостингах или на VPS c openVZ, если swoole не установлен хостером.
Спасибо за отклик!

Следует ли из этого, что по мнению автора, без Swoole нельзя создать микросервис на php? Небольшой сервис, использующий php-fpm не будет считаться «микросервисом»?

Реализовать микросервисы можно на чем угодно. Вопрос только в удобстве использования, удобочитаемости кода, скорости разработки и простоты в поддержке. От использования нативного php для микросервиса меня отталкивают сложности в коммуникации с этим микросервисом. Swoole дает возможность использовать http/ws/tcp для коммуникации и делает приложение долгоживущим. Для этой задачи это было то, что нужно.

Это вообще невероятно спорное утверждение, ничем не подкрепленное. На мой взгляд оно развнозначно словам «Замороженные пельмени позволяют: ускорить запросы, инкапсулировать логику [...]»

Посмотрел список характерных свойств у микросервисной архитектуры: модульность, сгруппированность по функциям, независимость при обновлении/изменении. Конфликт тут только с утверждением «ускорить запросы». Вы правы, оно касается только моего конкретного случая и следовало бы указать это.

В итоге по-факту вы просто описываете кейс с применением swoole для создания долгоживущего приложения на php.

Совершенно верно, я даже добавил пометку tutotial, что бы подчеркнуть что это некая инструкция на настройке и использованию swoole в подобных ситуациях.

При этом практически не затронута сама тема микросервисов и построения соотв. архитектуры.

Буду признателен за пояснение или какие либо примеры.
Привет всем, кто использует мой тестовый парсер телеграм.

Я запустил вторую версию сервиса по конвертации телеграм в RSS. Стабильнее, с полностью валидным RSS и полной поддержкой медиафайлов!

Просьба перейти на использование нового парсера: tg.i-c-a.su

http://proxy.i-c-a.su:9503 будет отключен через 1-2 месяца.
Ссылки раньше были включены по умолчанию, но с ними возникали проблемы: если t.me переставал отвечать на запросы (soft ban), то скрипт падал целиком.

Я нашел место, где у меня был необрабатываемый exception, но по умолчанию изображения убрал.

Можете включить, добавив параметр `&images=1`:
http://proxy.i-c-a.su/?url=breakingmash&images=1

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность