@prophp7

Страница 1175 из 1387
Max
12.07.2018
23:14:48
еще раз - покажи мне пункт в PCI DSS про хранимые процедуры
там, где про обеспечение доступа через программные способы, есть пример про хранимые. рекомендации использовать только их, точно нет, тут не поспоришь. поспорить можно разве с тем, что без хранимых обеспечить невозможность изменения запроса сложнее, чем с ними. ок, ты прав

Sergey
12.07.2018
23:14:56
ну вот у меня есть выборки которые я бы записал как: from('appointments') ->select(someRepresentation()) ->where( meetsSomeCondition($someStuffForCondition), meetsAnotherCondition(), when($predicate, yetAnotherCondition()) )

Max
12.07.2018
23:15:49
ну и еще вопрос какую СУБД ты юзаешь, вдруг mysql
щас - pg и oracle. раньше и mysql а что с ним не так? )

Google
Sergey
12.07.2018
23:16:14
просто это никак не относится к той теме которую я хотел обсудить. Вообще.

Sergey
12.07.2018
23:16:52
такова я не видел но тоже хотел бы увидеть
ну короч хочу декларативненько склеивать запросы

Evgeniy
12.07.2018
23:16:53
попытку сделать подобное сделали в laravel через scope но так себе и там целая orm а не queryBuilder

типо условия написать и реюзать

Sergey
12.07.2018
23:17:46
я понимаю о чем ты)
https://www.thegreatcodeadventure.com/composable-query-builders-with-arel-in-rails/ - меня вот эта штука заинтриговала немного

Sergey
12.07.2018
23:18:52
типо условия написать и реюзать
у меня еще куча запросов: - интроспеция запросов (что бы потом гидраторы генерить и прочие штуки) - что бы не зависил от всяких там абстракций над коннекшеном, PDO и т.д. - элиасы - я не хочу их прописывать. Это сильно усложняет композицию

говно

f4rt~
12.07.2018
23:19:26
а мне нравки на чтение

Sergey
12.07.2018
23:19:36
а мне нравки на чтение
а не, сорян. Эту не видал. По названию подумал что видел

Google
Sergey
12.07.2018
23:20:01
вот плюсы собсно
да, прочитал

но все ж это немного не то

из средненьких билдеров которые тоже интересны есть еще knex

http://knexjs.org/

но пока хз.... я плохо понимаю чего хочу. точно хочу интроспецию (что мы хотим выбрать и типы)

но в php такие штуки либо выходят многословными либо медленными (парсинг выражений)

f4rt~
12.07.2018
23:24:27
а ты так и не продолжил ту штуку с регулярками?

Evgeniy
12.07.2018
23:24:31
в scala любят свои dsl придумывать и целые языки поверх )

Sergey
12.07.2018
23:25:08
а ты так и не продолжил ту штуку с регулярками?
типа re2php? от части. Я реализовал примитивные регулярки через комбинаторы парсеров, бенчмарки говорят что это в 100 раз медленнее и я забил

Evgeniy
12.07.2018
23:25:33
но я на скала не писал (

Sergey
12.07.2018
23:25:39
чисто теоритически имя FFI можно просто rec2 подключить и пробовать генерить php

в scala любят свои dsl придумывать и целые языки поверх )
ну там в целом экосистема под это развита. В php для этого есть только yay

f4rt~
12.07.2018
23:25:56
а я не нашел в себе духу даже попробовать)

Sergey
12.07.2018
23:26:14
FFI это от Стогова расширение?
да, его в 8-ке в ядро запихнут

f4rt~
12.07.2018
23:26:37
понятненько,интересно)

Evgeniy
12.07.2018
23:27:26
слушай тут за cohesion вопросик

Sergey
12.07.2018
23:27:56
а ты так и не продолжил ту штуку с регулярками?
я на прошлых выходных запилил простенькую либку для комбинаторов парсеров, вот на этих думал запилить полноценный парсер JSON (что бы ту же грамматику умел что пример на HOA) и глянуть насколько это медленнее HOA

но у меня мотивация для этого была.... несколько иная нежели у Кирила

Google
Evgeniy
12.07.2018
23:28:53
помимо того что cohesion это внутреннее зацепление в модуле, оно еще относится к тому чтобы модуль был нам полезным а не просто творил неведомую хуйню которая нам не нужна и без которой может жить приложение

ну например нам модуль по работе с гитом, а он помимо работы с гитом заваривает кофе

Sergey
12.07.2018
23:29:43
помимо того что cohesion это внутреннее зацепление в модуле, оно еще относится к тому чтобы модуль был нам полезным а не просто творил неведомую хуйню которая нам не нужна и без которой может жить приложение
ну как бы это суть зацепления. что бы модуль делал что-то одно. А делать модули которые делают что-то бесполезное явно не оч здравая мысль

Evgeniy
12.07.2018
23:29:47
и причем там внутри все это зацепленно жеско фиг развяжешь будет большая связанность

Sergey
12.07.2018
23:30:14
ну например нам модуль по работе с гитом, а он помимо работы с гитом заваривает кофе
ну, это низкий кохижен, я б даже сказал "случайный" (coincidental cohesion)

