@gogolang

Страница 61 из 1630
Daniil
07.11.2016
08:48:55
емнип libusb есть и для винды

могу ошибаться, но вроде как использование Libusb работало как "подмена драйвера" как раз.

т.е. софтинка на либусб была ответственная за инициализацию передачи данных

в усб хост отправляет данные, а устройство лишь слушает, и отвечает только тогда, когда нужно.

Google
Aleksey
07.11.2016
11:25:36
т.е. софтинка на либусб была ответственная за инициализацию передачи данных
Уточню: я не осилю переписывать весь драйвер, мне нужно только пару фреймов увидеть, при этом не мешая родному драйверу

Мерлин
07.11.2016
16:16:50
Выпуск 081. Интриги и расследования. http://golangshow.com/cdn/episodes/081.mp3. Sent from Podcast Republic.

Alexey
07.11.2016
16:24:48
Задеплоино прямо с HighLoad++

Constantine
07.11.2016
16:28:19
как тебе HL?

mixa
07.11.2016
21:34:16
всем доброй ночи, подскажите кто пользовался gorilla/context ? для чего его можно юзать? можно вот так использовать?: package main import ( "log" "net/http" "time" "github.com/gorilla/context" "github.com/gorilla/mux" ) func main() { r := mux.NewRouter() r.PathPrefix("/public/").Handler(http.StripPrefix("/public/", http.FileServer(http.Dir("./public")))) r.HandleFunc("/", LogReq(http_main)) srv := &http.Server{ Handler: r, Addr: "127.0.0.1:80", WriteTimeout: 400 * time.Second, ReadTimeout: 400 * time.Second, } LogPrint("start listening port: 80") srv.ListenAndServe() } func http_main(w http.ResponseWriter, r *http.Request) { w.Write([]byte("привет ворлд")) } //функция для лога всех запросов func LogReq(f func(http.ResponseWriter, *http.Request)) func(http.ResponseWriter, *http.Request) { return func(w http.ResponseWriter, r *http.Request) { context.Set(r, "startLoadTime", time.Now()) log.Print("<- " + r.URL.Scheme + " " + r.URL.Path) f(w, r) startLoadTime := context.Get(r, "startLoadTime").(time.Time) log.Printf("-> "+r.URL.Scheme+" "+r.URL.Path+" %v ", time.Now().Sub(startLoadTime)) context.Clear(r) } }

блин каша получилась

Valery
07.11.2016
21:35:07
Используй go playground или pastebin

mixa
07.11.2016
21:35:14
вот основные моменты: r.HandleFunc("/", LogReq(http_main)) //функция для лога всех запросов func LogReq(f func(http.ResponseWriter, *http.Request)) func(http.ResponseWriter, *http.Request) { return func(w http.ResponseWriter, r *http.Request) { context.Set(r, "startLoadTime", time.Now()) log.Print("<- " + r.URL.Scheme + " " + r.URL.Path) f(w, r) startLoadTime := context.Get(r, "startLoadTime").(time.Time) log.Printf("-> "+r.URL.Scheme+" "+r.URL.Path+" %v ", time.Now().Sub(startLoadTime)) context.Clear(r) } }

ага, щас попробую

Google
mixa
07.11.2016
21:37:50
http://pastebin.ru/vumZrwP2

Valery
07.11.2016
21:38:27
Ух, это не совсем тот пастебин, который ожидался

mixa
07.11.2016
21:39:13
https://play.golang.org/p/zvlYD0OkHE

просто с контекстом немного не понимаю какой в нем смысл

он модифицирует http.Request и позволяет нам хранить там любые наши данные во время обработки http запроса

но какой в нем смысл если мы не можем передать обработку этого запроса другой функции

о до меня дошло )

спасибо )

Valery
07.11.2016
21:43:39
всегда пожалуйста, обращайтесь

mixa
07.11.2016
21:48:13
что то типа для такого https://play.golang.org/p/fmY7RX5Tn_

верно?

просто внутренний голос сейчас подсказывает что я жутко велосипедничаю

Valery
07.11.2016
21:50:10
По всей видимости мы, к сожалению, вдвоем здесь сейчас, а я ничем помочь не могу

