Pull to refresh
0
@b0n3Zread⁠-⁠only

User

Send message
Из лямбда-исчисления (в общих чертах) map / fold:
map(f, ...) — принимает Х списков, возвращает 1 список с примененной функцией f на каждый элемент каждого списка.
fold(f, start, l) — принимает один список, свертывает его по функции f. Так же часто передается стартовое значение.
Только вместо списков в ф-циях может быть много чего.

MapReduce:
Map — принимает всего два элемента — key / value. Возвращает промежуточное значение.
Reduce — принимает key / values. Свертывает все промежуточные значения для ключа key.

Разве не так?
Я думаю, что доклад был ориентирован не на на тех, кто «в теме», а на новичков. Отсюда и переливание.
Очень занятно, спасибо. Первый русский доклад на эту тему.
Меня только одно интересует: почему парадигма называется MapReduce, если с функциями высшего порядка (map и, соответственно, reduce/fold) она не имеет почти ничего общего?
К слову, недавно в WHATWG поменяли рекомендованное расширение файла манифеста с
*.manifest
на
*.appcache
www.whatwg.org/specs/web-apps/current-work/multipage/offline.html
А сколько денег на ремонт ушло?
А можно ссылку на нее?
m.gmail.com/ js вообще не использует.
Видимо, они так поступили потому что pjax уже используется сегодня многими вебсайтами — Facebook, VK etc.
Посещаемых сайтов, которые используют appcache я пока еще не видел.
Очень хорошо, единственный серьезный недостаток наконец-то устранили. Только тормозят они немножко пока что.

Жалко только, так как я питонщик, многие проекты выбирают вместо гитхаба bitbucket — это разделяет opensource общество. Ведь лента новостей, «форки» и прочее на каждом сайте свои.
Замеры я проводил давно, но, насколько я помню, при нагрузочном тестировании все кушало около трехсот-четырехсот мегабайт ОЗУ. На CPU тоже нагрузка была маленькой.
Самое большое, что джанга выдала тогда это 300rps на очень простой странице API (тоже полная динамика).

Python 2.7 + MySQL + Django + FastCGI + Flup -> nginx.
Вы бы еще с твиттером сравнили, у которого фронтенд на рельсах. У дискасса вообще-то очень хорошая распределенная инфраструктура с сотней машин.

если у вас проект такой что производительность упирается в джангу
Ну как бы джанга намного менее производительна изначально, чем асинхронный вебсервер на Си.

Но я бы на вашем месте задумался о оптимизации проекта

Все дерганья базы отпрофилированы и отполированы до блеска.
например кешировании
А разве какой-то серьезный проект сегодня без него обходится?

25 реквестов в секунду это 2 млн в сутки и 60млн в месяц, соответственно, 50 реквестов — это уже 120млн. Это НЕ мало. StackOverflow и ВСЯ его инфраструктура (46 сайтов) собирают 96млн просмотров в месяц. А мы говорим про одну обычную машину, а не про двадцать-тридцать мощнейших серверов у stackoverflow.
Допустим, джанга может отдавать 25-50 страниц в секунду (реальный проект, много динамики).
Каким образом тут понизится скорость отдачи из-за nginx-а?
— Циклон бегает на Twisted.
— Нативная поддержка xmprpc и jsonrpc.
— Встроенная поддержка редиса
— Незначительно медленнее торнады.

github.com/fiorix/cyclone#readme

Торнада уже давно является стабильным продуктом, который используется в реальных проектах и я не вижу смысла начинать с циклона.
Кто может подсказать, чем flup (fastcgi + nginx) в случае джанги хуже wsgi + nginx?
Самая верная мысль на странице.
Приведу банальнейший пример — русский топ твиттера. Там есть люди, которые о себе ничего не скрывают. Номер мобильного у них написан прямо на страничке. И с ними все нормально.
В отладке .name очень неудобен. Values / values lists показывает явно информацию.
Вы меня заинтриговали. Пожалуй, на неделе изучу рельсы.

Как обстоит у них поддержка монги (mongodb)? В продакшене уже можно использовать?
Первое хорошо потому что каждый занимается своим делом, и обновления сторонних библиотек могут идти быстрее самих рельс.
Согласен, это хорошая фича. Однако, что мешает сделать так же (ставить кастомные плагины) для джанги?

И да, все еще хотелось бы увидеть примеры похожих проектов на джанге и рельсах, в которых в рельсоверсии выходило бы гораздо меньше кода.
В реальной разработке очень важна читаемость и понимаемость кода. В руби она, по сравнению с питоном, хромает. Ибо rails magic.
Быть может я недостаточно знаком с перечнем сторонних плюшек, которые можно навесить на django, но в базовой комплектации при работе с django кода вышло существенно больше, чем я бы ожидал, разрабатывая то же самое приложение на rails
Это утверждение подкреплено какими-нибудь фактами? В рельсах, например, админку надо писать каждый раз — это уже означает, что кода должно быть больше.
>Ну например, как сделать роут который будет перенаправлять GET запрос на /accounts на один View action а POST на другой?
Естественно, так как джанга не умеет rest, можно так
def some_thing(request):
    pass

def accounts(request):
    if request.method == 'POST':
        return some_thing(request)


Хочется нормальных миграций написанных руками

South пробовали?
Хочется отдельных настроек для dev/test/staging/production, а не только settings_local.py.
Ну, можно, например, создать папку settings и по файлу настроек на каждый тип.
Как такая вещь в рельсе реализована?

Information

Rating
Does not participate
Registered
Activity