Size: a a a

2020 December 10

H

Hiroki Fujisawa in Go-go!
там наверняка еще экранирование скобок итд
источник

H

Hiroki Fujisawa in Go-go!
но наверняка есть способы, а через PS еще проще
источник

АЛ

Артем Лазаренко... in Go-go!
Ребят, я как-то в этом чате видел ссылку на Хабр, статья про то как современные языки программирования побуждают программистов писать не оптимально тем самым нивелируется производительность компов, не могу найти, у кого под рукой поделитесь пожалуйста
источник

ЕО

Евгений Омельченко... in Go-go!
Артем Лазаренко
Ребят, я как-то в этом чате видел ссылку на Хабр, статья про то как современные языки программирования побуждают программистов писать не оптимально тем самым нивелируется производительность компов, не могу найти, у кого под рукой поделитесь пожалуйста
Это не языки программирования побуждают писать неоптимально, а потребность бизнеса в велосити 1мегастрока в час
источник

AS

Alexey Shumkin in Go-go!
Артем Лазаренко
Ребят, я как-то в этом чате видел ссылку на Хабр, статья про то как современные языки программирования побуждают программистов писать не оптимально тем самым нивелируется производительность компов, не могу найти, у кого под рукой поделитесь пожалуйста
источник

ВС

Владимир Столяров... in Go-go!
Евгений Омельченко
Это не языки программирования побуждают писать неоптимально, а потребность бизнеса в велосити 1мегастрока в час
Скорее одна мегафича в час
источник

ЕО

Евгений Омельченко... in Go-go!
Мегастрока минс 1 миллион
источник

ЕО

Евгений Омельченко... in Go-go!
Оптимальный код будет очень сложно редактировать
источник

AS

Alexey Shumkin in Go-go!
хотя не, не похоже )
источник

АЛ

Артем Лазаренко... in Go-go!
Не
источник

AS

Alexey Shumkin in Go-go!
Артем Лазаренко
Ребят, я как-то в этом чате видел ссылку на Хабр, статья про то как современные языки программирования побуждают программистов писать не оптимально тем самым нивелируется производительность компов, не могу найти, у кого под рукой поделитесь пожалуйста
если точно видел в этом чате, то есть поиск ))
источник

АЛ

Артем Лазаренко... in Go-go!
Дак не могу найти, да в этом
источник

ЕО

Евгений Омельченко... in Go-go!
Даже если вы будете писать на ассемблере, то всё равно обрастёте сотней слоёв абстракций, необходимых для того, чтобы можно было новые фичи вносить достаточно быстро.

Чистый си, конечно, не ассемблер, но вот стек gtk+ это характерный пример. 40 слоёв абстракций между программистом и X11
источник

ЕО

Евгений Омельченко... in Go-go!
GObject, например, реализует таблицу виртуальных функций, хотя в языке этой фичи нет
источник

АЛ

Артем Лазаренко... in Go-go!
Артем Лазаренко
Дак не могу найти, да в этом
А мож и не в этом 😂
источник

АЛ

Артем Лазаренко... in Go-go!
Не в этом, вот она
источник

АЛ

Артем Лазаренко... in Go-go!
источник

 P

 ‌‌Gleb Pilipets... in Go-go!
Zver
Вообще более глобально есть книга Чистая архитектура. Там более широко вся эта тема раскрыта.
Действительно спасибо, очень помогли.

Просто до этого писал веб-сервисы на Java и Spring Boot, где dependency injection +- автоматизированно менеджится, поэтому в Go неправильно это попытался сделать.
источник

Z

Zver in Go-go!
 ‌‌Gleb Pilipets
Действительно спасибо, очень помогли.

Просто до этого писал веб-сервисы на Java и Spring Boot, где dependency injection +- автоматизированно менеджится, поэтому в Go неправильно это попытался сделать.
👍
источник

E

Egor in Go-go!
На сервере 1 расположено приложение на GO
На сервер 2 подключаюсь по ssh в го
затем открываю тоннель на сервер 3- который расположен в сети сервера 2
там есть аэроспайк к которому нужно получить доступ. Напрямую работает, а через тоннель нет, почему? Так же через тоннель постгрес и кликхаус работают. Код
type SshConnection struct {
 Client *ssh.Client
}
ssh := &SshConnection{}
 addr := fmt.Sprintf("%s:%s", "remote2.host", "22")
 clientConfig := &ssh.ClientConfig{
   User: "test",
   Auth: []ssh.AuthMethod{
     ssh.Password("test"),
   },
   Timeout:         5 * time.Minute,
   HostKeyCallback: ssh.InsecureIgnoreHostKey(),
 }
c.Client, err = ssh.Dial("tcp", addr, clientConfig)
 if err != nil {
   return errors.Wrap(err, "initialize connect")
 }
//---------------------------//
asRemoteAddr := fmt.Sprintf("%s:%s",
   "remote3.host", "3000")
 asLocalAddr := fmt.Sprintf("%s:%s",
   "localhost", "3000")
 err = ssh.OpenTunnel(asRemoteAddr, asLocalAddr)
 if err != nil {
   return errors.Wrap(err, "open tunnel for as")
 }
//---------------------------//
asClient, err = aerospike.NewClient("localhost", 3000)
   if err != nil {
     panic(err)
   }
источник