Re[3]: Python Django
От: Nuald Россия http://nuald.blogspot.com
Дата: 04.03.09 06:33
Оценка: 4 (1)
Здравствуйте, neFormal, Вы писали:

N>>Из плохого — в основном все проблемы с админкой. Она недостаточно гибкая в плане модификации и интернационализации. Нельзя прикрутить полностью другой бэкэнд для аутентификации и авторизации пользователей.


F>а почему свою не написать?. какие неоспоримые преимущества есть у дефолтной админки?.


Замучишься свою писать. Просто укажу на некоторые подводные камни:
— автогенерация форм (т.е. нужно делать интроспекцию классов и для полей генерировать соответствующие контролы), особенно много заморочек с ManyToManyField;
— валидация данных (это не сложно, но тоже нужно потратить время);
— аудит работы с данными, история изменений (опять интроспекция и какое-то время на реализацию);
— аутентификация и авторизация пользователей (нехилый пласт работ);
— сортировки, поиски и фильтрации (здесь и во встроенной админке не все хорошо, но какой-то базовый минимум все-таки предоставляется).

Т.е. чтобы повторить админку Джанго, придется сильно постараться и потратить немало времени. Конечно, если админка минимальная, и модели простые, то задача сильно упрощается. Если же нет цели вообще использовать админку, тогда и говорить не о чем — в некоторых случаях (например, при разработке вики-подобных сайтов) админка вообще не нужна.

F>а всё ли хорошо с i18n?. легко ли оно делается?.


Достаточно легко в линуксе и юникс-подобных средах. Просто для интернационализации используется стандартная unix-функция gettext(), и под виндами надо ставить какие-то библиотеки, чтобы работали команды makemessages и compilemessages. Возможно, после релиза Django 1.0 все стало попроще, но я не знаю — виндой у нас никто не пользуется.

Если не касаться админки, то интернационализация делается легким движением руки — просто где надо расставляешь теги в шаблонах и вызовы функций в коде. В документации все сказано, и приведены примеры.
Re[17]: Python Django
От: Nuald Россия http://nuald.blogspot.com
Дата: 06.03.09 00:55
Оценка: 4 (1)
Здравствуйте, Cyberax, Вы писали:

C>Просто когда будет написаный сайт — переписывать его уже хотеться не будет Вот и хочется заранее узнать где подстелить соломку.


Ну на своей практике я еще не разу не встречался, чтобы пришлось переписывать сайт на Django с нуля (единственный случай, когда пришлось реально переписать очень много кода, и то в основном связанный с админкой — при переходе на версию 1.0). Принципы DRY, которым следует Django, и очень мощная поддержка юнит-тестирования очень серьезно облегчают рефакторинг, и заставляют сразу писать качественный код.

Однако, если спустится с небес на землю, то отпишу какие примерно проблемы могут возникнуть в процессе работы над сайтом, которые могут реально заставить переписать его с нуля:

Может есть что-то еще, сразу не скажу. Вообще, конечно, инструмент, а тем более фреймворк надо выбирать в соответствии с задачей. Однако в случае Python-а и Django нет ничего такого уж совсем запущенного, что на них нельзя было бы сделать. Но в принципе, это касается и всех других фреймворках. Правда у некоторых есть реально мозоли, которые надо знать заранее — например, огромное время холодного старта ASP.NET приложений. В Django ничего такого особо замечено не было. Так что глаза боятся, а руки делают — попробуйте, может вам и понравится
Re[3]: Python Django
От: Nuald Россия http://nuald.blogspot.com
Дата: 14.03.09 00:19
Оценка: 1 (1)
Здравствуйте, jarlaxle, Вы писали:

>>Вообще, я планирую написать в ближайшее время сравнительный обзор всех современных "Agile" фреймворков: Django, RoR, Grails, Perl Catalyst, но пока не могу изыскать времени. Там бы я рассмотрел все плюсы и минусы.


J>Написали? Можно ссылку?


К сожалению, еще нет. Здесь все не так просто — мне сначала надо определить метрики для сравнения, потом написать полноценные приложения на всем этом, а потом уже сравнивать по ранее введенным метрикам. Субъективные анализы мне совершенно не нужны, т.к. зачастую вопрос выбора фреймворка — это деньги. Чем быстрее и эффективнее позволяет фреймворк разрабатывать сайты, тем больше денег принесет его использование. А то, что Rails реально крутой язык, на котором можно сворганить свой DSL и предоставить заказчику разрабатывать программы на высоком уровне, меня совершенно не волнует, т.к. такого рода задачи возникают ну реально редко
Re[4]: Python Django
От: Cyberax Марс  
Дата: 03.03.09 21:39
Оценка: :)
Здравствуйте, neFormal, Вы писали:

C>>Несколько баз — это необходимость рапределённого коммита для корректной работы. Оно тебе нужно?

F>нет, мне надо более удобно и красиво складывать данные + снижать нагрузку на основную машинку..
Если тебе придётся писать в несколько баз одновременно => привет распределённым транзакциям!

C>>Это как раз удобная фича — в случае чего можно при необходимости хак вставить.

F>*поперхнулся*
Зато про войну.
Sapienti sat!
Python Django
От: Cyberax Марс  
Дата: 03.03.09 18:37
Оценка:
Кто-нибудь активно использовал сабж? Какие отзывы?

Планируем на нём запустить небольшой пилотный проект. Хотелось бы заранее узнать что в Django плохого

PS: если кому-то в Киеве интересно поработать на проекте с Python+Django — обращайтесь ко мне.
Sapienti sat!
Re: Python Django
От: Daevaorn Россия  
Дата: 03.03.09 18:42
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Кто-нибудь активно использовал сабж? Какие отзывы?


C>Планируем на нём запустить небольшой пилотный проект. Хотелось бы заранее узнать что в Django плохого


C>PS: если кому-то в Киеве интересно поработать на проекте с Python+Django — обращайтесь ко мне.


Используем. Имеем несколько сервисов на нем. Готовыи к выходу следующий. Минус по сути один — как и при использовании любого фреймворка присутсвует ощущение что тобой упраляет нивидимая рука. Иногда это мещает.
Re: Python Django
От: neFormal Россия  
Дата: 03.03.09 20:58
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Кто-нибудь активно использовал сабж? Какие отзывы?


вроде, Roman Odaisky пользует..
я тоже буду активно использовать через пару недель, когда передам работу над текущим проектом в другие заботливые руки..

C>Планируем на нём запустить небольшой пилотный проект. Хотелось бы заранее узнать что в Django плохого


первая проблема, которую я увидел — по дефолту используется только одна база, что для меня выглядит плохо.. можно прикрутить несколько, но это связано (как мне сказали) с определенными трудностями, до которых я пока не добрался..
кроме того:
— питон 3к не поддерживается
— не очень изящно выглядят куски кода в шаблонах страниц (хотя мне всё равно, я в танке)
— еще не всё переведено на http://cargo.caml.ru/djangobook/
...coding for chaos...
Re[2]: Python Django
От: Курилка Россия http://kirya.narod.ru/
Дата: 03.03.09 21:03
Оценка:
Здравствуйте, neFormal, Вы писали:

