Вот информации о «Зеленых зонах» в посте немного не хватает. Я ни капли не хочу оправдывать мегафон (это неприемлемо, чтобы в платный сервис встраивали рекламу), но в условиях на оказание этой услуги, к сожалению, есть следующее:
3.15.Заключая Соглашение в порядке, предусмотренном настоящими Условиями, Пользователь соглашается на весь срок действия Соглашения на получение рекламы Оператора и/или третьих лиц при использовании Услуг.
Пример в начале статьи совсем плох.
Во-первых он уменьшается примерно раза в два, ликвидировав неиспользуемые группировки и объединив перечисления. Во-вторых, экранирование в перечислениях не нужно. И получается вполне читабельно:
После небольшой тренировки небольшие однострочные регулярки воспринимаются достаточно быстро. А вот словесный многострочный аналог требует больше времени для чтения.
Сложные выражения в SLR займут экран, воспринимать будет даже сложнее, чем открытый в отладчике (упомянутый выше regex101, например) оригинал.
Структурой домашней директории можно через /etc/skel управлять без костылей.
Самый простой и старый механизм — переопределить $PATH персональной директорией со ссылками:
Забавно, как вы лихо завернули про удобства интерфейса контейнера для зубочисток. Та пимпочка, на самом деле просто побочный эффект технологии — облой. То, что она оказалась сверху, а не снизу — просто везенье :)
А взять, например, дырку, в которую нужно попасть зубочистками: когда пачка полная, зубочистки туда просто не пропихиваются; когда пустая — попробуй попади в маленькую дырку зубочисткой. Единственный удобный момент — это примерно с 4/5 до 2/5 заполнения контейнера, когда зубочисток еще достаточно много, но они уже свободно перемещаются внутри.
Что касается правильного положения дыркой вверх — достаточно бросить взгляд на этикетку. Но, конечно, если повезло (как в первом пункте), и её не наклеили задом-наперед.
«Это бизнес, детка». Любой топ-менеджер делает свою работу за деньги. Потеря топ-менеджера для крупной компании может намного сильнее ударить по финансовой состоятельности всех остальных сотрудников, чем чрезмерная индексация его зарплаты.
А вопросы морали, справедливости и личности для всех очень относительны.
Это комментарий к ответу «другое» в первом опросе. Просто наблюдения от лица айтишника.
P.S. До недавнего момента я упорно думал (не прочитав документацию по ссылкам, разумеется), что речь о MS ADO
Вчитавшись в документацию и коды, я не нашел никаких преимуществ ADODB(php) перед Doctrine/DBAL, кроме большего количества поддерживаемых БД (7 vs 25 с натяжкой).
Напротив: комбайн все-в-одном (это может быть и плюсом, и минусом), древняя архитектура с множеством legacy-кода, отсутствие современных стандартов и тестов, глобальные функции, отсутствие неймспейсов и т.д.
Забавно то, что на первой же странице документации ADODB упоминается AR:
ADOdb contains components for querying and updating databases, as well as an Object Orientated Active Record library, schema management and performance monitoring
Перевод:
Библиотека ADODB наряду с компонентами для поиска и обновления данных в содержит так же ООП Active Record компоненту, средства управления и мониторинга БД
@Автор, вы не пробовали использовать уже имеющиеся AR-возможности?
Никто не запрещает писать гетеры сеттеры но суть решения в том чтобы ВООБЩЕ ничего не писать.
Не о том речь. Этого было бы достаточно, с условием поддержки остальных вызовов внутри вашего кода (из-за final сделать обертку без внедрения в ваш код невозможно):
public final function __set($name, $value)
{
if ($setter = $this->getSetter($name)) {
$setter($name, $value);
} else {
$this->fields[$name] = $value;
}
}
Но нужно принимать во внимание этот подход, когда придумываете названия другим методам. Сейчас приличную часть кода в связи с этим было бы правильным переписать.
противоречит идее решения.
Не стоит противостояние гибкости реализации записывать в ключевые принципы.
Идея-то интересная. Реализуйте вы её не "как хочу", а, почитав вдумчиво вполне здравые комментарии, получился бы не просто какой-то набросок на gist'е, а полноценная библиотека, которая бы нашла своего пользователя. А пока только минусы ловите :(
На "любительском" уровне (пока виртуализация не является источником дохода) XEN привлекает легкостью установки и поддержки. Установил из образа на голую машину, подцепился через XenCenter или другой xapi-клиент, и оно работает. Достаточно понятный GUI, все вопросы/проблемы легко гуглятся и решаются через консоль (xe).
Есть ли подобрное, относительно user-friendly, решение для KVM? Из разряда поставил-настроил-пользуешься через GUI.
Кстати, есть аналогичный пост ~5-летней давности: https://habrahabr.ru/post/142909/
Очень помогает отлаживать сложные выражения.
Ощущение, что статья опоздала на полдесятка лет.
Во-первых он уменьшается примерно раза в два, ликвидировав неиспользуемые группировки и объединив перечисления. Во-вторых, экранирование в перечислениях не нужно. И получается вполне читабельно:
И, наконец, Прекратите проверять Email с помощью регулярных выражений!
После небольшой тренировки небольшие однострочные регулярки воспринимаются достаточно быстро. А вот словесный многострочный аналог требует больше времени для чтения.
Сложные выражения в SLR займут экран, воспринимать будет даже сложнее, чем открытый в отладчике (упомянутый выше regex101, например) оригинал.
https://www.debuggex.com/r/xfu903DPxHkmoOpz
В целом: за реализацию, конечно, жирный плюс, но, будет ли востребовано, покажет время. У меня сомнения.
/etc/skel
управлять без костылей.Самый простой и старый механизм — переопределить $PATH персональной директорией со ссылками:
echo export PATH=$HOME/bin:'$PATH' >> ~/.profile
ln -s /opt/plesk/php/5.6/bin/php $HOME/bin/php
Конечно, не так красиво, как вызов update-alternatives с флагами, но, по большому счету, к этому и сводится в итоге.
А взять, например, дырку, в которую нужно попасть зубочистками: когда пачка полная, зубочистки туда просто не пропихиваются; когда пустая — попробуй попади в маленькую дырку зубочисткой. Единственный удобный момент — это примерно с 4/5 до 2/5 заполнения контейнера, когда зубочисток еще достаточно много, но они уже свободно перемещаются внутри.
Что касается правильного положения дыркой вверх — достаточно бросить взгляд на этикетку. Но, конечно, если повезло (как в первом пункте), и её не наклеили задом-наперед.
А вопросы морали, справедливости и личности для всех очень относительны.
Это комментарий к ответу «другое» в первом опросе. Просто наблюдения от лица айтишника.
Вчитавшись в документацию и коды, я не нашел никаких преимуществ ADODB(php) перед Doctrine/DBAL, кроме большего количества поддерживаемых БД (7 vs 25 с натяжкой).
Напротив: комбайн все-в-одном (это может быть и плюсом, и минусом), древняя архитектура с множеством legacy-кода, отсутствие современных стандартов и тестов, глобальные функции, отсутствие неймспейсов и т.д.
Перевод:
@Автор, вы не пробовали использовать уже имеющиеся AR-возможности?
Не о том речь. Этого было бы достаточно, с условием поддержки остальных вызовов внутри вашего кода (из-за final сделать обертку без внедрения в ваш код невозможно):
Но нужно принимать во внимание этот подход, когда придумываете названия другим методам. Сейчас приличную часть кода в связи с этим было бы правильным переписать.
Не стоит противостояние гибкости реализации записывать в ключевые принципы.
Идея-то интересная. Реализуйте вы её не "как хочу", а, почитав вдумчиво вполне здравые комментарии, получился бы не просто какой-то набросок на gist'е, а полноценная библиотека, которая бы нашла своего пользователя. А пока только минусы ловите :(
Поправка: речь о XenServer
На "любительском" уровне (пока виртуализация не является источником дохода) XEN привлекает легкостью установки и поддержки. Установил из образа на голую машину, подцепился через XenCenter или другой xapi-клиент, и оно работает. Достаточно понятный GUI, все вопросы/проблемы легко гуглятся и решаются через консоль (xe).
Есть ли подобрное, относительно user-friendly, решение для KVM? Из разряда поставил-настроил-пользуешься через GUI.