@rubylang

Страница 242 из 1684
ojab
26.07.2016
08:43:02
а чем str.sub!(/\A.{5}/n, '') плох, кстати?
и хранить всё в Encoding::BINARY

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
[1] pry(main)> 'абв'.b.byteslice(0,2).encode('UTF-8', 'UTF-8') => "а"
дак это если в консоли, а если откуда из другого места придет и там не utf-8 будет?

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

yopp
26.07.2016
08:49:57
что я не могу понять, так это как Encoding::default_(internal|external) работает
external всё что пришло снаружи, по-моему включая сокеты. Internal для создаваемых строк

В твоём случае буфет должен быть с binary, да

Konstantin
26.07.2016
08:50:20
@dd_bb ага, только у меня external UTF-8, а приходит 8bit

дак это если в консоли, а если откуда из другого места придет и там не utf-8 будет?
ну там up to user. я то знаю, что у меня utf-8) короче по идее будет известно как оно придет

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

ну я про вообще в данном случае

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
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"
А зачем нужен .encode('UTF-8', 'UTF-8'), если оно в общем случае байты в виде \xXX выдаст?

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
так не надо генерить специально. при мердже, если primarykey - guid, он будет сам создаваться
он не будет сам создаваться если тупо инсёртнуть селект из другой БД

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
CreatedAt дата создания записи, Overriden дата создания записи в прошлой бд
ну то есть после этого настоящию дату создания записей определить нельзя?

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

Страница 242 из 1684