F>первая проблема, которую я увидел — по дефолту используется только одна база, что для меня выглядит плохо.. можно прикрутить несколько, но это связано (как мне сказали) с определенными трудностями, до которых я пока не добрался..


А поделись типичной задачкой где надо несколько баз сразу иметь?
Re[2]: Python Django
От: Cyberax Марс  
Дата: 03.03.09 21:03
Оценка:
Здравствуйте, neFormal, Вы писали:

C>>Кто-нибудь активно использовал сабж? Какие отзывы?

F>вроде, Roman Odaisky пользует..
Спасибо, попинаю его

C>>Планируем на нём запустить небольшой пилотный проект. Хотелось бы заранее узнать что в Django плохого

F>первая проблема, которую я увидел — по дефолту используется только одна база, что для меня выглядит плохо.. можно прикрутить несколько, но это связано (как мне сказали) с определенными трудностями, до которых я пока не добрался..
Несколько баз — это необходимость рапределённого коммита для корректной работы. Оно тебе нужно?

F>кроме того:

F>- питон 3к не поддерживается
Это я смотрел, там просто по мелочам много чего. Фигня.

F>- не очень изящно выглядят куски кода в шаблонах страниц (хотя мне всё равно, я в танке)

Это как раз удобная фича — в случае чего можно при необходимости хак вставить.

F>- еще не всё переведено на http://cargo.caml.ru/djangobook/

Пофиг, все в команде на английском читают.
Sapienti sat!
Re[3]: Python Django
От: neFormal Россия  
Дата: 03.03.09 21:14
Оценка:
Здравствуйте, Курилка, Вы писали:

F>>первая проблема, которую я увидел — по дефолту используется только одна база, что для меня выглядит плохо.. можно прикрутить несколько, но это связано (как мне сказали) с определенными трудностями, до которых я пока не добрался..

К>А поделись типичной задачкой где надо несколько баз сразу иметь?

1. я хочу, чтобы аппликухи из джанги писались в разные базы (не физические машины, а database в СУБД), т.к. не хочу хлама из таблиц в одной базе..
2. я подозреваю, что будет слишком много обращений к базе, поэтому предполагаю разносить данные по нескольким машинкам.. ну, кроме того, я не углублялся пока в эту тему, возможно можно будет и проще поступить..
3. ну и репликация БД, которая мне вроде бы не нужна
хотя с другой стороны.. у меня будут накапливаться неактивные объекты, которые надо будет складывать в "холодильник".. вполне возможно, что "холодильник" будет находиться на отдельной неторопливой машинке..
...coding for chaos...
Re[3]: Python Django
От: neFormal Россия  
Дата: 03.03.09 21:16
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>>>Планируем на нём запустить небольшой пилотный проект. Хотелось бы заранее узнать что в Django плохого

F>>первая проблема, которую я увидел — по дефолту используется только одна база, что для меня выглядит плохо.. можно прикрутить несколько, но это связано (как мне сказали) с определенными трудностями, до которых я пока не добрался..
C>Несколько баз — это необходимость рапределённого коммита для корректной работы. Оно тебе нужно?

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

C>Это как раз удобная фича — в случае чего можно при необходимости хак вставить.


*поперхнулся*
...coding for chaos...
Re[4]: Python Django
От: Daevaorn Россия  
Дата: 03.03.09 21:19
Оценка:
Здравствуйте, neFormal, Вы писали:

F>Здравствуйте, Cyberax, Вы писали:


C>>>>Планируем на нём запустить небольшой пилотный проект. Хотелось бы заранее узнать что в Django плохого

F>>>первая проблема, которую я увидел — по дефолту используется только одна база, что для меня выглядит плохо.. можно прикрутить несколько, но это связано (как мне сказали) с определенными трудностями, до которых я пока не добрался..
C>>Несколько баз — это необходимость рапределённого коммита для корректной работы. Оно тебе нужно?

F>нет, мне надо более удобно и красиво складывать данные + снижать нагрузку на основную машинку..


Репликация? Так есть приложения для MySQL с репликами. Уверен, можно и под другие бекэнды адаптировать.
Re[2]: Python Django
От: neFormal Россия  
Дата: 03.03.09 21:21
Оценка:
кстати, вот еще..
http://gzip.rsdn.ru/forum/message/3295879.1.aspx
Автор: neFormal
Дата: 18.02.09

пидоки не все работают без этой переменной..
...coding for chaos...
Re[5]: Python Django
От: neFormal Россия  
Дата: 03.03.09 21:29
Оценка:
Здравствуйте, Daevaorn, Вы писали:

F>>нет, мне надо более удобно и красиво складывать данные + снижать нагрузку на основную машинку..

D>Репликация? Так есть приложения для MySQL с репликами. Уверен, можно и под другие бекэнды адаптировать.

я пока не буду строить из себя профи ( ), но из того, что я начитал в интернетах: репликация — это не то, чего я хочу..
я хочу, чтобы часть клиентов обрабатывалось с одной БД (физической железки), часть с другой, а остальные с третьей.. нагрузка, видимо будет зависеть от того, насколько косячно я спроектирую БД..

PS: а под джангу есть несколько "патчей" для прикручивания репликации и просто для поддержки нескольких баз.. у них на сайте есть линки(местами нерабочие)..
PPS: кстати, можно в некоторых случаях разные группы данных хранить в разных СУБД.. например, в mysql и oracle одновременно.. mysql под сайт/форум/етк, а oracle для каких нибудь промышленных данных, которые пишутся, например, со станков.. и ко всему этому есть web-доступ
...coding for chaos...
Re[6]: Python Django
От: Daevaorn Россия  
Дата: 03.03.09 21:37
Оценка:
Здравствуйте, neFormal, Вы писали:

F>Здравствуйте, Daevaorn, Вы писали:


F>>>нет, мне надо более удобно и красиво складывать данные + снижать нагрузку на основную машинку..

D>>Репликация? Так есть приложения для MySQL с репликами. Уверен, можно и под другие бекэнды адаптировать.

F>я пока не буду строить из себя профи ( ), но из того, что я начитал в интернетах: репликация — это не то, чего я хочу..

F>я хочу, чтобы часть клиентов обрабатывалось с одной БД (физической железки), часть с другой, а остальные с третьей.. нагрузка, видимо будет зависеть от того, насколько косячно я спроектирую БД..

Да. Это называет шардинг. Репликация по простому — это когда дынные дублируются на разных нодах, а шардинг когда разделяются.

F>PS: а под джангу есть несколько "патчей" для прикручивания репликации и просто для поддержки нескольких баз.. у них на сайте есть линки(местами нерабочие)..

F>PPS: кстати, можно в некоторых случаях разные группы данных хранить в разных СУБД.. например, в mysql и oracle одновременно.. mysql под сайт/форум/етк, а oracle для каких нибудь промышленных данных, которые пишутся, например, со станков.. и ко всему этому есть web-доступ

Для репликаций есть production ready приложение — mysql_replicated.
Re[7]: Python Django
От: Daevaorn Россия  
Дата: 03.03.09 21:44
Оценка:
Здравствуйте, Daevaorn, Вы писали:

D>Здравствуйте, neFormal, Вы писали:


