Quet 
    
    
        
        
        
        пропеллер ещё был но кажется его придётся мейнтейнить если вдруг взять
    
 
    
    Dmitry 
    
    
        
        
        
        пропеллор я трогал, но не говоря о странных идеях - т.е репозиторий один глобальный, а не на каждый проект - он еще и не работал
    
 
    
    Quet 
    
    
        
        
        
        да, мне тоже не нравится там эта идея
    
 
    
    Quet 
    
    
        
        
        
        а чего б вы хотели от деплоя? если атомарность/идемпотентность то вам точно в никс
    
 
    
    Dmitry 
    
    
        
        
        
        а кто бы не хотел
    
 
    
    Quet 
    
    
        
        
        
        я б наверное все равно остановился на докере, оно самое живое
        и в принципе решает эти проблемы
    
 
    
    Anonymous 
    
    
        
        
        
        https://thehftguy.com/2016/11/01/docker-in-production-an-history-of-failure/
    
 
    
    Quet 
    
    
        
        
        
        оно там немношк устарело уже
    
 
    
    Anonymous 
    
    
        
        
        
        https://thehftguy.com/2017/02/23/docker-in-production-an-update/
    
 
    
    Anonymous 
    
    
        
        
        
        =)
    
 
    
    Quet 
    
    
        
        
        
        ну вон тоже странно -- говорит на убунте не пробовал
    
 
    
    Quet 
    
    
        
        
        
        на дебиане все плохо
    
 
    
    Quet 
    
    
        
        
        
        апдейт странный. если в первом посте были валидные доебы что докер не умеет чистить говно старое (справедливо для той версии, поправлено в текущей)
        то в апдейте какая-то философия типа Docker has no business model and no way to monetize
    
 
    
    Anonymous 
    
    
        
        
        
        бизнес модель это философия?
    
 
    
    Anonymous 
    
    
        
        
        
        а я думал, что это деньги и дальнейшее развитие
    
 
    
    ㅤ 
    
    
 
    
    Anonymous 
    
    
        
        
        
        друга недавно вместе со всеми уволили из стартапа, потому что инвестор перестал давать деньги, потому что так и не придумали модель монетизации
    
 
    
    Anonymous 
    
    
        
        
        
        это как бы не философия какая-то, а реалии
    
 
    
    Anonymous 
    
    
        
        
        
        а докер тоже стартап
    
 
    
    ㅤ 
    
    
 
    
    Anonymous 
    
    
        
        
        
        ну нет вообще-то
    
 
    
    ㅤ 
    
    
        
        
        
        рулетка
    
 
    
    Anonymous 
    
    
        
        
        
        ну тогда мы сейчас общаемся в мессенджере, который обречен
    
 
    
    Anonymous 
    
    
        
        
        
        как он монетизируется?
    
 
    
    ㅤ 
    
    
        
        
        
        возможно, кто знает
    
 
    
    ㅤ 
    
    
        
        
        
        один из реальных вариантов - продать
        как линкедин например, был и есть убыточный.
    
 
    
    Anonymous 
    
    
        
        
        
        но в таком случае если будущее доскера туманно, то стоит ли его брать в продакшн? вот о чем автор хотел сказать. при чем тут философия я не пойму, если речь о самых настоящих рисках.
    
 
    
    Anonymous 
    
    
        
        
        
        ну не путай божий дар с яичницей
    
 
    
    Boris 
    
    
        
        
        
        В докере заинтересованы коммерческие компании, та же IBM свою контейнерезацию пилит на базе докера, не думаю что он как никому не известный стартап может сегодня просто взять и исчезнуть.
    
 
    
    Максим 
    
    
 
    
    Alexander 
    
    
 
    
    Alexander 
    
    
        
        
        
        У докера докерхаб платный для закрытых вроде
    
 
    
    time 
    
    
        
        
        
        Докерхаб можно и свой поднять
    
 
    
    Artem 
    
    
        
        
        
        докерхаб вроде бы нет, но репозиторий для имеджей можно
    
 
    
    time 
    
    
        
        
        
        Суть одна
    
 
    
    Donat 
    
    
        
        
        
        реджистри по-прежнему надо сбрасывать чтобы удалить старые пакеты?
    
 
    
    Donat 
    
    
        
        
        
        когда последний раз смотрел, у них было два недопиленных проекта
    
 
    
    Евгений 
    
    
        
        
        
        Я попал в 2013 год? docker у amazon'а уже в продакшоне
    
 
    
    Евгений 
    
    
        
        
        
        Никуда он не пропадёт
    
 
    
    ㅤ 
    
    
        
        
        
        докер вообще просто надстройка над легковесными контейнерами которая вообще не его часть
    
 
    
    ㅤ 
    
    
        
        
        
        даже если исчезнет надстройка, появится другая, да их и так полно, можно использовать докер без докера если напрямую
    
 
    
    ㅤ 
    
    
        
        
        
        даже свое велосипедить можно
        https://github.com/LPgenerator/Ldld
    
 
    
    Boris 
    
    
        
        
        
        все таки получил максимальный резалт по короткости - 
        main=mapM(\n->putStrLn$[show n,"Fizz","Buzz","FizzBuzz"]!!mod(div(gcd 15n)2)4)[1..100]
    
 
    
    Влод 
    
    
        
        
        
        15n не опечатка?
    
 
    
    Boris 
    
    
        
        
        
        неа
    
 
    
    Boris 
    
    
        
        
        
        я сам удивился, но так можно
    
 
    
    Misha 
    
    
        
        
        
        @qnikst, а почему runProcess не возвращает ничего? приходится городить всякую непотребщину, типа bla <- newTVar; runProcess $ do { let x = try $ do { send ... ; expect ... }; atomically $ writeTVar x; } ; x <- atomically $ do readTVar bla;
        так плохо делать?
    
 
    
    Misha 
    
    
        
        
        
        ну там еще atomically надо натыкать, но идея понятна должна быть
    
 
    
    Alexander 
    
    
        
        
        
        Потому, что никто не подумал. Нормально только почему TVar а не MVar или TMVar?
    
 
    
    Misha 
    
    
        
        
        
        а по привычке
    
 
    
    Alexander 
    
    
        
        
        
        Просто твар не сработает
    
 
    
    Misha 
    
    
        
        
        
        о
    
 
    
    Alexander 
    
    
        
        
        
        Но видимо очепятка тут?
    
 
    
    Misha 
    
    
        
        
        
        а почему
    
 
    
    Alexander 
    
    
        
        
        
        Ну он же не будет ждать результата записи из d-p потока
    
 
    
    Misha 
    
    
        
        
        
        а, ну да, там надо будет еще магию городить с retry если пусто и т.д
    
 
    
    Misha 
    
    
        
        
        
        да, мвар лучше конечно
    
 
    
    Alexander 
    
    
        
        
        
        И получится TMVar он же TVar (Maybe a)
    
 
    
    Misha 
    
    
        
        
        
        да, оно самое
    
 
    
    Alexander 
    
    
        
        
        
        Плюс исключения
    
 
    
    Misha 
    
    
        
        
        
        угу
    
 
    
    Alexander 
    
    
        
        
        
        Тебе нужно try (..) >>= putMVar box
    
 
    
    Alexander 
    
    
        
        
        
        И either throwIO return =<< takeMVar box
    
 
    
    Misha 
    
    
        
        
        
        да, что-то такое
    
 
    
    Misha 
    
    
        
        
        
        то есть в принципе никакого особенного криминала я не вижу, но думал, вдруг это специально сделано
    
 
    
    Alexander 
    
    
        
        
        
        А так норм, вообще когда-нибудь надо будет сделать функцию такую
    
 
    
    Misha 
    
    
        
        
        
        вот да
    
 
    
    Misha 
    
    
        
        
        
        прямо просится
    
 
    
    Misha 
    
    
        
        
        
        тогда сочиню что-то такое
    
 
    
    Misha 
    
    
        
        
        
        спасибо!
    
 
    
    Misha 
    
    
        
        
        
        на хэкендже похоже косяк в документации:
        -- | Lift 'Control.Exception.try'
        try :: Exception e => Process a -> Process (Either e a)
        try = Catch.try
        {-# DEPRECATED try "Use Control.Monad.Catch.mask_ instead" #-}
    
 
    
    Ruslan 
    
    
        
        
        
        Утро доброе.
        есть список, там есть булевые значения.
        как можно сделать новый список, что если значение первого true, то мы заполняем новый список значением от 1 и далее, если false — заполняем нулем?
        должно выглядеть как-то так:
        старый список [false, true, true, false, false , true]
        новый [0, 1, 2, 0, 0, 3]
        это как-то просто прикидывается на сях, но что-то на хаскеле не догоняю
    
 
    
    Alexander 
    
    
        
        
        
        zipWith (\a b -> if b then a else 0) [1..]
    
 
    
    Alexander 
    
    
        
        
        
        Но наверное на задачки по курсам тут не стоит отвечать решением сразу..: /
    
 
    
    Anonymous 
    
    
        
        
        
        а я чет умнее чем использовать тут левую свертку не придумал :/