关于服务器编程的学习,大家各抒己见,人人有分。诚心请教以下各方面的学习:1.Unix/Linux 后台程序开发2.网络
关于服务器编程的学习,大家各抒己见,人人有分。
诚心请教以下各方面的学习:
1.Unix/Linux 后台程序开发
2.网络编程
3.数据库编程
4.跨平台编程
5.代码移植
6.ACE
7.服务器编程的方方面面
请大家各抒己见,人人有分。
[解决办法]
这个只有实际应用起来才有可能写好。
[解决办法]
服务器编程要掌握的一个大原则就是所有资源尽量只初始化一次,且在初始化之前打扫上次意外掉电或关机或退出遗留下来的垃圾数据或虚假资源占用,在服务期间对所有资源池化管理,并提供即时的反射机制方便实时查看系统状态,以及详尽的且好过滤查询的运行日志,另外要使用方便好用且稳定的远程管理工具软件。
[解决办法]
这个不清楚啊
[解决办法]
原来打算搞网络/服务器的,但是发现这东西有很多隐含的问题,有些让人很郁闷,就放弃了。
然后就选择学习3D图形程序的开发。图形的东西直观,学起来简单。
[解决办法]
服务器端编程涉及的东西比较多,是个比较需要水平的东东,从大的系统搭建到小的数据库、网络、进程、线程、IO、连接池、日志系统、安全管理……
[解决办法]
话说服务器学好了,找工作是不难的
[解决办法]
服务器除了网络编程,还涉及到其他领域的好多知识
搞精了还真不是容易的事
[解决办法]
哦 我的工作内容与lz的要求很像,除了没有用过ACE。。
[解决办法]
Unix网络编程
然后去看libevent
然后去用boost
最好装个Ubuntu,多熟悉下Linux环境
[解决办法]
最好是通过实际项目锻炼,否则光看书是不行的。必须得自己不断的练习。比如我已经写过好几次的内存池,现在看来第一次写的是最糟糕,但是每次都会有一些进步,逐渐的就越来越好了
[解决办法]
服务器方面一开始写的时候也听了很多,什么要稳定拉,资源内存平稳值拉。。。后来想想这些都对,也不全对。难道其他工程就不要稳定了,内存使用就不要考虑了?只能说是服务器程序的独占性让你代码工作方式更舒服点,比如不要太考虑到GC的东西等等。大体的我个人觉得还是不变的。
1.Unix/Linux 后台程序开发
2.网络编程
3.数据库编程
4.跨平台编程
5.代码移植
6.ACE
7.服务器编程的方方面面
LZ列出的这些方面,怎么说呢,要看你一进去开发时处于一个什么地位。如果你只是做为一个逻辑开发人员进去,这些东西都可有可无。
如果是奠基者的身份,1,2,相对来说都比较重要。而3,4,5这些要看你具体做的方面。比如网游中的数据库,就显得不是非常突出。4,5这东西吧,我个人认为跨平台真的是给自己找麻烦。我到现在都没想通L和W跑程序真的相差那么大吗?这些都不重要,拿出产品才是真的。 6想用就用吧,不过基本都会重写一套,至于7这个就太多了。。。。
[解决办法]
看驱动力了,要么工作驱动,要么兴趣驱动..
没有驱动,很难深入下去的.
[解决办法]
[解决办法]好好学习《Unix网络编程》吧
[解决办法]服务器编程的实践经验还是很珍贵的
[解决办法][解决办法]进来学习的~~~~
[解决办法][解决办法]------解决方案--------------------
[解决办法]学习不外乎理论与实践相结合,帮顶下,呵呵~~
[解决办法]每天回帖即可获得10分可用分!
[解决办法][解决办法]来这儿主要是看评论了,学习了
[解决办法]服务器重中之重是稳定性,我们写完服务程序后干的多的一件事就是自己写或者使用别人开发的服务性能监控程序。在稳定性保证的情况下一步步的调优
[解决办法][解决办法]........
[解决办法]你问的这问题还真。。。
[解决办法][解决办法]学习 收藏
[解决办法]给你发消息了..
[解决办法]接触的不多,只用过socket,linux也只用过一会,学习。。
[解决办法]从你列举的看,应该具体关注网络架构设计,一种实现方案,事件或连接的线程池等,多看一些实现,熟悉一下linux平台系统编程。unix环境高级编程不错。
另,恭喜两颗星。
[解决办法]我们编网络服务器要求用JAVA
[解决办法]好好干 多看书 多动手 你肯定会成功!
[解决办法]Shell和Bash好好学学
[解决办法]怎么说,如果是上进的程序员,几乎都是靠自学~
在不能改变环境的时候,试着改变自己吧~
[解决办法]楼主都双星了
[解决办法]学习学习
[解决办法]1.Unix/Linux 后台程序开发
嗯,这是主要应用。
2.网络编程
熟悉了UNIX网络编程,写一个类似于libevent的socket C++通信框架吧
网络工具比如tcpdump等等要有所熟悉
3.数据库编程
不太熟。主要在搞MYSQL。
4.跨平台编程
没考虑过
5.代码移植
没考虑过
6.ACE
太复杂,不予考虑
7.服务器编程的方方面面
太多了。。。提高基本的编程素养,减少宕机,优化内存使用、CPU占用,分析程序瓶颈等等
还有就是调BUG的功夫
[解决办法][解决办法]向你好好学习,,有了结果,分享下
------解决方案--------------------
看过libevent1.4源码,感觉没什么收获,很传统的reactor模式。
就是它用小根堆管理计时器给人一点启示。
我怎么就没想到呢。。非傻不愣登的一轮一轮比较,多浪费
[解决办法]在学校里,老板没这方面的项目,自己又对这方面很感兴趣,于是只能自己看了。unix的两本书不用说,libevent,memcached这些开源代码看看收获还是很大的。
[解决办法]这个问题太大了,我只能说我熟悉点数据库编程ProC/C++,参与过一个比较大的项目,服务器与客户端交互是用的中间件,良好的封装的确可以节约很多编程时间,对数据库的操作就要看数据库的实际优化了,一时不知道从哪说起了.
[解决办法]这。。。。不知道。好像Redflag linux他们有培训的,还可以考核工程师,建议你去看看
[解决办法]我也想学这些东西
所以直接从界面开发换到后台开发了
不知道会不会有机会研究这些
[解决办法]这话题就成空谈了。
[解决办法]学习,学习!
[解决办法]楼主所列的东西,我理解的是楼主可能对linux下的编程,和服务端的网络编程不是太熟悉,然后自己现在又需要做一个移植项目,然后会牵涉到这些东西,所以想顺便学习一下,但是又觉得学起来有难度,怕自己花了时间对未来的发展又没什么好处。
一般情况下,每个人想法都不一样,所以我也不给你提什么意见了。假设我处在楼主的位置,然后我手头有个移植的项目,然后我就是一个看了几本C++大块头的小菜鸟,那么我会怎么做呢?首先,我也会想我是不是借着这个机会精通一下服务端开发,不过以我个人资质而言(我是在扮演楼主),这个不太现实,所以我就做点现实的,能快速看到结果的:
1. 既然我在做移植,那么我应该了解移植中可能的问题,以确保这个项目可以很好地完成;另外,csdn上其他菜鸟问我关于移植的问题时,我可以提供很多很有建设性的答案。
2. 既然我在移植代码,那么我很可能(或者被迫)需要看一遍代码,那么这些代码写得怎么样,有没有bug,有没有可能因为移植带来的问题。当然,修改这些bug不是我的责任,我会给出一个checklist,告诉写服务器的那帮人,你们以后写的时候这些地方要注意了,是有问题滴。
3. 我移植的代码是服务端代码,那么,这些代码都使用了一些什么技术,以及哪些第三方库,既然我不能精通,至少我可以google一下,了解这些技术的原理,那么,在了解了一大堆名词后,只要不是真正去写,我也可以说自己是服务器专家。
4. 关于这个项目,我觉得自己已经做得很好了,我不仅完成了移植,而且还发现了代码中的一些问题,另外我还文档化了移植过程的常见问题,以至于公司哪天把我开了,别人也可以很快接手我的工作。相比于我做这些之前,我对于服务端编程已经有了一些了解,那么,这些写服务端的人比我要厉害吗,如果我来写,或者来学会是怎样,现在这个问题应该已经有答案了。
[解决办法]学习了
[解决办法]深层次的都是靠自学的
[解决办法]学习了。。。。。。。
[解决办法]这些东东不是一天就能看完的
[解决办法]以前总是觉得跨平台重要,但是现在尤其是在服务器程序的开发方面,跨平台真的不重要,要跨平台干嘛!?你写的程序还不能决定它的运行环境?现在虚拟化也很盛行了,差这一台服务器?
[解决办法]study and study
[解决办法]学习了~~~~~~~~~~~~~
[解决办法]过来学习
[解决办法]我表示对数据库编程有比较薄弱的认识;网络编程也还行,不过主要体验在与网页交互方面的,不知道这算不算是网络编程。其它的就没怎么接触过了
[解决办法]我也喜欢把别人写好的东西拿过来自己再模仿着造一边。
[解决办法]请问 逻辑开发人员具体是做什么东东
[解决办法]这个问题看似简单实际包含的内容很多 不是一句话就能说清楚的 所以建议你自己多思考 别人的自己不一定适用 还是自己谋划自己想要什么 怎么才能得到 这个过程就是自己自学的过程 这是最重要的
[解决办法][解决办法]服务器这东西,自己做了就知道了,说多了都是空谈
[解决办法]没有玩过服务器
据说用Linux很好
建议到Linux版问问
[解决办法]帮顶~
[解决办法]菜鸟来学习了