
Kirill
06.06.2017
14:05:39
Написать генератор, используя рефлексию или взять готовый. Генерировать код, потом его компилить и юзать. Т.е. одна утилита для генерации, другая(сгенеренная) для целевых действий

anton
07.06.2017
11:55:10
гайз, а кто как из горма с ююидами постгри работает? чтоб горм понимал что это праймари кей

Alexey
07.06.2017
11:58:57
Зачем uuid - праймари кей?)

Daniel
07.06.2017
11:59:57
А почему нет?

Google

ros
07.06.2017
12:00:27
например, из внешней системы летить такой

Alexey
07.06.2017
12:00:29

Daniel
07.06.2017
12:01:13
Почему?

ros
07.06.2017
12:01:23
ну, как бы не все системы открыты

Daniel
07.06.2017
12:01:28
И?

ros
07.06.2017
12:01:49
и то что база может оказаться ведомой

Alexey
07.06.2017
12:01:50
Почему?
А вдруг прилетит для разных сущностей два одинаковых ключа. Мало ли что сломалось во внешней системе. А у меня свои ключи.

Aleksandr
07.06.2017
12:02:19

anton
07.06.2017
12:02:29
Зачем uuid - праймари кей?)
ну всякое бывает..
конкретно у меня кейс - есть две системы, где пользователи имеют в кач-ве ключа guid :) там вообще ms sql..
перетаскиваю всё это под единую аутентификацию/авторизацию и как-то нет желания сейчас рефакторить два других бекенда, чтоб в кач-ве id пользователя был uint :)

Alexey
07.06.2017
12:02:42

Daniel
07.06.2017
12:03:52

Aleksandr
07.06.2017
12:04:18

Google

Alexey
07.06.2017
12:05:35
Ну прилетит. Запись не пройдет, и все
Ну, я сейчас не готов привести подробный юзкейс. Но в общем случае я считаю, что праймари ключи должны делаться локально на локальной базе, и не использоваться как указатели куда-то во внешние системы. Не надо на них бизнес-логику завязывать. Лучше отдельную колонку под external_id выделить.

Aleksandr
07.06.2017
12:06:36

ros
07.06.2017
12:06:43

Alexey
07.06.2017
12:07:18

Daniel
07.06.2017
12:07:51
Ну и в чем проблема?

Alexey
07.06.2017
12:08:43
Ну и в чем проблема?
А Александр Зеленин говорит, что у меня речь бессвязная, вот я и объясняю, какая связь моих сообщений с тем, что выше написано.

Daniel
07.06.2017
12:09:06
Неуникальный uuid можно получить в некоторых генераторах, но - на одной системе

Aleksandr
07.06.2017
12:09:12

Daniel
07.06.2017
12:09:45
Ждать пересечения их при разных источниках - не приходится

anton
07.06.2017
12:09:47

Alex
07.06.2017
12:31:53
Товарищи, подскажите, есть возможность как-то разбить строку на массив строк определенной длины? Или ручками?
abc := "abcdef"
x := split(abc, 2) // ["ab", "cd", "ef"]

Aleksandr
07.06.2017
12:37:28
ну функция в три строки типа for i := 0; i < len(str); i = I+2

Alex
07.06.2017
12:37:49
ну думал мб что есть в стандартной либе, чтобы не велосипедить)

Aleksandr
07.06.2017
12:37:50
только учти что конвертить в руны надо чтобы с юникодом работать

Roman
07.06.2017
12:45:41
Парни, кто знает какую нибудь простую и красивую библиотеку для манипуляции XML - изменение элементов DOM.

Igor
07.06.2017
12:48:18
php

Roman
07.06.2017
12:49:41
Бля, я пришел сюда потому что это говно не работает

Igor
07.06.2017
12:50:20
Какое именно говно?

Google

Roman
07.06.2017
12:50:26
Php в смысле не может обработать xml файл

Igor
07.06.2017
12:50:42
Большой тяжёлый файл?

Alexey
07.06.2017
12:50:47
Ну, если там типа html:)

Igor
07.06.2017
12:51:27
Мне кажется сомнительным удовольствием в строго типизированном языке разбирать xml\html\etc

Roman
07.06.2017
12:52:06
Нет маленький и легкий. FindElementByTag находит 5 элементов, а интераци происходит только по 4-рем. Я всю голову сломал - но это php.

Igor
07.06.2017
12:52:40
Нет, это не php. Это ты просто что то не так делаешь )

