
Olzhas
26.04.2018
04:00:30

Vania
26.04.2018
04:25:10

Olzhas
26.04.2018
04:26:03
кстати, для чего нужен блокчейн?
кроме хайпа, практические юзкейсы

Google

?
26.04.2018
04:29:25

Александр
26.04.2018
04:58:18
а насколько расстрельная статья в пакете db (обертка) сделать переменную с текущей сессией и когда модель инициализируется подкармливать в фабрике коннект?
или лучше бы явно каждый раз передавать в модель
var dbConnect *MyDBConnect
func NewConnect() {
session := .....
dbConnect = & MyDBConnect{
session: session,
}
}
----
func NewUserModel() {
return &UserMode{
dbConnect
}
}

Alexey
26.04.2018
05:45:36

Александр
26.04.2018
05:45:50
в модель вообще ничего не передается

Alexey
26.04.2018
05:45:55
А то джанго какое-то освобожденное

Александр
26.04.2018
05:46:15
в main мы вызвали NewConnect в пакет переменная заполнилась текущей сессией
а потом в хедлере дернули просто NewUserModel он взял уже ту переменную из своего же пакета

Denis
26.04.2018
05:47:08
божи, зачем тута ActiveRecord ищо делать

Alexey
26.04.2018
05:47:19

Александр
26.04.2018
05:47:32
ну

Google

Александр
26.04.2018
05:47:40
я всегда оборачиваю :)
это не совсем актив рекод конечно

Denis
26.04.2018
05:47:58
это ActiveRecord называется, ужасный паттерн

Александр
26.04.2018
05:48:14
я статически прописываю структуры под бд в этом пакете
нононо
я не делаю универсальный db
это просто небольшая обертка над коннектом

Denis
26.04.2018
05:48:46
на, почитай, тут хорошо пишут.
https://hackernoon.com/golang-clean-archithecture-efd6d7c43047

Alexey
26.04.2018
05:49:05
Ох, мы ему про Фому, а он нам про Ерему

Александр
26.04.2018
05:49:46
активрекорд немного не то

Denis
26.04.2018
05:50:21
а что такое ActiveRecord по-твоему?

Александр
26.04.2018
05:50:47
это более универсальная штука

Denis
26.04.2018
05:51:02
а ну тогда ладно

Александр
26.04.2018
05:51:16
когда я могу с помощь сущностей управлять бд без дополнительного программирования
фактически я работаю с бд как с универсальным объектом
применяя к нему модификаторы

Denis
26.04.2018
05:51:59
нет, братан, ты сделал ActiveRecord

Александр
26.04.2018
05:52:02
тут тоже в принципе работаю с объектом, только он не динимаческий
и не используется рефлект

Google

Александр
26.04.2018
05:52:50
не сделать обертку на большом приложении опасно
вдруг завтра бд заменим на другую
или что-то надо в нескольких местах
собственно это про "Independent of Database. You can swap out Oracle or SQL Server, for Mongo,
BigTable, CouchDB, or something else. Your business rules are not bound to the
database."

Alexey
26.04.2018
05:54:17
У тебя модели делают дела в базе
Сами своими методами
А они не должны

Александр
26.04.2018
05:55:30
я давно как то пробывал сделать наоборот, это сразу рефлект и адище

Alexey
26.04.2018
05:55:31
Надо на уровне бизнес логики отдавать модели в уровень базы, и тот сам сохранит или что надо сделает.
Рефлект тут совсем не причем

Александр
26.04.2018
05:56:12
ага особенно на универсальных функция аля db.Save(myModel)

Alexey
26.04.2018
05:56:28
Делаешь у своей обертки метод SaveArticle , и шлёшь туда Article

Denis
26.04.2018
05:56:32
Братан, у тебя какие-то космические проблемы которых кроме тебя ниу кого нет

Alexey
26.04.2018
05:59:35

Александр
26.04.2018
06:00:28
я не совсем понял вашу идею
я хотел просто немного сократить копипасту

Denis
26.04.2018
06:00:49
Вы может какие-то связный репо сделать который не одну модельку принимает

Александр
26.04.2018
06:03:07
ну ладно, тогда оставляю так:
--- main.go ---
db.NewConnect("localhost") // Инициализируем сессию
--- handler.go ---
user := NewUserModel()
user.Name = "Вася"
db.UserSave(user) // Сохраняем, коннект берем из локальной переменной
но вообще изначально был вопрос по поводу явной передачи коннекта в хедлер
типо как вариант:
--- main.go ---
conn := db.NewConnect("localhost") // Инициализируем сессию
handler := UserHandler {
dbConn: conn
}
--- handler.go ---
user := NewUserModel()
user.Name = "Вася"

