Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 29, 2008 13:20:45

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Сервер - структура

а select не из этой же оперы?

Офлайн

#2 Апрель 29, 2008 23:15:50

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Сервер - структура

Из той-же.
У меня все нити изолированые. Это решает часть проблем с безопастностью, а select, ИМХО, довольно тяжёл в программировании. Когда начинал, пытался его прикрутить, но ничего путного, по Дзэн, не вышло. Не понимаю я как с ним работать! Особенно, когда этих сокетов тысяча-другая и всем чё-то надо…



Офлайн

#3 Апрель 30, 2008 11:35:59

redixin
От:
Зарегистрирован: 2006-11-27
Сообщения: 66
Репутация: +  1  -
Профиль   Отправить e-mail  

Сервер - структура

ZZZ
Особенно, когда этих сокетов тысяча-другая и всем чё-то надо…
темболее лучше переваривать все асинхронно, а не плодить тысячу-другую тредов
в twisted это все уже есть, нужно просто научиться готовить
для таких приложений треды не годятся (это не имхо, это факт. где вы видели IM сервер на тредах? или какойнить игровой сервер? или прокси сервер? веб сервер? (апач это исключение, феномен который требует изучения))



Офлайн

#4 Апрель 30, 2008 13:19:13

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Сервер - структура

redixin
на сколько я знаю топикстартеру это надо для клиента на моб тел, там твистед не покатит)

Офлайн

#5 Май 1, 2008 02:17:16

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Сервер - структура

redixin
темболее лучше переваривать все асинхронно, а не плодить тысячу-другую тредов
Как??? Я, наверное, не понял select вообще! Мне казалось, что оно как раз-таки синхронное… Буду благодарен за небольшой пример.

slav0nic
в twisted это все уже есть, нужно просто научиться готовить
В него я тоже не до конца врубился. Правильно тут кто-то сказал – нужна пара лет, на то, чтобы научится мыслить его образами.

P.S. Проблему GIL, вроде, можно решить… блин, не помню названий… использованием не CPython. Да и опять же, у меня нити связаны только СУБД, и для каждой нити своё соединение с ней.
P.P.S. Это не IM, но и его на моей архитекруре построить можно будет. Даже в планах есть.
P.P.P.S. Хреновый я архитектор… :-/



Офлайн

#6 Май 1, 2008 06:29:23

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Сервер - структура

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

Для меня самая главная проблема в twisted была именно в “перестройке мозгов”.
Начал изучать “реактивность” с ACE от Дугласа Шмита (http://www.cs.wustl.edu/~schmidt/ACE.html). Недавно увидел перевод его книги: http://oz.by/books/more.phtml?id=106709&partner=rsdn
Несмотря на то, что язык программирования С++ - проблемы общие. Автор предлагает design patterns, иллюстрируя их на плюсах. Рекомендую.
На twisted эти шаблоны реализованы весьма изящно (лучшего еще не видел).

Для ускорения процесса рекомендую посетить следующий семинар программирования на Питоне (exception.org.ua).
Мероприятие состоится 24 мая.
Я имею честь проводить мастер-класс именно по twisted. Должно получиться не хуже, чем с метаклассами и дескрипторами.

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

PS
По поводу архитектуры:
прочитал сегодня пост Блинкова: http://www.insight-it.ru/net/scalability/arkhitektura-livejournal/

“Мы ненавидим изобретать колесо! Но тем не менее, если колесо не существует или оно квадратное, то мы не боимся изобретать круглое колесо.” (с)
Готов подвисаться под каждым словом :)



Отредактировано (Май 1, 2008 06:36:59)

Офлайн

#7 Май 1, 2008 15:12:17

nerezus
От:
Зарегистрирован: 2006-08-01
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

Сервер - структура

на сколько я знаю топикстартеру это надо для клиента на моб тел, там твистед не покатит)
Нед, точнее да, но не только ) Первоочередная задача - десктоп.



Офлайн

#8 Май 2, 2008 00:12:49

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Сервер - структура

Андрей Светлов
Для ускорения процесса рекомендую посетить следующий семинар программирования на Питоне (exception.org.ua).
Мероприятие состоится 24 мая.
Блин. Не успеваю… Вот если бы в июне-августе…

Андрей Светлов
Я имею честь проводить мастер-класс именно по twisted. Должно получиться не хуже, чем с метаклассами и дескрипторами.
Ссылочку? Интересно…

