#  Re: TopicID на dynamic: вытаскиваем тред целиком
Difrex(mobile) (tavern,23) → Difrex(mobile)  –  11:43:30 2018-01-08

Так, я начинаю индексирование всего. Теперь у почти каждого сообщения должен появиться topicid.
Те сообщения, для которых по каким-то причинам не найдено старового сообщения, получают тег "misplaced": "yes".
#  Re: TopicID на dynamic: вытаскиваем тред целиком
Difrex(mobile) (tavern,23) → vit01  –  09:08:36 2018-01-05

>> // Народ, а каких бы еще фич хотелось бы вам?
>1. Хотелось бы добавить в FAQ описание, как пользоваться тредами и навигацией туда-сюда-обратно по msgid, сабжам, поинтам
Будет отдельная от фака дока.

>2. Нужен парсинг цитат, комментариев и прочей разметки. И выделение цветом. А то читать просто так крайне неудобно
Есть в TODO.

>3. API для экспорта текущей ленты в формат RSS.
Интересное предложение, посмотрю, что можно придумать

>4. При доступе через клиент, когда скачиваешь сообщение, отсутствует тег ii/ok. Это баг
Я удивлен, что оно вообще работает =)

Да, кстати, я был бы очень признателен, если бы хотелки и баги формировались, как таск.


>> Читать далее
#  Re: TopicID на dynamic: вытаскиваем тред целиком
vit01 (mira, 1) → Difrex(mobile)  –  08:53:12 2018-01-05

> // Народ, а каких бы еще фич хотелось бы вам?

1. Хотелось бы добавить в FAQ описание, как пользоваться тредами и навигацией туда-сюда-обратно по msgid, сабжам, поинтам

2. Нужен парсинг цитат, комментариев и прочей разметки. И выделение цветом. А то читать просто так крайне неудобно

3. API для экспорта текущей ленты в формат RSS.

4. При доступе через клиент, когда скачиваешь сообщение, отсутствует тег ii/ok. Это баг
#  TopicID на dynamic: вытаскиваем тред целиком
Difrex(mobile) (tavern,23) → All  –  08:02:22 2018-01-05

Я тут ковыряя тредовый режим для dynamic'а понял, что проще добавить фичу в бэкенд,
чем разгребать свой говнокод на JS.

Так вот суть: в индексе каждому сообщению присваивается topicid в формате UUID(RFC 4122).
Зная topicid мы можем выбрать целиком тред с нужной нам сортировкой.

Чтобы вытащить тред по интересующему сообщению(мы знаем msgid) нам нужно будет сделать 2 запроса:
* Первый - узнаем topicid из сообщения
* Второй - вытягиваем ветку

Здесь и далее запросы в json отправляются методом POST на https://dynamic.lessmore.pw/search2.

Узнаем topicid
====
{


>> Читать далее
#  Re: API поиска на dynamic.lessmore.pw
Difrex(mobile) (tavern,23) → Difrex(mobile)  –  09:24:25 2017-12-12

Фикс для запроса эхи. Правильный запрос будет выглядеть так
====
{
"sort": [
{
"date": {
"order": "desc"
}
},
{
"_score": {
"order": "desc"
}
}
],


>> Читать далее
#  API поиска на dynamic.lessmore.pw
Difrex(mobile) (tavern,23) → All  –  07:22:13 2017-12-12

== Поиск на dynamic.lessmore.pw

Как это ваще устроено??? На самом деле [API](https://dynamic.lessmore.pw/search) -- это открытый всем Elasticsearch, который предоставляет
гору возможностей для поиска за счет движка Lucene. Давайте что-нибудь найдем!

Вот в [этом](ii://XWShDDcuR4C8PcrTFdGl) вот комменте я пообещал рассказать как это все сделать. Приступим.

Давайте для начала попробуем поискать этот самый коммент(XWShDDcuR4C8PcrTFdGl). Здесь и далее мы будем использовать только
*curl*.

====
curl -XPOST -d '{"query": {"query_string" : {"fields" : ["msgid"], "query" :"XWShDDcuR4C8PcrTFdGl"}}}' https://dynamic.lessmore.pw/search
====


Нам вернется такой вот ответ

>> Читать далее
#  Re: Очарован GO
Andrew Lobanov (Go!,1) → Peter  –  04:38:16 2017-12-11

Peter> P.S. Кто еще заценил эту штуку? :)

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

Да. Маскот крайне классный ещё. Согласен.
#  Re: Очарован GO
Difrex(mobile) (tavern,23) → Peter  –  17:32:58 2017-12-10

Я пишу на Go. Он классный :)
#  Очарован GO
Peter (syscall,1) → All  –  19:14:32 2017-12-09

Начал изучать go. И должен сказать, я очарован:

1) простотой синтаксиса (такой же простой, как в C);
2) простотой кросс-компиляции для разных платформ (без мороки с кросс средами);
3) дает плюшки скриптовых языков и вместе с тем это КОМПИЛЯТОР!
4) классный талисман =)