мимопроходил

mixa
07.11.2016
21:50:48
ага, спс и на том, пойду гуглить

Roman
08.11.2016
10:48:40
привет Артурчик)

Denis
08.11.2016
11:11:31
Друзья гоферы, есть вопрос Если при перечислении констант, используется iota типа антайпд инт, и все последующие константны в блоке буду принимать значение инкремента, экономит ли это память либо влияет на производительность В чем собственно профит от использования данной фичи?

Лично мне сама конструкция симпатична, но хотелось бы услышать мнение экспертов по этому поводу Так как не всегда такое оглашение является более "читабельным" для людей которые ковыряются в коде

ros
08.11.2016
11:13:36
iota - это синтаксический сахар

Denis
08.11.2016
11:14:42
Значит профита никакого, просто приятная конструкция которая радует глаз вновь прибывших в ряды голанга?

Google
ros
08.11.2016
11:14:53
так точно

Denis
08.11.2016
11:15:09
Большое спасибо за оперативный ответ!)

Aleksey
08.11.2016
16:35:14
Всем привет, можете подсказать, что можно использовать для создания rest api сервера на go?

Nikita
08.11.2016
16:38:26
Есть разные библиотеки, маленькие и большие монстры

Тут где то была ссылка на библиотеки на go

С телефона искать не удобно, а то скинул бы

Nikita
08.11.2016
16:43:23
https://go.libhunt.com можно тут посмотреть

Роман
08.11.2016
16:50:34
В прикреплённом сообщении в этом чате же :)

Мерлин
09.11.2016
17:50:28
50 оттенков Go: ловушки, подводные камни и распространённые ошибки новичков / Хабрахабр https://m.habrahabr.ru/company/mailru/blog/314804/

Egor
09.11.2016
17:52:14
Спасибо за ссылку, вчера вроде постили сюда её на английском

Мерлин
09.11.2016
18:16:43
В комментариях неслабо так набросили

Slava
09.11.2016
18:38:10
Хм, а по делу ли набросили?

Мерлин
09.11.2016
19:46:43
Ещё существенный минус Go в том, что в стандартных библиотеках нет самых элементарных вещей, которые есть в изобилии в других языках и к которым все привыкли, поэтому Go толкает разработчика на создание велосипедов в диком количестве, как результат снижение продуктивности и увеличение возможных ошибок в коде. Н-р: нет функции типа IsFileExists () (ну серьезно нет) «Чего только нет стандартной библиотеке Go, практически ничего нет» Стандартными средствами для работы с SQL невозможно получить данные запроса полный состав которых и тип которых вам заранее неизвестен. Обработка элементарного запроса «select * from table» превратится для вас в ад по поиску костыля. Определение видимости элемента в зависимости от кейса первой буквы отдельный гемор, что будет если вы решите поменять область видимости? Да, да… Возвращаемых функцией кортежи нельзя на лету преобразовать тип. func get() (int64, err) {} i int err error i, err = get() // Ошибка, которую нельзя исправить в этой строке А ещё нет директив компилятора (Ну и так далее) Вообще, взглянув на те решения которые предлагает Go в тех или иных ситуациях (Синтаксис и прочее) Создается впечатление, что автор языка школьник который решил изобрести свой язык. Как ещё можно объяснить такое решение для условной компиляции под разные платформы: pkg_windows.go pkg_linux.go и многие, многие другие решения. Серьезно, строить современный язык, стоя на плечах гигантов и имея весь их опыт и сделать такое? Ну блин( пс За статью спасибо

hamper ?
09.11.2016
20:39:37
IsFileExists в nodejs последнем ее в deprecated перевели потому что очень многие пользуются ей неправильно, так что ненужная функция

Admin
ERROR: S client not available