Андрей Светлов
На данный момент не имею достаточно материалов, чтобы выложить как статью. Все еще в стадии окончательной подготовки и усушки-утряски.
Было бы хорошо, чтобы эта статья всё-таки вышла как статья.

Андрей Светлов
“Мы ненавидим изобретать колесо! Но тем не менее, если колесо не существует или оно квадратное, то мы не боимся изобретать круглое колесо.” (с)
Готов подвисаться под каждым словом :)
Вот этим я и занимаюсь. Достало, блин.


Вопрос. Как у twisted с безопастностью. У меня, как вы уже успели заметит, довольно жёсткие требования по её обоспечению. Притом, мне нужно не просто допустить или недопустить юзера по хэшу пароля из субд, а ограничивать его возможность. Нынешний вариант (уже третий!) именно под это и заточен. Вся архитектура модульная и пользователь не должен мочь использовать функуионал, который специально не разрешён ему.

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



Офлайн

#9 Май 2, 2008 04:33:12

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Сервер - структура

ZZZ
Блин. Не успеваю… Вот если бы в июне-августе…
В июне-августе, надеюсь, Иван mkdir сделает следующий exception. Тоже интересный

ZZZ
Ссылочку? Интересно…
http://exception.org.ua/media/materials/exception-conference-07/andrey_svetlov_-_metaclasses.py

ZZZ
Было бы хорошо, чтобы эта статья всё-таки вышла как статья.
Посмотрим. Дополнительная особенность в том, что я провожу мастер-классы, а не обычные лекции. Способ подачи материала сильно отличается. Соответственно отличается и способ подготовки к докладу.

ZZZ
Вопрос. Как у twisted с безопастностью. У меня, как вы уже успели заметит, довольно жёсткие требования по её обоспечению. Притом, мне нужно не просто допустить или недопустить юзера по хэшу пароля из субд, а ограничивать его возможность. Нынешний вариант (уже третий!) именно под это и заточен. Вся архитектура модульная и пользователь не должен мочь использовать функуионал, который специально не разрешён ему.
twisted не занимается вопросами безопасности. Это просто легковесный (гусары, молчать!) асинхронный фреймворк для написания сетевого взаимодействия. Плюс готовые реализации для поддержки различных протоколов. Ничего больше.

ZZZ
Плюс. Мне нужно удобство использования для разработчиков новых модулей. Ибо их нужно много и разных. И, само собой, простота их динамического подключения.
С этим - к плагинам. Твистед имеет подсистему для плагинов, но я не уверен, что она мне нравится (и использовать ее необязательно). Есть еще ряд других решений. Разговаривать можно долго, но сначала необходимо определить конкретные требования. И от них отталкиваться.



Офлайн

#10 Май 3, 2008 01:07:01

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Сервер - структура

Андрей Светлов
В июне-августе, надеюсь, Иван mkdir сделает следующий exception. Тоже интересный
Интересный – это одно, а меня сейчас не всё интересует. Посморим.

Андрей Светлов
http://exception.org.ua/media/materials/exception-conference-07/andrey_svetlov_-_metaclasses.py
То что нужно! Огромное спасибо! Я уже с пол-года пытаюсь найти простые примеры создания и использования метаклассов. А о дескрипторах вообще узнал только месяц назад. Всё удивлялся, как property работает…

Андрей Светлов
Посмотрим. Дополнительная особенность в том, что я провожу мастер-классы, а не обычные лекции. Способ подачи материала сильно отличается. Соответственно отличается и способ подготовки к докладу.
Если не секрет, в чём отличие мастер-классов от лекций.


Андрей Светлов
twisted не занимается вопросами безопасности. Это просто легковесный (гусары, молчать!) асинхронный фреймворк для написания сетевого взаимодействия. Плюс готовые реализации для поддержки различных протоколов. Ничего больше.
Легковесный??? А чтоже тогда “тяжеловесный”? Реализация COBRA на Qt3-console??? :-)
При первом рассмотрении мне в глаза бросилось именно то, что он громоздк. При втором тоже. Куда более легковесный Ice и тот для меня слишком громоздк!..
Я привык использовать unix-way. Единственное исключение, собственно Qt, но и его я использую только для отрисовки интерфейса и иногда для коннекта к СУБД (QSqlQueryModel рулит!). (Не надо мне про unix-way в wx! Слабенький он.)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version