@prophp7

Страница 1160 из 1387
Sergey
06.07.2018
12:49:38
ставишь какую-нибудь хрень которая сгенерит тебе и админку и т.д. и вжух у тебя готовый круд

не нужны слои, и прочие хрени

Artem
06.07.2018
12:49:55
Yii :D

Maksim
06.07.2018
12:50:14
2

Google
Maksim
06.07.2018
12:50:25
или там 3й уже есть..._)

Sergey
06.07.2018
12:50:36
и часто в приложении это добрая половина всей логики. Но только есть другая половина. И почему-то люди выбирают всегда один подход для всего приложения. и как следствие либо подход будет слишком сложен для большей части приложения либо слишком простым и в итоге будет рости случайная сложность

ну короч все это уже высокие материи

видосик посмотри

Artem
06.07.2018
12:50:42
или там 3й уже есть..._)
а какой из них он больше не любит? :D

Sergey
06.07.2018
12:50:52
или там 3й уже есть..._)
который в баре релизили

когда мы бухали

Sergey
06.07.2018
12:52:08
хм.... обе статьи...

не очевидно, это больше про дизайн нежели про круд

какая собственно круду разница будет у листа кнопка удалить или нет

Sergey
06.07.2018
12:56:41
ну то есть то как ты строишь работу с данными это тоже дизайн в каком-то смысле

https://cqrs.wordpress.com/documents/task-based-ui/ - вот тут лучше

Google
Sergey
06.07.2018
12:57:39
там картинка есть которая показывает разницу между CRUD и task based ui

и глянув на эту разницу возможно ты докадаешься как это аффектит архитектуру твоего приложения

Roman
06.07.2018
13:00:32
протестую, там 3 картинки

глянув на одну ничего не понятно

Sergey
06.07.2018
13:01:43
дельное замечание

Sergey
06.07.2018
13:05:57
насколько я понимаю подразумевается вид CRUD карточки сущности и табличка с ссылкой?

я кажется начинаю понимать о чем это

Maksim
06.07.2018
13:07:28
так быстро это не работает)

Sergey
06.07.2018
13:08:33
т.е. противопоставляется дизайн в котором есть только круд формы, дизайну, где есть еще другие виды отображения более удобные?

Елнур
06.07.2018
13:10:29
Пример с изменением адреса пользователя: CRUD UI: - Есть список адресов - Можно посмотреть детали адреса - Можно добавить адрес - Можно редактировать - Можно удалить TaskBased UI: А что вообще значит редактировать адрес? Может это: - Пользователь сменил свой офис в другое местоположение - В почтовом индексе адреса была опечатка, и нужно подкорректировать - Другая причина RoleBased UI: - Админ может делать все что в круд - Обычный пользователь может добавить, редактировать после одобрения

В RoleBasedUI можно еще комбинировать из CRUD & TaskBasedUI

Sergey
06.07.2018
13:11:59
2й пункт не понятен

про TB UI

а RB UI вообще отсылка к безопасности а не к UI, как я это вижу

Sergey
06.07.2018
13:14:29
т.е. противопоставляется дизайн в котором есть только круд формы, дизайну, где есть еще другие виды отображения более удобные?
комбинировать. разные формы дизайна по работе с данными удобны для разных сценариев

Sergey
06.07.2018
13:14:48
стоп

с точки зрения круда дизайн не сильно важен

Sergey
06.07.2018
13:15:18
а RB UI вообще отсылка к безопасности а не к UI, как я это вижу
не к безопасности а к тому что не надо показывать челу контролы которые он не может тыкать

Sergey
06.07.2018
13:15:22
в том же круде можно запросить табличку с ссылками на тоже удаление и т.д.

Google
Sergey
06.07.2018
13:15:45
https://cqrs.files.wordpress.com/2010/11/image6.png?w=425&h=263&zoom=2

видишь картинку?

это классический CRUD

Sergey
06.07.2018
13:16:10
вижу

это карточка обьекта

Sergey
06.07.2018
13:16:17
видишь поле статуса? на основе значения этого поля определяется опубликована запись или нет. А видишь ниже поле Deactivation comment

оно имеет смысл только и только тогда, когда у тебя выбран нужный статус

Sergey
06.07.2018
13:16:33
да вижу

Sergey
06.07.2018
13:16:50
вот, то есть что делать с данными мы решаем не на основе определенного действия, а на основе пришедших данных

в этом суть CRUD

Sergey
06.07.2018
13:17:05
хм... что мешает запрашивать комент при выборе статуса

Sergey
06.07.2018
13:17:23
хм... что мешает запрашивать комент при выборе статуса
как у тебя на сервере будет выглядеть код, которому надо или не надо значение этого поля?

Sergey
06.07.2018
13:17:58
а JS зачем? на сервере очевидно проверка нужна на состояние

Sergey
06.07.2018
13:18:08
а теперь сравни с таким вариантом: https://cqrs.files.wordpress.com/2010/11/image7.png?w=445&h=184&zoom=2

где у тебя есть кнопка Deactivate, по нажатию на которую будет форма с нужным полем

а на сервере будет отдельный обработчик именно этой ситуации

Sergey
06.07.2018
13:18:50
это круд, только списка со ссылкой на деактивейт

Sergey
06.07.2018
13:19:24
это круд, только списка со ссылкой на деактивейт
нет. сам список ты не меняешь - это лишь отображение. а Deactivate затрагивает только незначительную часть стэйта

