@proGO

Страница 672 из 1674
Demiurg
23.06.2017
10:10:27
https://github.com/go-siris/siris
Интересное примечание появилось в репе ириса, объясняет зачем форк нужен...

Demiurg
23.06.2017
10:11:31
пропустил

Aleksey
23.06.2017
12:03:35
Подскажите, как правильно реализовать? Хочу внести измерение в этот пакет https://github.com/tbruyelle/hipchat-go Суть – возможность задать dafaultBaseUrl (hipchat.go:28) внутри main.

Google
Aleksey
23.06.2017
12:03:53
Ох, люблю превью с гитхаба :)

Логичным решением было бы переписать NewClient, но я не нашёл как сделать не обязательный параметр функции в го, а ломать совместимость не хочу

Aleksey
23.06.2017
12:10:27
пиши свой NewClient
Я уже накостылял решение для себя. Хочу оформить нормально и кинуть пулреквест автору. Фича востребована, не люблю такое оставлять"в столе"

Aleksandr
23.06.2017
12:11:05
чтобы не ломать совместимость создай NewClientWithOptions

anton
23.06.2017
12:11:07
Логичным решением было бы переписать NewClient, но я не нашёл как сделать не обязательный параметр функции в го, а ломать совместимость не хочу
вот с опшнл аргументами в го всё плохо ;) можно конечно достичь опшнлов через вариадики, но выглядит не красиво

LexsZero
23.06.2017
12:13:04
NewThing().Foo(5).Bar("optional")

Denis
23.06.2017
12:13:46
java стайл

Aleksandr
23.06.2017
12:14:28
NewThing().Foo(5).Bar("optional")
плохой стиль. на момент NewThing объект уже создан. Дополнять его после - грязно. лучше в билдер обернуть в таком случае.

Denis
23.06.2017
12:14:35
в го прижилось NewObj(SetName(), SetAge(), SetSex())

Denis
23.06.2017
12:23:47
type Person struct { Name string Age int Sex bool } type Option func(*Person) func NewPerson(opts ...Option) Person { p := Person{} for _, o := range opts { o(&p) } return p } func Name(name string) Option { return func(p *Person) { p.Name = name } } func Age(age int) Option { return func(p *Person) { p.Age = age } } func Sex(sex bool) Option { return func(p *Person) { p.Sex = sex } }

Google
Denis
23.06.2017
12:24:00
в итоге получаем

Nikolay
23.06.2017
12:24:46
имена функций с большой буквы

Denis
23.06.2017
12:24:57
NewPerson( Name("Pike"), Age(?), Sex(true), )

все остальное остается по дефолту (в реальных кейсах)

Name(First("Rob"), Last("Pike")) more lipsy :)

Michael
23.06.2017
12:31:52
+1 за билдер

Денис
23.06.2017
15:27:55
Товарищи, а в го можно конкатенировать строки через +? cmd = exec.Command("/path/to/python/script/my_" + script_name + ".py")

Вот так как сверху будет работать?

Sergey
23.06.2017
15:29:06
будет

но не надо

Lev
23.06.2017
15:29:13
а что мешает попробовать?

или ты сразу в продакшн?

Денис
23.06.2017
15:29:53
а что мешает попробовать?
Правлю го скрипт на удаленной машине на горячую. Проще спросить, чем продакшн шатать.

Sergey
23.06.2017
15:30:14
так ты пробуй скомпилить

а не сразу запускать

Michael
23.06.2017
15:32:09
а потом снова в новостях, что хакеры кого-то там атаковали ?

Sergey
24.06.2017
02:32:39
Ищем Senior Go Developer для этого проекта - https://github.com/cilium/cilium Full time. Пишите в личку

nn008783
24.06.2017
04:42:25
type Person struct { Name string Age int Sex bool } type Option func(*Person) func NewPerson(opts ...Option) Person { p := Person{} for _, o := range opts { o(&p) } return p } func Name(name string) Option { return func(p *Person) { p.Name = name } } func Age(age int) Option { return func(p *Person) { p.Age = age } } func Sex(sex bool) Option { return func(p *Person) { p.Sex = sex } }
я придирусь чутка, если никто не возражает: я так понял, что sex в данном случае это пол, а не что-то иное. насколько помню (поправьте, если ошибаюсь) тип boolean занимает ровно столько же места, сколько и тип char -- 1 байт. с точки зрения читабельности., мне кажется, что проще все таки использовать char и проверять, является ли он m или f. если нет, то вызывать панику. ну или что-то подобное. как бы придирки, но оно правда было бы читабельней. а то правда какой-то сексизм)))

Google
Michael
24.06.2017
06:47:37
в одном байте

Andrey
24.06.2017
06:51:06
Булеан - разве не 1 бит?
Посмотри что такое выравнивание данных.

anton
24.06.2017
07:05:30
за boolean под sex можно получить по шапке потом.. типа ущемление прав меньшинств

