Fork me on GitHub
#clojure-russia
<
2017-05-24
>
dima08:05:18

@a.espolov используй backquote для кода в slack :>

artemyarulin17:05:30

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

fmnoise19:05:48

ага, тож читаю

fmnoise19:05:08

Никита кросаучег, здорово расписал

misha19:05:22

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

misha19:05:59

и имен не хватит всё называть. но вцелом, всё так

misha19:05:15

@artemyarulin а чувак, что всю заваруху устроил про "назад в руби" - я удивлен, что он во время презентации не посёрбывал четверной карамельный латэ-макиато

misha19:05:03

вообще ни слова серъезно не мог воспринять из его жалобы

artemyarulin19:05:42

да неа ну чо вы сразу на чувака. По мне дак проблемы есть у кложи, чего уж

artemyarulin19:05:07

Кложа прям вся из себя совсем другая и не мейнстрим оно конечно как наезд слабоват, но по мне дак много народа даж не лезет пробовать из-за скобочек и вообще

misha19:05:34

понятно, что есть, но 1) где их нет, 2) и ну вот правда от него теперь ничего не могу всерьез воспринимать

mike_ananev19:05:30

@artemyarulin да, странный доклад. я его тоже послушал местами внимательно. имхо, для того чтобы писать на кложе надо понять идеи языка, а также идеи того, как проектировать системы по принципу simple (вне зависимости от языка). я вот первый свой проект на кложе писал как на java. то есть это был код в синтаксисе кложи, но целиком построен императивно: огромные, по 50 строк функции, которые делают много разных операций, циклы и т.д. хуже того я пытался контрукции java насильно сделать в кложе. короче кложа в тот период была жутко не удобная и я вообще не видел никаких преимуществ. а причина была банальна, я просто был фиговый программер.

misha19:05:49

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

artemyarulin19:05:28

вот вот, все так на кложуре по началу пишут - у меня первый год только такое и выходило

mike_ananev19:05:41

@artemyarulin а какие у кложи проблемы? можешь привести пример?

artemyarulin19:05:49

В этом мне кажется и есть главный наезд - ну у кого есть год на это

misha19:05:50

и очень рад, что Рич и тусовка не тратят целенаправленно на это ресурсы и время

misha19:05:27

ну лол, надо быстро налячкать - лячкай в рубях своих, проблема-то в чем.

artemyarulin19:05:39

По мне дак закрытость экосистемы. Безумно рад что CLJS скоро сможет напрямую с node modules общаться, но чего ж они не сразу такое сделали(

leov19:05:54

всем привет. а можно ссылку на назад в руби для пропустивших?

misha19:05:59

а как выглядит открытость?

artemyarulin19:05:05

Рантайм опять же тяжелый - сделать либу на CLJS котоую можно юзать в JS мире почти без шансов

artemyarulin19:05:31

Java > Clojure тоже самое, вроде как в теории можно дернуть, но в реальности неа

misha19:05:36

@leov https://twitter.com/ztellman/status/865655165163945990 вот этот тред в сааааааамое начало мотай

misha19:05:52

там где-то есть ссылка на презуху и бложик

artemyarulin19:05:03

оффтоп: В твитере читать треды и длинные обсуждения такой ад

misha19:05:27

ад индид

mike_ananev19:05:21

@artemyarulin насчет закрытости, я такого не увидел. наоборот. книжек по кложе я уже имею около 30. самая годная для начинающих на русском языке, 13 года, от Чаза Эмерика. докладов на youtube просто очень много. Как настроить IDE тоже море туториалов. С чем я могу согласится так это нужно много желания, чтобы "оседлать" кложу.

misha19:05:36

блин, чуваки без опыта лезут сразу системы монстрить, потому что бытовуха на кложе/скрипте за часы решается, и потом расстраиваются, что нельзя скилл заимпортить

misha19:05:53

она и правда туговато идет, если на жаве/питоне/жс пересидел чутка, но как-бэ язык-то тут при чем?

leov19:05:15

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

artemyarulin19:05:16

а что тогда причем?

mike_ananev19:05:30

1) нужно знать runtime на котором пишешь программы. Если это JVM значит надо знать как минимум язык Java, а также Java memory model. Благо лекции Шипилева в достатке на ютубе. Но я реально тратил много времени, пересматривал их. Приходилось много читать, т.к. не всегда хватает багажа знаний.

