Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Нахуя тут замыкания? 146%, что это адаптер между каким-то проприетарным 3rd-party говноклассом и нормальным кодом. А адаптеру вполне простительно выглядеть как говно. В конце-концов он спасает от этого остальной код.
Увы, но для меня
> s/ь/ъ/
данная конструкция является абстрактным синтаксическим анализатором (в котором алгоритм следующий: 1. Берем весь текст 2. Ищем второй аргумент во всем тексте 3. Заменяем найденные значения на третий аргумент) и если grammar nazi использует некую существующую реализацию (vi что-ли линухное?), то мой низший разум не смог постичь сей истины.
Ну, просто, мест где регулярки пишутся именно с буквой s в начале я знаю не так много - perl, sed, ну vim. Их не так много. И во всех этих случаях после палки можно писать опции (глобальная замена, регистрозависимость и т.п.).
> то мой низший разум не смог постичь сей истины.
Да не парьтесь Вы так 😉 Здесь же не собеседование и не экзамен. Все лучше всего знают то, с чем постоянно работают. Я вот, например, в SQL нуб-нубом. Только сегодня узнал про on delete cascade в foreign ключах. А до этого ебашил каскадное удаление ручками, как последний ламер.
> Только сегодня узнал про on delete cascade в foreign ключах.
Опасная штука, будьте осторожны.
NO ACTION (когда ошибка выскакивает при попытке удалить) - будет побезопаснее. Удалять данные только через интерфейс (ORM, хранимая процедура), который все зависимости отслеживает.
Обеспечивает ссылочную целостность:
- не дает вставить запись с кривым значением, которого нет в связанной таблице
- удаляет записи, если запись, на которую они ссылались, была удалена (ну или запрещает удалять записи, на которые кто-то ссылается)
- обновляет поле со ссылкой, если оно изменилось в той записи, на которую ссылаются (ну или тупо запрещает его менять)
У MyISAM каждая табличка в отдельном файле стандартного формата, поэтому можно обойтись без функций экспорта-импорта, тупо копируя файлы.
Если не сравнивать с другими СУБД, кроме мистера Мускула, то:
1. Индексы FULLTEXT в InnoDB появились только в версии 5.6 и то как костыль. На самом деле FULLTEXT не нужен, потому что внешние индексаторы, например, Sphinx, превосходят его и по функционалу, и по производительности.
> можно обойтись без функций экспорта-импорта, тупо копируя файлы
Сомнительная плюшка. На тех же хостингах все равно прав не хватит. Да и сервак стопать ради импорта-экспорта пары табличек... MySQL Way, чо.
У нормальных СУБД один хуй есть тулзы для hot backup'а. А кроме переезда (бекап+рестор) и восстановления бекапа других причин для экспорта-импорта огромных кусков базы в одном и том же формате не вижу.
> InnoDB нет на популяных хостингах.
Вот так вот пыхеры и живут. Сидя жопой на кактусе, и думая, что будет с базой, у которой нет поддержки логирования, если сервак внезапно отрубится.
> и думая, что будет с базой
У mysql'я есть своя ниша применимости, там не принято думать о надёжности. Но я видел кучу сайтов с тупо лежащей или убитой базой, просто из-за внезапного перезапуска сервера.
> пыхеры ... думая
Не уверен, что 99% пыхеров особо думают "а что, если...", просто пишут or die("кан нот коннект"). Думаю, здоровая паранойя (файл не откроется... коннект не удастся... сокет не откроется... база упадёт...) более свойственна людям с системным бэкграундом.
> А куда он денется? Это же один из столпов пыхи.
так я и говорю, что он приучает к плохому. потом эти же люди бросают упаковки и окурки просто на асфальт.
Map то есть, а замыкания?
ну тогда и не говно.
Всегда ваш, grammar nazi.
WTF?
> s/ь/ъ/
данная конструкция является абстрактным синтаксическим анализатором (в котором алгоритм следующий: 1. Берем весь текст 2. Ищем второй аргумент во всем тексте 3. Заменяем найденные значения на третий аргумент) и если grammar nazi использует некую существующую реализацию (vi что-ли линухное?), то мой низший разум не смог постичь сей истины.
sed, но в vi так же, да
> то мой низший разум не смог постичь сей истины.
Да не парьтесь Вы так 😉 Здесь же не собеседование и не экзамен. Все лучше всего знают то, с чем постоянно работают. Я вот, например, в SQL нуб-нубом. Только сегодня узнал про on delete cascade в foreign ключах. А до этого ебашил каскадное удаление ручками, как последний ламер.
Я из всего извлекаю для себя плюсы 🙂
Хотел подЪебловить spell checker'а, а выучил для себя дефолтовое поведение функции замены в линуксовых текстовых процессорах.
Аналогично 😉 Хотя далеко не все, что я узнал на ГК, потом пригодится на практике.
Опасная штука, будьте осторожны.
NO ACTION (когда ошибка выскакивает при попытке удалить) - будет побезопаснее. Удалять данные только через интерфейс (ORM, хранимая процедура), который все зависимости отслеживает.
> платформозависимость
Кул стори, бро.
Тем временем шёл 2013-й год, а foreign keys были не во всех движках...
- не дает вставить запись с кривым значением, которого нет в связанной таблице
- удаляет записи, если запись, на которую они ссылались, была удалена (ну или запрещает удалять записи, на которые кто-то ссылается)
- обновляет поле со ссылкой, если оно изменилось в той записи, на которую ссылаются (ну или тупо запрещает его менять)
Как-то так.
Исправил.
Зато сортировка за O(n^2).
Ога, за счет table-level блокировок. Только вот часто ли кому-то нужно считать все записи в таблице?
Если не сравнивать с другими СУБД, кроме мистера Мускула, то:
1. Индексы FULLTEXT в InnoDB появились только в версии 5.6 и то как костыль. На самом деле FULLTEXT не нужен, потому что внешние индексаторы, например, Sphinx, превосходят его и по функционалу, и по производительности.
2. MERGE работает только с таблицами MyISAM: https://kb.askmonty.org/en/merge/
3. This feature of MyISAM is not available in InnoDB; the value of 'id' will start over at 1 for each different value of 'abc':
4. InnoDB нет на популяных хостингах. Пруфлинк.
http://masterhost.ru/service/hosting/virtual/personal-server/for-one/
Сомнительная плюшка. На тех же хостингах все равно прав не хватит. Да и сервак стопать ради импорта-экспорта пары табличек... MySQL Way, чо.
У нормальных СУБД один хуй есть тулзы для hot backup'а. А кроме переезда (бекап+рестор) и восстановления бекапа других причин для экспорта-импорта огромных кусков базы в одном и том же формате не вижу.
> InnoDB нет на популяных хостингах.
Вот так вот пыхеры и живут. Сидя жопой на кактусе, и думая, что будет с базой, у которой нет поддержки логирования, если сервак внезапно отрубится.
У mysql'я есть своя ниша применимости, там не принято думать о надёжности. Но я видел кучу сайтов с тупо лежащей или убитой базой, просто из-за внезапного перезапуска сервера.
Не уверен, что 99% пыхеров особо думают "а что, если...", просто пишут or die("кан нот коннект"). Думаю, здоровая паранойя (файл не откроется... коннект не удастся... сокет не откроется... база упадёт...) более свойственна людям с системным бэкграундом.
ага, а ресурс сам освободится (соединение, файл)
А куда он денется? Это же один из столпов пыхи.
так я и говорю, что он приучает к плохому. потом эти же люди бросают упаковки и окурки просто на асфальт.
Причина и следствие попутаны местами, но в остальном ничо так.
А у ненормальных?