Sergey
12.07.2018
23:31:07
ну да я об этом и говорил, что очень грубо это srp из solid
очень грубо - да. SRP базируется на идее разбиения так что бы менялось вместе. Меняется вместе обычно то, что выполняет одну задачу.

но тут есть опасная штука - есть же логический кохижен (это чуть-чуть лучше случайного) где вроде как все штуки в модуле выполняют одну задачу но клиент выбирает что делать через интерфейс. И да, я сомневаюсь что может быть функциональный (самый высокий) уровень кохижена на всех уровнях приложения. Это недостижимый идеал

Evgeniy
12.07.2018
23:32:26
по формальным критериям я даже попробовал дать определение оно не совсем cohesion но то как я его его понимаю количество элементов в модуле - количество элементов связанных с нашей предметной областью < епселент при епселент стремящемся к 0 это хорощая связанность

что нет мертвого кода который нам нах не нужен

Evgeniy
12.07.2018
23:33:28
ну я и говорил что по кохижену надо знать что ты хочешь в итоге

чтобы правильно его оценивать

f4rt~
12.07.2018
23:33:46
Жень, ну что за глупостями ты сейчас занимаешься?)

Evgeniy
12.07.2018
23:33:58
ото с точки зрения кода все связано в клубок в "модуле" пакете, а на самом деле нафиг не нужно

Sergey
12.07.2018
23:34:09
ну семантику метриками не выразить, получается лишь простые штуки вроде "насколько полно все методы юзают все проперти класса"

Evgeniy
12.07.2018
23:34:17
Жень, ну что за глупостями ты сейчас занимаешься?)
какими глупостями я вот просвещаюсь в cohesion

Sergey
12.07.2018
23:34:36
какими глупостями я вот просвещаюсь в cohesion
то есть ты еще не доконца осознал суть но уже выдумываешь метрики свои?)

Google
Evgeniy
12.07.2018
23:34:57
Sergey
12.07.2018
23:35:32
https://pdfs.semanticscholar.org/43cf/09ca4fa0c8bdd346c6fc63487cbf91cd99bf.pdf

Evgeniy
12.07.2018
23:35:36
если серьезно то, в инете дофига мнений

Sergey
12.07.2018
23:35:37
можешь это почитать для начала

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.61.5472&rep=rep1&type=pdf

или это

f4rt~
12.07.2018
23:36:20
какими глупостями я вот просвещаюсь в cohesion
ну ты вырываешь из Вашего/Нашего треда тезисы и самоутверждаешься в их правоте, хотя отдельно взятые правильные тезисы,не значат что видение всей картины в целом верное)

Admin
ERROR: S client not available

f4rt~
12.07.2018
23:36:30
кохижен это то насколько твой код связан с терминами 'бизнеса"

Sergey
12.07.2018
23:36:50
f4rt~
12.07.2018
23:36:53
кохижен это то насколько твой код связан с терминами 'бизнеса"
? как бы вот твой goal, а ты спрашиваешь за отдельновзятые случаи

Sergey
12.07.2018
23:37:47
короч ладно, про билдеры не выйдет обсудить... Билдер Кири обязательно гляну, пойду дальше херней страдать

Evgeniy
12.07.2018
23:39:18
хорошо а я пока почитаю про метрику cohesion

потому что те варианты что я видел это просто цифры с потолка

типо как часто идет обращение к this и прочей лабуде если в контексте php

Sergey
13.07.2018
07:26:11
шутки за 300
было бы грубо для обстоятельств не запечатлеть это)

Rg
13.07.2018
09:28:31
народ ккто-то работал с jsonapi + zend 3 (или хотя бы доктрина)? не могу вникнуть как эту штуку готовить

Rg
13.07.2018
09:39:25
раздельно
в смысле? делать jsonapi как прокси после зенда?

F01134H
13.07.2018
09:54:52
А зачем в Exception в конструкторе аргумент Throwable $previous?

Google
F01134H
13.07.2018
09:55:04
что ща предыдущее исключение

непонятно

Bohdan
13.07.2018
09:55:34
цепочки исключений

типа как сф бросает иногда

F01134H
13.07.2018
09:56:20
не понимаю зачем это и как работает

Sergey
13.07.2018
09:57:04
не понимаю зачем это и как работает
у тебя кинулось исключение, обычно более общее (например что провалился uniq constraint) а ты его обработал и кинул более конкретное

и прикрепил предыдущее в цепочку

и так можно конкретизировать проблемы

F01134H
13.07.2018
09:57:19
понял, спасибо

Sergey
13.07.2018
09:57:19
это как пример.

редко юзается но бывает полезным

F01134H
13.07.2018
09:57:44
что то типо декорации исключений

Чисто ради прикола, можно как то сократить такой код?) $fromCollection = new Collection(); $toCollection = new Collection();

Maksim
13.07.2018
13:26:53
use Collection as C; $f = new C; $t = new C:

Bohdan
13.07.2018
13:27:55
class Collection { public static function c() { return new self; } } $f=C::c(); правда, символов больше

F01134H
13.07.2018
13:28:10
нах?
чисто ради прикола

Maksim
13.07.2018
13:28:35
правда если бы я такой код увидел, в окно бы выбросил)

Страница 1175 из 1387