@proGO

Страница 607 из 1674
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
В гитлабе ci есть артефакты сборки
А гитлаб то тут причём?

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 раз медленнее из-за необходимости крутить гипервизор/виртуалку

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

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

Google
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
Просто интересно, что докер лезет в сборку через невнятный синтаксис, а пулл реквест номер 78 висит полтора года
Тк оно ничего общего с CI не имеет. Та сборка, что они пилят, рассчитана на то чтобы облегчить вес контейнеров

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

Igor
29.04.2017
14:56:17
А, нашел. https://github.com/docker/for-mac/issues/77

373 лайка, пиздос

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

Sander
29.04.2017
16:49:48
Всем привет

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

Google
Sander
29.04.2017
16:53:23
а есть что-то, что написанно с 0

я все токи прежде чем брать что-то более готовое, хочу с 0 пописать.

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

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

Dmitry
29.04.2017
17:53:59
ребята, всем привет! объясните, пожалуйста, как обходиться без создания структур, если заранее неизвестно какие данные придут. весь гугл перерыл
если ты не до конца понимаешь, что за штуку надо написать / что за данные придут, go — неправильный выбор априори

возьми питон в таком случае

когда устаканится, выделишь сервис и перепишешь на го

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{} осталось пару глав досмотреть/дочитать

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/

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
Подскажите, пожалуйста, а чем нынче генерят бинарники приложений на go сразу на много платформ. Использую goxc , но хочется большего...
А что там можно сделать большего? Вроде чтобы скомпилировать под определенную платформу, нужно просто в командной строке указать для какой ос делается бинарник

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

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

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
Ой как хорошо https://github.com/savaki/swag#complete-example Прям компоузабельно, можно юзать любой роутер
Интересная штука, интересно, можно ли ее к fasthttprouter прикрутить.

corpix
29.04.2017
21:24:17
Интересная штука, интересно, можно ли ее к fasthttprouter прикрутить.
Думаю что можно, потому что gorilla например вот так прикручивается https://github.com/savaki/swag/blob/master/examples/gorilla/main.go#L54

LexsZero
29.04.2017
21:28:07
Ой как хорошо https://github.com/savaki/swag#complete-example Прям компоузабельно, можно юзать любой роутер
было бы круто прямо из структурок рефлектом всю эту инициализацию эндпоинтов делать

или вообще сразу автомагически 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
type APIGetter interface { func APIGet(args...) interface{} } дальше в контроллере определяем эти геттеры-сеттеры, они биндятся на соответствующие рест-методы, далее пинаем mycoolapi.Expose(&myObject)
Т.е. в конечном итоге, после генерации маршрутов, запрос к этому эндпоинту должен выглядеть примерно как GET http://xxx/api/my-object? Я правильно понял?

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? Или реально где-то применял? :)

Страница 607 из 1674