
Eugenii
01.10.2018
15:50:49
на перловом проекте dbix вообще звер
не так давно, для двух реквестов переписал один запрос на raw sql
причем без причесывания индексов, без вьюх и прочее, просто тупо переписал запрос.
и сервер задышал, конкретно эти реквесты в 10раз ускорелись, а за счет их популярности, общая нагрузка упала почти в 4 раза

Andrei
01.10.2018
15:52:06

Alexander
01.10.2018
15:52:38

Vladimir
01.10.2018
15:53:30

Google

Andrei
01.10.2018
15:54:17

Alexander
01.10.2018
15:54:34
:)

Eugenii
01.10.2018
15:54:34
особенно та часть, которая не тривиальная выборка из одного двух джоинов

Nyan
01.10.2018
15:54:51
с программистом знание sql, как правило, идёт в комплекте

Vladimir
01.10.2018
15:54:53

Eugenii
01.10.2018
15:55:05

Andrei
01.10.2018
15:56:42

Alexander
01.10.2018
15:57:24
вряд ли подеретесь...

Andrei
01.10.2018
15:57:27
просто python интересует гораздо меньшее чи сло работодателей, пусть ты и хоть трижди синьор

Daniel
01.10.2018
15:57:49
языкосрач?

Alexander
01.10.2018
15:57:52
Тут ещё может автоматическая генерация документации для схемы

Andrei
01.10.2018
15:58:15
языкосрач?
просто релевантный пример, го еще слишком молод для таких тенденций

Google

Alexander
01.10.2018
15:58:46

Daniel
01.10.2018
15:58:47
и молод, и неудачно скроен для чего-то вроде django

Andrei
01.10.2018
15:59:14

Eugenii
01.10.2018
15:59:15
2) запросы с тайпчеком, а не просто строчки с SQL кодом
эээ, даже пых в 4м своем издание использовал биндинги

Vladimir
01.10.2018
15:59:15

Alexander
01.10.2018
15:59:37

Eugenii
01.10.2018
16:00:30
та все хорошее, что не хорошее то кобол, в смысле на него всем все равно

Alexander
01.10.2018
16:01:05

Alexander
01.10.2018
16:01:07

Alexander
01.10.2018
16:01:19
"скрипты" - короткая, удобная и понятная альтернатива сомнительному словосочетанию "динамические языки", то что у кого-то может еще и бомбануть от него - это только плюс

Eugenii
01.10.2018
16:02:14

Alexander
01.10.2018
16:02:34
А уже пятница, кстати?

Eugenii
01.10.2018
16:02:42
стоит еще погордится, что орм в базу может чет писать

Alexander
01.10.2018
16:02:50
блин, еще нет :(

Maksim
01.10.2018
16:03:09

Диёр
01.10.2018
16:03:32

Alexander
01.10.2018
16:04:18

Alexander
01.10.2018
16:04:19
ну, началося :)
В Телеграме можно присвоить сообщению тэг #началося ?

Google

Aleksandr
01.10.2018
16:06:23

Eugenii
01.10.2018
16:06:26
не, это скучно.
фактически прототипировать и то что небольшая нагрузка, можно на любом динамическом(даже если ктото что считает не языком).
а потом в отдельных местах орм, меняется на рав скл. в других местах кусок переписывается на с или го и пошло поехало
быстрее на гора выдать на yii/rails/django чем на го или расте

Alexander
01.10.2018
16:07:15
А у меня вот неожиданно возникла такая ламерская бНОПНЯ. В Go можно как-то умудриться собрать все строго статиком?

Daniel
01.10.2018
16:07:51
Libc будет динамическая всегда

Eugenii
01.10.2018
16:07:52

Alexander
01.10.2018
16:08:17
вот о том и речь

Daniel
01.10.2018
16:09:33
А зачем?

Alexander
01.10.2018
16:09:50
ну, чтобы Docker не юзать :)

Daniel
01.10.2018
16:10:06
Libc и threads -.это, считай, часть ядра

Alexander
01.10.2018
16:10:15
угу

Daniel
01.10.2018
16:10:20
А при чем тут докер?

Eugenii
01.10.2018
16:10:42

Alexander
01.10.2018
16:10:54
сам не знаю, но, говорят, он ото всего спасает :)

