
Rustam
21.03.2017
06:12:40
думаю контейнеры не лучше

Alexander
21.03.2017
06:13:34
ну у нас опенстек, в нем кореос, на ней контейнеры

Rustam
21.03.2017
06:14:48
у нас по классике kvm/qemu
полная виртуализация

Google

Alexey
21.03.2017
06:17:53
А про openvz что скажете? Proxmox

shadowjack
21.03.2017
06:51:01
Да, альт линукс то ещё говно. Я им страдаю 8(

abc
21.03.2017
07:01:12
Все утра! Обновил fsharp на ubuntu с утра. Не знаю зачем и я им не пользуюсь, но пусть будет. Говорят хороший язык )

Andrey
21.03.2017
07:06:25
?всё правильно сделал

Max
21.03.2017
07:14:29
https://gist.github.com/Zert/d3447143fc4e80ac32d3892fd6cb174b
вот что есть
корки не было, жалко

Alexander
21.03.2017
07:32:44
чет гитхаб не открывается, забанили опять чтоли
@mtreskin может nif какой сбойнул?

Max
21.03.2017
07:34:06
нету нифов
jiffy разве что

shadowjack
21.03.2017
07:35:20

Alexander
21.03.2017
07:38:44
если 16й эрланг, врядли там докер :)

Google

Max
21.03.2017
07:40:19
памяти нормально, с запасом

abc
21.03.2017
08:01:48
парни. кто docker-compose пользуется второй версии ?
там какой-то странный баг
вот есть у меня в секции environment следующее
- REDIS_PASSWORD='T3z#B8bB2gK$FGKH'
дак вот в образе в итоге будет REDIS_PASSWORD='T3z#B8bB2gK

Max
21.03.2017
08:03:32
доллар

abc
21.03.2017
08:03:37
т.е. отрезает после $, пробовал ставить разные кавычки " и ' результат один и тот же

Max
21.03.2017
08:03:43
шеллом интерпретируется как начало переменной
переменная пустая

abc
21.03.2017
08:03:55
самое интересное что если запустить так
docker run -it --rm -e DEMO='12$SO' debian bash то все ок

Max
21.03.2017
08:04:18
тут ты сразу передаёшь в одинарных кавычках, и он проходит

Alexander
21.03.2017
08:04:20
@abс docker-compose делает подмену меременных, чтобы не делал так можно экранировать $$ в docker-compose.yml

Max
21.03.2017
08:04:26
а там видать где-то в двойные кавычки попадает

Alexander
21.03.2017
08:04:26
но лучше $ в пароле не юзать :)

abc
21.03.2017
08:04:39
ну не я пароли придумывал )

Max
21.03.2017
08:04:42
но это косяк в docker-compose по-любому

Google

Alexander
21.03.2017
08:05:22
https://docs.docker.com/compose/compose-file/#variable-substitution

abc
21.03.2017
08:06:38
у меня пока 2 версия

Alexander
21.03.2017
08:06:47
https://docs.docker.com/compose/compose-file/compose-file-v2/#variable-substitution
во 2й тоже самое

abc
21.03.2017
08:08:27
странно у меня docs.docker.com лежит
роскомнадзор чтоли докер запретил
а нет что-то FF https не нравится

anton
21.03.2017
09:06:26
чем про ФП то закончилось?
не было бы императивщины и Си - не было бы бима

Alexander
21.03.2017
09:08:51
не было бы хокинга — не было бы чёрных дыр

Dmitry
21.03.2017
09:09:41
Не было бы чёрных дыр - не было бы Хокинга

Alexander
21.03.2017
09:12:17
чувак в Functional Geekery рассказывал про чип, заточенный для функциональщины. Ссылок не нашёл, но выпуск сам отличный.
https://www.functionalgeekery.com/episode-77-jared-roesch/
кусок про Verified pacemaker on functional architecture chip — это вот то что я имею в виду.
он с кем-то такой чип спроектировал, сделал в fpga и компилировал в него Idris

Dmitry
21.03.2017
09:14:15
Я так и не понял какое отношение императивное программирование имеет к ООП, которое мы обсуждали вчера