sunaraw
09.11.2016
20:46:59
Ещё существенный минус Go в том, что в стандартных библиотеках нет самых элементарных вещей, которые есть в изобилии в других языках и к которым все привыкли, поэтому Go толкает разработчика на создание велосипедов в диком количестве, как результат снижение продуктивности и увеличение возможных ошибок в коде. Н-р: нет функции типа IsFileExists () (ну серьезно нет) «Чего только нет стандартной библиотеке Go, практически ничего нет» Стандартными средствами для работы с SQL невозможно получить данные запроса полный состав которых и тип которых вам заранее неизвестен. Обработка элементарного запроса «select * from table» превратится для вас в ад по поиску костыля. Определение видимости элемента в зависимости от кейса первой буквы отдельный гемор, что будет если вы решите поменять область видимости? Да, да… Возвращаемых функцией кортежи нельзя на лету преобразовать тип. func get() (int64, err) {} i int err error i, err = get() // Ошибка, которую нельзя исправить в этой строке А ещё нет директив компилятора (Ну и так далее) Вообще, взглянув на те решения которые предлагает Go в тех или иных ситуациях (Синтаксис и прочее) Создается впечатление, что автор языка школьник который решил изобрести свой язык. Как ещё можно объяснить такое решение для условной компиляции под разные платформы: pkg_windows.go pkg_linux.go и многие, многие другие решения. Серьезно, строить современный язык, стоя на плечах гигантов и имея весь их опыт и сделать такое? Ну блин( пс За статью спасибо
os.IsNotExist Директивы компилятора немного зло

Valery
09.11.2016
20:48:39
"Как ещё можно объяснить такое решение для условной компиляции под разные платформы" А как должно быть?

sunaraw
09.11.2016
20:52:36
И чем решение плохо? Кажется вполне адекватным

Google
sunaraw
09.11.2016
20:53:07
У меня пакеты, в которых различался код немного под ось работали одинаково на винде, линуксе и маке

Slava
09.11.2016
22:08:28
подскажите плиз, а что с `select * from table`не так? просто давно не пользую sql, и не совсем понял что автор комментария имел ввиду

Egor
10.11.2016
04:29:39
offtopic: посоветуйте чат об облачных технологиях для новичков

sunaraw
10.11.2016
05:48:43
По поводу select * from table https://gist.github.com/anonymous/c9bbed6212b60f168529fb7e3cdbf33a По-меому довольно тривиально: если действительно не знаешь, какие данные должны прийти, лол Хотя в 21 веке с орм да и без, тип данных так-то должен быть хоть как-то описан в модели, ну ладно

Упс, я забыл дописать кое-что rows, err := db.Query("SELECT * FROM userinfo")

К тому же, можно прикрутить type switch

Nikita
10.11.2016
06:52:07
https://twitter.com/bketelsen/status/796604147835555840

Daniil
10.11.2016
08:30:37
Кстати не поверите, в stl плюсовом такой функции тоже нету.

Jonh
10.11.2016
09:49:51
Кстати не поверите, в stl плюсовом такой функции тоже нету.
Это ж плюсы, чего ты хотел. В русте вот есть такая функция в std

Daniil
10.11.2016
09:51:01
Это ж плюсы, чего ты хотел. В русте вот есть такая функция в std
ну хз. В плюсах сейчас и треды есть в стандартной либе, а такой, казалось бы, обязательной функции и нету :(

Daniel
10.11.2016
09:54:44
а вот зачем она нужна?

Судзумия
10.11.2016
10:07:01
В русте нет рекурсивного копирования в стд

Daniil
10.11.2016
10:34:29
а вот зачем она нужна?
Ты серьезно? Ну вот хочу я файл создать и разумнее первое что сделать проверить не существует ли он. Можно конечно получить список всего что есть в директории и искать там, но блин...

Daniel
10.11.2016
10:35:05
можно создание файла с правильными фоагами вызвать

sunaraw
10.11.2016
10:35:55
можно создание файла с правильными фоагами вызвать
А если тебе не нужно создавать, а тебе нужно просто проверить isFileInDir

Favoretti
10.11.2016
10:43:28
Нахрена оно надо если есть os.Open ?

ну и на самом деле есть os.IsExist если шо

Google
Andrey
10.11.2016
10:48:40
Народ, можно как-то сделать, что бы в json не маршалились нулевые значения? например есть структура {Name string, Suname string } и надо что бы если есть только Name то только оно было в jsone?

анотация json:"-" это не то

он тогда совсем не маршалит

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