Size: a a a

Clojure — русскоговорящее сообщество

2020 February 20

V💩

Vlad 💩 in Clojure — русскоговорящее сообщество
Ильшат Султанов
А я видел чувака, который все приложения в компании писал в оракле - причём и html с версткой. Бэкенд на джава был в виде сервлетов, абсолютно без бизнес логики. Тестов и документации конечно же не было. И вот в одном из приложений он сделал 2 роли - администратор и пользователь. Куча if-ов, верстка и тп. Все в одной куче. Все бы ничего - его попросили добавить новую роль. Не знаю, чем эта история закончилась, но его боль я прочувствовал))))
наговнякать можно где угодно, даже на кложуре если не включать голову можно одни ифы костылять и потом будут проблемы когда попросят добавить еще одну роль
источник

ИС

Ильшат Султанов in Clojure — русскоговорящее сообщество
Vlad 💩
наговнякать можно где угодно, даже на кложуре если не включать голову можно одни ифы костылять и потом будут проблемы когда попросят добавить еще одну роль
согласен, но мой поинт был не в этом
источник

p

programmist ⌨️ in Clojure — русскоговорящее сообщество
Ильшат Султанов
А я видел чувака, который все приложения в компании писал в оракле - причём и html с версткой. Бэкенд на джава был в виде сервлетов, абсолютно без бизнес логики. Тестов и документации конечно же не было. И вот в одном из приложений он сделал 2 роли - администратор и пользователь. Куча if-ов, верстка и тп. Все в одной куче. Все бы ничего - его попросили добавить новую роль. Не знаю, чем эта история закончилась, но его боль я прочувствовал))))
Была компания, розничная сеть, размазанная тонким слоем по всей стране. В бэкофисе около 50 сотрудников, БД на SQL Server в центре, на каждой точке PostgreSQL, точек более 100.

SQL Server был ведущим, раздавал данные на все PostgreSQL (цены, наличие, обновление товаров, дисконтные карты и планы и т. д.) и забирал с них данные о продажах. Плюс обслуживал сайт. Связь на точках была так себе, нестабильная.

Два приложения под винду, одно для бэкофиса, другое для розничной торговли. Обновления приложений несколько раз в день. Маленькая утилита, при запуске проверяла есть ли новая версия, и если надо скачивала её из БД.

Вся логика была на ХП и в SQL Server и в PostgreSQL. И всё это было написано и поддерживалось одним человеком, мной. Плюс администрирование серверов БД. Плюс говёное железо на точках, плюс сотрудники, которые могли выдернуть шнур из сети из POS терминала, который одновременно был и сервером БД, и оставлял битый файл индекса.

Компания в итоге закрылась. И не потому что не было тестов, или версионирования ХП.
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Просто ты ушёл, да?
источник

p

programmist ⌨️ in Clojure — русскоговорящее сообщество
Oleg Roshchupkin
Просто ты ушёл, да?
Смешно. Но нет. И когда я ушёл (потому перестали платить) остатки магазинов работали без добавления нового функционала ещё около года.
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Да не смешно. Понятно, откуда такая любовь к хранимкам. Непонятно, зачем везде это повторять.
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Я имею в виду "почему новая история про 1.5к хранимок напоминает старую".
источник

p

programmist ⌨️ in Clojure — русскоговорящее сообщество
Кстати вспомнил ещё один аспект ХП. Раздача прав. В описатели выше случае каждому пользователю выдавался логин в БД. И он добавлялся в роль, как правило одну. Эта роль в свою очередь была добавлена в роли функционала, которые ей доступны. Никаких прямых селектов, никаких «украл базу клиентов», ровно то, что разрешено выполнять.
В веб приложении это не применимо точь-в-точь, понятно.
источник

p

programmist ⌨️ in Clojure — русскоговорящее сообщество
Oleg Roshchupkin
Я имею в виду "почему новая история про 1.5к хранимок напоминает старую".
Видимо потому, что не один я так считаю. В данном случае я пришёл в работающий проект, где уже всё было построено по такой же схеме.
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Я рад за тебя, значит это твоя тема.
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Без сарказма.
источник

p

programmist ⌨️ in Clojure — русскоговорящее сообщество
Oleg Roshchupkin
Без сарказма.
Опередил)
источник
2020 February 21

AC

Anton Chikin in Clojure — русскоговорящее сообщество
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
programmist ⌨️
Кстати вспомнил ещё один аспект ХП. Раздача прав. В описатели выше случае каждому пользователю выдавался логин в БД. И он добавлялся в роль, как правило одну. Эта роль в свою очередь была добавлена в роли функционала, которые ей доступны. Никаких прямых селектов, никаких «украл базу клиентов», ровно то, что разрешено выполнять.
В веб приложении это не применимо точь-в-точь, понятно.
Не понял насчёт «украл базу клиентов».
Если есть такие данные и к ним даётся доступ, то и украсть их можно.
источник

ВП

Владислав Петров in Clojure — русскоговорящее сообщество
\voteban
источник

ВП

Владислав Петров in Clojure — русскоговорящее сообщество
Нам нужен бот, чтоб голосованием банить)
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
насколько я понял, бот проходит капчу, некоторое время сидит молча и только потом спамит
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Владислав Петров
Нам нужен бот, чтоб голосованием банить)
проще руками чистить - не большая проблема даже если сколько-то минут повисит левая объява.
раз в несколько дней к тому же.
источник

ВП

Владислав Петров in Clojure — русскоговорящее сообщество
Ну ок)
источник

AS

Anton Strukov in Clojure — русскоговорящее сообщество
Фолкс,подскажите пожалуйста как реализовать такое, я хожу в апишку по урлу, достаю оттуда джейсон, вытащить интересующий меня ключ я смог, как мне его провалидировать что он похож на то что надо(есть регексп на это), и если есть матч, то сходить по урлу который выдали, и так до тех пор пока я не смогу сматчить регескпом выхлоп? В голову приходит конструкция типа этих, но я пока не знаю как мне обновить variable чтобы по нему ходить если найду новую ссылку. Пока любое решение “влоб”(нашёл ссылку, записал её в мапу, пошёл по следующему индексу мапы?) — будет отлично. Потом буду придумывать как ходить по всем таким урлам что найду, асинхронно, контролируя, наверное по кол-ву потоков, если решение получится хоть как-то расширяющееся.
Сейчас у меня получается какое-то стандартное выходца питона-голенга, тобишь я тупо перечесляю через дефы что делать и пытаюсь это собрать вместе, а хочется сделать красиво и элегантно.
источник