Как стать автором
Обновить
0
0
Марат Голявиев @evil_squonk

Пользователь

Отправить сообщение
Когда-то делал сепию для одного проекта, нашёл вот такие коэффициенты:
def sepia(im):
    if not "RGB" in im.mode: im = im.convert("RGB")
    im = im.convert("RGB",(0.393, 0.769, 0.189, 0,
                           0.349, 0.686, 0.168, 0,
                           0.272, 0.534, 0.131, 0))
    
    return im
Смысл в том, чтобы превратить рекурсивный вызов функции в цикл.

Работает это так:
1. Пишем рабочую функцию — sum_natural.
2. Заворачиваем её в декоратор recursion.
3. Делаем вызов sum_natural(1000000). При этом sum_natural на самом деле уже указывает не на саму функцию, а на декоратор.
4. Вызывается метод __call__ у декоратора.
5. В этом методе вызывается рабочая функция с переданными параметрами (1000000):
result = self.func(*args, **kwargs)

6. Функция выполняет свою логику. Если параметр x == 0, тогда просто возвращаем результат. Если же нет — значит нужно вычислять дальше. В обычной рекурсии функция просто вызвала бы саму себя с новыми параметрами. Здесь же она подготавливает и возвращает лямбду для такого вызова (обращаясь к методу call декоратора):
return sum_natural_x.call(y - 1, result + y)


7. Декоратор получает результат первого вызова. Смотрим, если результат — callable, то нам вернули лямбду для следующего вызова. Вызываем её, получаем результат, и продолжаем делать это в цикле:
while callable(result): result = result()


8. Возвращаем окончательный результат из метода __call__.
Десятый уровень это же Konami code!
Нормальной иерархии уже давно нет. Строго по назначению используется мало доменов, например .edu и .gov. А всякие .com, .org и .net, не говоря уж о национальных, используются как попало.
В качестве фронтенда для rdesktop рекомендую попробовать Remmina. Имеет менеджер подключений и апплет для гномовской панели.
Почему то -server вариант ядра есть только под amd64, а под i386 в серверной редакции предлагают -generic.
Ну так семантика и предполагает определённые правила — например, что заголовок — это 'h1', а не 'span class=«myheader»' или что меню — это список ссылок, а не три вложенные таблицы. Делай так — и ни у кого не возникнет вопросов. Какие ещё должны быть правила? Красивое форматирование, отсутствие ошибок?

А по поводу таблиц — посмотрите вот код khabkrai.ru/.
Семантически верный код без грязных хаков и лишней разметки нужен не только для удовлетворения перфекционистов. Чистый и красивый код намного легче поддерживать и модифицировать. Даже самому разработчику, не говоря уж о тех, кто придёт за ним. Юзеру-то, конечно, плевать, можно вообще всё таблицами сверстать. Вот только потом будет очень тяжело что-то разобрать, поправить и не сломать при этом.
Шекли, «Цивилизация статуса»
В захлестывающем потоке памяти он видел себя: маленького мальчика, входящего в закрытый класс. Он вновь слышал убаюкивающий гул машин, в уши лился вкрадчивый голос. Сперва голос вселял ужас, то, что он предлагал, было невообразимо. Затем, постепенно, Баррент начал привыкать к голосу, как привыкал ко всем странностям закрытого класса.

Машины учили на глубоком, подсознательном уровне. Они прививали, внушали определенные нормы поведения — и блокировали верхние уровни сознания.

Чему его учили?

Ради социального блага ты должен сам себе быть свидетелем и полицейским. Ты должен нести ответственность за любое преступление, которое мог совершить.



Уроки закрытого класса никогда не должны выйти из подсознания. В противном случае человек обязан немедленно произвести акт самоубийства.

Земле не нужна была служба безопасности, потому что в мозг каждого были вмонтированы и полицейский, и палач. Под поверхностью гуманной культуры Земли скрывалась механическая цивилизация. И понимание ее сути каралось смертью.
Вначале были большие сервера, с которых множество людей качало файлы. Чтобы разгрузить серверы и повысить доступность фалов, придумали технологию p2p. Теперь можно скачать файл с сервера, который для тебя выкачает его из p2p. Круг замкнулся. :-)
Диззи, конечно, крутой чувак, но почему у него левая и правая половины лица идентичны вплоть до волосков и неровностей кожи? :-)
Лично я переместил адресную строку и табы в низ окна (т.е. сверху вниз: меню — контент — адресная строка — табы). И, знаете, очень удобно! Когда таскбар, трей, кнопка пуск и панель быстрого запуска внизу экрана, логично поместить туда и все остальные управляющие виджеты. Глазам меньше приходится бегать.
Уже тогда была эта отвратительная манера писать «вы» с большой буквы по поводу и без.
В прошлом году в Хабаровске было небольшое землетрясение (многие его даже не почувствовали). На следующий день по городу разошелся слух, что будет ещё одно землетрясение, многих вроде даже отпустили с работы/занятий. То, что землетрясения предсказывать пока не научились, паникёров не волновало.
Надо же, оказывается я читал его историю о том как он переписывал движок @-формул, для шестого Лотуса.
То-то я смотрю, похоже на Notes — документы, поля...
Любой сайт на Lotus Notes/Domino.
Вообще, Notes, по-моему, старейшая из документоориентированных СУБД.

Информация

В рейтинге
Не участвует
Откуда
Хабаровск, Хабаровский край, Россия
Зарегистрирован
Активность