@gogolang

Страница 879 из 1630
Daniel
02.03.2018
12:02:14
ансибл - самый человечный из четверки (ansible, salt, pupet, chef)

это я не холивара для, а истины ради

Max
02.03.2018
12:03:47
tensorflow, scipy, scikit-learn, много всего
ядро tensorflow написано на C++, а вот вся обвязка на python, потому что для питона) А вот для rust-а: https://github.com/tensorflow/rust, вообще никакого питона, разве что скрипт для сборки

Alexander
02.03.2018
12:03:48
но докером например пользуются все захожу я вчера в пятерочку, а там яйца теперь в докер упакованы

Google
Илья
02.03.2018
12:05:13
ансибл - самый человечный из четверки (ansible, salt, pupet, chef)
сейчс же модный terraform есть, вроде его советуют

хотя холивар не о том

Pawel
02.03.2018
12:07:05
не холивара опять таки для, парсер конфигов критичен к выбору ЯП? - я вас умоляю

Daniel
02.03.2018
12:08:43
сейчс же модный terraform есть, вроде его советуют
или я чего-то не знаю о тераформе, или это все же менеджер приватного "облака". и конкурирует он не с ансиблом, а с кубернетисом.

Pawel
02.03.2018
12:09:03
ну есть питон в линуксе по дефолту, есть парочка хипстеров которым не чем себя занять - по чему бы на родить что-то такое. я и сам на питоне пописываю для фана

ядро tensorflow написано на C++, а вот вся обвязка на python, потому что для питона) А вот для rust-а: https://github.com/tensorflow/rust, вообще никакого питона, разве что скрипт для сборки
на расте оно требует питонвские либы насколько я знаю, поэтому вот это вот "вообще никакого питона" - оно не верное утверждение

m
02.03.2018
12:17:22
Помогите, пожалуйста с отладкой странного поведения net/http . запускаю httpServer.ServeTLS(listener, s.certFile, s.keyFile) , ошибок он не возвращает. netstat показывает, что на 443 порту висит мой процесс. делаю запрос и он отваливается по таймауту. При этом net/http нэндлер никакой не вызывает. Т.е. запрос внутри net/http остался.

если запускать httpServer.Serve(listener) , то всё ок.

Pawel
02.03.2018
12:19:29
заоптимизировать инструкции то он может, но он не может избавиться от дополнительного уровня абстракции, который налагает дополнительный оверхед на вызов инструкций.
может. без проблем. просто это не принято в java мире - писать код без извращений. Но в принципе можно. надо будет по соображениям эффективности - извращения либо уберут, либо добавят новые, которые исправляют неэффективность старых. не в этом дело. оверхэд на вызов функции есть - скопировать стек, вызвать "подпрограмму", перевести поток управления на другой адрес, вернуть всё обратно. Как раз таки jit оптимизация это легко убирает, "встраивая" вызовы

m
02.03.2018
12:21:38
netstat показывает, что соединение есть, но похоже его никто не хочет обрабатывать: sudo netstat -4n Active Internet connections Proto Recv-Q Send-Q Local Address Foreign Address (state) tcp4 168 0 192.168.56.102.443 192.168.56.1.50675 ESTABLISHED

m
02.03.2018
12:26:52
мой случай вот этот https://golang.org/pkg/net/http/#Server.ServeTLS

Google
m
02.03.2018
12:27:35
т.е. я сначала создаю httpServer := &http.Server{ Handler: http.HandlerFunc(s.requestHandler), ErrorLog: GetLogger(), }

cdtj
02.03.2018
12:27:39
сервер на локалхосте? клиент и сервер в одном месте?

может банальный порт форвардинг где-то не включен

m
02.03.2018
12:28:54
в виртуалке на десктопе всё. не пашет и на линуксе и на фре. и с дестопе и изнутри виртуалки.

такое ощущение, что почему-то accept() не вызывается.

Artem
02.03.2018
12:36:05
http.HandlerFunc(s.requestHandler) а что вообще должна делать s.requestHandler?

m
02.03.2018
12:37:48
обрабатывать запрос.