misha19:05:48

вот бложек того чувака после мега треда

leov19:05:57

кстати тоже факт. нет у меня жвм бакграунда

misha19:05:10

@artemyarulin язык пишется, чтобы решить проблемы других языков, или нишу занять пустующую. переходить на язык добровольно, и быть недовольным, что он не такой, как остальные (проблемы которых создан решить) - это тупо

misha19:05:37

это как купить фанту и жаловаться, что это не кола на вкус

mike_ananev19:05:44

2) нужно уметь проектировать системы. Это уже знания вне языка. Приходилось читать книги по интеграции, SOA, смотреть про фреймворки, понять идеи. Без этого багажа, только если рядом есть гуру, кто может помочь выстроить ясную архитектуру.

misha19:05:48

или даже не сметана, хз

leov19:05:27

2) этот тезис неясен, тк состоит из баззвордов

artemyarulin19:05:08

нету фрейворков на кложе. На рельсах хоп-хоп и готово и все уже расказано как и чо

misha19:05:14

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

mike_ananev19:05:31

@leov короче надо как-то уметь бить на модули и выстраивать общую логику системы, выстраивать процессы

misha19:05:40

ну а люминус тот же чо?

misha19:05:01

ну в том-то и дело, чертям скучно

misha19:05:49

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

artemyarulin19:05:12

ну вот вы кложуру продаете там у себя другам/подругам - вы про что рассказываете? Что репл тащит? Это продать тяжело ибо пока не попробуешь не поймешь а большенство думает что запустить node это репл и фе

mike_ananev19:05:16

я практиковался на интеграционных проектах, с процессной составляющей. короче по началу, я вообще не понимал что происходит вокруг, когда шло внедрение большой системы от ibm или oracle. у ibm мне очень помогли их redbook'и особенно начало каждой книги.

misha19:05:29

All programming languages should strive to be fun and make programmers happy. нет слов

misha20:05:15

иди ребусы порешай и шоколадку съешь. шестерной флет вайт с брауни выпей

misha20:05:25

ох у меня пердак разогрелся от этого треда

misha20:05:46

ну вот зачем тебе "продавать"? давай разберемся в причине корневой

mike_ananev20:05:21

@artemyarulin недавно я продал спеку аналитикам АС. это те кто пишут doc/xls когда переводят бизнес-требования в детальные технические задания. не поверишь, аналитики реально увидели сокращение работы в том, что если они на спеке излагают доменную область и что еще лучше - API системы, то им не приходится заниматься писаниной, которую потом все равно на тестах и ПСИ надо проверять.

misha20:05:28

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

artemyarulin20:05:53

Спека - зачет, это я целиком согласен что прорыв.

artemyarulin20:05:17

Продавать - чтоб было больше чем полтора человека которые знают о языке

misha20:05:06

единственные полтора, которые тебе нужны: рич и нолен, чтобы кложа в жаву и жс компилиться не переставала kappa

artemyarulin20:05:09

Чтоб были вакансии, чтобы были девы и проекты. Я не хочу чтоб кложа стала вторым хаскелем - самый пиатый язык в мире, но никто не юзает и никто не слышал

misha20:05:01

ну 2/3 любой индустрии живет неэффективностью.

misha20:05:24

это как просить одновременно и минимальную хп в макдональдсе 15$ и автоматизацию: 1 из 10 дадут 15$ в час, а остальных 9 на тачскрин заменят

misha20:05:00

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

misha20:05:39

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

fmnoise20:05:08

куча либ для одного и того же

fmnoise20:05:11

как правило

misha20:05:56

у чуваков вон обычно диссонанс, когда у кложи 3 либы для какого-то задания, и тем по 4 года, и они работают. новых нет - начинается паранойа, что "заброшеные и всё пропало"

mike_ananev20:05:58

@artemyarulin по своему опыту я могу сказать, что все измеряется деньгами. я вижу ежедневно, как "больные" ООП архитекторы рожают таких монстров на бумаге, что диву даешься. далее эти монструозные конструкции выливаются в сотни (!) модулей на Java, которые пишуться годами. Далее у чуваков возникают жуткие проблемы из-за того, что они сложные классы сериализуют, десериализуют и на это тратятся тоже ресурсы. когда начинаешь вникать в суть - какую проблему бизнеса надо было решить, вдруг понимешь, что там нужно небольшой 1 модуль, который фокусно решает это проблему. кложевские мапы отражают просто данные доменной области. а транзит реально решает проблемы коммуникации.

fmnoise20:05:32

ага, это рубишная параноя

fmnoise20:05:51

последний коммит год назад? тушите свет

misha20:05:08

самое главное, @mike1452, сколько гребцов себе ипотеки выплатят, пока реализуют "архитектуру"

misha20:05:40

у кого-то может и дети в садик уже пойдут, за который написание геттеров фул тайм заплатило opieop

fmnoise20:05:52

я не знаю, кто щас монстров пишет в миллион модулей

mike_ananev20:05:58

короче когда я бизнесу притаскиваю уже работающий прототип, я вызываю жуткий гнев коллег по цеху, т.к. 1 маленький uberjar решает проблемы бизнеса уже сейчас. бизнес начинает терятся, мол а нахера нам монстр?

fmnoise20:05:03

всем надо "демо на вчера"

mike_ananev20:05:04

@misha да не без этого наверно.

fmnoise20:05:19

оттого собсно и рельсы

fmnoise20:05:28

и прочий фаст прототайпинг

mike_ananev20:05:10

в общем сейчас пишем вместе с аналитиками прототип реестра данных. это такой сервис, который будет содержать всю информацию о структуре данных, различных предметных областей, и информацию об API модулей. все в спеке с удобным веб-интерфейсом и визуализацией

mike_ananev20:05:58

а над этой же проблемой трудится уже 3-4 года целых 2 департамента, в купе с уважаемыми дорогими вендорами и пока с 0 результатом.

mike_ananev20:05:12

вот будет потеха, когда мы демо устроим бизнесу.

fmnoise20:05:36

слушай, а как так? это типа не кор-фича для бизнеса?

mike_ananev20:05:49

это кор фича для бизнеса.

fmnoise20:05:59

так а что кушает бизнес 3-4 года?

mike_ananev20:05:13

обещания и презентации

fmnoise20:05:35

а так можно? у нас в магазине за деньги все

dottedmag20:05:04

Так обещания и презентации инвесторам показывают, а не клиентам.

mike_ananev20:05:07

когда я показал только генераторы, валидаторы, парсеры ( на голой спеке), те кто реально знает проблему реально офигели.

artemyarulin20:05:15

@mike1452 и ты думаешь что это все из-за языка? Ты бы сам тоже самое не сделал бы на жаве?

mike_ananev20:05:24

неа, не сделал.

fmnoise20:05:29

терпеливые знач инвесторы

fmnoise20:05:39

за 3-4 года шо хош остынет мне кажется

dottedmag20:05:41

@artemyarulin Ну слушай, на джаве просто заколупаешься писать горы кода.

mike_ananev20:05:44

просто потому, что нет тех идей, нет simplicty

mike_ananev20:05:39

и нет культуры работы с данными как сданными

artemyarulin20:05:58

ну на жаве то 100500 либ, там вроде уже вроде всякие хипстерские фреймворки появились чтоб микросервисы и все дела

mike_ananev20:05:12

когда программеры запихивают данные в стринг, они этим хоронят данные, т.к. после этого надо писать парсеры, чтобы достать их оттуда

misha20:05:26

я в посление месяцы джавы писал всё статик методами, ох было непросто, оно не то что в глаза - оно в экран не помещается

dottedmag20:05:40

@artemyarulin Мой преподаватель логики (он же один из первых системных программистов в СССР) часто упоминал теорему из, опять-таки логики, что введение правильного понятия сокращает код алгоритма в башню экспонент раз.

misha20:05:00

@artemyarulin ага, спринг 😃

artemyarulin20:05:12

в жаве обществе тебя бы канделябрами за такое побили - статик методы зло ибо нельзя ничо замокать и мок фреймвор не поддерживает такое troll

mike_ananev20:05:28

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

misha20:05:33

там целая индустрия на ютубе уроков "как мышкой создать пустой спринг проект в эклипсе/идее"

dottedmag20:05:42

@artemyarulin А в ответ раз такой: и сделал фабрику синглтонов, чтобы тесты мокать 😃

mike_ananev20:05:56

да, точно - целая индустрия плодит говнокодеров.

dottedmag20:05:19

говнокодеры плодят тонны говнокода.

artemyarulin20:05:35

>кложа очень сильно патчит мозги. вот тут соглашусь - ушел счас на JS/TypeScript, а один фиг пишу все как на кложе 😄

dottedmag20:05:36

и даже если есть кто-то вменяемый в роли архитектора, то он из архитектора превращается в ассенизатора.

fmnoise20:05:36

главное чтобы всем нравилось

misha20:05:36

на моках тоже вон сколько квартир выплачено

mike_ananev20:05:43

и именно эти говнокодеры, после hello world туториалов, когда видят кложу естественно видят в ней нечто чужеродное, инородное и самое главное не понятное. вот в чем сложность кложи

dottedmag20:05:12

@mike1452 Они видят not easy, а думают, что это complex.

misha20:05:24

@mike1452 я думаю, как бы это не прозвучало, что не каждым мозгам приживается, + не каждые способные мозги усилия прилагают

mike_ananev20:05:58

@misha да я тоже это заметил. не каждые мозги ее усваивают.

mike_ananev20:05:46

об этом кстати сам Шипилев (очень крутой программер) говорил. что он пробовал кложу и говорит, что мозг у тех кто на ней пишет переформатирован так, что он не смог такое с собой сделать

mike_ananev20:05:58

я ему этот вопрос на JUG'e задавал

fmnoise20:05:41

мне после руби вроде норм заходит

fmnoise20:05:49

может это джава мозги гнет?

misha20:05:06

ну а потом появляются мемасики про лисп и башню из слоновой кости, и стереотипы "пришел в кложу, потому что считает себя на 2 головы выше остальных" (как @kishanov, вроде, написал)

mike_ananev20:05:25

как говорил Рич, кложа воспринимается как некая технология от инопланетян. то что у них необычной формы корабли и технологии не значит, что они плохие или не эффективные. просто она своей формой реально выглядит как alien's технолоджи

misha20:05:08

это который "плотный сиплюплюсник?" там же сильно близко к металу, там императивное всё потому что железо оно такое, он же не сайтики пишет

dottedmag20:05:14

Показал бы ему кто-нибудь форт, что ли.

mike_ananev20:05:16

да, он с++ использует и пишет кишки JVM. и у него мозг реально под императивщину заточен по понятным причинам.

misha20:05:28

@fmnoise питон/руби/жс - жеж погибче джавы. с 0 сайтики писать на джаве наверное не пойдешь. кого знаю начинавших с джавы - все сразу в интерпрайз мясорубку попадали

fmnoise20:05:05

я наоборот пробовал немного на джаве, после питона. не зашло

dottedmag20:05:16

Очень большая ирония в том, что clojure на JVM.

mike_ananev20:05:20

после питона java не зайдет

mike_ananev20:05:36

это если только по нужде, когда есть хочется

fmnoise20:05:42

помню меня final убил прям

fmnoise20:05:44

наповал

misha20:05:18

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

misha20:05:47

final, кстати, one love

dottedmag20:05:55

@misha А что, притащить библиотеку для иммутабельных структур данных уже никак? 🙂 Или там, скажем, react native, если это джава для андроида.

dottedmag20:05:05

Библиотеку clojure.jar, конечно.

misha20:05:13

static final bellissimo

misha20:05:58

@dottedmag то было сколько-то лет назад, я потому за кложу и взялся, потому что надо было мозги взбодрить

fmnoise20:05:45

jvm это ж рантайм только

fmnoise20:05:57

так что иронии нет особо

misha20:05:18

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

fmnoise20:05:11

а кстати это, CLR версия вообще идет?

fmnoise20:05:17

пользуется кто-то?

dottedmag20:05:37

Ей пользуются несчастные игроводы, которым нужно Unity

misha20:05:50

её вроде уже не кор-тим пилит, и то форк какой-то, и для юнити

dottedmag20:05:59

На последних конференциях были доклады про mage, который новый компилятор для CLR

dottedmag20:05:15

(или не mage -- один из компонентов точно назывался mage)

andmed20:05:18

нет культуры работы с данными как сданными хорошо

dottedmag20:05:47

@andmed Есть культура работы с данными, как с бомбами: их нужно разложить по чугунным контейнерам, и доступ к ним делать только через тщательно задраиваемые люки. Чтобы случайно не пошла цепная мутация.

mike_ananev20:05:40

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

