@proGO

Страница 1397 из 1674
Olzhas
26.04.2018
04:00:30
Olzhas
26.04.2018
04:26:03
кстати, для чего нужен блокчейн?

кроме хайпа, практические юзкейсы

Google
?
26.04.2018
04:29:25
кстати, для чего нужен блокчейн?
https://habrahabr.ru/company/bitfury/blog/321474/ Да много статей на эту тему, но мы это не будем здесь обсуждать.

Александр
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 ищо делать

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

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

это не совсем актив рекод конечно

Denis
26.04.2018
05:47:58
я всегда оборачиваю :)
ты потому что пришел из Rails или Django

это 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
на, почитай, тут хорошо пишут. https://hackernoon.com/golang-clean-archithecture-efd6d7c43047
Ссылка норм, я только не оч понял, а как они предлагают транзакции между разными репозиториями пробрасывать

Александр
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

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
я врятли будут писать для мобильников на гоу O_o
Тогда не говорте про экономию на спичках

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

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

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

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

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

Olzhas
26.04.2018
07:00:13
Andrew
26.04.2018
07:00:18
посмотрите docker logs container_name docker ps docker ls -a и еще хотел бы посоветовать multistage сборку использовать, для сервисов, написанных на go это очень хорошо работает вот пример multistage сборки: https://dpaste.de/VpfD
причем простой http.HandleFunc("/", func(rw http.ResponseWriter, req *http.Request) { rw.WriteHeader(http.StatusOK) rw.Write([]byte(`hello world`)) }) fmt.Println("SERVER STARTED") http.ListenAndServe(":8080", nil) собирается и запускается с тем же dockerfile только там без переменных окружения

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

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

Andrey
26.04.2018
07:02:38
скорее всего - расход будет идентичен
Лишний раз убежадюсь в вашей правоте. Что быстрее самомму тест написать. Чем спрашивать.

Crypt
26.04.2018
07:03:01
https://github.com/deuill/go-php
спс, словили лулзов

Olzhas
26.04.2018
07:03:12
спс, словили лулзов
но это все фигня

на пхп можно завести ноду

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