shadowjack
24.06.2017
08:38:34
Посоветуйте книгу/доку чтоб быстро вкатиться (знаю C/++/Java/JS/Python/Ruby/Haskell/Elixir)

Nikolay
24.06.2017
08:43:07
C таким набором вкатиться за день можно

shadowjack
24.06.2017
08:50:42
Admin
ERROR: S client not available

Nikolay
24.06.2017
08:52:24
Спасибо
Еще, кстати, godoc сразу лучше поднять у себя локальный, чтоб всегда под рукой удобные маны были от всех стандартных и установеленных пакетов.

shadowjack
24.06.2017
08:56:10
Ясно, спасибо.

Google
Georgy
24.06.2017
13:23:38
Подборка чатов Telegram по языкам программирования https://t.me/proasm — Чат про Assembler https://t.me/ProCxx — Чат про Си++ https://t.me/CSharpChat — Чат про C# https://t.me/extremecode — Чат C# разработчиков (есть свой бот компилирующий C# код) https://t.me/proCrystal — Чат про Crystal. Ruby-подобный статически типизированный объектно-ориентированный язык общего назначения. https://t.me/proelixir — Чат про Elixir https://t.me/elm_ru — Чат про язык программирования Elm https://t.me/Fsharp_chat — Чат про F#. https://t.me/proGO — Чат про Golang https://t.me/gogolang — Чат про Golang https://t.me/haskellru — Чат про Haskell https://t.me/JSlang — Чат про JavaScript https://t.me/joinchat/Be4rsT3Uyr1TjmSlrRc77g — Чат про JavaScript (для новичков) https://t.me/jvmchat — Чат про JVM https://t.me/javastart — Изучаем java вместе. Чат для начинающих и не только! https://t.me/scala_ru — Чат про Scala https://t.me/kotlin_lang — Чат про Kotlin https://t.me/modernperl — Чат про Perl. Современный::Perl https://t.me/usePerlOrDie — Группа о языке Perl и обо всём что с ним связано. https://t.me/ru_python — Чат про Python. (~2250 человек) https://t.me/propython — Чат про Python. (~320 человек) https://t.me/javascript_ru — Чат про JavaScript. https://t.me/css_ru — Чат про CSS и немного HTML https://t.me/ru_python_beginners — Чат про Python для новичков https://t.me/rudepython — Грубый чат про Python (для мужиков https://t.me/phpgeeks — Чат про PHP. (~1400) https://t.me/phpclubru — Чат про PHP (~450) https://t.me/prophp7 — Чат про современный PHP (~430 человек) https://t.me/joinchat/AAtJOjx9l5F9IhkHIIVP9Q — Чат про PHP. Флуд (~200) https://t.me/proRuby — Чат про Ruby https://t.me/rubylang — Чат про Ruby и Ruby on Rails https://t.me/rubyschool — Чат-болталка для учеников руби-школы https://t.me/rubyata — Бишкекское сообщество Ruby и Ruby on Rails https://t.me/moscowrb — Московское сообщество Ruby https://t.me/proRust — Чат про Rust https://t.me/rustlang_ru — Амбициозный чат по Rust https://t.me/typescript_ru — Чат про TypeScript и Flow https://t.me/frp_ru — Функциональное Реактивное Программирование https://t.me/fp_ru — Чат любителей функциональных языков программирования https://t.me/eth_ru — Ethereum Developers, Smart Contracts, Эфириум

Andrey
24.06.2017
13:24:43
есть подобие type MyEnumValue int const ( Enum1 MyEnumValue = iota Enum2 Enum3 )
Но сути это не меняет. Использовать чар надо в строках)

Denis
24.06.2017
13:28:55
в ТЗ не написано значит не надо

Andrey
24.06.2017
13:29:30
в ТЗ не написано значит не надо
В ТЗ много чего обычно не написано. Просто надо отучиться говно писать)

Denis
24.06.2017
13:41:46
В ТЗ много чего обычно не написано. Просто надо отучиться говно писать)
тебе не понравился type Person { Sex bool } ? Я понимаю, когда человека спрашивают где он работает и он отвечает в маке. Ему говорят "понятно". Тогда человек дополняет, что он там менеджер. Ему важно чтобы люди знали что он именно менеджер А какой интерес у тебя чтобы поле Sex было типа byte?

Denis
24.06.2017
13:43:17
откуда этой строчке взяться в примере functional options

Roman
24.06.2017
13:43:51
Unisex?

Andrey
24.06.2017
13:44:53
откуда этой строчке взяться в примере functional options
Ну, я не думаю, что ты будешь задавать этот вопрос, когда увидишь такую строчку в боевом коде)

Поэтому почему бы не задействовать возможности компилятора и не запретить это?

Denis
24.06.2017
13:45:24
а как связан пример использования патерна и боевой код?

ты что все паттерны под копирку тянешь

вместе с папкой Examples

Andrey
24.06.2017
13:47:29
Чего? Нет, блин. Я пишу код и кучу проверок к нему, не используя возможности компилятора.

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

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