@proGO

Страница 1544 из 1674
Olzhas
02.07.2018
13:44:44
Subbotin
02.07.2018
13:44:53
проще го тяжело быть

Olzhas
02.07.2018
13:45:15
Для каких-нибудь яйцеголовых хаскеллистов все изи наверное

Но мне вот в расте понравился cargo

Google
Olzhas
02.07.2018
13:45:44
Крутая штука

Не то что эти всякие vgo или dep

Когда на го пишешь, ощущение что пишешь хелловорлды

Vadim
02.07.2018
13:47:31
Ну для кого-то раст легкий язык
Смотри, на го можно даже js-ера пересадить меньше чем за неделю. С растом такого не будет. Также нет GC, что тоже является сложностью для джунов. Синтаксис посложнее.(Ещё я слышал, что он постоянно меняется).

Subbotin
02.07.2018
13:48:16
ну типа у всех своя ниша. вот на питоне ахуенно легко прототипировать и работать с внешними апи. а также орм и сайтики хуячить. гошечка позволяет за два часа напилить быстрый многопоточный достаточно производительный микросервис. а на расте удобно разрабатывать низкоуровневое или гигантскую монолитную софтину с высоким переиспользованием кода и надёжностью

Olzhas
02.07.2018
13:49:28
Писать большое и сложное приложение на го, расте, жаба/шарпе или пхп

Писать большое и сложное приложение на го, расте, жаба/шарпе или пхп
Питон не берем в расчет, он даже до пхп не дотягивает

Если бы я умел в расте что-то сложнее хеловорлдов писать, я бы выбрал раст

Google
Vadim
02.07.2018
13:50:44
Olzhas
02.07.2018
13:51:51
Го какой-то игрушечный

Правда когда смотришь что на нем пишут

Уже так не кажется

Subbotin
02.07.2018
13:53:02
да мне страшно становится когда я вижу какие груды софта напилены на си. гвозди бы из тех людей делать.

Vadim
02.07.2018
13:53:17
Го какой-то игрушечный
Смотри, чем проще, тем лучше. Разделяешь задачу на кучу маленьких задач. Как говорится, разделяй и властвуй.

Диёр
02.07.2018
13:53:26
в чем недотягивает? )
щас модно питон не любить

Roman
02.07.2018
13:53:38
про гошечку: https://github.com/intel-go/nff-go

Vadim
02.07.2018
13:53:58
Питон не берем в расчет, он даже до пхп не дотягивает
Лучший язык для скриптинга и прототипирования (имхо)

Olzhas
02.07.2018
13:55:29
в чем недотягивает? )
Во всем, наверное

Roman
02.07.2018
13:55:56
Во всем, наверное
конкретика? )

Olzhas
02.07.2018
13:56:19
Гил

В пхп есть треды

Скорость

Daniel
02.07.2018
13:56:34
коллеги

давайте без языкосрача, а?

Olzhas
02.07.2018
13:56:47
коллеги
Ок, я все понял

Roman
02.07.2018
13:56:52
коллеги
это да )

Daniel
02.07.2018
13:57:31
новый язык - это всегда интересно, но кой толк мусолить сто раз обмусоленное.

Google
Roman
02.07.2018
13:57:41
Гил
в пхп он тоже есть. строго говоря, во всех скриптовых языках где есть треды и не надо явно защищать объекты мьютексами есть gil

Daniel
02.07.2018
13:57:52
возвращаясь к тому новому - похоже, в нем нет смысла (пока?)

Daniel
02.07.2018
13:58:17
ну dsl тоже бывыют крутыми и полезными

Vadim
02.07.2018
13:59:33
Лучше тогда уж пони посмотреть.

Глеб
02.07.2018
13:59:56
разбавлю : кто использовал https://github.com/dgraph-io/badger по памяти он как? в том году на пару проектах радовался от dgraph, ток текла она до смерти.

Olzhas
02.07.2018
14:03:57
facepalm
в пхп же copy on write, если юзать pthreads и менять переменную по указателю, то скрипт выкинет фатал еррор и прекратит работу

ну и используется только в cli

Roman
02.07.2018
14:35:17
https://github.com/intel-go/nff-go/blob/master/packet/vlan.go

хехе.. unsafe через unsafe

Stanislav
02.07.2018
14:38:59
Roman
02.07.2018
14:42:19
фига они замутили
в каком смысле? )

сам проект https://github.com/intel-go/nff-go выглядит огонь

Stanislav
02.07.2018
14:46:46
в каком смысле? )
в смысле что интел много чего делает в сетевом направлении. ну и что только на дпдк не остановились ?

Roman
02.07.2018
14:49:18
а... ну да. они стараются двигать dpdk.

