Python论坛  - 讨论区

标题:[python-chinese] 请教几个问题

2006年11月20日 星期一 23:24

heyuqi yuqi.he在gmail.com
星期一 十一月 20 23:24:25 HKT 2006

大家好,我想向各位前辈请教几个程序设计方面的问题。

我们现在正在做网络的课程设计,实现一个类似 MSN 功能的软件(呵呵,国内的课程设计做来做去也就是这几个东西了)

本来想用 python 来实现的,可是只有 10 天时间,虽然学过 python ,但是没有实际运用过,只好放弃了。但想着在课设以后用 python
重新实现一篇。

我们的程序是 C/S 结构的,为了数据的安全,所以把数据库与客户端的数据传输用一个服务器程序隔离开来。而数据间的传送用 XML 表达。不知道这样好不好?

现在用的是 java,所以用的 XML 解析库是 dom4j。那在 python 中有什么库可用的?

还有一个是关于数据库设计的问题。

我们的程序要实现组的管理,一个用户可以存在于多个组中,我在犹豫着数据库中怎么实现。

一开始,我想到的是创建一个 contacts 表,里面包括用户组 id、用户 id、联系人的用户 id。因为组是多个的,不可能保存在 user
表中。实现的时候,把特定的用户 id 相关内容从 contacts 表搜索出来。然后通过 API 组织 XML 文件,再发给 client。

但是后来又想想,还不如直接把 XML 文件保存到 user 表中好了,反正 client 端编辑后组织生成 XML 文件后,再发到 server
端的。生成 XML --> 传送到 server --> 解析 XML --> 保存信息 --> 生成 XML --> 传送到 client
,这样挺麻烦的。

但觉得直接把 XML 文件保存到 user 表中对以后的扩展不好,不知前辈们是怎么看的。

呵呵,没做过什么实现用的网络程序,只是从书本上学到一些东西,不清楚数据库应该设计。

还有就是,如果用 python 实现像 MSN 这样的程序用什么库实现 UI 好,python 中好像有很多库,但选择起来都不知道用哪个库好。

我想我以后用 python 实现的都是一些小工具,在 Windows/UNIX 下运行的。

在这里,向各位前辈请教一下。
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20061120/241c45bc/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年11月21日 星期二 08:27

limodou limodou在gmail.com
星期二 十一月 21 08:27:52 HKT 2006

On 11/20/06, heyuqi <yuqi.he在gmail.com> wrote:
> 大家好,我想向各位前辈请教几个程序设计方面的问题。
>
> 我们现在正在做网络的课程设计,实现一个类似 MSN 功能的软件(呵呵,国内的课程设计做来做去也就是这几个东西了)
>
> 本来想用 python 来实现的,可是只有 10 天时间,虽然学过 python ,但是没有实际运用过,只好放弃了。但想着在课设以后用 python
> 重新实现一篇。
>
> 我们的程序是 C/S 结构的,为了数据的安全,所以把数据库与客户端的数据传输用一个服务器程序隔离开来。而数据间的传送用
> XML 表达。不知道这样好不好?
>
> 现在用的是 java,所以用的 XML 解析库是 dom4j。那在 python 中有什么库可用的?

python下有很多,如elemenetTree, 4suit, pyxml等等。elementTree可能要好一些。
>
> 还有一个是关于数据库设计的问题。
>
> 我们的程序要实现组的管理,一个用户可以存在于多个组中,我在犹豫着数据库中怎么实现。
>
> 一开始,我想到的是创建一个 contacts 表,里面包括用户组 id、用户 id、联系人的用户 id。因为组是多个的,不可能保存在 user
> 表中。实现的时候,把特定的用户 id 相关内容从 contacts 表搜索出来。然后通过 API 组织 XML 文件,再发给 client。
>
> 但是后来又想想,还不如直接把 XML 文件保存到 user 表中好了,反正 client 端编辑后组织生成 XML 文件后,再发到 server
> 端的。生成 XML --> 传送到 server --> 解析 XML --> 保存信息 --> 生成 XML --> 传送到 client
> ,这样挺麻烦的。
>
> 但觉得直接把 XML 文件保存到 user 表中对以后的扩展不好,不知前辈们是怎么看的。

xml可以作为中间传输格式,但目前还不适合直接存入数据库,这样给检索和修改带来不便。如果是多对一的关系,可以使用两张表,如用户表和组表。其中组表有一个用户id的外键。这样就组成多对一的关系。许多模块可以处理数据库,SQLAlchemy,
SQLObject。数据库可以使用sqlite, mysql等。不过sqlite可能要更适合,因为它是一个很小的本地库,可以作为嵌入数据库。
>
> 呵呵,没做过什么实现用的网络程序,只是从书本上学到一些东西,不清楚数据库应该设计。

前言不达后语,网络程序与数据库是两个问题不要在一句话中说,应该分开。对于通讯好象有MSN的包,还可以使用jabber相关的包,或者自已做一个局网的。要看具体的应用了。
>
> 还有就是,如果用 python 实现像 MSN 这样的程序用什么库实现 UI 好,python 中好像有很多库,但选择起来都不知道用哪个库好。