чудеса, отключил вебсервер, который слушал на 80 порту и оставил только pprof и на 443 . Заработало!

Artem
02.03.2018
12:39:30
обрабатывать запрос.
и она вызывается?

m
02.03.2018
12:39:44
Она не вызывается. в том то и проблема.

но на 80 порту мне тоже надо отвечать.

Artem
02.03.2018
12:40:07
Она не вызывается. в том то и проблема.
я уже пофиксил у вас все работает. :)

m
02.03.2018
12:41:02
ошибка то осталась. просто я экспериментирую и отключение одного вебсервера помогло почему-то.

Artem
02.03.2018
12:42:22
m
02.03.2018
12:43:40
Можете пояснить, как именно он это делал?

Artem
02.03.2018
12:44:32
Можете пояснить, как именно он это делал?
в режиме ванга мода сложно, можно просто добавить обработку ошибки if err, ok := err.(net.Error); ok && err.Timeout() и посмотреть что вывалится

m
02.03.2018
12:46:27
Вот код: https://pastebin.com/SXwMzkUz

Artem
02.03.2018
12:59:59
Вот код: https://pastebin.com/SXwMzkUz
это не особо меняет ситуацию, без запуска кода разбирать логику сложно, потому и шарить его лучше в playground. Если валится таймаут, то просто не вызывается обработчик почему -потому, что не получает запрос. Значит нужно посмотреть кто этот запрос получает, кто слушает порт

Google
Александр
02.03.2018
15:32:12
запись дерева O_o

ой, в смысле "Одна запись из трех"

Aleksandr
02.03.2018
15:38:56
знает кто как в goland глубину дебага увеличить? а то при примерно 5 уровнях уже не показывает внутренности

Pawel
02.03.2018
15:39:19
delve?

Aleksandr
02.03.2018
15:39:24
да

Pawel
02.03.2018
15:47:04
проверил в goland - без проблем любой уровень, всё показывает правильно.

Pawel
02.03.2018
16:02:32
буду честен: за эрлэнг трут серьёзные мужи, вызывающие доверие и уважение. За петон - в основном хипсторы и школота. Ну и на эрлэнге же не только вацап.

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

Wingman
02.03.2018
16:03:44
Вацап херня

На эрланге все опсосы

Pawel
02.03.2018
16:04:05
вот именно

Andrey
02.03.2018
16:05:09
А кто чем дебажит свои сервисы? На сях удобно gdb заатачился к процессу и делаешь что нужно.

Pawel
02.03.2018
16:05:35
На эрланге все опсосы
на Го тоже есть, вот очень крутой мужык я считаю https://www.youtube.com/watch?v=HoEn7lXNQOU

Wingman
02.03.2018
16:06:51
на Го тоже есть, вот очень крутой мужык я считаю https://www.youtube.com/watch?v=HoEn7lXNQOU
Это какая то стартапная хрень, а я про внутренности всяких ss7, обработки миллиардов тех же СМС, и прочие внутренности

Долгие годы у 99% опсосов все это на эрланге

Pawel
02.03.2018
16:20:06
Нет идей. Попробовал ещё раз - не могу что называется воспроизвести. 10-15 левель - всё показывает правильно. Видимо от контекста как то зависит

Google
Pawel
02.03.2018
16:22:34
Долгие годы у 99% опсосов все это на эрланге
мне говорили на конфе по эрлэнгу, что примерно половина на нём, другая на С/С++

Нет идей. Попробовал ещё раз - не могу что называется воспроизвести. 10-15 левель - всё показывает правильно. Видимо от контекста как то зависит
может, поробовать включить import _ "runtime/cgo" чтобы стек был пожирнее, а то может банально мозгов не хватает для отображения памяти?

anthof
02.03.2018
16:25:22
человек который скинул мне ссылку на Auth Boss на гитхабе, дай тебе Бог здоровья, счастья, здоровья от души. Тут описан каждый шаг и все понятно ?