F>>я пока не буду строить из себя профи ( ), но из того, что я начитал в интернетах: репликация — это не то, чего я хочу..

F>>я хочу, чтобы часть клиентов обрабатывалось с одной БД (физической железки), часть с другой, а остальные с третьей.. нагрузка, видимо будет зависеть от того, насколько косячно я спроектирую БД..

D>Да. Это называет шардинг. Репликация по простому — это когда дынные дублируются на разных нодах, а шардинг когда разделяются.


Точнее именно та схема которую вы опислаи больше подходит как раз под репликации. Когда просто есть несколько баз, но них консистентный массив данных всей системы.
Re[2]: Python Django
От: Nuald Россия http://nuald.blogspot.com
Дата: 04.03.09 04:13
Оценка:
Здравствуйте, neFormal, Вы писали:

F>первая проблема, которую я увидел — по дефолту используется только одна база, что для меня выглядит плохо.. можно прикрутить несколько, но это связано (как мне сказали) с определенными трудностями, до которых я пока не добрался..


Единственный правильный вариант прикручивать несколько баз к одному приложению — это все-таки работать с репликами. Рассмотрим один из вариантов работы с БД некоего универсального веб-приложения:
  1. Клиент читает данные. Если они разнесены по нескольким базам, то необходимо передать нужные запросы в базы, дождаться пока они все выполнятся, и потом собрать и показать клиенту.
    Overhead на ожидание зачастую сводит на ноль все преимущества разнесения данных на разные базы. Я не говорю уж о том, что не будет выполняться никакой оптимизации.
  2. Клиент модифицирует данные. Стандартная практика в любых серьезных веб-приложениях (в Django-админке это встроено) — это вести аудит операций с данными. Если все разнесено по разным базам, то необходимо вести аудит либо в каждой базе, либо делать единый аудит, и тогда тоже придется как-то делать очередь запросов, чтобы аудит был корректен. Обычно данные все-таки имеют взаимосвязи, поэтому последний вариант предпочтительнее в большинстве случаев. Что опять-таки не добавляет плюсов в копилку разнесения данных по разным БД.

Однако, конечно, репликации не всегда применимы. Тогда я вижу только два варианта:
  1. Для каждой базы использовать свое приложение, а разруливать фронт-енд веб-сервером.
  2. Использовать Data Grid. Но это уже совершенно другой отдельный вопрос, и здесь всякие питоны с джангами уже совершенно не удел. Welcome to Enterprise World!

Могу еще порекомендовать ссылку на Django book: Chapter 20: Deploying Django. Там есть раздел "Scale", изучите его, может найдете для себя что-то интересное.

F>кроме того:

F>- питон 3к не поддерживается

Как минимум в py3k поменяли все строки полностью на юникодные. Это затрагивает очень много кода в Django, т.к. мощная работа со строками — неотъемлимая часть любого RESTful фреймворка. Также были некоторые изменения в модели метапрограммирования, и это тоже накладывает свой отпечаток.

Так что как обычно, сначала будет переход на 2.6 (возможно к началу следующего года уже все будет готово), и только потом на 3k (это скорей всего 2010 и позже). Хотя в последние годы работа над Django очень убыстрилась, так что возможно все будет готово быстрее.

F>- не очень изящно выглядят куски кода в шаблонах страниц (хотя мне всё равно, я в танке)


Код в шаблоны вообще нельзя встраивать, а то что есть — это вынужденный минимум, чтобы обеспечить хоть какую-то манипуляцию над данными в шаблонах.
Никто, конечно, не мешает писать свои фильтры и теги. Ну или на крайний случай, прикрутить другой template-движок.

Хотя лично я целиком поддерживаю разработчиков Django, что они сделали такой убогий template-engine — если бы он был побогаче (как, например, Genshi), то у разработчиков был бы большой соблазн нарушить MVT паттерн, и в итоге шаблоны превратились бы в PHP-лапшу с синтаксисом питона.

F>- еще не всё переведено на http://cargo.caml.ru/djangobook/


Сейчас встроенная документация в Django очень и очень крутая — в принципе, ничего шикарнее я в своей жизни не видел. Django book уже нужен только начинающим.
Re: Python Django
От: Nuald Россия http://nuald.blogspot.com
Дата: 04.03.09 04:24
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Кто-нибудь активно использовал сабж? Какие отзывы?


Активно работаем с Django уже года два.

Из хорошего — все круто Если не лезть в админку, то код пишется на ура. ORM, интернационализация, шаблоны, юнит-тестирование — все красиво и приятно.

Из плохого — в основном все проблемы с админкой. Она недостаточно гибкая в плане модификации и интернационализации. Нельзя прикрутить полностью другой бэкэнд для аутентификации и авторизации пользователей.

Есть конечно что-то еще, но прям сейчас в голову не приходит. Может при ответах на наводящие вопросы скажу больше.

Вообще, я планирую написать в ближайшее время сравнительный обзор всех современных "Agile" фреймворков: Django, RoR, Grails, Perl Catalyst, но пока не могу изыскать времени. Там бы я рассмотрел все плюсы и минусы.
Re[2]: Python Django
От: neFormal Россия  
Дата: 04.03.09 05:57
Оценка:
Здравствуйте, Nuald, Вы писали:

N>Из плохого — в основном все проблемы с админкой. Она недостаточно гибкая в плане модификации и интернационализации. Нельзя прикрутить полностью другой бэкэнд для аутентификации и авторизации пользователей.


а почему свою не написать?. какие неоспоримые преимущества есть у дефолтной админки?.

N>Есть конечно что-то еще, но прям сейчас в голову не приходит. Может при ответах на наводящие вопросы скажу больше.


а всё ли хорошо с i18n?. легко ли оно делается?.
...coding for chaos...
Re[4]: Python Django
От: Cyberax Марс  
Дата: 05.03.09 01:29
Оценка:
Здравствуйте, Nuald, Вы писали:

N>Т.е. чтобы повторить админку Джанго, придется сильно постараться и потратить немало времени. Конечно, если админка минимальная, и модели простые, то задача сильно упрощается. Если же нет цели вообще использовать админку, тогда и говорить не о чем — в некоторых случаях (например, при разработке вики-подобных сайтов) админка вообще не нужна.

А можно ли сделать так, чтобы можно было делать для групп дополнительные уровни?

Т.е. у нас будет 10 клиентов, и у каждого клиента свой набор групп. Т.е. пользователь из группы "admin" у клиента "А" не должен быть админом у клиента "Б".

Я так посмотрел — надо расширять класс Group. Можно ли это сделать?

N>Если не касаться админки, то интернационализация делается легким движением руки — просто где надо расставляешь теги в шаблонах и вызовы функций в коде. В документации все сказано, и приведены примеры.

Ага, в админке интернационализация глючная. Например, поддерживается всего одна форма множественного числа (в русском их три).
Sapienti sat!
Re[5]: Python Django
От: Nuald Россия http://nuald.blogspot.com
Дата: 05.03.09 03:40
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>А можно ли сделать так, чтобы можно было делать для групп дополнительные уровни?

C>Т.е. у нас будет 10 клиентов, и у каждого клиента свой набор групп. Т.е. пользователь из группы "admin" у клиента "А" не должен быть админом у клиента "Б".
C>Я так посмотрел — надо расширять класс Group. Можно ли это сделать?

Расширить можно любой класс, но будет ли это работать — другой вопрос. Мы решали такого рода задачи другим способом:
  1. Отнаследовали от встроенного класса admin собственные классы, каждый из которых реализовывал собственную логику админского сайта.
  2. URLConf переписали таким образом, чтобы в зависимости от группы пользователя или его наименования шел редирект на собственную админку.
  3. Зарегистрировали модели в нужных админках.

В вашем случае, если вы будете переписывать группы, также придется наследоваться от встроенного класса admin, и переписывать URLConf-ы, т.к. зарегистрировать другой класс для групп во встроенной админке вряд ли получится.

Еще как вариант, можно добавить профили для пользователей, и там ввести собственную систему групп. Но опять-таки придется делать собственные классы для админских сайтов.

Я немного эту тему осветил у себя в блоге — Adding security features to Django projects, однако не упоминал там модификацию админки. Если есть желание узнать подробности о вышеприведенном механизме, могу накидать статью.
Re[6]: Python Django
От: Cyberax Марс  
Дата: 05.03.09 04:16
Оценка:
Здравствуйте, Nuald, Вы писали:

N>В вашем случае, если вы будете переписывать группы, также придется наследоваться от встроенного класса admin, и переписывать URLConf-ы, т.к. зарегистрировать другой класс для групп во встроенной админке вряд ли получится.

Ну есть ещё рабоче-крестьянский метод — импортировать админку в проект и там напрямую поменять. Только вот некрасиво.

N>Еще как вариант, можно добавить профили для пользователей, и там ввести собственную систему групп. Но опять-таки придется делать собственные классы для админских сайтов.

Хочется по минимуму обойтись текущей админкой — она только для администраторов сайта нужна будет, для пользователей всё равно свой интерфейс рисовать будем.

N>Я немного эту тему осветил у себя в блоге — Adding security features to Django projects, однако не упоминал там модификацию админки. Если есть желание узнать подробности о вышеприведенном механизме, могу накидать статью.

Как пользоваться security более-менее понятно...

Кстати, а есть в Django аналог Spring WebFlow? Т.е. диалог из нескольких страниц, наподобии wizard'а, чтоб ещё нормально кнопку back поддерживал?

Кстати, а что с Ajax'ом? Есть ли прозрачный form submit и обновление страницы (т.е. чтоб оно прозрачно присылало изменённые части DOM-дерева)?
Sapienti sat!
Re[7]: Python Django
От: Nuald Россия http://nuald.blogspot.com
Дата: 05.03.09 04:25
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Кстати, а есть в Django аналог Spring WebFlow? Т.е. диалог из нескольких страниц, наподобии wizard'а, чтоб ещё нормально кнопку back поддерживал?


Есть Form wizard. Сам не пользовался, так что ничего сказать не могу.

C>Кстати, а что с Ajax'ом? Есть ли прозрачный form submit и обновление страницы (т.е. чтоб оно прозрачно присылало изменённые части DOM-дерева)?


Встроенной поддержки аякса практически нет (есть только необходимый минимум — например для ManyToManyField). Мы юзаем jQuery. В той же статье я отписывал как его юзать.
Re[8]: Python Django
От: Cyberax Марс  
Дата: 05.03.09 04:31
Оценка:
Здравствуйте, Nuald, Вы писали:

C>>Кстати, а есть в Django аналог Spring WebFlow? Т.е. диалог из нескольких страниц, наподобии wizard'а, чтоб ещё нормально кнопку back поддерживал?

N>Есть Form wizard. Сам не пользовался, так что ничего сказать не могу.
Угу. В принципе, пойдёт для сельской местности...

C>>Кстати, а что с Ajax'ом? Есть ли прозрачный form submit и обновление страницы (т.е. чтоб оно прозрачно присылало изменённые части DOM-дерева)?

N>Встроенной поддержки аякса практически нет (есть только необходимый минимум — например для ManyToManyField). Мы юзаем jQuery. В той же статье я отписывал как его юзать.
Вот я и спрашиваю. Как-то слишком много ручного труда получается Ну ладно, Ajax пока у нас не приоритетный.

Спасибо за ответы!

PS: а Pylons, случайно, не использовали?
Sapienti sat!
Re[9]: Python Django
От: Nuald Россия http://nuald.blogspot.com
Дата: 05.03.09 04:43
Оценка:
Здравствуйте, Cyberax, Вы писали:

N>>Встроенной поддержки аякса практически нет (есть только необходимый минимум — например для ManyToManyField). Мы юзаем jQuery. В той же статье я отписывал как его юзать.

C>Вот я и спрашиваю. Как-то слишком много ручного труда получается Ну ладно, Ajax пока у нас не приоритетный.

В принципе, грамотно написанные AJAX-компоненты не особо трудно прикручиваются. У нас не было проблем ни с MarkItUp!, ни с TinyMCE, ни с компонентами от YUI. Конечно, какой-то бэкенд писать надо, но на питоне с мощными возможностями джанго это не особо трудно.

C>PS: а Pylons, случайно, не использовали?


Слышал, но не использовал. В моих глазах он не достаточно Agile В частности нет автоматически генерируемой админки или даже просто форм, что заставляет писать лишний код. Условно я бы наверное его приравнял к Spring-у.
Re[10]: Python Django
От: Cyberax Марс  
Дата: 05.03.09 04:54
Оценка:
Здравствуйте, Nuald, Вы писали:

C>>Вот я и спрашиваю. Как-то слишком много ручного труда получается Ну ладно, Ajax пока у нас не приоритетный.

N>В принципе, грамотно написанные AJAX-компоненты не особо трудно прикручиваются. У нас не было проблем ни с MarkItUp!, ни с TinyMCE, ни с компонентами от YUI. Конечно, какой-то бэкенд писать надо, но на питоне с мощными возможностями джанго это не особо трудно.
Это не AJAX, это просто контролы.

Скажем, в Wicket'е я можно сделать AJAXовый submit формы буквально двумя строчками кода. То есть, после нажатия "submit" не будет делаться переход между страницами, а просто придут изменившиеся части DOM-дерева.

Как такое сделать в Django мне пока даже не понятно.

C>>PS: а Pylons, случайно, не использовали?

N>Слышал, но не использовал. В моих глазах он не достаточно Agile В частности нет автоматически генерируемой админки или даже просто форм, что заставляет писать лишний код. Условно я бы наверное его приравнял к Spring-у.
Spring мне как раз нравится — там можно что угодно к чему угодно подключать. Но да, согласен, Pylons уж очень минималистичный. Правда SQLAlchemy+Genshi весьма привлекательно выглядят. В Django уж очень разметка какая-то невнятная.
Sapienti sat!
Re[11]: Python Django
От: Nuald Россия http://nuald.blogspot.com
Дата: 05.03.09 05:18
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Скажем, в Wicket'е я можно сделать AJAXовый submit формы буквально двумя строчками кода. То есть, после нажатия "submit" не будет делаться переход между страницами, а просто придут изменившиеся части DOM-дерева.

C>Как такое сделать в Django мне пока даже не понятно.