wxPython就可以了,至少在windows下安装使用都很方便。
>
> 我想我以后用 python 实现的都是一些小工具,在 Windows/UNIX 下运行的。
>
> 在这里,向各位前辈请教一下。
>
有些问题希望组织清楚一些。

-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年11月21日 星期二 17:22

heyuqi yuqi.he在gmail.com
星期二 十一月 21 17:22:23 HKT 2006

谢谢 limodou 的回答

On 11/21/06, limodou <limodou at gmail.com> wrote:
>
> On 11/20/06, heyuqi <yuqi.he at gmail.com> wrote:
> > 大家好,我想向各位前辈请教几个程序设计方面的问题。
>
> >
> > 还有一个是关于数据库设计的问题。
> >
> > 我们的程序要实现组的管理,一个用户可以存在于多个组中,我在犹豫着数据库中怎么实现。
> >
> > 一开始,我想到的是创建一个 contacts 表,里面包括用户组 id、用户 id、联系人的用户 id。因为组是多个的,不可能保存在 user
> > 表中。实现的时候,把特定的用户 id 相关内容从 contacts 表搜索出来。然后通过 API 组织 XML 文件,再发给 client。
> >
> > 但是后来又想想,还不如直接把 XML 文件保存到 user 表中好了,反正 client 端编辑后组织生成 XML 文件后,再发到 server
> > 端的。生成 XML --> 传送到 server --> 解析 XML --> 保存信息 --> 生成 XML --> 传送到 client
> > ,这样挺麻烦的。
> >
> > 但觉得直接把 XML 文件保存到 user 表中对以后的扩展不好,不知前辈们是怎么看的。
>
>
> xml可以作为中间传输格式,但目前还不适合直接存入数据库,这样给检索和修改带来不便。如果是多对一的关系,可以使用两张表,如用户表和组表。其中组表有一个用户id的外键。这样就组成多对一的关系。许多模块可以处理数据库,SQLAlchemy,
> SQLObject。数据库可以使用sqlite, mysql等。不过sqlite可能要更适合,因为它是一个很小的本地库,可以作为嵌入数据库。
> >
> > 呵呵,没做过什么实现用的网络程序,只是从书本上学到一些东西,不清楚数据库应该设计。
>
>
> 前言不达后语,网络程序与数据库是两个问题不要在一句话中说,应该分开。对于通讯好象有MSN的包,还可以使用jabber相关的包,或者自已做一个局网的。要看具体的应用了。
>
> 有些问题希望组织清楚一些。


我们要做的是一个类似 MSN 的程序,但是按照需求说明,server & client  端的程序都要自己实现的,这样用 jabber
相关的包不知道是否适合。

不过,请请 limodou 的提醒,我想我以后会试试的。

网络程序与数据库,这个是我说糊涂了,写一天程序,头脑不清晰 :P

我的意思是想问,不清楚把一个 XML
文件保存到数据库中是否合适,关于网络程序这方面的东西写得比较少,不知道网络程序从安全与效率方面来看,在数据的组织、转发与保存中,我在上面提到的做法是否妥当。

词不达意,下一次我会注意的,一定表达清楚一些。
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20061121/dd23b58a/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年11月21日 星期二 18:02

limodou limodou在gmail.com
星期二 十一月 21 18:02:00 HKT 2006

On 11/21/06, heyuqi <yuqi.he在gmail.com> wrote:
> 谢谢 limodou 的回答
>
> On 11/21/06, limodou <limodou在gmail.com> wrote:
> > On 11/20/06, heyuqi <yuqi.he在gmail.com> wrote:
> > > 大家好,我想向各位前辈请教几个程序设计方面的问题。
> >
> > >
> > > 还有一个是关于数据库设计的问题。
> > >
> > > 我们的程序要实现组的管理,一个用户可以存在于多个组中,我在犹豫着数据库中怎么实现。
> > >
> > > 一开始,我想到的是创建一个 contacts 表,里面包括用户组 id、用户 id、联系人的用户 id。因为组是多个的,不可能保存在 user
> > > 表中。实现的时候,把特定的用户 id 相关内容从 contacts 表搜索出来。然后通过 API 组织 XML 文件,再发给 client。
> > >
> > > 但是后来又想想,还不如直接把 XML 文件保存到 user 表中好了,反正 client 端编辑后组织生成 XML 文件后,再发到 server
> > > 端的。生成 XML --> 传送到 server --> 解析 XML --> 保存信息 --> 生成 XML --> 传送到 client
> > > ,这样挺麻烦的。
> > >
> > > 但觉得直接把 XML 文件保存到 user 表中对以后的扩展不好,不知前辈们是怎么看的。
> >
> >
> xml可以作为中间传输格式,但目前还不适合直接存入数据库,这样给检索和修改带来不便。如果是多对一的关系,可以使用两张表,如用户表和组表。其中组表有一个用户id的外键。这样就组成多对一的关系。许多模块可以处理数据库,SQLAlchemy,
> > SQLObject。数据库可以使用sqlite,
> mysql等。不过sqlite可能要更适合,因为它是一个很小的本地库,可以作为嵌入数据库。
> > >
> > > 呵呵,没做过什么实现用的网络程序,只是从书本上学到一些东西,不清楚数据库应该设计。
> >
> >
> 前言不达后语,网络程序与数据库是两个问题不要在一句话中说,应该分开。对于通讯好象有MSN的包,还可以使用jabber相关的包,或者自已做一个局网的。要看具体的应用了。
> >
> > 有些问题希望组织清楚一些。
>
> 我们要做的是一个类似 MSN 的程序,但是按照需求说明,server & client  端的程序都要自己实现的,这样用 jabber
> 相关的包不知道是否适合。
>
> 不过,请请 limodou 的提醒,我想我以后会试试的。
>
> 网络程序与数据库,这个是我说糊涂了,写一天程序,头脑不清晰 :P
>
> 我的意思是想问,不清楚把一个 XML
> 文件保存到数据库中是否合适,关于网络程序这方面的东西写得比较少,不知道网络程序从安全与效率方面来看,在数据的组织、转发与保存中,我在上面提到的做法是否妥当。