Sergey
06.07.2018
13:19:38
ну правильно это конкретно READ списка

Google
Sergey
06.07.2018
13:19:39
то есть идея в том, что разные данные меняются по разным причинам и разными людьми

ну правильно это конкретно READ списка
если ты берешь из CRUD одну букву это не делает подход CRUD. Круд повторяю еще раз, проявляется только на запись

меняешь все данные за одну операцию даже если цель у пользователя была снять публикацию записи - это круд. А если у тебя операция записи изолирована от других и меняет маленький кусочек стэйта в рамках выделенного юзкейса - это уже не CRUD

для осознания этого тебе надо понимать как твои пользователи работают с приложением. Практически никогда человек не меняет имя товара одновременно со снятием его с продажи. Обычно сначала снимаешь с продажи и потом меняешь. Иногда есть ряд жестких ограничений на эту тему

иногда этим вообще разные люди занимаются

а стало быть разные уровни доступа нужны. а стало быть нужно больше проверок в случае с CRUD

иногда одна и та же операция для разных ролей требует разных данных

Sergey
06.07.2018
13:22:59
ну да

Sergey
06.07.2018
13:23:19
в этом прикол, в том что бы максимально дробить операции записи и оставлять отправку форм только для самых простых случаев

Admin
ERROR: S client not available

Sergey
06.07.2018
13:23:57
это открывает целый спект возможностей архитектурных на сервере. В этом проявляется связь UI и архитектуры приложения

не в том что UI напрямую влияет на код приложения (хотя часто это так, подсознательно, декомпозиция по UI называется), а в том, насколько изолированы друг от друга операции записи

Sergey
06.07.2018
13:24:39
хм...

Sergey
06.07.2018
13:25:16
опять же на эту тему что бы совсем до экстрима довести

https://www.youtube.com/watch?v=Fuac__g928E

там на примере амазона хорошо демонстрируется что тебе дает разделение на отдельные действия

в конечном итоге все эти MVC и ADR не важны если у тебя связанность системы по данным есть

Sergey
06.07.2018
13:26:25
ок тогда я до ознакомления отойду ибо чувствую у меня непосредственно с терминологией проблема

Sergey
06.07.2018
13:26:58
ок тогда я до ознакомления отойду ибо чувствую у меня непосредственно с терминологией проблема
вполне возможно, потому я не люблю подходы которые просто вводят новые названия старым вещам. Те же микросервисы это ребрендинг SOA

Maksim
06.07.2018
13:27:19
у эйчаров это разные вещи)

Google
Sergey
06.07.2018
13:27:39
ну бля там ни одной похожей буквы

еще бы

Roman
06.07.2018
13:28:16
у некоторых эйчаров java и javascript это одно и то же.

потому что много похожих буков

правда ecmascript и javascript иногда разные =(

Oleg
06.07.2018
13:41:34
у них сравнение с начала слова идет)))

F01134H
06.07.2018
14:52:39
чуваки, нужно придумать тестовое задание, что бы человек показал не только свои знания, но и способность использовать готовые решения

чет в голову ничего не идет

Alexander
06.07.2018
14:54:45
чет в голову ничего не идет
$a = builder(5); print $a(3); // 8 print $a(6); // 14 print $a(1); // 15 нужно реализовать функцию builder

F01134H
06.07.2018
14:55:01
еп

Evgenii
06.07.2018
14:55:15
тогда ты должен сам знать

F01134H
06.07.2018
14:55:31
спасибо, вместо этого можно было промолчать

не тревожить воду так сказать

Evgenii
06.07.2018
14:55:45
либо тогда не придумывай

F01134H
06.07.2018
14:56:01
можешь прост замолчать?)

Evgenii
06.07.2018
14:56:14
без проблем

Maksim
06.07.2018
15:01:06
спасибо, вместо этого можно было промолчать
у одной из питерских контор есть простенькое тестовое: Сделать миграцию, создающую таблицу operations с полями id, sum , created Сделать миграцию, создающую таблицу archive с полями operation_id, sum, created, archived Сделать миграцию, содержащую таблицу events с полями id, data (JSONB) Сделать http API, которое принимает на вход число и создает запись в operation с соответствующей суммой. После вставки в operations , срабатывает триггер в базе. Он вызывает хранимую процедуру, которая запаковывает все данные из новой строки в JSONB и заносит их в events. Сделать демона, который непрерывно читает таблицу events и заносит ее данные в redis или rabbitMQ Сделать демона , который читает redis или rabbitMQ и заносит данные в archive

фреймворк любой подставь) в оригинале был ларавел

Victor
06.07.2018
15:02:31
$a = builder(5); print $a(3); // 8 print $a(6); // 14 print $a(1); // 15 нужно реализовать функцию builder
builder($a){ switch($a) { case 3: return 8; case 6: return 14; case 1: return 15; } } </сарказм>

Artem
06.07.2018
15:10:04
Всем привет! Кто может подсказать, если ли поднобные библиотеки, как эта: fingerprintjs2, только на php?

Vitaly
06.07.2018
15:17:10
Всем привет! Кто может подсказать, если ли поднобные библиотеки, как эта: fingerprintjs2, только на php?
Нереально подобное запилить на php, потому, что вся инфа собирается на основе браузера.

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