@proGO

Страница 1569 из 1674
DreamingKitten
15.07.2018
14:38:26
или ладно, sizeof(uint64), потому что да, инт платформозависим и всё такое

Daniel
15.07.2018
14:40:36
Коллега, все можно. Но то, ради чего это может понадобиться - точно unsafe

DreamingKitten
15.07.2018
14:41:16
окей. поясните мне, пожалуйста, смысл слова unsafe в этом контексте

Daniel
15.07.2018
14:42:30
Компилятор не может проконтролировать корректность происходящего

Google
DreamingKitten
15.07.2018
14:45:22
т.е. не может проконтролировать, действительно ли sizeof(uint64) равен 8 ?

Daniel
15.07.2018
14:47:24
Не тупите, пожалуйста

DreamingKitten
15.07.2018
14:48:36
я пытаюсь. ладно, проехали. спишем на то что я только вхожу в язык и не ощущаю всей его внутренней гармонии

Daniel
15.07.2018
14:48:46
То вам приватные поля хочется загружать, а то вы по sizeof(int64) страдаете

DreamingKitten
15.07.2018
14:50:35
То вам приватные поля хочется загружать, а то вы по sizeof(int64) страдаете
ну потому что можно, наверное, было бы объявить sizeof() небезопасным только в тех случаях, если у него на входе данные с неоднозначным memory footprint. указатели там, слайсы, строки вот это всё. в остальных случаях всё ок

Daniel
15.07.2018
14:52:00
Ключевой вопрос - зачем.

DreamingKitten
15.07.2018
14:55:44
из-за наличия в коде конструкций вида blocklen/sizeof(var) например

Daniel
15.07.2018
14:57:36
Зачем и почему - разные вопросы

DreamingKitten
15.07.2018
15:02:34
проекция участка памяти произвольного размера как массива произвольного но фиксированного размера элементов не знаю у кого как, у меня это типичный паттерн который регулярно выскакивает при обработке всякого рода бинарных данных

вот в паскале sizeof() вычисляется в compile-time, и это удобно

Yuriy
15.07.2018
15:06:01
Google
Sergey
15.07.2018
18:24:23
Коллеги, есть эстетический вопрос: есть структура ext/LibName мне нужно расширить её несколькими методами и я сделал у себя type LibName ext.LibName не мудак ли я и не стоит ли мне мою структуру назвать иначе?

Никита
15.07.2018
18:30:35
Возможно, это может привести к путанице

Sergey
15.07.2018
18:32:33
каким образом? если я обращаюсь исключительно к локальной структуре

в одном месте мне сказали, что я мудак и так не пишут.

я верю, но почему?

Vadim
15.07.2018
18:52:18
Просто за тысячи сожженных нервов в поисках бага сформировали априорное правило

Sergey
15.07.2018
18:52:53
т.е. просто правило хорошего тона?

Vadim
15.07.2018
18:53:13
Нет, больше страховка

Вдруг ктото твою структуру потом рефлектом будет звать или еще че

Незачем по лезвию бритвы ходить

Sergey
15.07.2018
18:54:36
благодарствую

Андрэ
15.07.2018
18:57:07
Да, насколько я успел заметить реплай

Solarized light

Crypt
15.07.2018
19:13:20
Roman
15.07.2018
21:16:33
Не фамильярничайте, мы с вами не пили на брудершафт

Sun
15.07.2018
21:19:49
А что непонятного? «Дитя моё» более-менее приемлемо только если вы обличены соответствующим церковным саном. В остальных случаях это какое-то неуместное панибратство.

Вот именно. Поэтому здесь подобным выражениям места нет. Вообще, проявление снисхождения в подобной форме — моветон. Если уж очень хочется блеснуть скиллом, то можно дать ссылку lmgfy

[Anonymous]
15.07.2018
21:55:11
?

Александр
15.07.2018
22:46:22
хм

вот думаю где хранить handlers по правильному

Google
Александр
15.07.2018
22:46:48
оформил http в отдельный локальный пакет, дабы не мусорить

толи туда пихнуть, толи отдельно

Sun
15.07.2018
23:01:29
Отдельно

Александр
15.07.2018
23:01:39
ну такое

отдельный пакет handlers?

я пробывал и такой вариант

торчит не оч

Sun
15.07.2018
23:03:25
Я бы отдельно держал. Но настаивать не смею

Александр
15.07.2018
23:05:09
да причем тут "настраивать" ? меня же интересует аргументация

у меня логика такая

они неразрывно связаны с пакетом http

почему тогда мы должны хранить их отдельно?

врятли у нас будет два пакета реализующих http

а значит плодим сущности на ровном месте

Alex
15.07.2018
23:07:25
Создай отдельный файлик handlers.go в своем http пакете. И там пусть себе живут.

Александр
15.07.2018
23:07:41
ну логично я не валю все в один файл ?

Alex
15.07.2018
23:08:09
По крайней мере так советует Mat Ryer :)

Для простеньких сервисов

Александр
15.07.2018
23:08:40
в один файл валить тоже не ах выйдет

придется на каждый хедлер делать по файлу минимум

Google
Александр
15.07.2018
23:09:08
даже два полный CRUD это уже строк 500+

самых простых

Evgeny
15.07.2018
23:17:16
Разбей круды на service+repository, а в handlers просто дергаешь нужный сервис и десериализовываешь. Это удобно если в дальнейшем круды будешь юзать не только для http

Александр
15.07.2018
23:20:15
последний кейс очень странный

круд не для http?

Evgeny
15.07.2018
23:20:51
Круд это не только http

Александр
15.07.2018
23:20:58
я понимаю

но кейс довольно странный

расчитывать на него - получить лишние "сосули" в коде

Evgeny
15.07.2018
23:21:26
Я имею ввиду работу с базой и врапер над ним

Александр
15.07.2018
23:21:55
работа с базой у меня оформлена через dao

dao пакет с интерфейсами + dao_типбд для конкретной реализации

Evgeny
15.07.2018
23:23:15
Я понял, посмотри в iris

Там есть норм пример того что я имею ввиду

Александр
15.07.2018
23:23:56
я не люблю фреймворки

Evgeny
15.07.2018
23:24:03
Я тоже

Александр
15.07.2018
23:24:05
мне важна производительность

я тут подумал...

у меня там есть пакет application

бахну туда интерфейс, а реализацию сделаю через httpApplication

Google
Evgeny
15.07.2018
23:25:42
Тогда юзай fasthttp + easyjson

Александр
15.07.2018
23:27:29
не знаю насчет - fasthttp

Evgeny
15.07.2018
23:27:38
Но в iris посмотри, но круто написан) или в гокит. Юзать не обязательно, но там все достаточно круто продумано в плане soap подхода

Александр
15.07.2018
23:27:47
не понятно за счет чего он "дистигли" производительности выше стандартного пакета

Evgeny
15.07.2018
23:28:51
не понятно за счет чего он "дистигли" производительности выше стандартного пакета
Я тоже хз) но бейнчмарки же Ну и плюсом все что было на хайлоад-кап в го, юзалось с fasthttp

Вообще разница не ощущается на нагрузках < 10к rps

Александр
15.07.2018
23:29:29
стандартные пакеты писали отнють не идиоты

открыл IRIS - https://iris-go.com/v10/recipe#NetHTTP41

что-то не увидел там мегоструктуры в примерах

app := iris.New() irisMiddleware := iris.FromStd(nativeTestMiddleware) app.Use(irisMiddleware) // Method GET: http://localhost:8080/ app.Get("/", func(ctx iris.Context) { ctx.HTML("Home") }) // Method GET: http://localhost:8080/ok app.Get("/ok", func(ctx iris.Context) { ctx.HTML("<b>Hello world!</b>") }) // http://localhost:8080 // http://localhost:8080/ok app.Run(iris.Addr(":8080"))

Evgeny
15.07.2018
23:31:03
Согласен, но http пакет он больше универсален как клиент и как сервер Там много завязано на юзабильности пакета. Возможно fasthttp это просто урезанная версия http

Александр
15.07.2018
23:31:12
обычный мне кажется подход

Evgeny
15.07.2018
23:31:28
Crypt
15.07.2018
23:31:47
iris же бойкотируют, не?

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