- 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)
- for k, v in params.iteritems()
+ for k, v in params
Почему нельзя поправить пост?
Потому что есть кнопка предпросмотра.
ГК на скале от Романа - вроде как канул в лету.
Говнофорум - тоже полудохлый, 3.5 анонимуса тусуются.
Дерзай :)
Неубиваемый децентрализованный форум ГК с криптографией и "G+-кругами" интереснее и притягательнее, но его ведь хрен напишешь за приемлимое время (пиджипи, репликация, мёржи, обход натов, спамфильтр, бутстрап, тарасосовместимость, etc.). Ты бы взялся за такой проект?
Ну да. Например каждый держит у себя те треды, в которых он участвует/участвовал + некий фиксированный объем случайных кусков от других тредов...
На самом деле, идея тоже не нова. Про подобную, только "настоящую" социальную сеть я читал в статье, кажется, "почему вы не должны использовать монгодб".
Безопасность через нахуй не нужность?
Где же она? Где же связь между моим ответом и этим комментарием?
>Так что если у кого-то и есть софт, эти люди не зинтересованы в спаме.
3,5 человека
С другой стороны, не исключено, что в рассылке спама заинтересованы спаммеры.
На говнокоде проблема спама вызвана не тем, что спам прямо такой непобедимый, а идиотскими настройками пользователя. Если бы пользователь мог хранить свои настройки в которых бы указывал сообщения каких пользователей он не хочет читать, спам был бы исключительно по желанию читающего.
Есть смысл спамить мейл-лист, т.как участники подписываются на все сообщения до того, как их получают. Есть смысл спамить форумы типа ВБулетеня / ПХПББ, т.как там есть много читающих бесправных пользователей, которым можно таким образом впарить что-нибудь. А, например, в Фейсбуке нет смысла спамить: блок пользователя осуществляется одним нажатием кнопки, а регистрация - долгий и муторный процесс.
Из моего опыта с сайтами знакомств: там этот вопрос тоже остро стоит, и обычно решается максимально простым механизмом блока и относительно сложной регистрацией.
Как отличить спам от не-спама?
Ну т.е. фактически юзать "сеть для друзей", и новые знакомства не заводить, т.к. все незнакомые люди тупо затеряются в потоках спама.
Я и сейчас на ГК могу поправить строчку в юзерскрипте, нажать кнопочку и зарезать всех-кроме-доверенных. Спама больше не будет. Никогда. Но я и не встречу новых интересных людей. И не поучаствую в новых дискуссиях.
Любая процедура делающая регистрацую достаточно долгим процессом по сравнению с баном решает проблему спама. Если регистрация будет занимать в 1000 раз больше времени, чем бан, спаммер просто запарится от нееффективно проведенного времени.
Напомнило, как я сдавал макроэкономику... как раз мин.обучения решило поэксперементировать. Они ввели систему пересдач, где нужно было брать билетик (в то время, как решение приняли, стоимость билета была как проездной на автобус, как подошли экзамены - сотня билетов стоила как пирожок в столовой).
Я на макроэкономику не ходил, экзамен, не сдал с первого раза. Пошел за билетиком, а таких мелких купрюр просто не осталось, мне сразу рулон билетов выдали. Преподаватель не долго сопротивлялся.
Ага, вместе с устранением огромной части аудитории, которая банально не захочет тратить свое время для регистрации на каком-то там сайтике (т.к. эта процедура должна иметь такую форму, что автоматические скрипты ее не пройдут). И среди этой части вполне могут оказаться интересные люди, которые и рады бы поучаствовать, но им некогда регистрироваться на этом илитарном ресурсе.
Но проблему решает, да. На том же хабре их invite-only система вполне справляется. Вот только тут нужны масштабы хабра, и его уровень раскрутки. А ГК 2.0 и с регистрацией в один клик загнется даже не набрав 3.5 анонимуса.
Они рассматривали известную игру "голубка и ястреб" и ее эволюционирование в разных популяциях, где эквилибриумы были теми же самыми, но разными в процентном соотношении между собой.
В большинстве случаев популяция быстро вырождалась в 100% ястребов, но нашли так же и случаи с зацикливанием изменений от "почти все ястребы" до "почти все голубки", и даже нашли соотношение эквилибриумов в котором картина была более-менее стабильной (изменения были локальными: в одном месте большая группа переходила от стретегии "голубки" к "ястреб" и наоборот).
Т.е. можно попытаться найти статистически хорошое соотношение между временем потраченым на регистрацию и толерантностью к спаммерам. Но, скорее всего, как всегда в статистике, законы начинают работать когда популяция переваливает за миллон...
Еще есть довольно неприятный фактор - человек регистрируется один раз и руками, спамер - пачками и автоматом. Т.е. они находятся в неравных условиях.
Тот же карантин на ГК он убог по определению: нормальный человек ждет 2 недели пока сможет написать свой первый коммент, а ботоёб через 2 недели получит непрерывный поток ботов нужной ему толщины, хоть по 100 в день.
Как и на емейле, внезапно.
Чтобы человеку не пришлось читать его? Машинное время и трафик нынче дешевые. А вот свое - жалко.
> эти люди не зинтересованы в спаме
Зато в спаме (как средстве уничтожения сети) заинтересованы люди, которым хотелось бы за их общением по-настоящему следить ;) И если эта сеть обретет популярность, и там действительно будут тусоваться диссиденты, а единственной защитой от флуда будет "нинужность", то сеть положат через пару месяцев, причем навсегда. Уж у этих людей хватит мозгов и опыта, чтобы взять исходники открытого софта и переделать их.
А Вы никогда не думали что спам это и есть зашифрованный широковещательный стеганографичсеский обмен тайными данными?
И только Штирлиц понял, что на Родине ему присвоено звание Героя Советского Союза.
Или так: http://clck.ru/9D42x
http://twister.net.co/