Можно использовать стандартный функционал форм в Django:
  1. В коде создать форму (вручную или автоматически сгенерировать из модели, как это делается в админке).
  2. На форму прикрутить html-шаблон (включающую ту часть DOM-дерева которую вы хотите обновлять).
  3. В шаблоне уже приделать нужную логику.

В принципе, через jQuery просто вешается обработчик на click кнопки, который делает сабмит, а бэкэндом уже возвращается новый html (или что-то еще) для обновляемой части шаблона. Можно уложиться и в две строчки, если использовать всю мощь метапрограммирования питона и jquery

Вообще на схожую тему у меня были переговоры с разработчиками Django, и они объяснили мне свою позицию — если редко используемая фича прикручивается к веб-приложению на Django без модификации самого ядра Django, то внедрять эту фичу в ядро они не будут. Надо постараться, чтобы уломать их что-то включить в фреймворк.

N>>Слышал, но не использовал. В моих глазах он не достаточно Agile В частности нет автоматически генерируемой админки или даже просто форм, что заставляет писать лишний код. Условно я бы наверное его приравнял к Spring-у.

C>Spring мне как раз нравится — там можно что угодно к чему угодно подключать. Но да, согласен, Pylons уж очень минималистичный. Правда SQLAlchemy+Genshi весьма привлекательно выглядят. В Django уж очень разметка какая-то невнятная.

Genshi как раз к Django и прикручивается — intergrate mako and genshi with django
А вот со всем остальным могут быть проблемы. С другой стороны, как раз к ORM Django почти претензий и нет.
Re[12]: Python Django
От: Cyberax Марс  
Дата: 05.03.09 05:41
Оценка:
Здравствуйте, Nuald, Вы писали:

N>В принципе, через jQuery просто вешается обработчик на click кнопки, который делает сабмит, а бэкэндом уже возвращается новый html (или что-то еще) для обновляемой части шаблона. Можно уложиться и в две строчки, если использовать всю мощь метапрограммирования питона и jquery

Там далеко не всё так просто, как ты думаешь Я когда-то писал это всё руками (ещё до изобретения слова AJAX) — куча всяких интересных вещей вылезает.

Просто тут без реальной компонентной ориентации сложно что-то нормальное сделать. А компонентным Django не сделать.

N>Вообще на схожую тему у меня были переговоры с разработчиками Django, и они объяснили мне свою позицию — если редко используемая фича прикручивается к веб-приложению на Django без модификации самого ядра Django, то внедрять эту фичу в ядро они не будут. Надо постараться, чтобы уломать их что-то включить в фреймворк.

Если бы оно было, то использовалось бы не так уж и редко. По крайней мере, валидация формы "на лету" с помощью AJAX — это сейчас must have.

C>>Spring мне как раз нравится — там можно что угодно к чему угодно подключать. Но да, согласен, Pylons уж очень минималистичный. Правда SQLAlchemy+Genshi весьма привлекательно выглядят. В Django уж очень разметка какая-то невнятная.

N>Genshi как раз к Django и прикручивается — intergrate mako and genshi with django
Только вот кроме этого сниппета я ничего другого не нашёл

N>А вот со всем остальным могут быть проблемы. С другой стороны, как раз к ORM Django почти претензий и нет.

Я привык к возможностям Hibernate, до них Django ORM весьма далеко. А вот SQLAlchemy весьма близка.
Sapienti sat!
Re[13]: Python Django
От: Nuald Россия http://nuald.blogspot.com
Дата: 05.03.09 05:58
Оценка:
Здравствуйте, Cyberax, Вы писали:

N>>В принципе, через jQuery просто вешается обработчик на click кнопки, который делает сабмит, а бэкэндом уже возвращается новый html (или что-то еще) для обновляемой части шаблона. Можно уложиться и в две строчки, если использовать всю мощь метапрограммирования питона и jquery

C>Там далеко не всё так просто, как ты думаешь Я когда-то писал это всё руками (ещё до изобретения слова AJAX) — куча всяких интересных вещей вылезает.

Гм, а можно поподробнее? То, что я отписал (валидацию через аякс в джанго), я делал и никаких особо проблем не нашел. jQuery спасает от многих низкоуровневых вещей, типа ручной поддержки кучи браузеров. А вроде других проблем я не вижу.

C>Просто тут без реальной компонентной ориентации сложно что-то нормальное сделать. А компонентным Django не сделать.


Э-э-э, что-то я не особо понял Джанго очень даже из себя компонентный, и как раз работа с компонентами у него идет на ура. Но есть, конечно, кое-где неприятная сильная связанность — типа той аутентификации, или неменяемого ORM.

N>>Вообще на схожую тему у меня были переговоры с разработчиками Django, и они объяснили мне свою позицию — если редко используемая фича прикручивается к веб-приложению на Django без модификации самого ядра Django, то внедрять эту фичу в ядро они не будут. Надо постараться, чтобы уломать их что-то включить в фреймворк.

C>Если бы оно было, то использовалось бы не так уж и редко. По крайней мере, валидация формы "на лету" с помощью AJAX — это сейчас must have.

Во-первых, для этого не нужно менять ядро. Есть решения, которые легко внедряются — Django generic AJAX form validation.
Во-вторых, насчет must-have я бы особо не торопился. Возможно, в вашем сегменте это и актуально, а для западного рынка скорость клиентской и серверной валидации практически идентичны. А зачастую AJAX-валидация и не нужна, т.к. используются хитроумные яваскрипт-компоненты (типа поле ввода, которое поддерживает только числа)

N>>А вот со всем остальным могут быть проблемы. С другой стороны, как раз к ORM Django почти претензий и нет.

C>Я привык к возможностям Hibernate, до них Django ORM весьма далеко. А вот SQLAlchemy весьма близка.

Django не серебряная пуля, спора нет. Иногда я его искренне ненавижу. Но особо выбора пока и нет — у других фреймворков есть другие недостататки, которые в моих глазах перевешивают достоинства. Хочу посмотреть в сторону Grails, но пока особо не было времени.
Re[14]: Python Django
От: Cyberax Марс  
Дата: 05.03.09 06:30
Оценка:
Здравствуйте, Nuald, Вы писали:

C>>Там далеко не всё так просто, как ты думаешь Я когда-то писал это всё руками (ещё до изобретения слова AJAX) — куча всяких интересных вещей вылезает.

N>Гм, а можно поподробнее? То, что я отписал (валидацию через аякс в джанго), я делал и никаких особо проблем не нашел. jQuery спасает от многих низкоуровневых вещей, типа ручной поддержки кучи браузеров. А вроде других проблем я не вижу.
Для примера смотри сюда: http://www.wicketstuff.org/wicket13/ajax/ (к примеру, вот сюда: http://www.wicketstuff.org/wicket13/ajax/todo-list ). Причём AJAX там обычно добавляется без единой строчки JavaScript'а, просто к компонентам подключается AjaxBehaviour и усё.

C>>Просто тут без реальной компонентной ориентации сложно что-то нормальное сделать. А компонентным Django не сделать.

N>Э-э-э, что-то я не особо понял Джанго очень даже из себя компонентный, и как раз работа с компонентами у него идет на ура. Но есть, конечно, кое-где неприятная сильная связанность — типа той аутентификации, или неменяемого ORM.
Я про другую компонентость, когда страница представляет из себя набор компонентов, для которых фреймворк обеспечивает события, lifecycle и т.п.

