Home
golang
golang@conference.jabber.ru
Вторник, 15 июля 2014< ^ >
ftrvxmtrx установил(а) тему: Go Programming Language. http://tip.golang.org/pkg
|| Всегда используйте hg tip. Не ждите релизов.
|| Логи: http://chatlogs.jabber.ru/golang@conference.jabber.ru/
|| Изучаем: https://gobyexample.com/
|| Сторонние либы: http://godoc.org/
|| http://github.com/goerlang
Конфигурация комнаты
Участники комнаты

GMT+4
[00:00:09] smpl вошёл(а) в комнату
[00:38:05] Darth Лис вошёл(а) в комнату
[00:40:12] Darth Лис вышел(а) из комнаты: Disconnected: Replaced by new connection
[00:40:14] Darth Лис вошёл(а) в комнату
[00:50:31] postman вошёл(а) в комнату
[00:59:57] Darth Лис вышел(а) из комнаты: Disconnected: connection closed
[01:01:36] drumond вышел(а) из комнаты
[01:02:20] drumond вошёл(а) в комнату
[01:36:36] Kxepal вышел(а) из комнаты
[01:38:20] Kxepal вошёл(а) в комнату
[01:55:14] drumond вышел(а) из комнаты
[02:17:50] vaal вышел(а) из комнаты
[02:27:28] sakujii вышел(а) из комнаты
[02:55:03] postman вышел(а) из комнаты
[03:41:15] mad_hatter_ вышел(а) из комнаты
[03:44:02] kms_ вышел(а) из комнаты
[05:03:44] <Deirz> https://codereview.appspot.com/104680043 for range X { ... }, merged
[05:27:24] smpl вышел(а) из комнаты
[06:25:49] begemot_sun вошёл(а) в комнату
[06:50:06] 5UN5H1N3 вошёл(а) в комнату
[07:28:16] sakujii вошёл(а) в комнату
[07:56:57] begemot_sun вышел(а) из комнаты
[07:59:18] ftrvxmtrx вышел(а) из комнаты
[08:43:58] krab вошёл(а) в комнату
[09:11:57] webus вошёл(а) в комнату
[09:34:31] Laz вошёл(а) в комнату
[09:51:26] ftrvxmtrx вошёл(а) в комнату
[09:52:55] wanderer@jabber.ru вошёл(а) в комнату
[10:17:01] ermine вошёл(а) в комнату
[10:17:37] ftrvxmtrx вышел(а) из комнаты
[10:27:15] krab вошёл(а) в комнату
[10:27:43] krab вышел(а) из комнаты: Left Vacuum-IM
[10:36:45] Laz вышел(а) из комнаты
[10:53:02] krab вышел(а) из комнаты
[10:54:42] krab вошёл(а) в комнату
[11:04:05] vaal вошёл(а) в комнату
[11:05:00] krab вышел(а) из комнаты: Вышел из Vacuum-IM
[11:22:16] MaXGGXaM вошёл(а) в комнату
[11:22:30] MaXGGXaM вышел(а) из комнаты
[11:23:16] MaXGGXaM вошёл(а) в комнату
[11:24:34] MaXGGXaM вышел(а) из комнаты: Replaced by new connection
[11:27:05] MaXGGXaM вошёл(а) в комнату
[11:34:13] MaXGGXaM вышел(а) из комнаты
[11:43:15] ftrvxmtrx вошёл(а) в комнату
[11:44:04] ftrvxmtrx вышел(а) из комнаты
[11:52:27] azzz вошёл(а) в комнату
[12:29:36] mad_hatter_ вошёл(а) в комнату
[12:48:02] kms_ вошёл(а) в комнату
[13:00:37] krab вошёл(а) в комнату
[13:01:51] postman вошёл(а) в комнату
[13:10:16] razip@jabber.ru вошёл(а) в комнату
[13:19:13] <razip@jabber.ru> У меня два вопроса. Что принимает json.Decode() и как это будет использовано? Каким образом представляются декодированные JSON-данные в Go? Карта + массивы?
[13:21:22] <krab> http://attilaolah.eu/2013/11/29/json-decoding-in-go/
[13:24:23] <krab> зачем делать make есть в makefile говнокод который написан руками для запуска go build
[13:24:26] <krab> лел
[13:36:49] <razip@jabber.ru> Благодарю.
[13:37:26] <razip@jabber.ru> P.S. этот человек мне как-то на StackOverFlow ответил.
[13:38:34] <krab> да ты знаменитость
[13:57:31] <razip@jabber.ru> А что если у меня меняются ключи в JSON-файле?
[13:57:53] <razip@jabber.ru> Динамично, без создания структуры нельзя?
[14:02:18] <postman> в map анмаршал сделай.
[14:03:43] drumond вошёл(а) в комнату
[14:17:11] Darth Лис вошёл(а) в комнату
[14:17:29] Darth Лис вышел(а) из комнаты: Disconnected: Replaced by new connection
[14:17:30] Darth Лис вошёл(а) в комнату
[14:33:41] <Darth Лис> razip@jabber.ru: http://golang.org/pkg/encoding/json/#example_RawMessage
[14:35:59] <razip@jabber.ru> package main
import "fmt"
import "io/ioutil"
import "encoding/json"
import "log"
func main() {
    var file, err = ioutil.ReadFile("test.json")
    if err != nil {
        log.Fatal(err)
    }
    var data map[interface{}]interface{}
    json.Unmarshal(file, &data)
    fmt.Println(data)
}
ЧЯДНТ?
[14:36:23] <razip@jabber.ru> map[] вывод.
[14:36:35] <razip@jabber.ru> {"test": "test"} файл.
[14:38:51] <razip@jabber.ru> var data map[interface{}]interface{}
Даже var data map[string]string можно.
[14:39:03] <razip@jabber.ru> Оу. Нужно же создать карту.
[14:39:12] Darth Лис slaps razip@jabber.ru
[14:39:27] <Darth Лис> razip@jabber.ru: сюда такие простыни не надо постить
[14:39:57] <razip@jabber.ru> Ок. В мониторе не умешается? :)
[14:40:03] <Darth Лис> и юзай ты RawMessage как по ссылке что я скинул
[14:40:06] <Darth Лис> а не map[interface{}]interface{}
[14:41:39] <postman> map[string]interface{}
[14:42:05] <Darth Лис> map[string]interface{} тоже так себе идея
[14:42:11] <razip@jabber.ru> Каким образом можно узнать тип переменной?
[14:42:23] <Darth Лис> хаха
[14:42:26] <postman> reflect
[14:42:32] <Darth Лис> обмазались раби/писонами и радуются
[14:43:00] <postman> в пистоне считается плохим тоном явное выявление типа, если мне не изменяет память.
[14:43:15] <Darth Лис> https://twitter.com/sellout/status/488713447748554754
[14:43:16] <postman> ты не проникся УТИНОЙ ФИЛОСОФИЕЙ.
[14:43:22] <Darth Лис> хуиной
[14:43:50] <Darth Лис> сколько видел кода, везде пустой интерфейс был хуйовой идеей
[14:43:57] <postman> а кому-то вообще нравится скала?
[14:44:09] <postman> кому-то, кто видел другие ФП-языки.
[14:44:15] <Darth Лис> postman: ага, тем кому плакать от кода нравится :D
[14:48:43] <Deirz> razip@jabber.ru: в случае json все мапы будут с ключом типа string
[14:51:21] <Deirz> декодироваться в такой мап не будет, кстати
[14:51:34] <Deirz> потому что вместо строки будет слайс uint8
[14:51:44] <Deirz> а слайсы - нехешируемые и ключом быть не могут
[15:03:50] 5UN5H1N3 вышел(а) из комнаты
[15:06:53] rm вышел(а) из комнаты
[15:14:08] Darth Лис вышел(а) из комнаты: Disconnected: session closed
[15:38:43] smpl вошёл(а) в комнату
[15:57:21] azzz вышел(а) из комнаты
[15:58:54] azzz вошёл(а) в комнату
[16:00:23] ftrvxmtrx вошёл(а) в комнату
[16:11:26] ascrazy вошёл(а) в комнату
[16:12:05] azzz вышел(а) из комнаты
[16:18:27] 5UN5H1N3 вошёл(а) в комнату
[16:19:28] azzz вошёл(а) в комнату
[16:26:33] magiq вошёл(а) в комнату
[16:26:42] <magiq> как пустой ответ отдать в http.Server ?
[16:26:59] <magiq> создаю сервер хочу вернуть пустой результат
[16:27:39] <Deirz> просто ничего не пиши
[16:29:09] <razip@jabber.ru> Когда делаю Marshal карты с типами bool, int, все превращается в строку, или как?
[16:29:21] <razip@jabber.ru> json.Marshal()
[16:29:39] <ascrazy> в []byte
[16:29:52] <razip@jabber.ru> Типы сохраняются?
[16:30:09] <ascrazy> где ты в json типы увидел?
[16:30:23] <razip@jabber.ru> Там вроде можно bool значение иметь.
[16:30:26] <ascrazy> не ну вообще сохраняются, в json типы
[16:30:31] <razip@jabber.ru> Мб и цифры.
[16:30:42] <razip@jabber.ru> Ок, спасибо.
[16:35:10] trrbl вошёл(а) в комнату
[16:35:14] smpl вышел(а) из комнаты
[16:35:46] trrbl вышел(а) из комнаты
[17:14:36] postman вышел(а) из комнаты: Replaced by new connection
[17:14:36] postman вошёл(а) в комнату
[17:15:01] wanderer@jabber.ru вышел(а) из комнаты
[17:20:31] foobar вошёл(а) в комнату
[17:22:28] Kxepal вышел(а) из комнаты: Replaced by new connection
[17:22:28] Kxepal вошёл(а) в комнату
[17:24:26] razip@jabber.ru вышел(а) из комнаты
[17:52:10] ascrazy вышел(а) из комнаты
[17:54:44] Darth Лис вошёл(а) в комнату
[18:02:25] foobar вышел(а) из комнаты: Replaced by new connection
[18:18:11] ftrvxmtrx вышел(а) из комнаты
[18:31:14] Darth Лис вышел(а) из комнаты: Disconnected: session closed
[18:38:59] <magiq> http://pastebin.com/5NDv7Nib
[18:40:47] <postman> ты просто похвастаться решил?
[18:42:30] <Deirz> magiq: выкладывай сниппеты на play.golang.org
[18:42:33] <Deirz> сразу рабочие
[18:43:10] <postman> > redis
[18:45:31] <magiq> да я думал меня помидорами закидают
[18:45:36] <magiq> и скажут что криво написано
[18:45:38] <magiq> потому и выложил
[18:47:51] <sakujii> это что, кусок блокировщика роскомнадзора? oO
[18:48:13] <postman> спалили суку!
[18:48:25] <postman> ща двигать по масти будем падлу мусорскую!
[18:48:36] <Deirz> вычисляй по айпи
[18:48:39] <postman> ))))))))))))))))000
[18:48:46] <sakujii> postman: ( ˘ ³˘)❤
[19:23:08] magiq вышел(а) из комнаты
[19:25:42] postman вышел(а) из комнаты
[19:36:14] azzz вышел(а) из комнаты
[19:47:34] postman вошёл(а) в комнату
[20:22:10] smpl вошёл(а) в комнату
[20:33:35] MaXGGXaM вышел(а) из комнаты: Вышел из Vacuum-IM
[20:33:52] MaXGGXaM вошёл(а) в комнату
[20:34:30] ftrvxmtrx вошёл(а) в комнату
[20:34:33] Darth Лис вошёл(а) в комнату
[20:44:31] <Darth Лис> никто не хочет портировать https://rubygems.org/gems/grape на Пщ? :)
[20:44:52] <Darth Лис> получился бы gorape
[20:44:55] <Darth Лис> :D
[20:46:00] <Deirz> или gope
[20:46:12] <Darth Лис> такой кажется уже есть
[20:46:22] wanderer@jabber.ru вышел(а) из комнаты
[20:47:05] <Deirz> был gopy
[20:47:14] <Deirz> хм, каких-то солдатиков выдает
[20:47:16] <Darth Лис> http://godoc.org/github.com/Stringy/grape
[20:47:27] <Darth Лис> бгг, реддит АПИ
[20:47:57] <Darth Лис> но риальне, рабишный грэйп просто охуенный, и было бы ещё пижже если бы он был на Пщ
[20:50:20] <sakujii> наконец-то Darth Лис похвалил раби :(
[20:50:36] <Darth Лис> не раби
[20:50:38] <Darth Лис> раби говно
[20:50:45] <Darth Лис> и потом что он говно, я хочу grape на Пщ
[21:05:15] <Darth Лис> https://vividcortex.com/blog/2013/06/04/replacing-clever-code-with-unremarkable-code-in-go/
[21:07:09] <postman> Darth Лис: а нахуй этот грейп-то нужен?
[21:07:17] <postman> вроде полно таких приблуд на пистоне и дноде.
[21:07:39] <Darth Лис> полно то полно
[21:07:57] <Darth Лис> но грейп единственный кто не берёт защеку
[21:08:33] <Deirz> покажи примеры
[21:09:07] <Darth Лис> Deirz: http://rubydoc.info/gems/grape/0.8.0/file/README.md#Basic_Usage
[21:09:16] <postman> > ruby
> не берет за щеку
[21:09:28] <Darth Лис> более того, есть прикольная интеграция со swagger-ом
[21:09:49] <Darth Лис> postman: парадоксально да :))
[21:13:40] <Deirz> довольно коротко, но какие плюсы кроме этого?
[21:23:39] krab вышел(а) из комнаты: Replaced by new connection
[21:23:40] krab вошёл(а) в комнату
[21:23:50] MaXGGXaM вышел(а) из комнаты: Вышел из Vacuum-IM
[21:24:00] MaXGGXaM вошёл(а) в комнату
[21:38:44] razip@jabber.ru вошёл(а) в комнату
[21:39:20] <razip@jabber.ru> Что посоветуете почитать о проектировании приложения?
[21:39:34] <razip@jabber.ru> Модульного приложения.
[21:40:55] Darth Лис вышел(а) из комнаты: Disconnected: connection closed
[21:47:15] magister вошёл(а) в комнату
[21:48:07] <razip@jabber.ru> Более конкретно: у меня пока есть пакет application и тип Application, одно из полей которого будет содержать реализации других типов (модулей). Есть функция Constructor в пакете application, которая создает экземпляры модулей, добавляет их в Application-экземпляр, который собственно и возвращается функцией. Также есть метод Run у Application-типа, который выполняет инициализацию приложения — взаимодействие между модулями.
[21:50:23] Kerrigаn вышел(а) из комнаты
[21:51:02] <razip@jabber.ru> Так вот. Все бы ничего, но вдруг понадобился некий модуль конфигурации, но его не запихнешь в Application.container (то поле, которое содержит реализации модулей) потому что там может быть одна реализация для одной сущности, а конфигов может быть миллион (модули могут использовать).
[21:51:44] <Deirz> звучит запутанно
[21:52:11] <razip@jabber.ru> Пока расписывал понял, что незачем добавлять в поле реализации если они более раза не используются.
[21:53:53] <razip@jabber.ru> Можно их прямо в методе Run создавать, конфиг можно передавать тоже через Run метод в инициализатор необходимого «модуля» вместо доступа к нему из другого модуля.
[21:55:18] <Deirz> ну, технически ты можешь сделать метод GetBaseConfig у каждого модуля, который будет возвращать нужную структуру
[21:55:27] <Deirz> и в нее читать конфиг
[21:55:39] <Deirz> потом эту структуру передавать в run или куда-нибудь ещё
[21:58:10] <razip@jabber.ru> Я осознал, что я спроектировал бред. А все потому, что я притащил с собой привичные фичи с PHP и других динамичных языков. :(
[21:58:45] razip@jabber.ru вышел(а) из комнаты
[21:58:57] <krab> ну ты и идиот
[22:01:49] begemot_sun вошёл(а) в комнату
[22:26:23] drumond вышел(а) из комнаты: Replaced by new connection
[22:26:24] drumond вошёл(а) в комнату
[22:41:34] krab вышел(а) из комнаты: Replaced by new connection
[22:41:36] krab вошёл(а) в комнату
[22:55:45] drumond вышел(а) из комнаты
[22:56:35] magister вышел(а) из комнаты
[23:23:40] postman вышел(а) из комнаты
[23:30:35] postman вошёл(а) в комнату
[23:47:58] ermine вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!