Λ ll И K X
пушто лайнер
Λ ll И K X
а не бэклок
Hog
Ayrat
а тут прям пиздец.
Ayrat
подковерные игрища VP где твои проекты разменная монета и тебя закроют завтра если один другому в карты проиграет
Hog
пфффф
Hog
ну, закроют - чо другую работу не найдёшь?
Ayrat
бесспорно
Hog
реально. вот осознай - ты суперпец. вся эта менежерская возня тебе нахер не сплющилась
Hog
некомфортно? посылай нахуй.
Hog
думаешь уволят?
Hog
повысят тока
Ayrat
Ну вот хочу я пилить А, а А не дают пилить, потому что нельзя отдавать А пилить не своим людям, там большие бюджеты
Hog
Hog
это где-то под Хуёдерабадом?
Ayrat
да, в Арканса
Hog
надо переехать в Бентонвилль
ну и это пока они тебя не знают. было у меня такое примерно - решил перепрыгнуть в иную команду "пилить А", как ты говоришь.
Ayrat
Ayrat
то есть мой уровень даже не рассматривается
Ayrat
люди там оперируют минимум pillars внутри компании, а там внутри pillars есть sites и Дублин один их них, далеко не самый интересный. У нас 100 людей, в Бангалоре 3000
Ayrat
короче, политика многое решает в волмарте.
Hog
то, что 1500 бангалоров будут обсуждать месяц - ты + 2 чела на подхвате запилите за вечер :)
Hog
Ayrat
Ayrat
я вот вроде тех лид, но ебать как же я далек от топов
Ayrat
в Аркадиуме например от меня до главного был 1 человек.
Сейчас…. 8
то есть это 8 слоев боссов
Hog
Ayrat
Hog
Doge
Shub
Doge
Причем выйдет что-то более-менее среднего качества даже
Ayrat
ну кстати мне тут показали недавно как быстро можно на спринге сделать всю эту поеботу. Стандартные решения, типизированные там реально за день склеить
Hog
Hog
Hog
Ayrat
Shub
аннотация на аннотации аннотацией погоняет. хер проссышь
пхах. учись:
"FsCodec.StreamName: strongly-typed wrapper for a Stream Name, together with factory functions and active patterns for parsing same"
/// Lightly-wrapped well-formed Stream Name adhering to one of two forms:
/// 1. <code>{category}-{aggregateId}</code>
/// 2. <code>{category}-{id1}_{id2}_...{idN}</code>
// see https://github.com/fsprojects/FSharp.UMX
type StreamName = string<streamName>
and [<Measure>] streamName
Hog
Shub
ага
Ayrat
ну я просто немного Play покушал. Дичь конечно, дичь. Надо было спринг брать
Shub
потому что вдруг ты не тот айдишник передашь?
Hog
Doge
Doge
Как минимум пару лет назад таким был
Ayrat
Ну ничего особо не поменялось в целом.
Hog
ВСЁ ТЛЕН! @AnutaU с тебя стикер :)
Ayrat
Ну, я может не того ожидал. Я хотел репид девелопмента
Doge
Anonymous
http://ithare.com/scaling-stateful-objects/
Doge
Я вообще не понимаю кому он нужен
Anonymous
что думаете об этом?
Ayrat
А Play чот предполагает что ты там будешь ебаться с акка-стримами респонсов, церемонии регулярные как боди задать в реквесте
Doge
Какой-то бессмысленный фреймворк
Ayrat
HttpEntity.Streamed
HttpEntity.Strict
HttpEntity.Chunked
все это скрыто, куча странных вещей внутри, я нашел 3 разных неймспейса для HttpStatusCode и они друг с другом несовместимы
Ayrat
надо правильный импортить
Shub
ну какой есть. оказалось, что тайпклассы не справляются с раздачей разметки по http
Hog
во-вторых им достаточно мешки друг-другу передавать
Doge
Anonymous
Shub
Shub
например их дсл для роутов
Shub
но на тот момент был только Lift, в котором весь сайт - это меню
Shub
error FS0503: A member or object constructor 'Start' taking 1 arguments is not accessible from this code location. All accessible versions of method 'Start' take 14 arguments.
Ayrat
Shub
ну я могу показать эти 14 аргументов
Shub
static member Start<'M,'Res>
( log : ILogger, config : KafkaConsumerConfig, parseStreamEvents,
prepare, handle, maxDop, stats : Streams.Scheduling.StreamSchedulerStats<OkResult<'Res>,FailResult>,
/// Prevent batches being consolidated prior to scheduling in order to maximize granularity of consumer offset updates
?maximizeOffsetWriting,
?pipelineStatsInterval, ?maxSubmissionsPerPartition, ?pumpInterval, ?logExternalState, ?idleDelay)=
Core.StreamsConsumer.Start<'M,(string*Propulsion.Streams.StreamSpan<_>),'Res>(
log, config, Bindings.mapConsumeResult, parseStreamEvents, prepare, handle, maxDop, stats,
?pipelineStatsInterval = pipelineStatsInterval,
?maxSubmissionsPerPartition = maxSubmissionsPerPartition,
?pumpInterval = pumpInterval,
?logExternalState = logExternalState,
?idleDelay = idleDelay,
?maximizeOffsetWriting = maximizeOffsetWriting)
Doge
ты почитай сначала
In a sense – when moving from Stateless Apps to Stateful Apps, we’re trading DB scaling complications (which are typical for Stateless Apps) for App scaling complications (typical for Stateful Apps). From my experience, such a trade-off is well-worth it.
Вот у меня совершенно другой опыт относительно того насколько оправдан этот трейд-офф. Для гейм дева может быть все не так, но для обычных энтерпрайз приложений проще хороших дба нанять, чем перекореживать все приложение под ин-мемори стейт
Ayrat
Короче, я просто хотел что-то вроде жирафа, когда можно писать просто, а если хочется дичи, всегда можно сделать дичи на underlying фреймворке
а получил что мне в play надо постоянно писать дичь, поддерживать роуты отдельно от контроллеров, материализовывать стримы (А Я ПРОСТО ХОЧУ ПОЛУЧИТЬ ЕБАНЫЙ ЖСОН ИЗ БОДИ), прокидывать интересные тайпклассы (А Я ПРОСТО ХОЧУ ПОЛОЖИТЬ ЕБАНЫЙ ЖСОН В БОДИ)