Google

Александр
26.04.2018
06:04:54
без глобалов
но это пригодится только в случае если будет несколько соединений сразу

Andrew
26.04.2018
06:38:50
Добрый день)
# golang image where workspace (GOPATH) configured at /go.
FROM golang:latest
# set enviroment variables
ENV HELLO_HTML = "/go/src/github.com/steperdin/hello/public"
ENV HELLO_HTTP = ":8080"
# Copy the local package files to the container’s workspace.
ADD . /go/src/github.com/steperdin/hello
# Build the golang-docker command inside the container.
RUN go install github.com/steperdin/hello
# Run the golang-docker command when the container starts.
ENTRYPOINT /go/bin/hello
# http server listens on port 8080.
EXPOSE 8080
Почему контейнер не запускается?
http сервер стартует, но как-будто вырубается
локально сервер работает)

Admin
ERROR: S client not available

Maxim
26.04.2018
06:47:32


Andrey
26.04.2018
06:55:18
Народ вопрос тем кто знает. Есть большой длинный switch который просто возвращет число. Что займёт больше памяти?
1. В кажом case стоит return
2. В кажом case заполняется переменая а в конце один return
я могу сам тест написать проверить. Просто может кто уже делаал это?

Andrew
26.04.2018
06:56:27
testing.B

Александр
26.04.2018
06:56:56
экономия какая то на спичках

Andrey
26.04.2018
06:57:22

Александр
26.04.2018
06:57:40
я врятли будут писать для мобильников на гоу O_o

Andrey
26.04.2018
06:58:15

Sergey
26.04.2018
06:58:16
а зачем это делать?

Andrew
26.04.2018
06:58:20

Olzhas
26.04.2018
06:58:28
мой мобильник больше озу имеет чем моя впска

Andrey
26.04.2018
06:59:29
а зачем это делать?
Мне всё равно как код оформить по 1 варианту или по второму. Но если ккакой то из них оптимальнее то лучше использовать его

Crypt
26.04.2018
06:59:47
Подскажите аргументы в пользу Go против Bitrix)

Maxim
26.04.2018
06:59:55

Google

Andrey
26.04.2018
07:00:11
пишите на C
Давайте вы не будете указывать что мне делать а я не буду говорить куда вам идти?

Sergey
26.04.2018
07:00:12

Olzhas
26.04.2018
07:00:13

Andrew
26.04.2018
07:00:18

Daniel
26.04.2018
07:00:27

Andrey
26.04.2018
07:00:31

Crypt
26.04.2018
07:00:46

Olzhas
26.04.2018
07:00:53
https://github.com/deuill/go-php

Maxim
26.04.2018
07:01:51


Andrew
26.04.2018
07:02:00
а попробуйте
docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1e9f8ed9aa83 container-name "/bin/sh -c /go/bin/…" 6 minutes ago Exited (0) 6 minutes ago flamboyant_kare
8ec8bc3642ba container-name "/bin/sh -c /go/bin/…" 8 minutes ago Exited (0) 8 minutes ago happy_engelbart
0e5c7bb138fa docker-example "/bin/sh -c /go/bin/…" 13 minutes ago Exited (137) 9 minutes ago brave_stonebraker
f3b7f79aec8b container-name "/bin/sh -c /go/bin/…" 23 minutes ago Exited (0) 23 minutes ago fervent_wing
fb574a9ddb10 366c63709e6e "/bin/sh -c /go/bin/…" 24 minutes ago Exited (0) 24 minutes ago thirsty_kowalevski
5f0685e512fb 88e208902032 "/bin/sh -c /go/bin/…" 24 minutes ago Exited (0) 24 minutes ago modest_cray
5db91ede4e13 88e208902032 "/bin/sh -c /go/bin/…" 26 minutes ago Exited (0) 26 minutes ago laughing_shannon
9f1fae1850e6 88e208902032 "/bin/sh -c /go/bin/…" 30 minutes ago Exited (0) 30 minutes ago vigilant_jepsen
79cf497f807c hello-world "/hello" 37 hours ago Exited (0) 37 hours ago clever_elbakyan


Maxim
26.04.2018
07:02:36


Andrey
26.04.2018
07:02:38

Crypt
26.04.2018
07:03:01

Olzhas
26.04.2018
07:03:12
на пхп можно завести ноду