Google
Roman
02.07.2018
14:50:06
а DPDK это собственно о чём?
пакетики получать и отправлять + обрабатывать

Roman
02.07.2018
14:51:16
пакетики получать и отправлять + обрабатывать
ну это я понял, а в чём особенность?

Roman
02.07.2018
14:51:31
сотни гигабит/миллионов пакетов в секунду

Stanislav
02.07.2018
14:52:08
на 1 ядре в районе 14 миллионов пакетов в секунду ) при кое каких нюансах

Диёр
02.07.2018
14:53:04
да это даже не язык, а просто dsl
грань между dsl и языками общего назначения размыта

Roman
02.07.2018
14:53:05
эвоно как

Диёр
02.07.2018
14:53:13
можно сказать haskell это dsl для теорката

Roman
02.07.2018
14:53:53
можно сказать haskell это dsl для теорката
Java это DSL для JVM ? JavaScript это DSL для браузеров

Roman
02.07.2018
14:54:08
на 1 ядре в районе 14 миллионов пакетов в секунду ) при кое каких нюансах
например, на netmap pipes у меня получалось где-то 50-60mpps на простой фигне. а так, где-то 20mpps на ядро

https://github.com/intel-go/nff-go/blob/master/low/low.go#L263

а вот смысл такой оптимизации - параллельный доступ к памяти?

Stanislav
02.07.2018
14:55:38
Roman
02.07.2018
14:56:17
@themiron

Vladislav
02.07.2018
14:56:32
м?

Roman
02.07.2018
14:57:29
м?
https://github.com/intel-go/nff-go/blob/master/low/low.go#L263 для чего такая оптимизация? )

руками развернули цикл и ходят кусками по 4шт

Vladislav
02.07.2018
14:58:29
ага, думаю для более эффективной утилизации шины

Google
Vladislav
02.07.2018
15:00:19
а на stosd/stosq есть картинка? )

Александр
02.07.2018
15:01:07
не, я и так дико рискую

проснется вий же

Vladislav
02.07.2018
15:01:59
руками развернули цикл и ходят кусками по 4шт
а может оно только по 32bit принимает за раз через dma

Vladislav
02.07.2018
15:04:15
да не особо, далеко не все умеет в unaligned доступ. некоторые контроллеры прям требуют выровненный доступ

memcpy тут могло не соптимизироваться в 32bit

Subbotin
02.07.2018
15:13:23
Я тоже пошел

Roman
02.07.2018
15:16:19
Ребят, ещё раз задам вопрос, который был успешно проигнорирован: Если у меня поле в JSON может быть двух типов зависимо от значения свойства __typename то как его анмаршалить?

Karachun
02.07.2018
15:17:04
в интерфейс)

Александр
02.07.2018
15:17:43
хотя решение конечно такое себе

Roman
02.07.2018
15:19:09
в интерфейс)
интерфейс мне даст map[string]interface{}, а мне не нужен сплошной мап, у меня есть type Admin struct и type User struct.. type Post struct { Author /*either Admin or User*/ }

хотя решение конечно такое себе
вот нынешнее решение: // PostAuthor represents a union type that's either an Admin or a User type PostAuthor struct { Admin *Admin User *User } // MarshalJSON implements the Go JSON interface func (a PostAuthor) MarshalJSON() ([]byte, error) { // TODO return nil, nil } // UnmarshalJSON implements the Go JSON interface func (a *PostAuthor) UnmarshalJSON(bytes []byte) error { var fields map[string]interface{} if err := json.Unmarshal(bytes, &fields); err != nil { return err } typeName, hasTypeName := fields["__typename"] if !hasTypeName { return fmt.Errorf("Missing __typename during unmarshalling") } switch typeName.(string) { case "Admin": return а.unmarshalAdmin(bytes) case "User": return а.unmarshalUser(bytes) default: return fmt.Errorf("Unexpected __typename: %s", typeName) } } но в таком случае в a.unmarshalAdmin и a.unmarshalUser нужно вручную анмаршалить структуру

есть идеи как можно предотвратить анмаршалинг вручную?

Александр
02.07.2018
15:30:55
неа

гоу не любит динамической структуры

Aleksei ?
02.07.2018
15:48:18
Вот как не стыдно! Жс в отцы годится go

Go 1.11: WebAssembly for the gophers https://t.co/LGhQtbro9x Да, да в Go 1.11 будет поддержка WebAssembly. Может быть скоро весь фронтенд будет писаться на нормальных языках.

Как фронтендер со стажем скажу, что такое вряд-ли произойдёт в ближайшем будущем, но есть интересный проект vecty и он приближает нас к этому моменту ?

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