
Aleksandr
29.04.2017
14:41:47
это замена простому, но неправильному первому кейсу, и замена более сложному, но верному, второму

corpix
29.04.2017
14:42:04
В общем, хорошо что докер наконец-то начал исправлять свои архитектурные недостатки

Aleksandr
29.04.2017
14:43:03
да, супер. эта фича будет востребована мной, т.к. этот процесс не очень удобен был ранее

Andrey
29.04.2017
14:43:36
В гитлабе ci есть артефакты сборки

Google

corpix
29.04.2017
14:44:05

Andrey
29.04.2017
14:44:18
Прекрасно без этой фичи реализуется сборка и дистрибуция
Докер лучше бы детские проблемы чинил а не делал комбайн из фич

Aleksandr
29.04.2017
14:45:15

Andrey
29.04.2017
14:46:03
Ну бывает

Aleksandr
29.04.2017
14:46:18

Andrey
29.04.2017
14:47:04
Докер не работает одинаково на разных окружениях с зашаренными вольюмами
И это одна из причин, по которой мы планируем свернуть его использование на совсем, ибо на макоси он в 5-15 раз медленнее чем на линуксе

Aleksandr
29.04.2017
14:49:20
ты имеешь в виду скорость драйверов ФС? у нас обычно только линукс, а мак и винда это действительно не очень стабильно

Igor
29.04.2017
14:50:12
Докер в макоси в 5-15 раз медленнее из-за необходимости крутить гипервизор/виртуалку

Максим
29.04.2017
14:50:14

Igor
29.04.2017
14:50:42
Ну и да, производительность по io, севшая в несколько раз, на дев-тачке обычно не так важна

Lev
29.04.2017
14:50:48
про докер есть отдельный отличный чат)

Google

Andrey
29.04.2017
14:50:49

Igor
29.04.2017
14:51:00
Мм, а почему?
Причем после того, как они перешли с vbox'а на xhyve, стало еще медленнее, наверн из-за сырого проекта/неоптимизированных дров

Andrey
29.04.2017
14:51:47
Потому что с тем же вольюмом через вбокс докер снова работает, но это костыли

Igor
29.04.2017
14:52:03
не понял, "снова работает" - в смысле?

Andrey
29.04.2017
14:52:45
У нас связка dinghy + virtualbox + docker
На ней снова те же цифры что и на линухе

Igor
29.04.2017
14:53:10
Опаньки, про dinghy не знал, спасибо!
> A medium-sized Rails app boots in 5 seconds, rather than 30 seconds using vmware file sharing, or 90 seconds using virtualbox file sharing.
звучит охеренно впечатляюще. А дефолтный Docker.app (до того, как на hxyve пересели) юзал для волюмов virtualbox file sharing?

Andrey
29.04.2017
14:54:32
Просто интересно, что докер лезет в сборку через невнятный синтаксис, а пулл реквест номер 78 висит полтора года

Igor
29.04.2017
14:54:39
А то я, если честно, уже забыл, чо там как было, помню, что волюмы не особо спасали ситуацию по сравнению с гостевым виртуальным хардом обычным
че за пуллреквест?

corpix
29.04.2017
14:55:46

Andrey
29.04.2017
14:55:51
Про медленные вольюмы

Igor
29.04.2017
14:56:17
А, нашел. https://github.com/docker/for-mac/issues/77
373 лайка, пиздос

Andrey
29.04.2017
14:56:41

corpix
29.04.2017
14:58:10
А альпайн не поможет?
Альпайн всего лишь дистрибутив. Чтобы своё приложение в альпайн завернуть, да и вообще в контейнер, его сначала собрать надо. Чаще всего люди собирают приложения в тех же контейнерах, оставляя весь тулинг для сборки вместе с приложением. Но этот тулинг нужен только на время сборки, в проде он не нужен и даже вреден в некотрых случаях

Sander
29.04.2017
16:49:48
Всем привет
кто-нибудь может дать или знает, какой-нибудь проект на gite, чтоб поизучать код, как правильно писать проекты на go,
желательно на примере какого-нибудь небольшого веб проекта или api.
---

Google

Мерлин
29.04.2017
16:53:00

Sander
29.04.2017
16:53:23
а есть что-то, что написанно с 0
я все токи прежде чем брать что-то более готовое,
хочу с 0 пописать.
я хочу нормальные примеры посмотреть, чтоб лучше понять логику, в каких случиях мне лучше воспользоваться interface{}
https://gobyexample.com/interfaces
все эти маленькие примеры, не дают общей картины

LexsZero
29.04.2017
17:46:31

Sander
29.04.2017
17:47:23
это в случаи если ты не знаешь какой тип,
а в случаи, если ты делаешь абстракцию

Dmitry
29.04.2017
17:53:59
возьми питон в таком случае
когда устаканится, выделишь сервис и перепишешь на го

Sander
29.04.2017
17:54:56
interface{} ?
empty interface?

corpix
29.04.2017
17:56:24

corpix
29.04.2017
17:56:42
Или структурой. Смотря какая абстракция.

Sander
29.04.2017
17:57:56
мм. я пока что хочу найти каокй-нибудь веб-проект, который кто-то писал,
чтоб посмотреть и почитать как другие люди пишут.
---
начать с чего-то простого
примеры есть, но они не позволяют мне увидеть всей квартины, как этим пользоваться

