
Daniel
14.04.2018
10:40:33
ИИ - это последних пары лет веяние
а до того тексты сравнивали
но
оно врядли на го

Google

Daniel
14.04.2018
10:41:08
придется или либой подключать, или портить
скорее портить
и портить питон на go проще всех - есть конвертер

Marlik
14.04.2018
10:41:31
да мне сам алгоритм, перепишу на го сам... сама мысль нужна...

Alexey
14.04.2018
10:43:54
У меня нагуглились некие шинглы https://ru.m.wikipedia.org/wiki/Алгоритм_шинглов

Marlik
14.04.2018
10:44:32

Alexey
14.04.2018
12:18:23

Phil
14.04.2018
13:23:04
Смотрите. Надо в сервисе держать базы username:password и group:usernames. Пусть несколько сотен и в памяти. Но есть ещё добавления удаления. Конечно можно просто свой разбор файла. Но может что-то готовое есть?

Alexey
14.04.2018
13:24:00
map[string]string, где ключ - юзернейм, значение - хеш пароля
Ну если просто в памяти держать
А группы - map[string][]string
Только лучше юзер -> группы, а не наоброт

Alexey
14.04.2018
13:26:35
Обернуть мапу в обёртку из функций добавления удаления изменения, которые вместе с изменениями мапы изменяют файл

Google

Alexey
14.04.2018
13:26:57
А чтения из мапы
RWMutex не забыть

Alexey
14.04.2018
13:27:51
А вообще выглядит так, будто бы Фил забил разбираться с PAMом, и решил написать своё:)

Alexey
14.04.2018
13:28:45
Зачем? Лишняя работа, можно как в линуксе

Alexey
14.04.2018
13:29:01

Alexey
14.04.2018
13:29:23
string Quotes

Alexey
14.04.2018
13:30:14
А как его разбирать потом? Он разве умеет пробелы экранировать?
или двоеточия

Alexey
14.04.2018
13:30:43
Зачем пробелы?

Alexey
14.04.2018
13:31:22
Ну допустим у нас user1 group1,group2

Alexey
14.04.2018
13:31:25
В юзерах:
user:passhash

Alexey
14.04.2018
13:31:33
Если у юзера имя us: er

Alexey
14.04.2018
13:31:51
Запретить :)

Alexey
14.04.2018
13:32:00
Ну вот, валидировать)

Alexey
14.04.2018
13:32:11
Любую KV базу можно

Alexey
14.04.2018
13:32:17
+

Alexey
14.04.2018
13:32:28
Или даже реляционную
Встраеваемую

Alexey
14.04.2018
13:32:57
Но проще всего, конечно, только alphanumeric разрешить, и в текст хреначить:)

Google

Alexey
14.04.2018
13:33:48
https://github.com/cznic/ql

Phil
14.04.2018
13:36:17

Alexey
14.04.2018
13:36:33
KV https://github.com/recoilme/slowpoke

Daniel
14.04.2018
13:36:51
на самом деле - ты хочешь, чтобы и в памяти, и все изменения немедленно на диск уезжали

Phil
14.04.2018
13:36:55

Daniel
14.04.2018
13:37:21
пам не во всех случаях актуален

Phil
14.04.2018
13:37:44
Я бы bolt взял, но перебор
В принципе, я и файл да
Я хочу вот это сделать https://github.com/foi/go-socks5-server (форкнув и почистив базовую либу). С API с CUD юзеров

Daniel
14.04.2018
13:39:02
быстрый гугл не находит

Daniel
14.04.2018
13:39:46
но, когда оно было мне надо, я на каждый Set делал сериализацию и сброс на диск

Phil
14.04.2018
13:39:48
Ну в принципе, можно тупо json конечно. С os.rename

Daniel
14.04.2018
13:40:38
то есть - свой тип поверх map, в нем Get и Set, Set делал сброс на диск и апдейт мапы
yaml лучше

Alexey
14.04.2018
13:41:03
Toml читалописалку можно взять
Да, или ямл

Phil
14.04.2018
13:41:33
yaml лучше
А какая мне разница. Это чисто внутренняя фишка

Google

Daniel
14.04.2018
13:41:52
всегда лучше иметь более читаемый формат

Admin
ERROR: S client not available

Daniel
14.04.2018
13:42:03
и более руками поправляемый

Phil
14.04.2018
13:44:51
Кстати о pam. Я dante socks на pam бы повесил на файлы вида username:password, но не могу найти как это сделать простым способом
А заморачиваться сейчас вдруг - нет профита

Alexey
14.04.2018
13:49:05
Уже не помню, но у дантеда вроде конфиг инклюды поддерживает, можно в отдельный файл пользователей вынести
А, ну да... там посложнее чем логин:пароль
И дантед на каждое соединение процесс поднимает, память на сотнях соединений быстро заканчивается

Marlik
14.04.2018
15:12:59
Если мне, то тоже спасибо, посмотрю.

m
14.04.2018
16:15:52
На Ютубе Дмитрий Ветров про них рассказывал. Их так же можно складывать и вычитать: мама-женщина+мужчина получтся вектор, максимально близкий к вектору слова папа.

Marlik
14.04.2018
16:32:40

Vladislav
14.04.2018
16:49:03
Доброго времени суток.
Подскажите что прописать в HTML шаблон, чтобы по нажатию кнопки происходило только то что указано в функции checknow, без перехода на другую страницу.
Вот обработка http.HandleFunc("/checknow", servers.checkNow)
Вот кусок шаблона который отвечает за кнопку
<form action="/checknow" method="post" enctype="application/x-www-form-urlencoded">
<input type="submit" value="Проверить состояние" />
</form>

Daniel
14.04.2018
16:49:46
коллега, какое отношение это имеет к go?

Александр
14.04.2018
16:51:30
самое просто это jquery
но это никак не относится к серверу

Vladislav
14.04.2018
16:51:52

Daniel
14.04.2018
16:52:21
ну надо тогда найти, где спросить, наверное

Google

Vladislav
14.04.2018
16:53:15
Спасибо, что направили.

Daniel
14.04.2018
16:54:12
:)

Alexey
14.04.2018
17:07:26
Вот наверняка там на первой странице будут тысячи списков чатов)

Vladislav
14.04.2018
17:08:41
Моя балгодарность не была сарказмом.
Если это был намёк

Alexey
14.04.2018
17:09:56

Vladislav
14.04.2018
17:10:40
Иногда хватает проговорить вопрос вслух, чтобы найти ответ.
А иногда и вот таких вот простых ответов, чтобы попытаться найти другое решение.

Marlik
14.04.2018
17:15:17

Vladislav
14.04.2018
17:36:04
Говорю же, помогло :)
Нагуглил и приминил AJAx -запрос