- 1
https://habrahabr.ru/post/280121/
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
https://habrahabr.ru/post/280121/
RestAPI в 2016 году. Отсосите, любители фреймворков и оттестированных библиотек
guest 24.03.2016 23:13 # +3
Нужно собирать запросы в ручную, иначе не получится SQL инъекции.
Но вот за вот этот вот кусочек кода я готов простить ВСЁ:
.
Хиляки пишут классы на своих Java и C#, потом хилякам тулы генерируют .wsdlки, а другим хилякам по этим .wsdlкам генерируются клиенты
Фу!
Пых + рест наше все
inkanus-gray 24.03.2016 23:58 # +2
3.14159265 24.03.2016 23:59 # +4
guest 25.03.2016 00:01 # 0
inkanus-gray 25.03.2016 00:04 # 0
Ну и ещё, как оказалось, готовые фреймворки фильтруют не всё:
https://habrahabr.ru/post/140145/
guest 25.03.2016 00:12 # 0
Но вообще пыхопроблемы конечно
В нормальных ЯП и фреймворках вроде Python/Django такого практически нет
gost 25.03.2016 07:15 # 0
istem 25.03.2016 22:26 # +2
Фу, короче, так жить.
PS. Заранее спасибо.
bormand 25.03.2016 22:29 # 0
Можно пример, как этот multiple insert выглядит?
istem 25.03.2016 22:34 # +2
guest 25.03.2016 22:38 # +4
реально не поддерживает
одного этого достаточно чтобы никогда не писать на PHP
istem 25.03.2016 22:52 # 0
guest 25.03.2016 23:16 # +1
Один способ называется prepared statements. Другой называется "через жопу" (он же "склеиваем строки вручную").
Существует так же два вида языков: в одних через prepared statements можно описать DML. К таким языкам относятся python с его pep 0249, java с jdbc, с# с ado.net, perl с его DBI/DBD.
К другим языкам (т.н. "очень плохие языки" или "языки в которых нужно вручную склеивать строки") относится PHP.
Вопросы?
bormand 25.03.2016 23:21 # 0
guest 25.03.2016 23:27 # +1
А у ПХП такого драйвера нет, и никого это не ебет.
В итоге приходят istemы, говорят что PDO говно, и начинают клеить SQL строки руками
А потом SQL инъекции
istem 26.03.2016 00:20 # 0
3_14dar 26.03.2016 20:14 # 0
guest 26.03.2016 20:16 # +3
inkanus-gray 25.03.2016 23:33 # +1
guest 25.03.2016 23:36 # +3
с другой стороны, для 89% это не важно
PS: фуу
инкаус знает mysql и php
вот это зашквар
bormand 25.03.2016 23:37 # +1
guest 25.03.2016 23:39 # +2
Вот я не шучу сейчас: не существует ни одного повода для меня использовать эти технологии
inkanus-gray 26.03.2016 00:41 # 0
guest 26.03.2016 00:45 # 0
код можно (если _очень_ повезет) сделать database-агностик и вообще не трогать
У меня есть небольшой проектик на Django/Python, там всё через ORM и если я решу с постгри перейти на другую БД, я могу вообще не трогать паййтоновый код
Но это конечно мне крупно повезло что он такой маленький
В серьезных проектах приходится писать database-specific код
Но все равно его там процентов 10%, не больше
defecate-plusplus 26.03.2016 08:27 # +1
DDL же не обязательно выносить в прикладной уровень, ничего страшного, если это будет init скрипт, запущенный под конкретную базу 1 раз в жизни решения
а вот мат вьюхи, рекурсивный обход, процедуры/пакеты, gis-расширения, олап - т.е. все то, что уже не попадает под "нам насрать в чем хранить данные форума из 3 таблиц, у нас пыхопе", а попадает под "давайте сокращать время селекта наших сложных данных", и надо дергать в рантайме из прикладного уровня - вот это да, это db-specific
bormand 25.03.2016 22:46 # +1
З.Ы. Ой, сорри, у вас же транзакций нету. Не подумал.
istem 25.03.2016 22:50 # 0
guest 25.03.2016 23:27 # 0
у кого это "у вас"?
bormand 25.03.2016 23:28 # +1
guest 25.03.2016 23:29 # 0
Но лучше конечно $pdo->beginTransaction()
в самой мускуле есть транзакции в InnoDB, нет их в MyISAM только
bormand 25.03.2016 23:30 # 0
Я знаю. Но ты думаешь, что те, кто юзает mysql_* и клеит запросы через строки, юзают InnoDB?
Они же либо сознательно пишут под говнохостинги (= myisam only) либо просто долбоёбы...
guest 25.03.2016 23:31 # 0
MyISAM вообще депрекейтед
bormand 25.03.2016 23:36 # 0
bormand 25.03.2016 23:40 # +2
guest 25.03.2016 23:44 # +2
А еще были такие хостинги где БД 4.0, а клиент от нее 3.23. Потому что админ тупой пидирас базу обновил, а php не пересобрал.
Или например PDO есть, а драйверов к нему ни одного нет
guest 25.03.2016 23:44 # 0
Ты бы хотел участвовать в проекте, у которого нет даже денег на хостинг"?
bormand 25.03.2016 23:52 # +1
guest 25.03.2016 23:53 # +2
почему не использовать вконтакте? или ucoz?
istem 25.03.2016 23:58 # +4
3_14dar 26.03.2016 20:16 # +3
inkanus-gray 29.03.2016 17:26 # 0
guest 25.03.2016 23:32 # 0
5.5.5
bormand 25.03.2016 23:37 # +1
istem 25.03.2016 23:41 # 0
PS. И не вижу ничего плохго в mysql_*, тем более если у товарищей прямые руки.
guest 25.03.2016 23:42 # 0
Кроме того процедуры нужно где-то хранить, версионировать, накатывать на сервер, итд.
3_dar 26.03.2016 00:08 # +2
Ты думаешь, что те, кто юзает mysql_* и клеит запросы через строки знают что такое транзакции?
guest 26.03.2016 00:13 # +1
bormand 26.03.2016 00:20 # +3
guest 26.03.2016 00:24 # 0
http://goo.gl/IUz2fN
roman-kashitsyn 26.03.2016 16:41 # +3
Ещё вчера клеил стринги, а сегодня уже сайты пишет.
guest 26.03.2016 17:12 # +4
девушки отличаются от яп тем, чем у них чары состоят из стрингов
3_14dar 26.03.2016 20:16 # +1
gost 29.03.2016 17:23 # 0
Такие ещё остались? О_о
guest 25.03.2016 22:31 # 0
istem 25.03.2016 22:35 # +1
guest 25.03.2016 22:38 # 0
istem 25.03.2016 22:49 # 0
guest 25.03.2016 23:17 # 0
А когда мне его не хватает -- я делаю prepared statements
К счастью, я не пишу на PHP
istem 25.03.2016 23:42 # 0
Ну тогда вы и вправду выросли. И если так, то зачем же над детьми смеяться? Лучше научите их как надо делать и как не надо.
guest 26.03.2016 00:36 # −1
http://phpclub.ru/talk/forums/php-%D0%B8-%D0%B1%D0%B0%D0%B7%D1%8B-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85.19/
и завис
не могу остановиться, читаю в захлеб
myaut 24.03.2016 23:57 # +1
guest 25.03.2016 00:02 # +1
defecate-plusplus 26.03.2016 00:22 # 0
kegdan 26.03.2016 00:26 # 0
guest 26.03.2016 00:28 # +1
Кстати, а видели таких кандитатов которые говорят "у меня 10 лет опыта программирования под Oracle". "А напишите запрос для выбора всех польхователей из группы Foo во много-ко-многим" "Ой знаете, я напрямую запросов не писал никогда, у нас DAO и ORM"
gost 25.03.2016 07:23 # 0
Лол.
guest 25.03.2016 21:01 # 0