dottedmag20:05:32

Отсутствие цепных мутаций на уровне runtime влечёт цепные мутации на стадии разработки. Это интересно.

artemyarulin20:05:42

блин, я вот не понимаю как в кложе большие проекты поднимать, все ж мапы абстрактные. У нас счас жс проект 25к строк кода, 6 человек, мы переходим на TypeScript ибо без типов тяжко

artemyarulin20:05:59

это рантайм

dottedmag20:05:11

И генерационные тесты.

mike_ananev20:05:34

@artemyarulin прошла мода на больших монстров. сейчас модно делать микросервисы. как сказали бы когнитектовцы you don't want do that.

andmed20:05:36

java тоже разная бывает. я вот счас на проекте - прикольно. фреймворков нет, пишем все на либах. микросервисы. парни со скалы вообще пришли. написал цикл на 3 строчки, от.. наказали и сказали переделать в стрим)) ну вот то что у них я б не предложил переделывать на кложу, рефакторинг, типы и все такое.

misha20:05:55

сравнил 25к жс с кложей kappa

artemyarulin20:05:03

ну опять поехали - большие проекты не сделать без типов, а вы не делайте больших проектов!

dottedmag20:05:14

Кроме того, если не раздавать этот джаваскрипт в оффлайновые места, то даже и рантайм-проверки очень полезны: мгновенно же можно отрапортовать о любом нарушении инварианта и поправить.

mike_ananev20:05:27

поэтому 3-5 микросервисов будут решать твою бизнес задачу. все взаимодействие между ними - в спеку.

fmnoise20:05:49

и тесты все гонять на Cmd+S

andmed20:05:52

на взаимодействие много усилий и уходит

dottedmag20:05:04

@mike1452 Микросервисы нужно делать тогда, когда от них есть польза. А польза от них начинается сильно позже, чем многие думают.

andmed20:05:12

пишу thumbnailer. там 10 строк кода. устал все это встраивать 😞

dottedmag20:05:32

С другой стороны, если не думать о микросервисах, то тогда, когда они будут нужны, уже будет поздно пилить монолит.

misha20:05:52

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

andmed20:05:10

@dottedmag ага, они так и говорят, мол на расширяемость. ну, разные подходы. но они писали серьезные проекты, можно верить

mike_ananev20:05:17

скорость внесения изменений - вот что важно. когда у тебя большой проект, то скорость изменений низкая, т.к. тебе нужно кучу всего взаимно протестировать и релизится монолит сложнее. а ты попробуй проектировать систему так, чтобы вносить изменения на проде каждый день.

mike_ananev20:05:25

это очень сильно меняет мышление.

dottedmag20:05:32

@mike1452 Если сделать микросервисы не единицей физической, а единицей логической -- хочешь, выставляй в сеть, хочешь -- в виде библиотеки, то тогда всё ок.

dottedmag20:05:18

@mike1452 Ну вот я работаю в команде, где микросервисов нет, а релиз на прод 10 раз в день. Около сотни разных типов серверов, от одного до тысячи экземпляров.

mike_ananev20:05:30

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

artemyarulin20:05:12

вот вот, у меня монорепо, но внутри 4 апа, тоже по 20 раз в прод в день уходим. И блин сыкотно рефакторить иногда без типов

artemyarulin20:05:31

любимая команда grep

dottedmag20:05:37

@artemyarulin Тесты и волшебная кнопка "revert release" решают.

misha20:05:42

а что такое микросервис? джава неймспейс запакованый в отдельный джар с собственным вебсервисом?

mike_ananev20:05:42

значит вам они и не нужны. значит код так организован, что новичку, чтобы внести изменения не надо тратить первые 2 месяца работы, чтобы изучить 5000 классов.

andmed20:05:53

в смысле логической единицей? интерфейсы разные, поведение разные, фейл разный

artemyarulin20:05:12

@dottedmag да куда без этого ага

misha20:05:14

@artemyarulin выбрось эмакс, идею установи ;)

dottedmag20:05:56

@andmed In-process чтобы можно было втащить. В этом случае должно работать так же, но с меньшим количеством видов фейла.

dottedmag20:05:12

А иначе получается ботва, когда 100500 сервисов, и каждый из них только 2+2 умеет складывать.

misha20:05:18

вообще, большие системы - это сложно по-определению. было бы просто - было бы несколько маленьких систем вместе

