Michael
такое ощущение, что почему-то accept() не вызывается.
Artem
http.HandlerFunc(s.requestHandler) а что вообще должна делать s.requestHandler?
Michael
обрабатывать запрос.
Michael
чудеса, отключил вебсервер, который слушал на 80 порту и оставил только pprof и на 443 . Заработало!
Artem
Michael
Она не вызывается. в том то и проблема.
Michael
но на 80 порту мне тоже надо отвечать.
Artem
Michael
ошибка то осталась. просто я экспериментирую и отключение одного вебсервера помогло почему-то.
Artem
Michael
Можете пояснить, как именно он это делал?
Michael
Вот код:
https://pastebin.com/SXwMzkUz
Artem
Вот код:
https://pastebin.com/SXwMzkUz
это не особо меняет ситуацию, без запуска кода разбирать логику сложно, потому и шарить его лучше в playground. Если валится таймаут, то просто не вызывается обработчик почему -потому, что не получает запрос. Значит нужно посмотреть кто этот запрос получает, кто слушает порт
Vladislav
Простите меня, люди которые читают и pro.go тоже 🙂
Но!
Хочу напомнить, что сегодня последний день, когда можно купить билет на конференцию GopherCon Russia за 7000 рублей.
В программе Brad Fitzpatrick и Дмитрий Вьюков из Google, Jessie Frazelle, ведущий подкаста Go Time Brian Ketelsen, Ashley McNamara и спикеры из Gett, Вконтакте, Avito, Badoo, Mail.ru и не только!
500 участников, 2 потока докладов и афтепати до победного конца!
https://www.gophercon-russia.ru/
Там у вас на сайте: "Расписание и порядок выступлений будут опубликованы 1 марта." Где смотреть?
Elena
🏁Александр
запись дерева O_o
🏁Александр
ой, в смысле "Одна запись из трех"
Aleksandr
знает кто как в goland глубину дебага увеличить? а то при примерно 5 уровнях уже не показывает внутренности
Pawel
delve?
Aleksandr
да
Pawel
проверил в goland - без проблем любой уровень, всё показывает правильно.
Stanislav
Pawel
буду честен: за эрлэнг трут серьёзные мужи, вызывающие доверие и уважение. За петон - в основном хипсторы и школота. Ну и на эрлэнге же не только вацап.
Pawel
на эрлэнге программируются коммуникации. на Го тоже есть такие проекты. на неполноценных языках типа петона (да, я троллю) ничего подобного нет
Wingman
Вацап херня
Wingman
На эрланге все опсосы
Pawel
вот именно
Andrey
А кто чем дебажит свои сервисы? На сях удобно gdb заатачился к процессу и делаешь что нужно.
Pawel
На эрланге все опсосы
на Го тоже есть, вот очень крутой мужык я считаю https://www.youtube.com/watch?v=HoEn7lXNQOU
Pawel
Wingman
Долгие годы у 99% опсосов все это на эрланге
Aleksandr
Aleksandr
уровень 7-8
Pawel
Нет идей. Попробовал ещё раз - не могу что называется воспроизвести. 10-15 левель - всё показывает правильно. Видимо от контекста как то зависит
Антон
человек который скинул мне ссылку на Auth Boss на гитхабе, дай тебе Бог здоровья, счастья, здоровья от души. Тут описан каждый шаг и все понятно 👍
Dmitriy / დიმიტრი
Привет. У меня есть биндинги на Go к либе на плюсах. Я собираюсь создать докер-контейнер, который будет выкачивать либу на плюсах компилить ее, а потом компилировать сорцы на Go с использованием биндингов. Вопрос: как мне сделать так, что бы либа на плюсах выкачивалась и собиралась только раз т.е. сохранялась слоем ?
Dmitriy / დიმიტრი
просто она собирается полчаса и жрет 8гб оперативы
Aleksandr
Alexander
Если она скачивается и компилится отдельной командой RUN в Dockerfile то она будет кэшироваться автоматически. Главное, не менять то, что до этой команды.
Aleksandr
ну как бы очевидно
Alexander
Еще можно использовать multi-stage build. Это когда в Dockerfile несколько инструкций FROM
Dmitriy / დიმიტრი
просто она загружается curl'ом и я как-то не уверен, что он определит что не надо ее пересобирать заново
Alexander
А почему докер решит, что её _надо_ пересобирать?
Aleksandr
Dmitriy / დიმიტრი
то есть команду RUN он выполняет только раз в любом случае?
Aleksandr
Dmitriy / დიმიტრი
понятно, спасибо)
Илья
я бы собрал base контейнер отдельно, типо alpine + glibc+ твоя либа, и твой контейнер с него начинал, хотя multistage тоже покатит
Aleksandr
Илья
на CI контейнеры пересобираются с нуля (по крайней мере у меня так), так что кэш не работает
Co.In
Привет народ. Что и куда нужно добавить чтоб при компиляции находило сишные заголовки?
package cl
// #include "cl.h"
import "C"
import (
"unsafe"
)
Падает с таким фаталом
fatal error: cl.h: No such file or directory
Поискав на машине где лежит сей хедер
/usr/include/CL/cl.h
Anonymous
ну дык <CL/cl.h>
Co.In
пакет не мой просто
github.com/samuel/go-opencl
Как понимаю править чужые пакеты не лучшая практика. Думал что можно как-то добавить папку конкретно, чтоб оно иклюды в ней искало.
.
Такой вопрос по стандартной либе databases/sql : Query() и Exec() защищают от инъекций?
Pawel
нет
Anonymous
Timur
Может быть😂
.
Так да или нет?
Anonymous
Голоса разделились ))
Pawel
Yes.
каким образом она защищает, если запрос передаётся в виде строки?)) sql парсит что ли?
Anonymous
Pawel
а не либа
Pawel
для защиты от инжекций надо использовать либу sql-билдера
Nik
Народ, в каком случае используя read на созданный слайс размера m, может вычитываться меньше?
Pawel
Nik
есть tcpConn. Вокруг него делаю буфер
rd := bufio.NewReaderSize(client.readConn, 10*1024*1024)
Знаю размер сообщения(он фиксирован)
tempData := make([]byte, m)
Anonymous
Nik
n, err := rd.Read(tempData)
Nik
и n !=m
Nik
(может буфер врет, и нельзя ему верить)
Pawel
Anonymous
это как?
Query("SELECT $1", "любой текст") - само всё экранирует
.
Окей, а если у нас там не текст, а int?