Monday Begins on Saturday
02.03.2018
16:33:05
Привет. У меня есть биндинги на Go к либе на плюсах. Я собираюсь создать докер-контейнер, который будет выкачивать либу на плюсах компилить ее, а потом компилировать сорцы на Go с использованием биндингов. Вопрос: как мне сделать так, что бы либа на плюсах выкачивалась и собиралась только раз т.е. сохранялась слоем ?

просто она собирается полчаса и жрет 8гб оперативы

Alexander
02.03.2018
16:35:24
Если она скачивается и компилится отдельной командой RUN в Dockerfile то она будет кэшироваться автоматически. Главное, не менять то, что до этой команды.

Aleksandr
02.03.2018
16:35:25
ну как бы очевидно

Alexander
02.03.2018
16:36:18
Еще можно использовать multi-stage build. Это когда в Dockerfile несколько инструкций FROM

Admin
ERROR: S client not available

Monday Begins on Saturday
02.03.2018
16:36:23
просто она загружается curl'ом и я как-то не уверен, что он определит что не надо ее пересобирать заново

Alexander
02.03.2018
16:37:31
А почему докер решит, что её _надо_ пересобирать?

Aleksandr
02.03.2018
16:38:40
просто она загружается curl'ом и я как-то не уверен, что он определит что не надо ее пересобирать заново
если слой собран один раз, то пересобираться он не будет, если не указать явно

Monday Begins on Saturday
02.03.2018
16:38:54
то есть команду RUN он выполняет только раз в любом случае?

Aleksandr
02.03.2018
16:39:24
Monday Begins on Saturday
02.03.2018
16:39:39
понятно, спасибо)

Илья
02.03.2018
16:53:02
я бы собрал base контейнер отдельно, типо alpine + glibc+ твоя либа, и твой контейнер с него начинал, хотя multistage тоже покатит

Илья
02.03.2018
17:06:53
на CI контейнеры пересобираются с нуля (по крайней мере у меня так), так что кэш не работает

Илья
02.03.2018
17:07:09
но зачем?
кеш можно случайно снести

Google
Roman
02.03.2018
17:19:30
Привет народ. Что и куда нужно добавить чтоб при компиляции находило сишные заголовки? package cl // #include "cl.h" import "C" import ( "unsafe" ) Падает с таким фаталом fatal error: cl.h: No such file or directory Поискав на машине где лежит сей хедер /usr/include/CL/cl.h

John
02.03.2018
17:19:54
ну дык <CL/cl.h>

Roman
02.03.2018
17:23:58
пакет не мой просто github.com/samuel/go-opencl Как понимаю править чужые пакеты не лучшая практика. Думал что можно как-то добавить папку конкретно, чтоб оно иклюды в ней искало.

Никита
02.03.2018
17:33:30
Такой вопрос по стандартной либе databases/sql : Query() и Exec() защищают от инъекций?

Pawel
02.03.2018
17:35:13
нет

Timur
02.03.2018
17:35:35
Может быть?

Никита
02.03.2018
17:35:36
Так да или нет?

Andrew
02.03.2018
17:35:49
Голоса разделились ))

Pawel
02.03.2018
17:37:00
Yes.
каким образом она защищает, если запрос передаётся в виде строки?)) sql парсит что ли?

Pawel
02.03.2018
17:38:08
Например http://go-database-sql.org/prepared.html
это для сервера, и далеко не для всех. то есть там сервер может теоретически защитить

а не либа

для защиты от инжекций надо использовать либу sql-билдера

Nik
02.03.2018
17:39:04
Народ, в каком случае используя read на созданный слайс размера m, может вычитываться меньше?

Никита
02.03.2018
17:39:27
Например http://go-database-sql.org/prepared.html
Это Prepare Statements, я про обычный Query() & Exec()

Nik
02.03.2018
17:39:52
есть tcpConn. Вокруг него делаю буфер rd := bufio.NewReaderSize(client.readConn, 10*1024*1024) Знаю размер сообщения(он фиксирован) tempData := make([]byte, m)

Andrew
02.03.2018
17:39:53
Nik
02.03.2018
17:39:57
n, err := rd.Read(tempData)

и n !=m

(может буфер врет, и нельзя ему верить)

Страница 879 из 1630