将xml保存到数据库到是没有什么问题只不过查询修改比较麻烦。在网络上传递也没有关系。
>
> 词不达意,下一次我会注意的,一定表达清楚一些。
>


-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年11月21日 星期二 23:10

heyuqi yuqi.he在gmail.com
星期二 十一月 21 23:10:09 HKT 2006

On 11/21/06, limodou <limodou at gmail.com> wrote:
>
> On 11/21/06, heyuqi <yuqi.he at gmail.com> wrote:
> > 谢谢 limodou 的回答
> >
> > On 11/21/06, limodou <limodou at gmail.com> wrote:
> > > On 11/20/06, heyuqi <yuqi.he at gmail.com> wrote:
> > > > 大家好,我想向各位前辈请教几个程序设计方面的问题。
> > >
> > > >
> > > > 还有一个是关于数据库设计的问题。
> > > >
> > > > 我们的程序要实现组的管理,一个用户可以存在于多个组中,我在犹豫着数据库中怎么实现。
> > > >
> > > > 一开始,我想到的是创建一个 contacts 表,里面包括用户组 id、用户 id、联系人的用户 id。因为组是多个的,不可能保存在
> user
> > > > 表中。实现的时候,把特定的用户 id 相关内容从 contacts 表搜索出来。然后通过 API 组织 XML 文件,再发给
> client。
> > > >
> > > > 但是后来又想想,还不如直接把 XML 文件保存到 user 表中好了,反正 client 端编辑后组织生成 XML 文件后,再发到
> server
> > > > 端的。生成 XML --> 传送到 server --> 解析 XML --> 保存信息 --> 生成 XML --> 传送到
> client
> > > > ,这样挺麻烦的。
> > > >
> > > > 但觉得直接把 XML 文件保存到 user 表中对以后的扩展不好,不知前辈们是怎么看的。
> > >
> > >
> >
> xml可以作为中间传输格式,但目前还不适合直接存入数据库,这样给检索和修改带来不便。如果是多对一的关系,可以使用两张表,如用户表和组表。其中组表有一个用户id的外键。这样就组成多对一的关系。许多模块可以处理数据库,SQLAlchemy,
> > > SQLObject。数据库可以使用sqlite,
> > mysql等。不过sqlite可能要更适合,因为它是一个很小的本地库,可以作为嵌入数据库。
> > > >
> > > > 呵呵,没做过什么实现用的网络程序,只是从书本上学到一些东西,不清楚数据库应该设计。
> > >
> > >
> >
> 前言不达后语,网络程序与数据库是两个问题不要在一句话中说,应该分开。对于通讯好象有MSN的包,还可以使用jabber相关的包,或者自已做一个局网的。要看具体的应用了。
> > >
> > > 有些问题希望组织清楚一些。
> >
> > 我们要做的是一个类似 MSN 的程序,但是按照需求说明,server & client  端的程序都要自己实现的,这样用 jabber
> > 相关的包不知道是否适合。
> >
> > 不过,请请 limodou 的提醒,我想我以后会试试的。
> >
> > 网络程序与数据库,这个是我说糊涂了,写一天程序,头脑不清晰 :P
> >
> > 我的意思是想问,不清楚把一个 XML
> >
> 文件保存到数据库中是否合适,关于网络程序这方面的东西写得比较少,不知道网络程序从安全与效率方面来看,在数据的组织、转发与保存中,我在上面提到的做法是否妥当。
>
> 将xml保存到数据库到是没有什么问题只不过查询修改比较麻烦。在网络上传递也没有关系。
> >
> > 词不达意,下一次我会注意的,一定表达清楚一些。
> >
>
>
> --
> I like python!
> UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
> My Blog: http://www.donews.net/limodou
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese

谢谢 ;-)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20061121/abe73462/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号