[>]
Re: первопоинт
ii.about.2014
vit01(lenina,50) — 51t
2014-03-31 13:24:51
Не, я сам понимаю, что скрипт удаления за 5 минут написать можно, но всё-таки интересуют детали реализации. Вот, к примеру, есть 10 нод, у них 1 общий репозиторий сообщений и эх. Если, к примеру, одну из нод взломают, то в процессе синхронизации какая-либо эха будет потёрта у всех. Интересно, как можно сделать так, чтобы одна эха удалялась на одном сервере, но оставалась на другом при общем репозитории.
[>]
Re: первопоинт
ii.about.2014
51t(lenina,1) — vit01
2014-03-31 13:29:37
синхронизация ничего не трёт
при синхронизации только дописывают номер сообщения в список, и создают файл этого сообщения. всё, больше никаких операций не производится в принципе. на этом вся суть моей сети и основана - протокол можно даже на счётах реализовать.
[>]
Re: первопоинт
ii.about.2014
vit01(lenina,50) — 51t
2014-03-31 13:31:58
А разве синхронизация - это не клонирование репозитория с индексом и файлами сообщений? Если часть сообщений удалить из списка и удалить их файл, а потом залить на репозиторий, то остальные узлы, скачав себе репозиторий, также удалят эту информацию.
[>]
Re: тестирую новый txt-клиент
ii.about.2014
51t(lenina,1) — vit01
2014-03-31 13:33:00
ты в регекспах понимаешь? :)
можешь сделать регексп для re., чтобы в тексте
код
код2
заменялся на
====<pre>
код
</pre>====
====<pre>
код2
</pre>====
чтобы можно было кодами кидаться? т.е., между двух участков, которые состоят только из ==== , добавлялся тэг для кода (желательно, чтобы учитывало, что ==== может быть и последней строкой текста, без переноса)
без регекспов через сплитлайн я и сам сделаю, но пугать не хочу заранее :)
[>]
Re: первопоинт
ii.about.2014
51t(lenina,1) — vit01
2014-03-31 13:40:20
посмотри коды клиентов и сервров из 5 строчек :)
синхронизация - это запрос у каждой подписанной эхи всех сообщений, и загрузка себе тех, которых у тебя нет. порядок следования сообщений в эхе, понятное дело, будет у каждого разным, но сами сообщения - все те же самые. в фидо был такой хитрый роутинг, что мог прийти ответ, и только назавтра - исходный вопрос :)
И ещё, важно. У НАС ВСЯ СИНХРОНИЗАЦИЯ ОДНОСТОРОННЯЯ! чисто теоретически, сначала один может запросить и нафетчить, а потом послать через /z/in, но это две разные синхронизации. если кто-то берёт с одного нода, это не значит, что он будет каким-то образом что-то отдавать (будь то z/in или обратный фетч). Они могут, как тут кто-то говорил, вообще по кругу друг с друга фетчить - 1 со 2, 2 с 3, 3 с 4, 4 с 1.
И что значит трёт? например, я подписан на два нода. на ноде 1 Вася написал сообщение, на ноде 2 Петя написал сообщение. я с обоими синхронизировался - что и у кого я должен затереть? и как тогда вообще узнать, мне надо скачать или затереть сообщения Васи и Пети???
[>]
Re: тестирую новый txt-клиент
ii.about.2014
51t(lenina,1) — vit01
2014-03-31 13:43:08
> Можно и без регэкспов, просто заменив
замена не нужна, скобки пусть остаются (пока, а там посмотрим).
а как он узнает, какой из них открывающий, а какой - закрывающий? :)
кроме того, нужно проверять случаи НФ====\n, \n====\n, \n====КФ, где НФ=начало файла, КФ=конец файла
хотя, наверое, можно использовать ===={ и }==== , не знаю, будет ли это удобно, надо будет попробовать...
[>]
Re: первопоинт
ii.about.2014
vit01(lenina,50) — 51t
2014-03-31 13:46:17
При удалении я имел в виду, что удаляются все сообщения в эхе, а не конкретные сообщения. Наверное, их идентификаторы будут помещаться в игнорлист, чтобы не скачиваться. Когда Вася написал Пете сообщение, а мы начинаем синхронизацию, то проверяем по списку, какие сообщения качать, а какие типо удалённые.
[>]
Re: первопоинт
ii.about.2014
51t(lenina,1) — vit01
2014-03-31 13:51:03
блеклист будет внешний. в стандартную реализацию он вообще не будет входить.
если начать переусложнять технологию, теряется основная её суть. в таком случае проще само фидо взять или другую технологичную технологию. ii - антитехнологичная, её цель - сделать проще :)
[>]
Re: первопоинт
ii.about.2014
51t(lenina,1) — vit01
2014-03-31 13:57:43
в клиенте что-то типа rating.51t.ru/acbcerte/earwerewrwerer/werwerwerwer/werwerwerwer/wrweafsfaasd
одна строчка, либо две, если проверять только по 100 штук разом
либо через эху blacklist.xxxx - проверять простейшим парсером да индексы генерировать. и тоже, одна строка к клиенту.
главное - достичь таких объёмов. если какая-то штука будет совершенно необходима в апстриме, она будет в апстриме - это не проблема. но пока технология новая и нещупанная, главная цель - чтобы как можно больше людей имели представление, как и почему оно работает.
[>]
Re: тестирую новый txt-клиент
ii.about.2014
vit01(lenina,50) — 51t
2014-03-31 14:11:14
Сначала проверяем по регулярке ====$(\s)==== и заменяем результаты на </pre><pre> Потом проверяем по ==== и первый результат заменяем на <pre>, а второй на </pre>
Сомневаюсь, что правильно, но стоит попробовать.
[>]
Re: первопоинт
ii.about.2014
51t(lenina,1) — vit01
2014-03-31 14:25:56
> Пока можно и без этого обойтись, но в отдалённой перспективе сие нужно
у каждого сообщения - свой идентификатор. а значит - своя судьба :) поэтому сделать препроверку "что вы думаете об этом номере" - это вообще не вопрос, хоть десять рейтинговых агентств, конкурирующих между собой. :)
[>]
Re: тестирую новый txt-клиент
ii.about.2014
51t(lenina,1) — vit01
2014-03-31 14:26:47
у меня основная проблема с регулярными выражениями - это сделать всё по стандарту
покажи готовый python-код, чтобы я его на тестовых файлах попробовал.
[>]
Re: тестирую новый txt-клиент
ii.about.2014
51t(lenina,1) — vit01
2014-03-31 14:36:04
любая строка. чтобы в html-клиенте включались теги pre или code, а в текстовых - просто обрамление сверху и снизу.
я же приводил пример
вот, например
for n in lst:
print n
вот тут в html не будет отступов, всё в одну колонку будет. а надо - чтобы это был код
[>]
Re: тестирую новый txt-клиент
ii.about.2014
51t(lenina,1) — vit01
2014-03-31 14:38:25
сейчас оно вот:
def rend(txt):
out = bottle.html_escape(txt)
r1 = re.compile(r"(\b(http|https)://([-A-Za-z0-9+&@#/%?=~_()|!:,.;]*[-A-Za-z0-9+&@#/%=~_()|]))")
out = r1.sub(r'<a href="\1">\1</a>',out)
r2 = re.compile(r"(\b(ii)://([-A-Za-z0-9+&@#/%?=~_()|!:,.;]*[-A-Za-z0-9+&@#/%=~_()|]))")
out = r2.sub(r'<a href="\3"><span class="success radius label">\3</span></a>',out)
return out.replace('\n', '<br />')
нужно сделать это адекватнее: (плюс >, >>, >>> и т.д. должны стилем выделяться)
[>]
Re: тестирую новый txt-клиент
ii.about.2014
vit01(lenina,50) — 51t
2014-03-31 17:51:40
> нужно сделать это адекватнее
Ну вот даже не знаю, как это сделать адекватнее :)
> плюс >, >>, >>> и т.д. должны стилем выделяться
import re
teststr="""
>>cfdfisdfi
dfd
>>dfsdfsdfdtt
"""
teststr=teststr.split("\n")
rr=re.compile("^>>")
for i in range(0,len(teststr)):
if(re.match(rr,teststr[i])):
teststr[i]="<font color='green'>"+">$gt;"+teststr[i][2:]+"</font>"
print ''.join(i+"\n" for i in teststr)
Оно?
[>]
Re: тестирую новый txt-клиент
ii.about.2014
vit01(lenina,50) — 51t
2014-03-31 18:19:28
import re
teststr="""
>>>>cfdfisdfi
dfd
>dfsdfsdfdtt
"""
teststr=teststr.split("\n")
rr=re.compile("^[>]{1,6}")
for i in range(0,len(teststr)):
if(re.match(rr,teststr[i])):
teststr[i]="<font color='green'>"+teststr[i].replace(">",">")+"</ font>"
print ''.join(i+"\n" for i in teststr)
[>]
Re: а вот и новая нода
ii.about.2014
51t(lenina,1) — Vargos
2014-03-31 20:35:22
ништяки с косяками... но вроде не слишком страшно, а то сначала меня чуть инфаркт не прибил...
до завтра как-нибудь косяки причешу, и пойду посмотрю, что там в 0.2 запланировано в багтрекере...
[>]
Re: а вот и новая нода
ii.about.2014
vit01(lenina,50) — 51t
2014-04-01 03:38:15
Привет! Снова проснулся, тестирую новый веб-клиент. Уже заметил багу: когда отправляешь сообщение, оно не заходит в локальную эху, приходится после отправки жать кнопку "загрузить новые сообщения". Или это не баг, а фича?
[>]
Re: Re: а вот и новая нода
ii.about.2014
51t(lenina,1) — vit01
2014-04-01 05:11:27
спасибо, как закоммичу всё своё, так и это закоммичу
регулярку ii, если в них понимаешь, надо тоже переделать, а то она просто копированием взята, и, если, скажем, закончить её запятой, то и запятая тоже пройдёт и испортит ссылку.
пока есть только три теоритических адресации, и лишь пока две из них есть по факту:
* строка из выше на фильтр эхи
* и 20 символов A-Za-z0-9 на фильтр сообщения.
[>]
Re: Re: а вот и новая нода
ii.about.2014
vit01(lenina,50) — 51t
2014-04-01 05:25:23
Пожалуйста :)
Я и сам-то в регулярках не очень-то понимаю :)
> регулярку ii, если в них понимаешь, надо тоже переделать, а то она просто копированием взята, и, если, скажем, закончить её запятой, то и запятая тоже пройдёт и испортит ссылку.
Какая регулярка ii? В каком файле она прописана?
[>]
Re: Re: а вот и новая нода
ii.about.2014
51t(lenina,1) — vit01
2014-04-01 05:29:44
> Я и сам-то в регулярках не очень-то понимаю :)
будем не понимать вместе :)
ii - в том же самом, что ты процитировал. в самом низу.
можно даже красивно сделать, меняя сообщение отдельно, а эху - отдельно (можно будет иконку вставить)
[>]
Re: даты
ii.about.2014
51t(lenina,1) — ala
2014-04-01 11:46:47
даты есть. в базе - это смещение от 1970 года.
> Tell me doctor, what will be the date,
> Is it 1901, or 2038.
> All I wanna do is make my keyboard sing
на веб-сайте - это можно мышкой навести на часики. на главной странице даты сообщений показываются. а смотреть на них постоянно, в реальном времени... мне места на экране жалко :)
[>]
Re: даты
ii.about.2014
51t(lenina,1) — ala
2014-04-01 11:47:54
> вот даты на веб-сайте же есть. откуда они?
проставляются нодой во время регистрации на ноде
[>]
Re: даты
ii.about.2014
ala(lenina,18) — 51t
2014-04-01 11:57:33
> даты есть. в базе - это смещение от 1970 года.
> Tell me doctor, what will be the date,
> Is it 1901, or 2038.
> All I wanna do is make my keyboard sing
> на веб-сайте - это можно мышкой навести на часики. на главной странице даты сообщений показываются. а смотреть на них постоянно, в реальном времени... мне места на экране жалко :)
я сижу в текстовом клиенте. в нем этого не вижу. допускаю что не туда смотрю.
[>]
Re: дата
ii.about.2014
ala(lenina,18) — 51t
2014-04-01 12:00:13
> возьми любой файл сообщения, да хотя бы вот: http://51t.ru/m/MReDiyb3csQnosWL1zCe
>первая строка пустая, потому что нет доп.атрибутов,
>ворая - эха
>а вот третья - это дата, 1396338883, число секунд с 1970 года в формате UTC
все понял. выходит текст клиент надо дописать. спасибо.