anton
21.03.2017
09:21:20
ну и вы за ооп тут говорили про общее состояние - это как бы императивщину описывает
вы же не топили за принципы ооп. у вас все уперлось в мутабельность и шаред стейт
я после задачи по физике вниз мотанул. может пропустил чего там..

Dmitry
21.03.2017
09:25:03
Хз. Я писал о разделении субъекта и предиката...
Эрланг это ООП на самом деле
Сделай любой модуль на основе генсервера в отп, получишь наследование, инкапсуляцию и полиморфизм

Google

shadowjack
21.03.2017
09:26:52
Ну наследование - хз. Смотря как его определить.
Но вообще актор-модель она такая, объектная.
Это не наследование в общепринятом понимании, а интерфейс в джаве или абстрактный базовый класс в питоне.
Нет иерархии

Dmitry
21.03.2017
09:32:09
В общепринятом понимании кого?
Это ключевой вопрос.
Я могу сделать behaviour на основе другого behaviour
В интерфейсе не определены методы, а в генсервера определены
Поэтому он не абстрактный
А что касается state - то его в функциональном языке нету
Вот тебе и ООП

Admin
ERROR: S client not available

shadowjack
21.03.2017
09:37:46

Dmitry
21.03.2017
09:38:02
Да, кончено
def MyServer do
use GenServer
end

shadowjack
21.03.2017
09:40:11
Ну я про эрланг думал.
Мне казалось некоторые колбэки обязательные.

Dmitry
21.03.2017
09:41:38
6 обязательных.
Но ты их можешь определить в using и грузить в любой другой
А можешь создать Foo, в котором определить это 6 колбэков и придумать ещё 2 своих, а потом подгрузить это в bar, в котором выполнить эти 2 колбэка и придумать ещё 2 своих
И сделать наследование

shadowjack
21.03.2017
09:44:42
Вот у меня генсервер, который как-то меняет свое состояние в зависимости от сообщений. Как я могу унаследовать часть его поведения?

Google

Dmitry
21.03.2017
09:47:27
Запихнуть всё в _using_

shadowjack
21.03.2017
09:50:04
Что все?

Dmitry
21.03.2017
09:50:31
Все что хочешь потом использовать где-то

shadowjack
21.03.2017
09:53:20
А если я не знаю что потом захочу использовать? Ну и потом, хуки они атомарные. Нельзя внутрь влезть, только обернуть.

Alexander
21.03.2017
09:53:40
я пропустил, кто-то уже сказал, как наследование связано с ооп?
кроме традиции
наследование — это ж относится к code reuse, и вот это можно сделать совсем по-другому. а ооп — это про инкапсуляцию, не?
спрячем данные, общаемся через методы (которые для пущей крутости можно назвать messages, и тогда всё вообще один к одному ложится на эрланг)

anton
21.03.2017
09:57:25

Alexey
21.03.2017
09:57:48
вот да. получается, что ерланг процессы - это как раз ооп)) была даже статья - шутка где-то про это

anton
21.03.2017
09:58:24

Alexey
21.03.2017
09:58:35
ну. в каждой шутке...

anton
21.03.2017
09:58:59
шутка там была такая:
I made up the term 'object-oriented', and I can tell you I didn't have C++ in mind
-- Alan Kay, OOPSLA '97

Dmitry
21.03.2017
10:00:17
На самом деле подразумевается иерархия наследования в работах Кея
Но по сути иерархия отп четко прослеживается
Process (send, receive) -> GenServer | Supervisor ->
MyRealisation

Alexey
21.03.2017
10:02:19
это иерархия построения приложения. там свои нюансы

Dmitry
21.03.2017
10:03:18
Нет. Иерархия построения приложения это supervision tree, а я написал нечто другое

shadowjack
21.03.2017
10:05:36
OOP to me means only messaging, local retention and protection and
hiding of state-process, and extreme late-binding of all things. It
can be done in Smalltalk and in LISP. There are possibly other
systems in which this is possible, but I'm not aware of them.

Dmitry
21.03.2017
10:06:37
Короче говоря ООП и императивное программирование немножко параллельны)

anton
21.03.2017
10:09:35

Alexander
21.03.2017
10:32:40
народ диму билана слушает