Ada_Ru форум

Обсуждение языка Ада

[ada_ru] Новости сайта ada_ru

Оставить новое сообщение

Сообщения

Maxim Reznik
[ada_ru] Новости сайта ada_ru
2018-01-13 21:47:41
Доброго времени суток!

Хочу поделиться новостями нашего сайта www.ada-ru.org.

1) Добавлена возможность читать и писать в почтовую рассылку через Web интерфейс, как
в обычный форум. Форум находится по адресу https://www.ada-ru.org/forum/
Чтобы писать нужно зарегистрироваться. В данный момент работает регистрация с использованием
OAuth2 учетных записей Google, Facebook и GitHub.

2) Мы сделали (супер-) группу в Телеграм - https://t.me/adalang
В группе работает шлюз в Jabber и IRC чаты (xmpp:[email protected],
irc://irc.rusnet.org.ru/ada)

3) Также в Фейсбук есть страница, где мы публикуем новости по теме языка Ада.
https://www.facebook.com/comp.lang.ada.ru/

Приятного общения!

PS Дубль два

-- 
Максим
Иван Леваше
[ada_ru] Re: Новости сайта ada_ru
2018-01-14 12:52:25
Здравствуйте, Максим!

> 1) Добавлена возможность читать и писать в почтовую рассылку через Web интерфейс, как
> в обычный форум. Форум находится по адресу https://www.ada-ru.org/forum/
> Чтобы писать нужно зарегистрироваться. В данный момент работает регистрация с использованием
> OAuth2 учетных записей Google, Facebook и GitHub.
>

Регистрации там не видно от слова совсем. Хотя если на замену 
коматозному GMANE вменяемая альтернатива для того, чтоб было, куда 
сослаться, появляется, тоже неплохо.

И, кстати, как сделан запрос сертификатов от LE? На Аде по таймеру 
запрашиваются и на лету подставляются или как-то более банально?

Чат я, возможно, на форум и сайт бы свои поставил, если есть веб-версия. 
И было бы супер, если ещё интеграцию с хабом ADC сделать. На своём ADC 
это может работать безшовно, в отличие от чужих IRC и Jabber 
конференций. У Пиратской Партии видел безшовную интеграцию IRC/Jabber, 
но на собственных серверах.

С уважением,
Левашев Иван,
Барнаул

-- 
If you want to get to the top, you have to start at the bottom
Maxim Reznik
Re: [ada_ru] Новости сайта ada_ru
2018-01-14 16:01:49
> Регистрации там не видно от слова совсем.

Действительно. Спасибо. Добавил кнопки на первую страницу форума.

> И, кстати, как сделан запрос сертификатов от LE? На Аде по таймеру 
> запрашиваются и на лету подставляются или как-то более банально?

