Vladislav
Ну типо вот у меня 150 процедур с зависимой логикой
Vladislav
Чо делать
Pavel
Vladislav
(Типичный представитель из зала)
x
Nikolay
Как-то так
Nikolay
Зависит
Анна
Pavel
Чо чо? Гле почитать?
https://en.wikipedia.org/wiki/Clean_(programming_language)
интересная штука была. круче хаскеля. но так как в отличии от хаскеля не спонсировалась ms то развития не получила
Nikolay
Обрабатывающая функция получается полностью чистая, функция, куда передаёшь функцию, которая в базу ходит будет получистой, её тоже легко тестить можно, подменяя функцию, которая ходит в базу своей
Vladislav
Nikolay
Обрабатывающая чистая
Vladislav
Все что ее трогает уже не чистое
Nikolay
> в третью функцию, которая этот результат обрабатывает
Nikolay
x
Суть фп минимизировать код который грязный и максимизировать который чистый
x
100% чистоты быть не может по определению
x
Но к ней надо идти
Pavel
x
Я не даю определения фп.
Pavel
x
Для геймдева в основном применяется data oriented programming, не functional
x
Насколько я знаю
Pavel
неважно. внешний мир побочных эффектов одинаков, что для консоли, что для дх драйверов, что для базы данных.
Nikolay
Nikolay
Представь себя интровертом
Pavel
он просто есть и с ним приходится работать, таща его стейт через все приложение
x
Pavel
Представь себя интровертом
тут не надо ниче представлять. тут достаточно посмотреть упомянутые исходники что б осознать что это тупиковая ветвь
Pavel
Nikolay
Nikolay
Так работает перемотка в играх, например
Pavel
какое отношение перемотка имеет к стейту который может меняться независимо от пользователя?
Nikolay
Если ты поменяешь стейт, ты не сможешь откатиться назад
Nikolay
Грубо говоря, ты вызываешь функцию getCurrentState, она рассчитывает стейт для тебя
Pavel
Nikolay
И ты уже отображаешь его
Nikolay
Щас точно не помню, но вроде react/redux так и работает
x
для бд и игр? это как ?
Про бд давно уже известно что update и delete не нужны, информация слишком ценна чтобы с ней обращаться таким образом а носители довольно дешевы. А про игры ещё раз повторюсь, что возможно там фп и не слишком выигрышная стратегия. Особенно в платформерах. А вот в стратежках каких пошаговых так почему бы и нет
Hog
Vladislav
x
x
А баба вера как удаляла так и удаляет записи ) ей как раз пофигу
x
Ну ты же понимаешь что это не апдейт? А инсерт новой записи о каждом звонке?
Pavel
я про баланс а не звонок. ты точно в телекоме не работаешь
x
Конечно нет ) а что тут специфичного именно для телекома?
Pavel
объемы информации, время отклика и толщина потока. короче если ты будешь в приличном обществе рассказывать про компании которы все хранят на тобой будут смеятся (не обязательно вслух). все хранить себе может позволить компаний 10 в мире. остальные апдейтят и трут
x
Это всё какое отношение к балансу имеет?
Pavel
у тебя на балансе 10 рублей. ты позвонил - стало 8 . думаешь ктото будет запись создавать? тебе обновят баланс и свободен
x
И как потом мне узнать куда и сколько у меня ушло денег? Если всё что я знаю -«теперь 8»
Pavel
насыпят в логи куда звонил и сколько с тебя сняли. но основной твой баланс всегда будет обновлятся.
Pavel
весь твой стейт будет всегда обновлятся.
Pavel
не только баланс
x
Ты всерьёз полагаешь, что при запросе истории звонков софт полезет в логи sql server-а?
x
Можно вопрос, сколько лет ты «работаешь в телекоме»?
Pavel
во превых не полагаю. во вторах не те логи о которых ты подумал. логи можно лить куда угодно
Pavel
Pavel
логи они за приделами real-time стейта о тебе. они не обязаны возвращаться мгновенно
x
Ну ясно.
Hog
:(
Ми сорри :( я всегда так себе и коллегам говорю. Написал грязный код - надо руки хорошо вымыть :) и сразу ощущение грязи пройдёт :)
Hog
Romɑn
Éminence grise
Офигеть, сколько написали ни о чем 😊
Éminence grise
Во первых, система с миллионом пользователей сильно отличается от системы с миллионом АКТИВНЫХ пользователей.
Éminence grise
Во вторых логи нужны нв разборе полетов, знвчит вопрос их хранения и передачи уходит из системы в обеспечение.
Éminence grise
В третьих - хочется полного контроля - уходить на event source model, но объяснить бизнесу( тем кто платит), что объем дисков и оплата будет рости геометрически.
Éminence grise
А все остальное правда.
Éminence grise
И последнее - в чем разница в этом между fSharp и другими языками. Первый раз скажу, оф топ
Hog
Éminence grise
Спасибо! Яблочки с медом все покушали?
Hog
Да я что-то всё больше по пивку :)
Éminence grise
А я и то и другое успел 😊
Éminence grise
Никак не думал, что кото знает, что у на рош-гашана!