Bo Lorentsen
bl at netgroup.dk
Sat Aug 14 15:39:13 EDT 2004
On Fri, 2004-08-13 at 23:36, Amir Salihefendic wrote: > I would also really like to see more examples. And get some advice :)! I do understand your problem, as I was in the same situation for about a half year ago. I tested the old mod_python (2.7) on apache 1.3, and as I needed sessions, I felt I had to make to much code to make it worth the while. But then I tested version 3.x and apache2, and it all changed, it now has sessions, and other "basic" stuff, and it all work as expected. mod_python don't work as php, but I found it more easy to structure my code, when I got use to the "new" way of modelling. Hmm, I don't know if this is usefull information :-) > Anyway, I have also done some work in PHP, ASP and eRuby - - and I must > say that mod_python is way more powerful - - especially because you > have such a control over the Apache server. The publisher handler is > really great - mixing that up with PSP for handling templates - - and > boom, you got a really neat and powerful web-development tool! But you > really got to know what you are doing - -because there isn't much of > help out there... Well, the python language are very common and you can get all the help you like, and af for mod_python, this mailling list have some quite nice and helpfull people, and they know stuff, too :-) > Anyway, some of you elite mod_python users, couldn't you post some > advice - tips and tricks? > Here is some aspects I want to know more about: Good idea ... I answer a few :-) > - How do you build your application (structure)? I use a OO model of "html renders", and database relations to automaticlly generate HTML form output. This way I can concentrate my mind on data relations and data flow (I am not a good web designer, so I make it easy for somebody else to deside how things must look). I even have build my own database abstraction layer, that I use both in C++ and Python (its written in C++). It is so nice to have only (I used four before) two languages to write in : Python for WUI and general scripting, and C/C++ for high performance backend code. > - How do you transport data in your application? Of course, you may use > publisher, you own handlers etc - - But how do you do internal data > transportation (i.e. for your own function calls, callbacks, classes > etc.)? A homebuild HTML render class library, so you will se absolut NO HTML in my normal Python code, as it is issolated in a few modules. > - How do you optimize your application? What can optimize an > application (i.e. your experience with optimizing applications)? Well, have not done much here, python has an OK speed, and my biggest problem remains the database and not Python. I use connection pools for the database but that is about it for now. > - How do you debug? Now, this is what really makes Python shine ... I use the python exception system, and this is really nice. I make sure to raise exceptions whenever something is wrong and then I catch them in the finale "render" function. Here I can print out stacktraces, or even send them to myself as an email, and make i nice message to the enduser. I really like the exception model (also in C++), and the only alternertive to Python would be Ruby, but Ruby uses "memory sweep GC" (as in Java and D) and I hate that :-) > - How do you handle access to a database? Do you use global connection? As I wrote, I made me own DB abstraction (addes type checking, relations and more), but I also uses psycopg for some reporting. I quess the connection is like a global connection, and as I use the apache2 process model, this works out just nice. And yes ... I use PostgreSQL. > Could you share how you have builded your database system? That would be a big issue and not very geneal (except if you make a payment system :-)), what exactly do you what to know ? > Well, just write about your own experience ;-) Well I tried :-) /BL
|