Я наступил себе на горло и не стал писать запрос SSL сертификатов на Аде :(
Просто поставил acme.sh в cron, работает.

> Чат я, возможно, на форум и сайт бы свои поставил, если есть веб-версия.
Для чата у нас пока только шлюз между jabber/irc/telegram. Он на Аде в виде
сервлетов.

> И было бы супер, если ещё интеграцию с хабом ADC сделать.
Ой, я даже не слышал про такое. Этим кто-то из Ада сообщества пользуется?

-- 
Максим
Иван Леваше
[ada_ru] Re: Новости сайта ada_ru, загадки AWS
2018-01-15 10:33:25
Здравствуйте, Максим!

>> Чат я, возможно, на форум и сайт бы свои поставил, если есть веб-версия.
> Для чата у нас пока только шлюз между jabber/irc/telegram. Он на Аде в виде
> сервлетов.

А на каком, интересно, движке. Я помню, какой-то раньше был на Аде, 
отваливался постоянно. И непонятно было мне, а как это вообще так, где 
же фирменная надёжность? Это всё тот же?

Сейчас сам на AWS держу и своих несколько сайтов, и заказчикам проекты 
сделал, и везде приходится сторожевые программы ставить. Однажды удалось 
приблизиться к разгадке. Конкретно в AWS есть лимиты на постоянные 
соединения (Connection: keep-alive) и временные (Connection: close), и 
по умолчанию временное соединение только одно. Если таких временных 
сделать побольше (20 из 60, например), то вроде полегчает, но всё же не 
понятно, как могут другие соединения подвисать, один за одним забивая 
слоты постоянных соединений.

Подобное копание на чужих проектах не оплачивается, а у себя на FirstVDS 
OpenVZ, как показывают журналы, ещё и OOM killer добавляется, который 
шарашит по всем процессам, каким только может, и почаще, чем раз в 
неделю, и сторожевым программам приходится поднимать всё обратно, не 
только AWS. Так и живу с этой загадкой.

>> И было бы супер, если ещё интеграцию с хабом ADC сделать.
> Ой, я даже не слышал про такое. Этим кто-то из Ада сообщества пользуется?

Если не пользуются, было бы не лишним начинать. Пока кто-то докапывается 
до торрентов, чего-то вносит в реестры, запрашивает журналы доступа, в 
NMDC&ADC тишь да благодать как десять лет назад. Раз не видно по HTTP, 
то вроде бы как и нет совсем.

С уважением,
Левашев Иван,
Барнаул

-- 
If you want to get to the top, you have to start at the bottom
Dmitriy Anisimkov
Re: [ada_ru] Re: Новости сайта ada_ru, загадки AWS
2018-01-15 11:00:18
On 2018-01-15 16:33, Иван Левашев [email protected] [ada_ru] wrote:
> Конкретно в AWS есть лимиты на постоянные
> соединения (Connection: keep-alive) и временные (Connection: close), и

Limit на временные соединения ? Это для меня новость. Ааа, может это ты
Free_Slots_Keep_Alive_Limit так называл, да ?
Если так то это не ограничение на временные соединения, а количество
оставшихся свободных слотов когда сервер перестает выдавать keep-alive
соединения. Их можно было бы поставить побольше, но 20 это слишком я считаю.

> по умолчанию временное соединение только одно. Если таких временных
> сделать побольше (20 из 60, например), то вроде полегчает, но всё же не
> понятно, как могут другие соединения подвисать, один за одним забивая
> слоты постоянных соединений.

Соединения подвисают если пользовательский коллбек не вернул управление.
За этим надо следить.
Иван Леваше
[ada_ru] Re: Загадки AWS
2018-01-15 11:53:57
Здравствуйте, Дмитрий!

> Limit на временные соединения ? Это для меня новость. Ааа, может это ты
> Free_Slots_Keep_Alive_Limit так называл, да ?
> Если так то это не ограничение на временные соединения, а количество
> оставшихся свободных слотов когда сервер перестает выдавать keep-alive
> соединения. Их можно было бы поставить побольше, но 20 это слишком я считаю.

Да, оно. Посмотрел, как сейчас настроено:

AWS.Config.Set.Max_Connection (Web_Server_Config, 50);
AWS.Config.Set.Free_Slots_Keep_Alive_Limit (Web_Server_Config, 20);

lsof показывает такую картину:

while sleep 2; do lsof -n | sed -e 
'/^Worker_Ec/!d;/TCP/!d;/:https/d;/:http/!d' - | wc -l; done
102
114
116
40
48
55
70
75
87
46
44
60
73
79
90
18
42
60
66
66
76
100
102
20
29
45
56
74

Я так понимаю, то, что свыше 50, ждёт в очереди. То есть, вроде бы, если 
ставить 20 временных, то «лишним» эффективный отлуп даётся, и шанс, что 
что-то засорится, понижается.

>> по умолчанию временное соединение только одно. Если таких временных
>> сделать побольше (20 из 60, например), то вроде полегчает, но всё же не
>> понятно, как могут другие соединения подвисать, один за одним забивая
>> слоты постоянных соединений.
>
> Соединения подвисают если пользовательский коллбек не вернул управление.
> За этим надо следить.

Да, наверное, надо почитать, как можно средствами gdb зайти в живой 
процесс и снять все символические трейсы перед тем, как перезагрузить из 
сторожа. Подвисать может AWS.Client, да что угодно.

Видел ещё, как файловые дескрипторы исчерпываются, так что вики, для 
которой много файлов открывать не надо, работает, а HttpMagnetServer уже 
на каком-то этапе не способен прочитать нужную директорию. Тоже бы не 
мешало через lsof узнать, чего это там столько много открыто. Жаль, я 
был озабочен тем, как сайт поскорее поднять, когда первый раз увидел. 
Много странного начинает происходить, когда так активно пользуешься. 
Тоже прикручу журналирование как-нибудь.

Думал, вдруг у других активных пользователей бац — и готовый ответ есть.

С уважением,
Левашев Иван,
Барнаул

-- 
If you want to get to the top, you have to start at the bottom
Maxim Reznik
Re: [ada_ru] Новости сайта ada_ru
2018-01-15 11:54:55
>> Для чата у нас пока только шлюз между jabber/irc/telegram. Он на Аде в виде
>> сервлетов.
> А на каком, интересно, движке. Я помню, какой-то раньше был на Аде, 
> отваливался постоянно. И непонятно было мне, а как это вообще так, где 
> же фирменная надёжность? Это всё тот же?

Соединение с jabber на основе библиотеки axmpp https://github.com/coopht/axmpp,
к IRC - сам на коленке написал, а к телеграм Bot API - на основе AWS.Client написан.
Отваливатся может по разным причинам, я не разобрался, как обрабатывать
исключительные ситуации, типа закрытия сокета. Нет времени особо на это.
Будет сильно досаждать, буду разбираться.

Кстати, подвисания соединений в AWS у себя не наблюдал.

> Да, наверное, надо почитать, как можно средствами gdb зайти в живой 
> процесс и снять все символические трейсы перед тем, как перезагрузить из 
> сторожа. Подвисать может AWS.Client, да что угодно.

Это не сложно:
  gdb --pid <pid>
  set logging /tmp/file
  set logging on
  set pagination off
  thread apply all backtrace
  set logging off
Dmitriy Anisimkov
Re: [ada_ru] Re: Загадки AWS
2018-01-15 12:26:45

On 2018-01-15 17:53, Иван Левашев [email protected] [ada_ru] wrote:
> AWS.Config.Set.Max_Connection (Web_Server_Config, 50);
> AWS.Config.Set.Free_Slots_Keep_Alive_Limit (Web_Server_Config, 20);
> 
> lsof показывает такую картину:
> 
> while sleep 2; do lsof -n | sed -e
> '/^Worker_Ec/!d;/TCP/!d;/:https/d;/:http/!d' - | wc -l; done

Вот это я сейчас расшифровывать не хочу.

> Я так понимаю, то, что свыше 50, ждёт в очереди. То есть, вроде бы, если
> ставить 20 временных, то «лишним» эффективный отлуп даётся, и шанс, что
> что-то засорится, понижается.

Не слишком. Рекомендую поставить меньше, например 5 вполне достаточно.
Хочу разьяснить по алгоритму.
50, это количество слотов, задачь обслуживания колбеков клиента.
Количество keep-alive коннектов может быть значительно больше.
Те сокеты которые не обслуживаются в данный момент лежат в ожидателе,
который периодически вычищает долго неактивные.

Есть 2 параметра которые влияют нв интенсивность вычищения сокетов из
keep-alive пула, это
  Keep_Alive_Force_Limit по умолчанию в 2 раза больше Max_Connections
  Keep_Alive_Close_Limit по умолчанию в 4 раза больше Max_Connections

С ходу не припомню как они используются. Надо исходники смотреть.
Иван Леваше
[ada_ru] Re: Новости сайта ada_ru
2018-01-16 10:18:47
Здравствуйте, Максим!

Не понятно, связь между Yahoo! и этим форумом в одну сторону или в обе?

Вёрстка «сообщения, страницы, вход/регистрация» в три колонки — это 
копец какой-то. На сообщение остаётся мало места.

>> Регистрации там не видно от слова совсем.
>
> Действительно. Спасибо. Добавил кнопки на первую страницу форума.

Что-нибудь можно сделать, чтоб, допустим, с форума «Всё о Паскале» можно 
было заходить? Google и Facebook — всё какое-то империалистическое, ну а 
GitHub не знаю даже. Как долгий сторонник Mercurial, я им не 
пользовался, а как решил свалить с ГейБакета, так больше по душе 
пришёлся OW2, но там нет OAuth2, как я понимаю, да и вообще социального 
меньше. Всё не то.

Я могу на своём форуме написать плагин и дать URL, которые нужно открыть 
в IFRAME и на которые нужно сделать запрос с сервера. Такие вещи, как 
«Реальное имя», e-mail и прочее, на форуме у меня собираются, тоже можно 
передать или показать ошибку, что не заполнено.

С уважением,
Левашев Иван,
Барнаул

-- 
If you want to get to the top, you have to start at the bottom
Maxim Reznik
Re: [ada_ru] Новости сайта ada_ru
2018-01-16 11:33:26
> Не понятно, связь между Yahoo! и этим форумом в одну сторону или в обе?

В обе стороны, я сейчас с веб-форума пишу.

> Вёрстка «сообщения, страницы, вход/регистрация» в три колонки — это
> копец какой-то. На сообщение остаётся мало места.

А какой бравзер? Может кеш почистить? Вот как оно должно выглядеть:

http://quirktools.com/screenfly/#u=http%3A//www.ada-ru.org/forum&w=1280&h=800&a=1

> Что-нибудь можно сделать, чтоб, допустим, с форума «Всё о Паскале» можно 
> было заходить? Google и Facebook — всё какое-то империалистическое,

Да я с трудом OAuth2 осилил. Что правда нет ни одной OAuth2 записи?
Теоретически можно упросить Вадима  добавить vk.com и/или mail.ru
Я собирался добавить stackoverflow.com.
Мне добавить еще один OAuth2 значительно проще.

-- 
Максим
Иван Леваше
[ada_ru] Re: Новости сайта ada_ru
2018-01-16 14:45:53
Здравствуйте, Максим!

>> Вёрстка «сообщения, страницы, вход/регистрация» в три колонки — это
>> копец какой-то. На сообщение остаётся мало места.
>
> А какой бравзер? Может кеш почистить? Вот как оно должно выглядеть:

IceDragon 26 (на базе Firefox), который ещё запускается на Windows 2003. 
Ошибок никаких в консоли не вижу. На RedFox 52 выглядит вроде правильно.

Удивительно, конечно, что в 26м Firefox до сих кому-то может чего-то не 
хватить в CSS. И CSS на вид такой топорный, что там просто нечему не 
хватить поддержки. Кажется, возьми любой устоявшийся шаблон WordPress, и 
тот будет лучше работать и лучше смотреться.

> Да я с трудом OAuth2 осилил. Что правда нет ни одной OAuth2 записи?

Ни одному из указанных не хотелось делать такой чести, как использовать 
для входа. Вход по Facebook годится для тех, кто мимо проходил. А я не 
мимо прохожу, и Ада мне ближе, чем какая-то соцсеть. Ещё подходит для 
тех, кто в Facebook базирует свой «пресс-центр», а у меня он сейчас 
только в Juick, в остальное — репосты.

Хорошо было во времена, когда вместо тоталитарного OAuth был 
демократичный OpenID. Сначала LiquidID на статический хостинг поставил, 
и URL получался именно со статического хостинга, а не как у более плохих 
провайдеров, URL провайдера. Потом и вовсе поставил phpMyId на свой 
домен и сервер.

А к чему вообще привязываются учётки? К e-mail или комбинации 
провайдер+id? Если войти с одного инструмента, то есть ли какая-то 
связка ключей, чтоб добавлять в неё другие способы входа?

С уважением,
Левашев Иван,
Барнаул

-- 
If you want to get to the top, you have to start at the bottom
Maxim Reznik
Re: [ada_ru] Новости сайта ada_ru
2018-01-16 21:25:03
Сделал вход через Вконтакте и мейл ру.

Готовые шаблоны форумов смотрел, но не осилит :( 
Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти