
ojab
26.07.2016
08:43:02

Konstantin
26.07.2016
08:45:47
ojab так в binary и slice! будет работать. там все символы представлены побайтово
[1] pry(main)> 'абв'.b.byteslice(0,2).encode('UTF-8', 'UTF-8')
=> "а"
можно жить

Google

Konstantin
26.07.2016
08:47:45
что я не могу понять, так это как Encoding::default_(internal|external) работает

Stanislav
26.07.2016
08:47:59

ojab
26.07.2016
08:48:51
и я не понял как в итоге ты решил отрезать пять байт

yopp
26.07.2016
08:49:57
В твоём случае буфет должен быть с binary, да

Konstantin
26.07.2016
08:50:20
@dd_bb ага, только у меня external UTF-8, а приходит 8bit
ojab [5] pry(main)> 'абв'.b.slice!(0, 2).encode('UTF-8', 'UTF-8')
=> "а"
вот так

yopp
26.07.2016
08:52:23
Там есть про external и IO

Stanislav
26.07.2016
08:52:49
я вот тоже знал, по спеке должно было приходить или ср866 или виндовс 1251 а приходило по факту ISO 8859-5

yopp
26.07.2016
08:52:54
When you know that the actual encoding of the data of an IO object is not the default external encoding, you can reset its external encoding with IO#set_encoding or set it at IO object creation (see IO.new options).

Google

yopp
26.07.2016
08:53:10
Socket вроде IO
Кидай encoding в параметры при создании

Konstantin
26.07.2016
08:53:25
@crackedmind ну у меня кейс, что строки так и хранятся в binary, а тут я для себя уже заэнкодил обратно
@dd_bb я тебе ольше скажу. еще есть http://ruby-doc.org/core-2.3.0/IO.html#method-i-set_encoding
тоже ничего не произошло
прочиталось как binary

yopp
26.07.2016
08:54:02
Но у тебя такая петрушка, что ты не хочешь буфер в UTF

Konstantin
26.07.2016
08:54:04
хотя я поставил UTF-8:UTF-8
ну я про вообще в данном случае

ojab
26.07.2016
08:55:15

yopp
26.07.2016
08:55:17
Так всё правильно
Это таблица конверсий

ojab
26.07.2016
08:55:29
оно же не меняет изначальную строку, как минимум

yopp
26.07.2016
08:55:41
Тебе там надо написать что 8bit конверттся в UTF8

ojab
26.07.2016
08:55:43
и отдаёт непонятно что

Konstantin
26.07.2016
08:56:02
ojab [7] pry(main)> str = 'абв'.b
=> "\xD0\xB0\xD0\xB1\xD0\xB2"
[8] pry(main)> str.slice!(0, 2).encode('UTF-8', 'UTF-8')
=> "а"
[9] pry(main)> str
=> "\xD0\xB1\xD0\xB2"
всё норм отдает
@dd_bb сейчас гляну
хотя хуй с ним

yopp
26.07.2016
08:57:53
:))))))

Google

ojab
26.07.2016
09:04:14

Konstantin
26.07.2016
09:04:50
для наглядности

Nikolay
26.07.2016
09:06:02
так, завел я ЕРР клиента перлового сегодня. темерь можно попробовать рубишного

Konstantin
26.07.2016
09:06:23
в общем, всем спасибки и чмоки в этом чяти

ojab
26.07.2016
09:24:54
str = str[5..-1] быстрее, кстати
а память под новую строку в любом случае выделяется

Nikolay
26.07.2016
09:39:25
ешкин срач
как же мне не хочется дергать перлятину из рубей
в перловке у меня просто хмл темплейт с парой полей
ничего тупее сморозить не смог?
ooh работает этот ерр клиент. только он почему то валит ексепшенами
и еррорами

Nikolay
26.07.2016
12:31:59
хотя все ок
похвастался в офисе байком?

I
26.07.2016
13:42:24
нет еще, строят(

Nikolay
26.07.2016
14:37:00
народ, у меня на винте есть хмл файл. мне надо его открыть, воткнуть в нужное место в него мою переменную, и дальше шото сделать
типа << CDATA

ojab
26.07.2016
14:43:05
куда переменную нужно воткнуть?
в аттрибуты/в ноду/етц?
created_at может быть совсем не по очерёдности, если данные мерджились

Google

Terrok
26.07.2016
14:47:55
ojab, если данные мерджатся, то гуй для них генерится новый, старые не будут скопированы.

ojab
26.07.2016
14:48:18
гуй?

Terrok
26.07.2016
14:48:22
guid

ojab
26.07.2016
14:48:24
uuid?
ага
а смысл?

Terrok
26.07.2016
14:48:40
Не знаю к чему это, не читал всю ветку сейчас,
я вообще походу на старое сообщение ответил

Admin
ERROR: S client not available

Terrok
26.07.2016
14:48:56
так как чат не сразу все подгрузил
?

ojab
26.07.2016
14:49:16
в любом случае, какой смысл новый uuid генерить?

Terrok
26.07.2016
14:49:59
так не надо генерить специально. при мердже, если primarykey - guid, он будет сам создаваться
в таблице
а вообще рекомендуется иметь два поля
CreatedAt и OverridenCreatedAt

ojab
26.07.2016
14:50:45
это в какой-нибудь джанге наверняка рекомендуется
с таким-то кэмелкейсом

Terrok
26.07.2016
14:51:00
не, лайфхак от макрософта =D
и при после мерджа делать сортировку первой половины по created at второй половины смердженного по OverridenCreatedAt

Google

ojab
26.07.2016
14:51:41
whaaaaa
какая нафиг сортировка

Terrok
26.07.2016
14:52:07
ты говорил про очередность
и я

ojab
26.07.2016
14:52:31
а что в этих двух полях будет содержаться?
А что при следующем мердже делать?

Terrok
26.07.2016
14:53:10
CreatedAt дата создания записи, Overriden дата создания записи в прошлой бд
после мержда и сортировки Overriden зануляется

Aldar
26.07.2016
14:53:21
Кем сложнее быть, фронтендером или бекендером?

Terrok
26.07.2016
14:53:25
ахаха
Ассемблером, думаю. Вообще, вопрос некорректно поставлен.

ojab
26.07.2016
14:54:21

Terrok
26.07.2016
14:54:25
можно
ох

ojab
26.07.2016
14:54:52
как?

Terrok
26.07.2016
14:54:53
Могу написать подробнее

ojab
26.07.2016
14:54:57
дада

Terrok
26.07.2016
15:00:26
Есть 2 инстанса бд: a и b.
У обоих есть поля createdAt и OverridenCreatedAt.
Алгоритм мерджа (предполагается что в базе 'a' записи сортированы по дате):
1. в базе b дублируем копируем values из колонки createdAt -> OverridenCreatedAt (для всех таблиц, скажем).
2. мерджим a + b = c. по сути, 'c' это та же 'a', только разросшаяся.
3. Для записей 'b' которые мы перенесли в 'c' достаем из OverridenCreatedAt дату и кладем её в CreatedAt
4. Зануляем OverridenCreatedAt для 'c'
5. Сортируем записи по дате, после чего прописываем им новые id в primarykey