mike_ananev20:05:27

@misha это нечто, что решает какую-то бизнес-логику, которая достаточно автономна. то есть у микросервисов есть фокус на конкретной задаче и они делают их очень хорошо. Если логика не влезает в концепцию текущей логики, надо ее отделать.

dottedmag20:05:28

Оверхед на менеджмент зашкаливает.

mike_ananev20:05:51

микросервисы очень сложны в управлении. но я так понимаю это меньшее из зол.

mike_ananev20:05:56

у всего есть трейдофф

artemyarulin20:05:15

да кста вот поддержу - можно сделать моноговно, а можно сделать по хипстерси и распределить его ровным слоем по сервисам

mike_ananev20:05:15

@misha у микросервиса есть четкая спецификация и контракт

andmed20:05:22

ну, в микросервисах система размазана по сети. ты посыпался и я об этом не узнал, в итоге строим третий, через очередь, для персистентности, и тп. разные подходы то , не?

artemyarulin20:05:48

а чо внутри монолита контракта нету? там он даж компилятором проверяется 🙂

mike_ananev20:05:56

и микросервис закрывает доступ к своей базе. доступ к данным только через API. то есть про классический ETL надо забыть

misha20:05:02

на джава работе я монорепу разделил на отдельные репы, чтобы от нубасов защититься и не откатывать постоянно изменения

artemyarulin20:05:27

я первым делом на работе 6 репо в монорепо смержил 😄

mike_ananev20:05:53

@andmed да, там надо очень много вложиться в систему управления, деплоя и мониторинга, чтобы пониать что происходит в распределенной среде.

misha20:05:55

тебе наверное с сотрудничками повезло больше, чем мне

artemyarulin20:05:01

причем кста аргумент тотже - чтоб от нубов защититься ибо мне 1 репо контролировать проще

mike_ananev20:05:08

это довольо сложная задача, в которой я сейчас упражняюсь

andmed20:05:03

о да. деплой. я сделал скрипт потаенный. он грепает по всем репозиториям, когда надо найти где что лежит. я о нем никому не говорю)))

dottedmag20:05:24

@mike1452 Кубернетес или самопал?

artemyarulin20:05:38

греп, омг, в каком веке мы живем

mike_ananev20:05:39

@artemyarulin в том то и дело, что внутри монолита много соблазнов напрямую дергать классы разных модулей. и все. с этого момента начинается тесная связанность

misha20:05:57

девочка одна вызывала соседний метод сервиса через http "потому что там уже в хендлере собрано" trollface (кароче сервис сам себя дёргал через интернет)

mike_ananev20:05:58

@dottedmag да пока просто rancher и то в пилоте

artemyarulin20:05:15

ну дак код ревью, пулл реквесты, доки, разговоры и вообще communication is the key

artemyarulin20:05:15

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

mike_ananev20:05:17

@artemyarulin а теперь представь что ты правильно попилил монолит, выставил между модулями контракты, и каждый модуль занимается своим узким бизнес-функционалом

mike_ananev20:05:39

тебе осталось из физически разнести, и получишь почти микросервисную архитектуру

artemyarulin20:05:07

ну это да, соглашусь

misha20:05:09

зачем? trollface

mike_ananev20:05:11

правда добавятся другие заботы

dottedmag20:05:14

@mike1452 Тут есть ещё один оверхед: появляется сложная оркестрация контрактов. Новая фича, требуется поменять контракт и начинается пляски "сначала обнови то, потом это, а потом третье"

mike_ananev20:05:27

да, это реально проблема

mike_ananev20:05:45

и я учусь ее бороть

mike_ananev20:05:00

пока в начале пути

artemyarulin20:05:05

т.е. создали проблему и героически ее решаем? troll

mike_ananev20:05:19

это проблема меньшего порядка

artemyarulin20:05:23

ипотека сама себя не выплатит! простите 🙂

dottedmag20:05:24

А потом ещё все комбинации поддерживать, если в одном из трёх сервисов баг и его нужно ревертить на предыдущую версию.

artemyarulin20:05:42

да нене, я за микросервисы

mike_ananev20:05:50

хуже когда никто не понимает что происходит в монолите. и процесс внесения изменений просто встает

artemyarulin20:05:05

монолиты нужно уметь готовить, я еще не разу не видел хорошо приготовленного

