- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
def visit_params(visitor, params, schema=None):
"""
Визитор json'a
@param visitor: посетитель. функция, принимающая параметры, опционально схему и опционально ключ
@param params: параметры, передающиеся посетителю
@param schema: схема, передающаяся посетителю. Должна быть расширена до стандартных типов
@return: результат применения посетителя к параметрам
"""
def _visit_params_rec(params, schema=None, key=None):
if schema:
_type = schema.get('type')
if _type == 'object':
if not params:
params = {}
return {
k: _visit_params_rec(params.get(k), v, key=k)
for k, v in schema["properties"].iteritems()
}
if _type == 'array':
if not params:
params = []
return [
_visit_params_rec(item, schema["items"], key=key)
for item in params
]
return visitor(params, schema=schema, key=key)
# schema == None
if isinstance(params, dict):
return {
k: _visit_params_rec(v, key=k)
for k, v in params.iteritems()
}
if isinstance(params, list):
return [
_visit_params_rec(item, key=key)
for item in params.iteritems()
]
return visitor(params, key=key)
if schema:
return {
k: _visit_params_rec(params=params.get(k), schema=v, key=k)
for k, v in schema.iteritems()
}
if isinstance(params, dict):
return {
k: _visit_params_rec(params=v, key=k)
for k, v in params.iteritems()
}
raise Exception("Must be object %r" % params)
orion 13.05.2014 14:56 # 0
- for k, v in params.iteritems()
+ for k, v in params
Почему нельзя поправить пост?
bormand 13.05.2014 15:03 # +2
Потому что есть кнопка предпросмотра.
orion 13.05.2014 16:41 # 0
roman-kashitsyn 13.05.2014 16:42 # +3
Vasiliy 13.05.2014 16:44 # +2
guest 14.05.2014 00:14 # +1
orion 14.05.2014 09:52 # 0
bormand 14.05.2014 10:02 # +1
ГК на скале от Романа - вроде как канул в лету.
Говнофорум - тоже полудохлый, 3.5 анонимуса тусуются.
Дерзай :)
roman-kashitsyn 14.05.2014 10:14 # +5
Неубиваемый децентрализованный форум ГК с криптографией и "G+-кругами" интереснее и притягательнее, но его ведь хрен напишешь за приемлимое время (пиджипи, репликация, мёржи, обход натов, спамфильтр, бутстрап, тарасосовместимость, etc.). Ты бы взялся за такой проект?
bormand 14.05.2014 11:10 # +2
eth0 14.05.2014 20:52 # 0
bormand 15.05.2014 05:38 # 0
Ну да. Например каждый держит у себя те треды, в которых он участвует/участвовал + некий фиксированный объем случайных кусков от других тредов...
eth0 16.05.2014 19:08 # +2
На самом деле, идея тоже не нова. Про подобную, только "настоящую" социальную сеть я читал в статье, кажется, "почему вы не должны использовать монгодб".
wvxvw 15.05.2014 09:12 # 0
guest 15.05.2014 09:21 # +2
Безопасность через нахуй не нужность?
wvxvw 15.05.2014 09:23 # 0
guest 16.05.2014 20:37 # +1
wvxvw 16.05.2014 21:59 # +1
Где же она? Где же связь между моим ответом и этим комментарием?
guest 17.05.2014 10:36 # 0
>Так что если у кого-то и есть софт, эти люди не зинтересованы в спаме.
3,5 человека
wvxvw 17.05.2014 11:50 # 0
guest 20.05.2014 18:26 # 0
wvxvw 20.05.2014 18:37 # 0
guest 20.05.2014 19:02 # −1
roman-kashitsyn 20.05.2014 19:09 # 0
С другой стороны, не исключено, что в рассылке спама заинтересованы спаммеры.
wvxvw 20.05.2014 19:35 # 0
На говнокоде проблема спама вызвана не тем, что спам прямо такой непобедимый, а идиотскими настройками пользователя. Если бы пользователь мог хранить свои настройки в которых бы указывал сообщения каких пользователей он не хочет читать, спам был бы исключительно по желанию читающего.
Есть смысл спамить мейл-лист, т.как участники подписываются на все сообщения до того, как их получают. Есть смысл спамить форумы типа ВБулетеня / ПХПББ, т.как там есть много читающих бесправных пользователей, которым можно таким образом впарить что-нибудь. А, например, в Фейсбуке нет смысла спамить: блок пользователя осуществляется одним нажатием кнопки, а регистрация - долгий и муторный процесс.
Из моего опыта с сайтами знакомств: там этот вопрос тоже остро стоит, и обычно решается максимально простым механизмом блока и относительно сложной регистрацией.
eth0 20.05.2014 20:13 # 0
Как отличить спам от не-спама?
wvxvw 20.05.2014 20:34 # 0
bormand 20.05.2014 21:10 # 0
Ну т.е. фактически юзать "сеть для друзей", и новые знакомства не заводить, т.к. все незнакомые люди тупо затеряются в потоках спама.
Я и сейчас на ГК могу поправить строчку в юзерскрипте, нажать кнопочку и зарезать всех-кроме-доверенных. Спама больше не будет. Никогда. Но я и не встречу новых интересных людей. И не поучаствую в новых дискуссиях.
wvxvw 20.05.2014 21:35 # +1
Любая процедура делающая регистрацую достаточно долгим процессом по сравнению с баном решает проблему спама. Если регистрация будет занимать в 1000 раз больше времени, чем бан, спаммер просто запарится от нееффективно проведенного времени.
Напомнило, как я сдавал макроэкономику... как раз мин.обучения решило поэксперементировать. Они ввели систему пересдач, где нужно было брать билетик (в то время, как решение приняли, стоимость билета была как проездной на автобус, как подошли экзамены - сотня билетов стоила как пирожок в столовой).
Я на макроэкономику не ходил, экзамен, не сдал с первого раза. Пошел за билетиком, а таких мелких купрюр просто не осталось, мне сразу рулон билетов выдали. Преподаватель не долго сопротивлялся.
bormand 20.05.2014 22:04 # +1
Ага, вместе с устранением огромной части аудитории, которая банально не захочет тратить свое время для регистрации на каком-то там сайтике (т.к. эта процедура должна иметь такую форму, что автоматические скрипты ее не пройдут). И среди этой части вполне могут оказаться интересные люди, которые и рады бы поучаствовать, но им некогда регистрироваться на этом илитарном ресурсе.
Но проблему решает, да. На том же хабре их invite-only система вполне справляется. Вот только тут нужны масштабы хабра, и его уровень раскрутки. А ГК 2.0 и с регистрацией в один клик загнется даже не набрав 3.5 анонимуса.
wvxvw 20.05.2014 22:22 # +1
Они рассматривали известную игру "голубка и ястреб" и ее эволюционирование в разных популяциях, где эквилибриумы были теми же самыми, но разными в процентном соотношении между собой.
В большинстве случаев популяция быстро вырождалась в 100% ястребов, но нашли так же и случаи с зацикливанием изменений от "почти все ястребы" до "почти все голубки", и даже нашли соотношение эквилибриумов в котором картина была более-менее стабильной (изменения были локальными: в одном месте большая группа переходила от стретегии "голубки" к "ястреб" и наоборот).
Т.е. можно попытаться найти статистически хорошое соотношение между временем потраченым на регистрацию и толерантностью к спаммерам. Но, скорее всего, как всегда в статистике, законы начинают работать когда популяция переваливает за миллон...
bormand 20.05.2014 22:41 # +1
Еще есть довольно неприятный фактор - человек регистрируется один раз и руками, спамер - пачками и автоматом. Т.е. они находятся в неравных условиях.
Тот же карантин на ГК он убог по определению: нормальный человек ждет 2 недели пока сможет написать свой первый коммент, а ботоёб через 2 недели получит непрерывный поток ботов нужной ему толщины, хоть по 100 в день.
guest 20.05.2014 20:20 # 0
Как и на емейле, внезапно.
wvxvw 20.05.2014 20:39 # 0
guest 20.05.2014 21:56 # 0
wvxvw 20.05.2014 22:14 # 0
bormand 20.05.2014 22:14 # +1
Чтобы человеку не пришлось читать его? Машинное время и трафик нынче дешевые. А вот свое - жалко.
bormand 17.05.2014 11:17 # +2
> эти люди не зинтересованы в спаме
Зато в спаме (как средстве уничтожения сети) заинтересованы люди, которым хотелось бы за их общением по-настоящему следить ;) И если эта сеть обретет популярность, и там действительно будут тусоваться диссиденты, а единственной защитой от флуда будет "нинужность", то сеть положат через пару месяцев, причем навсегда. Уж у этих людей хватит мозгов и опыта, чтобы взять исходники открытого софта и переделать их.
wvxvw 17.05.2014 11:49 # 0
3.14159265 17.05.2014 15:01 # +4
А Вы никогда не думали что спам это и есть зашифрованный широковещательный стеганографичсеский обмен тайными данными?
wvxvw 17.05.2014 16:09 # 0
eth0 17.05.2014 17:23 # +4
И только Штирлиц понял, что на Родине ему присвоено звание Героя Советского Союза.
inkanus-gray 17.05.2014 18:23 # +1
Или так: http://clck.ru/9D42x
Sulik78 22.06.2014 18:45 # 0
http://twister.net.co/
guest 15.05.2014 09:22 # 0
guest 13.05.2014 21:27 # −2