Daniel
01.10.2018
16:11:55
Именно для libc и threads докер не нужен - go сам с ними умеет работать

Alexander
01.10.2018
16:12:55
OK! хотя я уже как-то рассказывал, что уметь-то он умеет, но собирать надо тогда там, где оно работает :(

Daniel
01.10.2018
16:13:13
Херня

Dmitriy
01.10.2018
16:13:38
А в чем проблема динамического libc?

Alexander
01.10.2018
16:13:40
ну, это просто мой личный опыт

Google

Daniel
01.10.2018
16:13:42
Бывают проблемы, если в альпайне собрать
Ну так не надо в альпайне собирать

Aleksandr
01.10.2018
16:15:17

Alexander
01.10.2018
16:15:29
Я ни с чем не знаю проблем, тупо копируя бинарник с Ubuntu 16 на оно же 12. А между убунтой и CentOS - один раз были реальные проблемы. Просто надо было там и собирать.

Daniel
01.10.2018
16:16:11
Коллега, это немножко чушь

Alexander
01.10.2018
16:16:31
почему?

Daniel
01.10.2018
16:16:52
Не надо свои - редкие - проблемы генерализировать

Alexander
01.10.2018
16:17:09
как скажешь :(

Admin
ERROR: S client not available

Alexander
01.10.2018
16:17:32
что-то все мне сегодня говорят, что я гоню чушь... Хнык :(

Daniel
01.10.2018
16:17:50
Я вот на маке собираю, и ни разу не видал проблем
Это почему?

Alexander
01.10.2018
16:18:07
ну, ты визука, видимо

lexxx
01.10.2018
16:46:15

Alexander
01.10.2018
16:46:56

lexxx
01.10.2018
16:48:10

Александр
01.10.2018
16:48:13
Я вот на маке собираю, и ни разу не видал проблем
у меня тут идеологический вопрос есть, если мы по гоу вей должны всегда интерфейсы класть туда где используем эту зависимость, то как это вяжеться с DAO в хендлерах? получается что DAO интерфейс должен быть именно там O_o

Alexander
01.10.2018
16:48:38
да, видимо, юмор у мне я и правда не смешной :)

Aleksandr
01.10.2018
16:52:00
type AddUserHandler struct {
service UserService
}
type UserService interface {
AddUser(user User)
}

Google

Aleksandr
01.10.2018
16:54:26
логично?

ivan
01.10.2018
17:08:17
Почему это так работает? https://play.golang.org/p/RhZh6EwlVQh
Я понимаю что int нужно привести к duration, но не понимаю почему если просто ввести число это работает

Daniel
01.10.2018
17:09:31
потому, что нетипизованная константа преобразуется к нужному типу автоматически
https://play.golang.org/p/vOsehho5kK6

ivan
01.10.2018
17:11:00
ну так она к инту преобразовалась
в чем разница между тем интом к которому привела нетипизированная константа и тем интом который указан?

Alexander
01.10.2018
17:12:48
и преобразуется компилятором, надо заметить, а не абы когда и кем

ivan
01.10.2018
17:17:26
т.е. на момент использования внутри fmt.Println(time.Second * i) i имеет тип Duration?

Alexander
01.10.2018
17:18:31
time.Duration?
но компилятор может и не знать, что такое i. тут телепатов нет, как уже неоднокнратно замечено

Daniel
01.10.2018
17:21:21
ну так она к инту преобразовалась
она в разных местах к разному преобразовалась. там, где компилятор не смог из контекста понять, к чему преобразовать, он преобразовал к int

anatolii
01.10.2018
17:21:44
type Duration int64

Daniel
01.10.2018
17:21:50

Alexander
01.10.2018
17:22:02
литерал

Roman
01.10.2018
17:22:16
ну всё собсвенно, https://github.com/romshark/Go-2-Proposal---Immutability/issues/14
теперь mut -> immut кастится implicit:
func M() const [] * const T {
return []*T {&T{}, &T{}} // Implicit cast
}

Daniel
01.10.2018
17:22:17
коллега, не тупите

ivan
01.10.2018
17:22:30
хорошо, спасибо, прояснилось

Alexander
01.10.2018
17:23:08
коллега, не тупите
Может, я простьо хочу, чтобы ты был строже, хотя у меня юмор не смешной и ты можешь все не так понять :)

[Anonymous]
01.10.2018
17:23:19