nezorflame
07.06.2017
12:53:01
а что мешает просто заюзать encoding/xml?
type Node struct {
XMLName xml.Name
Content []byte `xml:",innerxml"`
Nodes []Node `xml:",any"`
}
func walk(nodes []Node, f func(Node) bool) {
for _, n := range nodes {
if f(n) {
walk(n.Nodes, f)
}
}
}
или я не понял суть вопроса? :)
еще натыкался на вот такое https://github.com/beevik/etree сам не юзал, правда, не было нужды

Artem
07.06.2017
13:00:00
Юзал кто socket.io для голенга? Как оно там? Что ещё можно использовать для работы с сокетами?

Alex
07.06.2017
13:21:58
Все-таки не могу победить(
При попытке отправить в smtp сообщение с помощью пакета smtp получаю "line too long". Попытался разбить на строки в 500 символов, но все равно та же ошибка(
Не сталкивался никто? Какие подробности нужны?

ros
07.06.2017
13:29:38
да, там есть ограничения на длину строки

Alex
07.06.2017
13:30:07
да даже на 50 символов разбил, все одно
такое ощущение, что он под капотом все равно склеивает их

ros
07.06.2017
13:35:45
кусочек питонячины
self.stream.write(message.message().as_bytes() + b'\n')
self.stream.write(b'-' * 79)
self.stream.write(b'\n')
т.е. в байтах надо считать, а не символах

Alex
07.06.2017
13:38:52
?)

Google

ros
07.06.2017
13:39:13
и это уже после того как пройдет base64_encode
хотя, это не тот кусок
)

Roman
07.06.2017
15:04:43
8 years ago ???

anton
07.06.2017
16:25:14
кому там ООП хотелось?
http://pharo.org/web

Admin
ERROR: S client not available

anton
07.06.2017
16:25:37
пьюр обджект ориентед, блин!

Nik
07.06.2017
16:26:53
Всем привет. Беру время, и хочу его увидеть в определенной таймзоне.
Смотрю в доку и вижу две вещи. Первая -
func (Time) Zone
Вторая же приводит к UTC.
Как же пригнать время например к таймзоне Москвы?

anton
07.06.2017
16:31:35
package main
import (
"fmt"
"time"
)
func main() {
utc := time.Now().UTC()
local := utc
location, err := time.LoadLocation("Europe/Moscow")
if err == nil {
local = local.In(location)
}
fmt.Println("UTC", utc)
fmt.Println("Moscow", local)
}
https://play.golang.org/p/JghFUWMqJP

Nik
07.06.2017
16:32:32
Ага
Вот только у меня есть именно офсетами

anton
07.06.2017
16:33:21
то есть тебе к time.Now().UTC() нужно часовой пояс МСК добавить например?

Nik
07.06.2017
16:33:32
RUS23:
time_zone: +03:00
local_midnight: 0
description: Сочи, Краснодарский край и Адыгея
И так на каждый регион страны

anton
07.06.2017
16:34:01
time.Now().UTC().AddDate(Hours, Mins, Sec)

Nik
07.06.2017
16:34:02
Есть юзеры в базе, у каждого приписан RUS
о
точняк
спасибо

anton
07.06.2017
16:34:39
ой, только кажется там не AddDate, по памяти пишу

Google

anton
07.06.2017
16:35:08
там просто Add которой Duration передаешь

Nik
07.06.2017
16:35:08
func (t Time) AddDate(years int, months int, days int) Time
все верно пишешь)

anton
07.06.2017
16:35:20
а, значит память не подводит ;)

Nik
07.06.2017
16:35:23
хотя нет
часы он не могет

nezorflame
07.06.2017
16:35:48
конвертируйте +03:00 в Duration
и Add(Duration)

Nik
07.06.2017
16:36:03
func (t Time) Add(d Duration) Time

anton
07.06.2017
16:36:27

Nik
07.06.2017
16:36:39
Тогда выходит так
time.Now().UTC().Add(Duration)
package main
import (
"os"
"fmt"
"time"
)
func main() {
a,e:=time.ParseDuration("+07h")
if e != nil {
fmt.Println(e)
os.Exit(2)
}
b:=time.Now().UTC().Add(a)
fmt.Println(b)
}
┌──[elvis@Niks-MacBook-Pro]─[/tmp]─[○] [ср июн 07 - 19:41] [-55]
└──● go run main.go
2017-06-07 23:41:44.340408022 +0000 UTC
А вот прям таймзону смнеть можно только через LoadLocation?

Artem
07.06.2017
17:01:43

Constantine
07.06.2017
17:02:34
раскидай файлы правильно
убей циклический импорт