corpix
29.04.2017
18:00:27
Хз. Я вот какой проект не открою, на любом языке, тк там ТАКОЕ обычно что сразу закрыть хочется. Так что я хороших проектов, с хттп апи, которые хотелось бы советовать не знаю

Sander
29.04.2017
18:01:37
я хочу именно что бы это был веб,
ибо мне человеку, который орентирован больше на веб, это будет более понятным
я все понял пока что, кроме interface{}
осталось пару глав досмотреть/дочитать

LexsZero
29.04.2017
18:02:56

Sander
29.04.2017
18:04:01
обычно там довльно сложно все написано

Google

Sander
29.04.2017
18:04:59
я вот это прочитал http://www.php.su/articles/?cat=oop&page=002
мне сразу стало все понятно, как это лучше всего использовать и в каком контексте
для гошки ничего такого нормального не нашел

Dmitry
29.04.2017
18:06:22
> я вот это прочитал
ничего, что содержит в урле php или habr, читать не стоило. Так можно и квалификацию потерять

Sander
29.04.2017
18:16:56
скинули вот эту ссылку мне https://www.gitbook.com/book/codegangsta/building-web-apps-with-go/details
что думаете
https://codegangsta.gitbooks.io/building-web-apps-with-go/content/

corpix
29.04.2017
18:23:09

m
29.04.2017
18:59:45
Подскажите, пожалуйста, а чем нынче генерят бинарники приложений на go сразу на много платформ. Использую goxc , но хочется большего...

Aleksey
29.04.2017
19:41:22
Функция make это как словарь в питоне, нет?

Admin
ERROR: S client not available

corpix
29.04.2017
19:44:04

Aleksey
29.04.2017
19:46:12

m
29.04.2017
19:47:06
Если бы операционкам для инсталяции нужны были бы только бинарники, то да. Но им нужны всякие deb, rpm, pkg, msi...

corpix
29.04.2017
19:48:29

m
29.04.2017
19:50:06
ну вот и нужна тулза, которой скармливает исходники, а на выходе получаешь сами бинарники и все эти "контейнеры" до кучи.

corpix
29.04.2017
19:53:18

m
29.04.2017
19:54:19
оно msi не умеет

corpix
29.04.2017
19:54:26
Но вообще делать такой инструмент, который будет принимать исходники на вход это не правильно. Потому что придётся поддерживать кучу языков. Правильнее сделать инструмент, принимающий на вход бинарь и упаковывающий его в пакеты для различных систем
оно msi не умеет
https://github.com/jordansissel/fpm/issues/423#issuecomment-117750863

m
29.04.2017
20:01:25
не, можно попыхтеть и самому всё написать. Но это не та область, где это имеет смысл делать ИМХО.

Google

corpix
29.04.2017
20:03:49
Можно. Но это будет инструмент только для винды. Кому-то такое нужно, но линукс интереснее. А что-то общее сделать, чтоб и для линукса паковать, и для винды будет сложно. И не факт что получившийся инструмент будет хорошим. Так что наверное лучше разделить процесс сборки

m
29.04.2017
20:19:41
надо заметить, что сам Go доступен в формате msi.
https://github.com/golang/go/commit/e4eacf39e9db9357fa4823c9c8c230e444ab6170

corpix
29.04.2017
21:17:59
Ой как хорошо https://github.com/savaki/swag#complete-example
Прям компоузабельно, можно юзать любой роутер

hamper ?
29.04.2017
21:23:31

corpix
29.04.2017
21:24:17

LexsZero
29.04.2017
21:28:07
или вообще сразу автомагически RPC по интерфейсу

corpix
29.04.2017
21:29:46
А вот RPC по интерфейсу это интересно
Но это уже где-то за рамками библиотеки про сваггер, это нечто большее

LexsZero
29.04.2017
21:32:57
type APIGetter interface {
func APIGet(args...) interface{}
}
дальше в контроллере определяем эти геттеры-сеттеры, они биндятся на соответствующие рест-методы, далее пинаем mycoolapi.Expose(&myObject)
либо встраиваем в структурки модели какие-то дженерик дефолтные "типы доступа" (например, прямо в орм ебаться по структуре)

corpix
29.04.2017
21:39:59

LexsZero
29.04.2017
21:41:13
зависит от интерфейсов которые имплементит объект

corpix
29.04.2017
21:44:01
Ну в целом да, можно так. Поидее объект, который обладает методом .Expose можно построить по аналогии с gorilla/mux, чтобы можно было вкладывать их(чтоб было проще определять подмножество эндпоинтов в некотором неймспейсе). Выглядит прикольно

LexsZero
29.04.2017
21:44:03
но вообще тут вроде бы можно любой роутер для этого прикрутить, хоть гориллу
// обожаю наркоманское метапрограммирование и ненавижу писать копипасту

corpix
29.04.2017
21:45:27
Ага, либо коннекторы написать для них, либо сделать такойже метод `Walk`(как у savaki/swag), чтобы можно было вообще любой роутер зацепить

LexsZero
29.04.2017
21:46:01
я когда-то сделал что-то вроде либы которая позволяет экспозить объекты реализующие разное поведение как 9p файловую систему

corpix
29.04.2017
21:47:40
Just for fun? Или реально где-то применял? :)