mike_ananev20:05:46

в книге про микросервисы так и начинается рассказ: если вы не умеете готовить монолиты, то микросервисы вам не помогут

mike_ananev21:05:22

более того микросервисы - это не техническая, а организационное решение проблем коммуникации в организации

artemyarulin21:05:36

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

andmed21:05:38

да ну, не техническое

dottedmag21:05:09

не техническое.

mike_ananev21:05:10

рекомендую посмотреть на ютубе выступление CTO от Zalando на Highload++

mike_ananev21:05:20

он про это подробно рассказал

andmed21:05:22

ок, глянем, спасиб

dottedmag21:05:02

@mike1452 А Безос про это что-нибудь публично рассказывал? Он же был, наверное, первый, кто микросервисы в большой организации внедрил.

mike_ananev21:05:46

да, там как раз излагался опыт Zalando как они до микросервисов докатились

mike_ananev21:05:08

показана эволюция архитектуры и плавное возникновение проблем. суперский доклад

misha21:05:13

а он технарь вообще, безос?

mike_ananev21:05:36

безос, не безось, но чувак технарь

andmed21:05:41

безос - это и есть cto zalando (сорри за темноту)

mike_ananev21:05:44

я наверно про CTO наврал

andmed21:05:54

угумс

dottedmag21:05:00

амазона, а не заландо

mike_ananev21:05:02

выступал наш бывший соотечественник

misha21:05:10

я думал вы про амазонового безоса, думал он просто деньги считает и интервью про vision даёт,

andmed21:05:24

амазон - сторона заинтересованная, ну все равно посмотрим

dottedmag21:05:28

бершак, а не безос в заланде

mike_ananev21:05:33

он живет в германии и он не CTO а архитектор тамошний

larhat21:05:52

cto амазона всё-таки не безос, а вогелс, и он рассказывал/писал

dottedmag21:05:12

а я не гвоорил, что безос сто, я говорил, что он внедрял 🙂

larhat21:05:29

(хотя не амазона, а авс же только? лол!)

larhat21:05:43

запутался

dottedmag21:05:55

так авс-то у них получился тогда, когда безос пришёл и сказал "давайте, живо всё на микросервисы".

dottedmag21:05:03

они живо всё на микросервисы и у них платформа получилась.

larhat21:05:05

> Werner Hans Peter Vogels is the chief technology officer and Vice President of http://Amazon.com in charge of driving technology innovation within the company.

dottedmag21:05:25

только тогда они ещё не микросервисами назывались, а SOA

misha21:05:50

мне кажется, в интернетике мало кто понимает, что можно в микросервис выносить; потому что у половины бложики уже на микросервисы перехачены

mike_ananev21:05:10

вот этот доклад

andmed21:05:27

ого. я б не нашел по вводным. спасибо)

mike_ananev21:05:04

@misha в начале нашего холиварчика я как раз и говорил, что уметь готовить архитектуру систем нужно учиться и этот навык не связан с языками программирования напрямую

artemyarulin21:05:28

работал я в заландо - анархия там высшего порядка, но распределенная это да 🙂

artemyarulin21:05:54

хотя опять же сложное что-то построить и чтоб было с иголочки хз и возможно ли вообще

mike_ananev21:05:05

а если архитектуру говить плохо, то на кложе можно еще больше упороться чем на статически типизированном языке

mike_ananev21:05:07

@dottedmag про лошадь - зачетно! реально я такое часто вижу

dottedmag21:05:13

Так эта. Программист на Коболе может написать программу на Коболе на любом языке программирования.

dottedmag21:05:30

@larhat Отличное интервью. Он сжато рассказывает как раз про всё то, о чём сейчас пишут тонны текста и снимают годы видео.

larhat21:05:57

@dottedmag http://www.allthingsdistributed.com/ бложек его, если чо; вообще толковый чел

dottedmag21:05:31

Вот прямо в одном ответе на вопрос 1) почему сервисы хорошо для масштабирования; 2) почему сервисы - это про менеждмент команд; 2) девопс-девопс-девопс 😄

dottedmag21:05:22

Сказал бы мне кто-нибудь десять лет назад, что нужно перечитывать три абзаца текста до просветления – я бы сэкономил кучу времени 😄

dottedmag21:05:05

@larhat Теперь будет что почитать, с 2005 года 😄