сколько часов занимает чтение? А то разрабы Symfony не в курсе.
У doctrine/annotations как минимум есть кэш. Это к слову о чтении аннотаций.
А doctrine/orm генерирует proxy-файлы, в которых помимо нативного php-кода больше ничего нет.
Чтобы взять и использовать, не хватает поддержки сеттеров-геттеров для полей, как и в большинстве подобных библиотек. Допилить их не большая проблема, но видеть их из коробки — уже большое дело. Поддержка сеттеров и геттеров помимо типизации полей дает возможность легко допилить эмуляцию реляционных связей.
Это если закрыть глаза на:
статические вызовы и переменные ($class:: в эту же копилку)
отсутствие тестов (и не очень-то большую подготовленность к тестированию, честно говоря)
малую распространенность ADODB
Ну а если бы вы положили все это в репозиторий, добавили README.md и composer.json, остальные участники помогли бы вам сделать 90% рутинной работы.
Было бы интересно посмотреть на сравнение (плюсы/минусы) вашей библиотеки и других существующих, вроде:
Не могли бы вы привести примеры случаев из практики, в которых соната оказалась неподъемной/неоправданной? Спрашиваю не из праздного любопытства, а поскольку есть планы на её использование. Предыдущий мой опыт был положительным, но дальше многосвязанного CRUD дело не пошло.
А есть сейчас достойные решения (и не обязательно даже на Symfony), которые будут стройные по архитектуре, поддерживаемые, и реализовывать хотя бы малую часть из того, что уже реализовано и работает в сонате?
Да, в ней порядочно недостатков, срашного кода, и сообщество только формируется. Но она отлично выполняет свою задачу — иметь быстро поднимаемую и достаточно гибкую админку для проекта, который можно строить по любым канонам и убеждениям.
Когда админка — это всего лишь задний двор проекта, можно сосредоточиться на основной работе и использовать уже готовое решение.
Интересный порыв.
И мотивы есть:
1) расширение интеграции браузера в систему. Например, уже сейчас есть приложения-расширения для барузера, общающиеся с железом (через com-порт): CleanFlight — приложение для настройки квадрокоптеров. Вместо расширения можно было бы реализовывать подобный функционал онлайн.
2) есть же еще chromeos, наверняка это нововведение облегчит задачи поддержки/разработки/продвижения этой системы.
Любопытно, сколько ресурсов (времени на настройку и обработку, места, памяти) потребуется, чтобы построить индекс по этим данным с помощью специализированных средств. Например, загнать это все в elasticsearch.
Это определенно даст огромный выигрыш в анализе данных, но усложняет первоначальный процесс подготовки данных.
При наличии современного ноутбука достаточно легко поднимается производительная виртуалка с нужным стеком.
У коллекторных двигателей другие характеристики и на коптере это выражается в меньшей тяге и отзывчивости при таком же весе по сравнению с БК. В ветреную погоду больше риск потери управления.
Причем, если открыта не просто вкладка, а приватное окно — нужно закрывать его со всеми вкладками. И для тестирования, например, сессий или кук аналогично.
Статья отличная, но заголовок (и вступление) отпугивает. Ощущение, что под катом реклама «самого дешевого убыстрятеля сайтов» или еще какой-нибудь спам.
P.S. если ваш сайт уже загружается достаточно быстро, можно посмотреть на него со стороны пользователей со слабым каналом (мобильные клиенты, удаленные пользователи и т.п.). С (относительно) недавнего времени для этого отлично работает throttling во все тех же Chrome Developer Tools. И не забывать включать/выключать кэш (Disable Cache) для чистоты эксперимента.
Любопытно, сильно ли изменилась система с 2011 года. За 4 года и вовлеченность пользователей в интернет многократно увеличилась, и технические возможности информационных систем.
P.S. В видео-формате, на мой взгляд, презентация воспринимается легче:
И опять Bluetooth :( Обычно желание выключить утюг приходит за пределами квартиры.
Напрашивается локальный bluetooth-wifi шлюз для вывода всей этой голубозубой армии в мобильные устройства через публичные сети.
P.S. я наверное отстал от технологий, но сейчас есть возможность одновременной работы с несколькими подключенными по bluetooth устройствами? Что если я слушаю музыку на внешней колонке и нужно проверить статус утюга?
Перепроверил еще раз — при включенной опции open_basedir realpath_cache_size() действительно возвращает ноль. Не могу никак найти обработку open_basedir в контексте realpath_cache в исходниках.
Однако, если вы говорите о lstat как о функции PHP, а не о системном вызове
По выводу realpath_cache_size() нельзя делать выводы о кэше lstat() (и stat()), потому как для них реализованы два разных механима кэширования (в исходнике clearstatcache видно более наглядно). Вызов lstat() и без open_basedir не помещает значений в кэш realpath. Короткий тест на корректное функционирование кэша lstat:
Меня смущает только то, что во всех найденых упоминаниях этого бага присутствует safe_mode. А основной задачей указанного в статье модуля является возвращение safe_mode в последние версии php: «This version adds support for safe_mode = on setting.»
У doctrine/annotations как минимум есть кэш. Это к слову о чтении аннотаций.
А doctrine/orm генерирует proxy-файлы, в которых помимо нативного php-кода больше ничего нет.
Чтобы взять и использовать, не хватает поддержки сеттеров-геттеров для полей, как и в большинстве подобных библиотек. Допилить их не большая проблема, но видеть их из коробки — уже большое дело. Поддержка сеттеров и геттеров помимо типизации полей дает возможность легко допилить эмуляцию реляционных связей.
Это если закрыть глаза на:
$class::в эту же копилку)Ну а если бы вы положили все это в репозиторий, добавили README.md и composer.json, остальные участники помогли бы вам сделать 90% рутинной работы.
Было бы интересно посмотреть на сравнение (плюсы/минусы) вашей библиотеки и других существующих, вроде:
P.S. в чем преимущества ADODB перед, скажем, Doctrine DBAL?
Да, в ней порядочно недостатков, срашного кода, и сообщество только формируется. Но она отлично выполняет свою задачу — иметь быстро поднимаемую и достаточно гибкую админку для проекта, который можно строить по любым канонам и убеждениям.
Когда админка — это всего лишь задний двор проекта, можно сосредоточиться на основной работе и использовать уже готовое решение.
И мотивы есть:
1) расширение интеграции браузера в систему. Например, уже сейчас есть приложения-расширения для барузера, общающиеся с железом (через com-порт): CleanFlight — приложение для настройки квадрокоптеров. Вместо расширения можно было бы реализовывать подобный функционал онлайн.
2) есть же еще chromeos, наверняка это нововведение облегчит задачи поддержки/разработки/продвижения этой системы.
Это определенно даст огромный выигрыш в анализе данных, но усложняет первоначальный процесс подготовки данных.
При наличии современного ноутбука достаточно легко поднимается производительная виртуалка с нужным стеком.
P.S. если ваш сайт уже загружается достаточно быстро, можно посмотреть на него со стороны пользователей со слабым каналом (мобильные клиенты, удаленные пользователи и т.п.). С (относительно) недавнего времени для этого отлично работает throttling во все тех же Chrome Developer Tools. И не забывать включать/выключать кэш (Disable Cache) для чистоты эксперимента.
<a name="parenthesis"></a>перед заголовкамиP.S. В видео-формате, на мой взгляд, презентация воспринимается легче:
Первый блин, судя по всему, комом.
P.S. ожидал увидеть фарш как на кдпв, но увы :(
Напрашивается локальный bluetooth-wifi шлюз для вывода всей этой голубозубой армии в мобильные устройства через публичные сети.
P.S. я наверное отстал от технологий, но сейчас есть возможность одновременной работы с несколькими подключенными по bluetooth устройствами? Что если я слушаю музыку на внешней колонке и нужно проверить статус утюга?
realpath_cache_size()действительно возвращает ноль. Не могу никак найти обработку open_basedir в контексте realpath_cache в исходниках.realpath_cache_size()нельзя делать выводы о кэшеlstat()(иstat()), потому как для них реализованы два разных механима кэширования (в исходнике clearstatcache видно более наглядно). Вызов lstat() и без open_basedir не помещает значений в кэш realpath. Короткий тест на корректное функционирование кэша lstat: