@proGO

Страница 652 из 1674
redbeard
05.06.2017
15:42:07
Like
05.06.2017
15:46:16
Парни, какая альтернатива ./name Для виндовс?:с

Не могу запустить

Aleksandr
05.06.2017
15:48:40
name

Google
Like
05.06.2017
15:48:44
Не катит

Aleksandr
05.06.2017
15:48:45
вроде так

Не катит
google => windows console execute current dir

Like
05.06.2017
15:50:14
Спасибо )

Ywein
05.06.2017
16:59:16
Здрасти. Довольно возможно нубский вопрос. Я делаю запрос в базу db.QueryRow("SELECT ...") И я хочу засунуть результат в struct. в духе someStruct := new(MyStruct) db.QueryRow("SELECT ...").Scan(&someStruct) это естественно не работает вот вопрос - как замапить результат который я получаю из базы в мой struct?

ну понятно что я могу прописать там типа &someStruct.Id, &someStruct.text и т.д.

Ywein
05.06.2017
17:01:58
https://github.com/jmoiron/sqlx
угу. окей, спасибо, попробую

Ywein
05.06.2017
17:19:21
ну я уже в общем переделал на sqlx, но пока что оно не совсем работает, у него какая то проблема с возвращением массивов из postgre.

у меня в struct идет Things []string db:"things" при StructScan выдает ошибку Scan error on column index 0: unsupported Scan, storing driver.Value type []uint8 into type *[]string

в postgre это character varying[]

при записи все работает ок. но там вроде в доках есть секция про advanced scanning

Google
Ywein
05.06.2017
17:21:44
читаю пока

Или gorm
sqlx больше нравится, не очень люблю ORM

Borat
05.06.2017
17:29:19
постгресные массивы норм

json тоже нарушение тогда

Maxim
05.06.2017
17:32:06
массивы в бд - нарушение первой нормальной формы
А в чём заключается нормальная форма?

Vladislav
05.06.2017
17:33:25
Morran
05.06.2017
17:33:28
первая это когда в кортеже в каждом атрибуте только одно значение

а не массив например

Maxim
05.06.2017
17:35:12
Morran
05.06.2017
17:35:47
тут ты не прав, там одна вытекает из другой

Vladislav
05.06.2017
17:35:48
не катит

Ywein
05.06.2017
17:40:37
первая это когда в кортеже в каждом атрибуте только одно значение
В данном случае это специально. Оптимизация под запросы. Жертвуем скоростью записи и простотой логики ради скорости выборки

Ywein
05.06.2017
17:44:05
скорость выборки? поле с массивом же динамической длины
Не. Я делаю один запрос и получаю модель с нужными данными. Если нормализировать - нужно будет делать несколько джойнов и конкатенацию

Vladislav
05.06.2017
17:44:41
ну это просто упрощение

Ywein
05.06.2017
17:45:00
Оно скорее усложнение

Google
Ywein
05.06.2017
17:45:26
Менять данные морока

Vladislav
05.06.2017
17:46:25
чтение проще, с записью да

Kirill
05.06.2017
17:48:17
угу. окей, спасибо, попробую
В общем случае sqlx просто с помощью рефлексии узнает какие поля в стракте и в записи в базе, и сопоставляет их используя дескрипторы. Тут основной косяк - рефлексия

Stanislav
05.06.2017
18:48:37
Вот пеп8 для питона Классный стандарт но по инфраструктуре там нет ничего

Жавашники будут выносить каждый блядский класс в отдельный файл

Like
05.06.2017
18:52:13
Пиздец не удобно на го после ооп херачить

честн слово

но язык топчик канеш

anton
05.06.2017
18:59:30
гофаны https://github.com/evanphx/json-patch юзает кто?

Vladislav
05.06.2017
19:00:00
Like
05.06.2017
19:00:12
да просто же
Не совсем удобно

Like
05.06.2017
19:00:12
Рили

Vladislav
05.06.2017
19:00:43
нафигачил структуру, нафигачил методы, вот тебе типо класс

anton
05.06.2017
19:01:15
в чем неудобство?

Ilya
05.06.2017
19:04:31
Надо просто перестроиться и понять плюсы композиции вместо наследования. Ну и минусы тоже.

Like
05.06.2017
19:05:06
в чем неудобство?
Те же классы, как ни крути, но процедурщина никогда не была моей "практиктой" Хотя это и не совсем процедурщина (в го) + пакеты Не привык, что без "импорта" можно юзать функцию в любом файле этого пакета) Ну и прочее

Ну и де foreach :c Не хочу range :D

Vladislav
05.06.2017
19:06:25
ну в пределах пакета это норм, тупо разбиение на файлы

Ilya
05.06.2017
19:06:30
Почитай про композицию поподробнее - возможно проникнешься. Она и в тех же плюсах периодически крайне полезна.

Google
Like
05.06.2017
19:08:17
А кто посоветует про композицию нормальные статьи?
В инете куча дерьма "наследование vs композиция", найди на хабре что-то (по плюсикам норм статьи найдешь ?) )

Anton
05.06.2017
19:09:00
Да читал) просто ищу хорошую статью добавить в список маст рид

Ilya
05.06.2017
19:09:03
Ну например есть у тебя логгер. Делаешь его не методом, не глобальным обьектом, а интерфейсом. И где нужно, передаешь его как аргумент или хранишь в обьектах. Это позволяет подменить логер на другой хоть на лету. Или для тестов.

Так делаешь со всем, и у тебя все кусочки твоего кода могут в любой момент быть заменены например на моки для теста.

Ilya
05.06.2017
19:10:53
А когда у тебя в обьекте 10 таких интерфейсов которые реализуют каждый свое?

Admin
ERROR: S client not available

Ilya
05.06.2017
19:11:39
Ок :)

Like
05.06.2017
19:12:23
Ilya
05.06.2017
19:12:45
Isp?

Like
05.06.2017
19:13:02
Забей, я понял, спасибо за совет :) Попробую

Ilya
05.06.2017
19:13:45
Ок :)

Мы так делаем со всеми внешними сущностями - интерфейс к бд, логгер, трейсинг, клиенты к другим микросервисам

Like
05.06.2017
19:15:05
Ну твоя реализация не всегда "уместна")

Ilya
05.06.2017
19:16:00
Ну да, нужно применять мозг :) Но сторонние вещи практически всегда прячем за своим интерфейсом

Like
05.06.2017
19:16:01
Не все может иметь несколько различных реализаций

Google
Ilya
05.06.2017
19:16:44
Тут дело не в колве реализаций даже, а в удобстве подмены когда понадобится и уменьшении связности кода

Ilya
05.06.2017
19:17:39
Вот понадобилось тебе написать тест модуля, который в постгрес лазит - как без постгреса это сделать? Без мока никак. А интерфейс как раз позволит замокать и сделать это просто.

А каждый раз интеграционные тесты делать с поднятой бд не айс

Like
05.06.2017
19:18:38
> каждый раз интеграционные Вдруг я извращенец?

Ilya
05.06.2017
19:19:07
Тебе виднее ;)

Like
05.06.2017
19:19:16
Или вообще без тестов живу)

Кто знает)

Ilya
05.06.2017
19:21:24
Ооооок...... ;)

Like
05.06.2017
19:21:36
Уже флуда начался, пора заканчивать наверное ))

Ilya
05.06.2017
19:22:09
Наши пыхари пишут :|

Like
05.06.2017
19:22:44
Наши пыхари пишут :|
Спросил у c# разрабов, так они сайтики через тдд клепают ?

Психи

Ilya
05.06.2017
19:23:37
Ну почему бы и нет... кому что :)

Мне иногда кажется, что у некотрых индивидуумов тдд превращается в религию. Хотя по факту это всего лишь один из инструментов, который причем не всегда подходит.

Like
05.06.2017
19:26:56
Расскажи это компании которая аутсорсит на cms :D Просто про тесты скажи)

Правда, один раз я нашел вакансию типа такого: > мы крутые, у нас микросервисная архитектура и прочая лебурда. Мы используем ddd, eda (event driver), cqrs, tdd

Вот это, скорее всего, относится к "религии" )

Like
05.06.2017
20:12:44
Ywein
05.06.2017
20:12:53
окееей.

Like
05.06.2017
20:13:04
На пхп

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