
Александр
12.10.2018
18:35:45
по классике:
/v1/user/{ID} -> { Firstname: Lastname: }
/v2/user/{ID} -> { FIO: }
хотя в таком случаи уже надо будет приложение форкать хмм

Илья
12.10.2018
18:38:52
модели бд != модели внешние

ivanisimus
12.10.2018
18:44:44
здрасте! подскажите поддерживает ли tls (сервер) sslv3 и если да то как его активировать правильно, выставление Minversion в config не помогает

Google

Илья
12.10.2018
18:45:06
не тот чат?

ivanisimus
12.10.2018
18:45:38
я об https://golang.org/pkg/crypto/tls/

Никита
12.10.2018
18:51:05
Есть хорошие примеры реализации Unit of Work?

Aleksandr
12.10.2018
18:53:37
unit of work - это пометить сущность как чистую, новую, грязную, удаленную и коммит. это по сути коллекция

Илья
12.10.2018
18:59:14
при виде слова коллекция, обычно говорят, что такого на го нет
и слава богу

Никита
12.10.2018
19:06:30

Aleksandr
12.10.2018
19:07:10

Илья
12.10.2018
19:07:39
наверное
несколько раз прочитал описание unit of work, и не понял проблемы, которую решают люди, отказываясь от транзакций
точнее уменьшая время транзакции
и реализация, я правильно понял, есть только на сисярп?

Google

Никита
12.10.2018
19:10:20
Интересует как это можно реализовать

Pavel
12.10.2018
19:11:30

Никита
12.10.2018
19:11:32

Aleksandr
12.10.2018
19:11:39

Pavel
12.10.2018
19:11:41
просто накладывают это сверху

Subbotin
12.10.2018
19:13:39


Илья
12.10.2018
19:13:45

Никита
12.10.2018
19:13:51
Я так и не нашел реализации этого патерна на Го

Aleksandr
12.10.2018
19:14:46
А если и есть смысл то только в качестве части орм

Никита
12.10.2018
19:20:16
Я просто думаю о том как адекватно реализовать транзакции

Илья
12.10.2018
19:22:20
какую задачу вы решаете?

Александр
12.10.2018
19:25:13
но вопрос был не в этом

Никита
12.10.2018
19:30:08
Сейчас я использую такой подход: в контроллере с юзкейсами есть структура реализующая интерфейс с методами обращения к БД и под капотом структуры лежит *sql.DB. В этом же интерфейсе есть метод NewTx который возвращает такую же структуру реализующую интерфейс но под капотом уже *sql.Tx.
Насколько адекватен такой подход?
tx, _ := controller.db.NewTx()
userData := models.User{
FirstName: req.FirstName,
LastName: req.LastName
}
userId, _ := tx.CreateUser(userData)
sessionData := models.Session{
User: userId,
Token: tokens.Generate(),
}
_ = tx.CreateSession(sessionData)
_ = tx.Commit()
Все проверки на ошибки с Rollback'ами опущены

Pavel
12.10.2018
19:33:29

Roman
12.10.2018
19:34:56

Pavel
12.10.2018
19:35:11

Илья
12.10.2018
19:35:33

Google

Никита
12.10.2018
19:37:11
У меня тут интерфейс обращения к БД является по сути свалкой всех методов для всех бизнес сущностей, хотя меня это полностью устраивает
Я не представляю как можно организовать транзакции между несколькими репозиториями, разве что тот самый Unit of Work, реализации которого я так и не нашел

Pavel
12.10.2018
19:47:15
Че?
Причём тут unit of work и транзакции между разными репо?
Если у тебя данные в одной базе — просто используй транзакции.

Никита
12.10.2018
19:48:30
Окей. как решается задача транзакции между несколькими репо?

Pavel
12.10.2018
19:49:24
Если в разных — то либо 2х фазный комит или типа того, либо просто писать приложения так, что отсутствие консистенции — это норма.
Но лучше второе, чем первое.

Никита
12.10.2018
19:50:01
Печальная ситуация с виду

Pavel
12.10.2018
19:52:40
Ну из примера выше кажется видно что у тебя данные в одной базе.
Раз транзакция работает.
Ну просто её используй.
Но в этом примере даж не факт что транзакция нужна

Никита
12.10.2018
19:54:00
Тем временем в чате 2к, ?

Aleksandr
12.10.2018
19:54:45

Vlad
12.10.2018
19:54:53
привет!

Aleksandr
12.10.2018
19:55:24
2000 юзеров

Google

Александр
12.10.2018
20:17:29
милениум

Misha
12.10.2018
22:32:19
Всем привет! Подскажите стек технологий для фронтенд части. Я по своей натуре глухой бэкендер, чувство прекрасного есть, но как-то и без прекрасного можно обойтись. Бывает, что по задаче нужен какой-то пусть и базовый, но фронтенд, не претендующий на уникальной и гениальность. Просто чтобы больно не было. Что можете посоветовать? Там bootstrap+jquery или еще что. Плюс хотелось бы писать не на js, а на ts. Тошнит от динамической типизации.

Daniel
12.10.2018
22:55:33
коллеги, если кто не спит
какой у нас лучший lru кеш?

David
12.10.2018
22:57:42

Misha
12.10.2018
22:59:59
axios это из серии ajax?

Vladimir
12.10.2018
23:04:42
какой у нас лучший lru кеш?
я по тупому делаю! Добавляю в массив первым элементом если нет в списке и сдвигаю массив вытесняя последний! А если есть то просто переставляю его c первым без сдвигов

Wingman
12.10.2018
23:05:25

Daniel
12.10.2018
23:05:41

Vladimir
12.10.2018
23:06:14
но работает исправно, если массив небольшой

Daniel
12.10.2018
23:09:43
в github.com/hashicorp/golang-lru/simplelru используется https://golang.org/pkg/container/list/#List
видимо - таки возьму его, он уже есть в проекте

Vladimir
12.10.2018
23:10:50
таки да , тоже вариант! Хотя динамику я стараюсь в таких вещах избежать , аллокаций можно насобирать

Александр
13.10.2018
02:07:24
как же долго проектировать то с нуля
боишься промазать, хрен знает как паттерны юзать, хрен знает как не тестирование ляжет

Sparrow
13.10.2018
02:30:02
Ну да, когда куча говна уже навалена, бояться нечего :)

Yo
13.10.2018
05:01:38

Alexander
13.10.2018
05:24:28

Michael
13.10.2018
05:27:25
айти не академическая среда? в эмайти переглянулись

Google

Тёма
13.10.2018
05:38:33

Vlad
13.10.2018
05:39:57
Если нужен именно rest, то axios, а вообще fetch хватает если мало endpoint
Если crud, то наверное лучше не чистый реакт


Tux
13.10.2018
05:46:35
Блять, ну почему в IT такой детский сад творится
Потому что it это не про it. it это про решение бизнесзадач лишь бы работало, посредством дешевой раб. силы, которая приходит в it за зарплатой, и чтобы не на завод.
А потом на всяких фронтенд конфах ебут друг друга в жопу, кто круче фреймворк освойл. ФРЕЙМВОРК, КАРЛ!
В it ценится умение решать инфраструктурные задачи. Если ты умеешь webpack'ом файлики конкатенировать или запускать всесь свой говнокод со всеви зависимостями из говна в изолированном окружении (да-да, я на тебя смотрю, мамкин девопс инженер), то это типа збс.
Вот по этому мы и живём с монолитными говнобраузерами на оверлям строк кода, с сайтиками которые ждут по 250мб и 25% цпу. По этому, у нас есть говно-конференции, где невъебенные докладчики читают о том, как блеать повысить эффективность работы сайтика. Эффективность, блеать! Сайтика, блеать!!!!
Вот потому, что для разработки, тонкого клиента + ui к базе юзерского контента у нас спрашивают по СТЕК ДЛЯ ФРОНТЕНДА, БЛЕАТЬ!
И на бекенде то же дерьмо творится. Привет жаве с её жвмом и шарпу. Для примитивнейшей логики заводят целые проекты на спринге.


енот
13.10.2018
05:47:31
простите, если вопрос тупой.
я в основном на ноде, спрошу на её примере
вот в ноде есть package.json, в нем зависимости перечислены, а в golang есть что-то подобное кроме указания в импорте? Или оно подтянется само?

Olzhas
13.10.2018
05:48:18

Michael
13.10.2018
05:48:22
ага