Сейчас мне кажется, что это может стать моим рабочим инструментом, помимо C и Lua.

Буду изучать дальше!

P.S. Кто еще заценил эту штуку? :)
#  Фреймворки жабаскрипта
Difrex(mobile) (tavern,23) → All  –  12:40:09 2017-12-05

А какие сейчас актуальные есть?
Чтобы просто было, без компилятора, бовера бандлеа и прочих штук.

Пока склоняюсь к vue.js, но прислушаюсь к советам.
#  Re: Нужна помощь по программированию под емакс
Difrex (mira, 14) → Andrew Lobanov  –  08:32:01 2017-10-04

Как-то так:

====
(setq new-messages-list (make-hash-table :test 'equal))
(dolist (m my-list)
...
(puthash msg message-content new-messages-list)
)

(maphash (lambda (id msg)
(message (concat "Get " id "\n" msg))
new-messages-list)
====

Тут инициализируется хэш

>> Читать далее
#  Re: Нужна помощь по программированию под емакс
Andrew Lobanov (Go!,1) → Difrex(mobile)  –  05:13:02 2017-10-04

Difrex(mobile)> Переделал на хэшики - все работает =)

Можешь накидать примерчик? Интересно а то.
#  Re: Нужна помощь по программированию под емакс
Andrew Lobanov (Go!,1) → Difrex(mobile)  –  05:13:02 2017-10-04

Difrex(mobile)> А ты не мог бы подсказать как мне сделать такую штуку, как список из ассоциативных массивов.
Difrex(mobile)> Делаю сейчас так:
Difrex(mobile)> ====
Difrex(mobile)> (setq new-messages-list (-concat 'new-messages-list '((content . message-content) (id . msg))))
Difrex(mobile)> ====
Difrex(mobile)> Потом пытаюсь пройтись по этому списку:
Difrex(mobile)> ====
Difrex(mobile)> (dolist (msg new-messages-list)
Difrex(mobile)> (message (assoc 'id msg)))
Difrex(mobile)> ====
Difrex(mobile)> Но не работает. Ругается так: Wrong type argument: listp

Вот я не помню как в emacs lisp работают property lists. Я делал простой список списков со структурой ((msgid body) (msgid body)) и обкодил список, обращаясь к элементам посредством (first...) и (second...). Решение кривое, но рабочее и с учётом статичности структуры данных, в целом, приемлемое.
#  Re: Нужна помощь по программированию под емакс
Difrex(mobile) (tavern,23) → Difrex(mobile)  –  21:41:24 2017-10-03

Переделал на хэшики - все работает =)
#  Re: Нужна помощь по программированию под емакс
Difrex(mobile) (tavern,23) → Andrew Lobanov  –  20:37:37 2017-10-03

А ты не мог бы подсказать как мне сделать такую штуку, как список из ассоциативных массивов.

Делаю сейчас так:

====
(setq new-messages-list (-concat 'new-messages-list '((content . message-content) (id . msg))))
====

Потом пытаюсь пройтись по этому списку:
====
(dolist (msg new-messages-list)
(message (assoc 'id msg)))
====

Но не работает. Ругается так: Wrong type argument: listp