Кое-что можно эмулировать, но целиком аналог Wicket или ASP.NET сделать не получится.

C>>Если бы оно было, то использовалось бы не так уж и редко. По крайней мере, валидация формы "на лету" с помощью AJAX — это сейчас must have.

N>Во-первых, для этого не нужно менять ядро. Есть решения, которые легко внедряются — Django generic AJAX form validation.
Это всё полурешения...

N>Во-вторых, насчет must-have я бы особо не торопился. Возможно, в вашем сегменте это и актуально, а для западного рынка скорость клиентской и серверной валидации практически идентичны. А зачастую AJAX-валидация и не нужна, т.к. используются хитроумные яваскрипт-компоненты (типа поле ввода, которое поддерживает только числа)

Фичи типа красивых переходов между страницами, всяких там AJAX-овых login box'ов — очень популярны. И работают реально намного быстрее полной перерисовки, если правильно делать.

C>>Я привык к возможностям Hibernate, до них Django ORM весьма далеко. А вот SQLAlchemy весьма близка.

N>Django не серебряная пуля, спора нет. Иногда я его искренне ненавижу. Но особо выбора пока и нет — у других фреймворков есть другие недостататки, которые в моих глазах перевешивают достоинства. Хочу посмотреть в сторону Grails, но пока особо не было времени.
Я смотрел Grails. Как-то не вставило совсем — активные записи реализованы поверх Hibernate и смотрятся совершенно искусственно и т.п.
Sapienti sat!
Re[15]: Python Django
От: Nuald Россия http://nuald.blogspot.com
Дата: 05.03.09 10:22
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Для примера смотри сюда: http://www.wicketstuff.org/wicket13/ajax/ (к примеру, вот сюда: http://www.wicketstuff.org/wicket13/ajax/todo-list ). Причём AJAX там обычно добавляется без единой строчки JavaScript'а, просто к компонентам подключается AjaxBehaviour и усё.


Спасибо, буду знать.

Я хотел бы немного разъяснить свою позицию, и направить общение в более конструктивное русло, а то получается уже какой-то флейм:
  1. Django — не серебряная пуля, в нем есть свои недостатки и достоинства. Защищать, а тем более восхвалять его не вижу смысла.
  2. Особо упирать на аякс я также не вижу смысла. Если делать сайт для конкретного заказчика под конкретные задачи, скажем, в корпоративном секторе, то да — там можно поставить свои условия, вплоть до того, что все пользователи сайта должны пользоваться исключительно FF 3 с включенным яваскриптом. Однако там, где я работаю, мы ориентируемся на максимальный охват пользователей, включая тех, кто выключает яваскрипт. Аякс конечно мы используем, но лишь как приятное дополнение, и критичной функциональности на него не вешаем.
  3. Я могу ответить на вопросы, как сделать то или иное в Django, или что это сделать нельзя, но сравнение с другими фреймворками — это уже совершенно другая тема. На нее тоже можно поговорить, но лучше в другой ветке.

И несколько слов про мое видение работы с Django.

У Django есть одно несомненное преимущество — сайты на нем пишутся очень быстро. Например, простейшую вики с тегами, поиском, автолинками, минимальной поддержкой форматирования, плюс полностью покрытую юнит-тестами может написать разработчик средней квалификации за один рабочий день. Я не говорю про высококвалифицированных разработчиков — им не важно на чем писать, они напишут на чем угодно очень быстро. Порог вхождения в Python и Django достаточно низкий, и научиться на них работать не займет много времени. Плюс к тому же Django провоцирует на написание более или менее качественного кода (в этом плане использование Genshi только все испортит, т.к. шаблоны на ней позволяют слишком много, вплоть до встраивания методов в шаблоны).

Но, конечно, у Django есть свои недостатки, которые более или менее раскрыты в этой ветке. И в этом плане, разработка на Django очень подходит для прототипирования — быстренько пишется сайт, согласуется с клиентом, кое-что правится и все — альфа версия готова. Теперь уже разработчик решает — использовать ли Django дальше, или переходить на другую, более качественную систему — ту же связку Spring + Hibernate + Velocity + Wicket. Конечно, есть задачи, для которых Django вообще никак не подходит, даже для прототипирования — те же самые Ajax-based приложения. Здесь уже надо смотреть на другие фреймворки, тот же GWT или что-то другое.
Re[16]: Python Django
От: Cyberax Марс  
Дата: 05.03.09 17:27
Оценка:
Здравствуйте, Nuald, Вы писали:

Спасибо за ответы!

N>Но, конечно, у Django есть свои недостатки, которые более или менее раскрыты в этой ветке. И в этом плане, разработка на Django очень подходит для прототипирования — быстренько пишется сайт, согласуется с клиентом, кое-что правится и все — альфа версия готова. Теперь уже разработчик решает — использовать ли Django дальше, или переходить на другую, более качественную систему — ту же связку Spring + Hibernate + Velocity + Wicket. Конечно, есть задачи, для которых Django вообще никак не подходит, даже для прототипирования — те же самые Ajax-based приложения. Здесь уже надо смотреть на другие фреймворки, тот же GWT или что-то другое.

Просто когда будет написаный сайт — переписывать его уже хотеться не будет Вот и хочется заранее узнать где подстелить соломку.
Sapienti sat!
Re[17]: Python Django
От: Курилка Россия http://kirya.narod.ru/
Дата: 05.03.09 17:42
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Просто когда будет написаный сайт — переписывать его уже хотеться не будет Вот и хочется заранее узнать где подстелить соломку.


premature optimisation?
Re[18]: Python Django
От: Cyberax Марс  
Дата: 06.03.09 01:09
Оценка:
Здравствуйте, Nuald, Вы писали:

N>
  • Производительность. На самом деле Django очень high-scaled фреймворк — то, что на нем крутится New Your Times и блог Медведева с реально ощутимым количеством хитов, о чем-нибудь да говорит. Но если все-таки писать что-то типа Twitter-а или Google-а, то надо тщательно проработь архитектуру. Python может стать очень узким местом, и придется либо жертвовать памятью и делать кэширование всего и вся, плюс внедрять load-balancing сервера, либо переписывать с нуля на C++ c FastCGI. Возможно, Java-based фреймворки тоже могут с этим помочь, но здесь я немного отстал от жизни — в свое время (java1.4) все было еще совершенно не блеск.
    У меня максимум на миллион хитов в день рассчитывается. Так что Питон особо не будет напрягаться.

    N>
  • Интеграция с различными сервисами. Для примера возьму Kerberos-аутентификацию. В Python и Django встроенной поддержки кербероса нет, надо либо прикручивать через ctypes, либо искать внешние модули. В админке Django вообще все плохо с аутентификацией. В то же время в той же Java есть JAAS. Так что если предполагается тесная интеграция с внешними сервисами, надо этот вопрос сразу рассматривать.
    Kerberos и авторизацию по сертефикатам я как раз собираюсь прикрутить Ничего там сложного быть не должно.
  • Sapienti sat!
    Re[19]: Python Django
    От: Nuald Россия http://nuald.blogspot.com
    Дата: 06.03.09 01:34
    Оценка:
    Здравствуйте, Cyberax, Вы писали:

    C>Kerberos и авторизацию по сертефикатам я как раз собираюсь прикрутить Ничего там сложного быть не должно.


    О-о-о, если прикрутишь, дай мне знать плиз (если конечно это не будет под NDA) Я у себя в блоге как раз про Kerberos писал, но вот поиски в области разработки приложений с его использованием много нарыть не удалось: Organizing Kerberos-based infrastructure
    Re[20]: Python Django
    От: Cyberax Марс  
    Дата: 06.03.09 02:01
    Оценка:
    Здравствуйте, Nuald, Вы писали:

    C>>Kerberos и авторизацию по сертефикатам я как раз собираюсь прикрутить Ничего там сложного быть не должно.

    N>О-о-о, если прикрутишь, дай мне знать плиз (если конечно это не будет под NDA)
    В OpenSource выложу.

    N>Я у себя в блоге как раз про Kerberos писал, но вот поиски в области разработки приложений с его использованием много нарыть не удалось: Organizing Kerberos-based infrastructure

    Kerberos хоть сейчас можно с помощью Апача прикрутить, было бы желание (я даже находил в сети об этом упоминания).

    PS: кстати, Win2k/XP прекрасно работают в обычном Kerberos-домене.
    Sapienti sat!
    Re[21]: Python Django
    От: Nuald Россия http://nuald.blogspot.com
    Дата: 06.03.09 02:25
    Оценка:
    Здравствуйте, Cyberax, Вы писали:

    C>Kerberos хоть сейчас можно с помощью Апача прикрутить, было бы желание (я даже находил в сети об этом упоминания).


    Про апач я в курсе, я говорю про собственно веб-приложение. На уровне апача ты разруливаешь доступ, а скажем, что делать если у тебя логика приложения завязана на учетку? Т.е. например, в веб-приложении встроена авторизация, которая в зависимости от пользователя назначает ему нужную роль. Апач обеспечивает только аутентификацию. А веб-приложение должно взять kerberos-ticket, и из него вытащить всю нужную инфу.

    C>PS: кстати, Win2k/XP прекрасно работают в обычном Kerberos-домене.


    Т.е. ты хочешь сказать, если что у меня скажем поднят OpenLDAP+Samba+Kerberos, расшарены ресуры под самбой, и пользователь с винды находится в домене Kerberos-а, то сможет нормально зайти на расшаренный ресурс? Такое настроить можно, но насколько я помню, для этого домен должен быть поднят на самбе, а она уже сама коннектится к KAS. Если я не прав, то направь меня плиз в нужном направлении, а то ничего особо не смог найти. Конечно, еще остаются открытые вопросы по GPO и т.п., но мне это особо неинтересно — всегда можно в профиль пользователя добавить командный файл, который при логине будет отрабатываться и делать все необходимые манипуляции с реестром и файловой системой (насколько я знаю, GPO примерно так и работает).
    Re[22]: Python Django
    От: Cyberax Марс  
    Дата: 06.03.09 02:37
    Оценка:
    Здравствуйте, Nuald, Вы писали:

    C>>Kerberos хоть сейчас можно с помощью Апача прикрутить, было бы желание (я даже находил в сети об этом упоминания).

    N>Про апач я в курсе, я говорю про собственно веб-приложение. На уровне апача ты разруливаешь доступ, а скажем, что делать если у тебя логика приложения завязана на учетку? Т.е. например, в веб-приложении встроена авторизация, которая в зависимости от пользователя назначает ему нужную роль. Апач обеспечивает только аутентификацию. А веб-приложение должно взять kerberos-ticket, и из него вытащить всю нужную инфу.
    Из krb-тикета ты особо ничего кроме принципала пользователя не возьмёшь, а его Apache тебе и так даст. А дальше уже используешь средства самого приложения для авторизации.

    Единственная проблема, мне нужно будет поддерживать дальнейшее делегирование с помощью этого тикета, так что для меня прозрачная авторизация в Апаче не подойдёт.

    C>>PS: кстати, Win2k/XP прекрасно работают в обычном Kerberos-домене.

    N>Т.е. ты хочешь сказать, если что у меня скажем поднят OpenLDAP+Samba+Kerberos, расшарены ресуры под самбой, и пользователь с винды находится в домене Kerberos-а, то сможет нормально зайти на расшаренный ресурс?
    Да.

    N>Такое настроить можно, но насколько я помню, для этого домен должен быть поднят на самбе, а она уже сама коннектится к KAS. Если я не прав, то направь меня плиз в нужном направлении, а то ничего особо не смог найти. Конечно, еще остаются открытые вопросы по GPO и т.п., но мне это особо неинтересно — всегда можно в профиль пользователя добавить командный файл, который при логине будет отрабатываться и делать все необходимые манипуляции с реестром и файловой системой (насколько я знаю, GPO примерно так и работает).

    Ставишь Microsoft Resource Kit, там есть нужные утиллиты. Пользовался этим вот howto: http://www.upenn.edu/computing/pennkey/sysadmin/e_install_win/win-config.html

    В ближайшем будущем можно на сервере поднять Samba4 — туда как раз на этой неделе добавляют полную поддержку LDAP-схемы ActiveDomain'а. Там вообще будет всё круто.

    Но это уже лучше в другой форум идти.
    Sapienti sat!
    Re[23]: Python Django
    От: Nuald Россия http://nuald.blogspot.com
    Дата: 06.03.09 02:54
    Оценка:
    Здравствуйте, Cyberax, Вы писали:

    C>Из krb-тикета ты особо ничего кроме принципала пользователя не возьмёшь, а его Apache тебе и так даст. А дальше уже используешь средства самого приложения для авторизации.

    C>Единственная проблема, мне нужно будет поддерживать дальнейшее делегирование с помощью этого тикета, так что для меня прозрачная авторизация в Апаче не подойдёт.

    Гм, я читанул маны, и обнаружил, что в принципе все не так сложно, как кажется — у mod_auth_kerb есть опция KrbSaveCredentials, которая сохраняет тикет в кэш, а имя файла в переменную окружения KRB5CCNAME. Осталось только написать обертку на питоне, и все.

    C>>>PS: кстати, Win2k/XP прекрасно работают в обычном Kerberos-домене.

    C>Ставишь Microsoft Resource Kit, там есть нужные утиллиты. Пользовался этим вот howto: http://www.upenn.edu/computing/pennkey/sysadmin/e_install_win/win-config.html

    Не, я говорю про чисто Linux-based solution. Т.е. например, у нас есть такая проблема — виндами мы вообще не пользуемся, и только поднято некоторое количество виртуальных машин с клиентскими инсталляциями Windows. Они нам нужны исключительно для проверки работоспособности софта. Покупать Windows-сервер вообще смысла нет, т.к. на нем ничего крутить особо и ну будет. А домен хочется, т.к. хочется обеспечить SSO даже для немногочисленных инсталляций Windows.

    C>В ближайшем будущем можно на сервере поднять Samba4 — туда как раз на этой неделе добавляют полную поддержку LDAP-схемы ActiveDomain'а. Там вообще будет всё круто.


    Да, в курсе, все с нетерпением ждем

    C>Но это уже лучше в другой форум идти.


    Пусть модераторы выделят в отдельную ветку Ау, вы где?

    Меня просто этот вопрос сильно интересует, но катастрофически не хватает времени, чтобы все настроить и поэкспериментировать. Вот тот же самый NuFW фаервол — вещь исключительно интересная, скачал LiveCD, в очередной раз возненавидел французов за их исключительно патриотическое отношение к своему языку, поигрался и забыл, т.к. больше времени не было. Поэтому хотелось бы пообщаться с тем, что имеет больше опыта в этом деле.
    Re[24]: Python Django
    От: Cyberax Марс  
    Дата: 06.03.09 03:11
    Оценка:
    Здравствуйте, Nuald, Вы писали:

    C>>Единственная проблема, мне нужно будет поддерживать дальнейшее делегирование с помощью этого тикета, так что для меня прозрачная авторизация в Апаче не подойдёт.

    N>Гм, я читанул маны, и обнаружил, что в принципе все не так сложно, как кажется — у mod_auth_kerb есть опция KrbSaveCredentials, которая сохраняет тикет в кэш, а имя файла в переменную окружения KRB5CCNAME. Осталось только написать обертку на питоне, и все.
    Некрасиво. Кроме того, я всё под lighty хочу запускать. Не люблю Апач.

    C>>Ставишь Microsoft Resource Kit, там есть нужные утиллиты. Пользовался этим вот howto: http://www.upenn.edu/computing/pennkey/sysadmin/e_install_win/win-config.html

    N>Не, я говорю про чисто Linux-based solution. Т.е. например, у нас есть такая проблема — виндами мы вообще не пользуемся, и только поднято некоторое количество виртуальных машин с клиентскими инсталляциями Windows. Они нам нужны исключительно для проверки работоспособности софта. Покупать Windows-сервер вообще смысла нет, т.к. на нем ничего крутить особо и ну будет.
    Я про это и говорю. Ставишь Kerberos+LDAP, настраиваешь всё что тебе нужно на Линуксах. На клиентских Windows-машинах ставишь Resource Kit, там есть утиллита ksetup — с помощью неё уже настраиваешь вхождение в область Kerberos.

    N>А домен хочется, т.к. хочется обеспечить SSO даже для немногочисленных инсталляций Windows.

    Аналогично.

    N>Пусть модераторы выделят в отдельную ветку Ау, вы где?

    Не проснулись ещё. Не все же в Хабаровске

    N>Меня просто этот вопрос сильно интересует, но катастрофически не хватает времени, чтобы все настроить и поэкспериментировать. Вот тот же самый NuFW фаервол — вещь исключительно интересная, скачал LiveCD, в очередной раз возненавидел французов за их исключительно патриотическое отношение к своему языку, поигрался и забыл, т.к. больше времени не было. Поэтому хотелось бы пообщаться с тем, что имеет больше опыта в этом деле.

    Я занимаюсь всякими настройками, когда делать что-то нужное совсем лень.
    Sapienti sat!
    Re[25]: Python Django
    От: Nuald Россия http://nuald.blogspot.com
    Дата: 06.03.09 03:49
    Оценка:
    Здравствуйте, Cyberax, Вы писали:

    C>Некрасиво. Кроме того, я всё под lighty хочу запускать. Не люблю Апач.


    Ты говоришь про lighttpd? А он разве поддерживает Kerberos?

    C>Я про это и говорю. Ставишь Kerberos+LDAP, настраиваешь всё что тебе нужно на Линуксах. На клиентских Windows-машинах ставишь Resource Kit, там есть утиллита ksetup — с помощью неё уже настраиваешь вхождение в область Kerberos.


    А, понял. Спасибо, потом проверю.
    Re[26]: Python Django
    От: Cyberax Марс  
    Дата: 06.03.09 04:00
    Оценка:
    Здравствуйте, Nuald, Вы писали:

    C>>Некрасиво. Кроме того, я всё под lighty хочу запускать. Не люблю Апач.

    N>Ты говоришь про lighttpd? А он разве поддерживает Kerberos?
    Нет (точнее, пока нет — есть патч). Но от сервера для поддержки Kerberos нужно только чтоб он заголовки пропускал, а остальное уже в прикладном коде делается.
    Sapienti sat!
    Re[27]: Python Django
    От: Nuald Россия http://nuald.blogspot.com
    Дата: 06.03.09 04:09
    Оценка:
    Здравствуйте, Cyberax, Вы писали:

    N>>Ты говоришь про lighttpd? А он разве поддерживает Kerberos?

    C>Нет (точнее, пока нет — есть патч). Но от сервера для поддержки Kerberos нужно только чтоб он заголовки пропускал, а остальное уже в прикладном коде делается.

    Ну круто. Значит решение под mod_kern_auth ты называешь некрасивым, а при этом собираешься писать свой велосипед? Это ж как апач надо не любить?
    Что он тебе такого плохого сделал, кроме тормозов?
    Re[28]: Python Django
    От: Cyberax Марс  
    Дата: 06.03.09 05:09
    Оценка:
    Здравствуйте, Nuald, Вы писали:

    C>>Нет (точнее, пока нет — есть патч). Но от сервера для поддержки Kerberos нужно только чтоб он заголовки пропускал, а остальное уже в прикладном коде делается.

    N>Ну круто. Значит решение под mod_kern_auth ты называешь некрасивым, а при этом собираешься писать свой велосипед? Это ж как апач надо не любить?
    PyKerberos уже есть, так что большая часть велосипеда написана.

    N>Что он тебе такого плохого сделал, кроме тормозов?

    Съел мою кошку

    А если серьёзно, то тормоза и идиотские проблемы с конфигурацией просто давно достали.
    Sapienti sat!
    Re[2]: Python Django
    От: jarlaxle  
    Дата: 13.03.09 21:41
    Оценка:
    Здравствуйте, Nuald, Вы писали:

    >Вообще, я планирую написать в ближайшее время сравнительный обзор всех современных "Agile" фреймворков: Django, RoR, Grails, Perl Catalyst, но пока не могу изыскать времени. Там бы я рассмотрел все плюсы и минусы.


    Написали? Можно ссылку?
    Re[4]: Python Django
    От: Курилка Россия http://kirya.narod.ru/
    Дата: 14.03.09 05:20
    Оценка:
    Здравствуйте, Nuald, Вы писали:

    N> А то, что Rails реально крутой язык, на котором можно сворганить свой DSL и предоставить заказчику разрабатывать программы на высоком уровне, меня совершенно не волнует, т.к. такого рода задачи возникают ну реально редко


    Долго думал по поводу выделенного
    Re[5]: Python Django
    От: Nuald Россия http://nuald.blogspot.com
    Дата: 15.03.09 00:09
    Оценка:
    Здравствуйте, Курилка, Вы писали:

    N>> А то, что Rails реально крутой язык, на котором можно сворганить свой DSL и предоставить заказчику разрабатывать программы на высоком уровне, меня совершенно не волнует, т.к. такого рода задачи возникают ну реально редко


    К>Долго думал по поводу выделенного


    Упс, опечатался
     
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.