`
bulote
  • 浏览: 1305232 次
文章分类
社区版块
存档分类
最新评论

你不是菜鸟(9):一个B/S老鸟的困惑

 
阅读更多
你不是菜鸟(9):一个B/S老鸟的困惑

前几天,收到一封来自B/S开发高手的来信,其内容如下:
博主你好:
博客文章非常好,我也是有些许疑惑,一直在缠绕着自己, 我也做开发3年多了从Asp做到Jsp【ssh 多种组合】再到现在的PHP【自己也写了个公司架构】,现在是个teamleader 项目架构也从简单的虚拟主机、单独服务器、均衡负载等等。开发方面一直在这么做下去。
可我一直认为,如果纯做这种BS架构的东西,我一直没有对程序入门!
此入门或许你应该能理解到bs 的 和 cs 的区别,我想走CS 方向 可看代码都没问题 可是CS 和BS的区别在于 需要调用的函数太多了 需要去了解太多的 包 我这人很烦笔试,但凡有鄙视的,如果题目太基础,我基本都白卷走人,我是来做事的,不是学校毕业的,不想当菜鸟来考基础题的:)
坚持我的BS,那我的路在何方?
我现在基本上已经是负责策划与架构,可我总看不到我所能看到的东西——涨薪资,或者说没有更大的技术上的挑战!!!
如果我走 CS 路在何方?

回信内容如下:
看到了你的来信,看得出来你的心情很困惑,我在此不得不花一些时间好好的给你说说。
从你的文章中得知,你在CS与BS架构方面比较困惑,同时,对自己坚持的东西似乎看不到方向了,我想我从以下两个方面来说:

1、BS和CS本质上没有任何区别,但他们又有区别,请参考我的书中的某章节
2、如何利用好现有技术再去深挖它的潜力。
3、薪资的问题得慢慢来。
好,下面我们来分别阐述。
1、BS和CS本质上没有任何区别,但他们又有区别
我在《Java程序员,上班那点事儿》7.4.1<B/S是一个很好的创意>中有这样一段描述:
在互联网应用程序应用初期,大多数应用都是建立在C/S结构基础上的,浏览器的应用促使动态页面的实现,于是就有人提出来,能不能用浏览器作为应用程序的客户端呢?
于是,B/S程序结构便应运而生,浏览器和服务器结构是对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。
以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在Java这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。
传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。
所以,我们说B/S实际上是在C/S发展多年基础上创意衍生出来的一种程序运行方式。我在我在《Java程序员,上班那点事儿》7.4.2<B/S程序本身也是一个C/S程序>中有这样一段描述:
可以观察一下这两个结构的形式,看看它们有什么相似之处。
客户端软件是为了完成更多的管理功能而开发的,通过它将与数据库系统进行数据交换,达到管理数据的目的。将各种计算与数据逻辑加入到客户端软件中,服务器端只负责存取数据,因此,客户端与服务器端交互的数据完全是纯数据流。
然后我们再看一下B/S的架构,




B/S结构的客户端是浏览器,数据逻辑与计算基本上都是在服务器端进行,客户端仅仅是将计算与数据取得的结果予以呈现,而这时候所呈现的内容也依赖服务器端所返回的Http数据流中包含的标记。
大家看看这两个结构图的差异,不难发现他们的基本结构极其相似,都是有“客户端”的,只不过B/S的客户端是浏览器而已。这说明,从本质上来说,B/S结构的系统也是一种C/S的软件。

所以,当你真正的了解到C/S和B/S的本质与联系后,你就更能够使用好B/S结构的柔韧有余的灵活之处了。
当然,我看得出来,你应该是一个出身于“ASP”的程序员,ASP的进入门槛较低,利用ASP的思维可以套出JSP,也可以套出PHP,但无论如何也套不出JavaSE,以及VB/VC。所以,你对J2se、VB、VC有很强的神秘感。
然而,当你了解了他们的本质以后,你会发现也没有什么神秘的了!

2、如何利用好现有技术再去深挖它的潜力。
如果,你搞JSP不想搞清楚Java是不可能的,但是搞清楚Java不一定要搞J2se的程序。J2se的程序目前来说应用范围在缩小,更多的还是利用Java去开发服务器端组件,多线程网络服务程序等等。
所以,如何利用好自己的现有技术优势,去深挖它的潜力是尤为重要的。
我想我对你应该有几个建议:
1、可以研究一下利用Java开发一些主机网络服务程序,利用Java的跨平台优势搞出点名堂来。
2、利用你B/S结构丰富的知识,搞出些名堂来,别小看PHP,目前业内很多大型门户的开发语言就是PHP,好多开源的网站框架都是PHP的。
3、薪资的问题得慢慢来
我们技术人员往往都容易陷入一个误区,想当然的认为薪资水平一定和技术水平挂钩的。其实,不尽然!
你说会Java的就一定比会PHP的水平高?
但有时候,PHP的程序员拿得工资就会比Java程序员工资高,你如何解释?
所以,薪资水平并不等于技术水平,技术水平也并不等于使用哪种语言,或哪种开发方式。
你说,C/S开发就一定比B/S开发的人工资高?
谁告诉你的?
影响你工资的只有一个,那就是:
供求关系!
你是一个相对少的人才,你的工资就是相对高的,你是一个相对多的人才,你缺少竞争力,你的工资就相对低。但有时候,你是一个相对多的人才,但是在那个公司的地位相对高,或者某个项目对于这个公司很重要,而你却又是这个项目的创始人之一,缺了你这项目就得找别人研究倆月,那么你仍然工资相对高。
这说明什么?
供求关系!
所以,你不需要着急,供求关系在一定情况下不平衡时,你的薪资就会调整。当然,这个过程自然是缓慢的,你也可以通过你的方法提示公司方面,但要注意方式方法,切不可以辞职作为要挟,以及其他过激行为,往往会适得其反。
如果,你不能做到“供求关系”有利于你,那么你应该作的就是去想办法,将“供求关系”调整的适合你,这个就得自己想办法了。
结论:
回答你的问题,你的发展方向是怎么样?
1、忘掉C/S和B/S的那个耿耿于怀的事情吧!
2、学会经营自己的优势:是金子就会发光,利用自己的优势,努力营造自己的优势!
分享到:
评论

相关推荐

    VC++ 9 socket HTTP

    vc 9 socket http请求,适用于vc 9平台

    菜鸟工具(http://c.runoob.com/)!

    菜鸟教程(Runoob)提供的免费网上编译器! 包含C++ C C# HTML/CSS/JavaScript PHP Python等许多语言的编译器! 还有画图 进制转换等常用工具! 还有资源共享! 欢迎来到(http://c.runoob.com)!

    SCOOL菜鸟论坛

    此程序的核心是PHPWIND3.0.1 在此基础上美化了程序,并添加了首页调用 首页调用的地址为http://你的论坛地址/home.php ... ...安装完成后,进入后台,在...菜鸟学堂,欢迎你! 菜鸟论坛地址为:http://bbs.cnxt365.com

    python3零基础源码笔记(2020-6-22打包)(基于千锋教育2019宋宋老师开源视频教程.7z

    菜鸟教程的python3教程:https://www.runoob.com/python3/python3-tutorial.html 穆雪峰的python3教程:https://www.liaoxuefeng.com/wiki/1016959663602400 python3官方中文手册:https://docs.python.org/zh-cn/3.6/

    pdf内容对比,效果和部分程序见:https://chuanchuan.blog.csdn.net/article/detail

    防止抄袭作业,本项目使用python完成,对pdf之间进行对比,首先对pdf转为图片,然后提取图片中的文字进行对比,每一页进行一个对比,最后对他们进行合并。

    phpcms.zip

    A.php7.1对函数参数个数严格校验,对函数形参一定要赋默认值,否则直接Fatal error: Uncaught ArgumentCountError: Too few arguments to function; B.htmlspecialchars严格编码,以前在php5.2下正常使用的,需要修改为 ...

    很适合菜鸟学习的ASP.NET( C# )留言簿

    功能比较简单,比较适合菜鸟级的朋友们学习研究! &lt;br&gt;联系作者: CSDN主页:http://hi.csdn.net/yuxiangshui&lt;br&gt;校内网主页:http://xiaonei.com/getuser.do?id=221012237&lt;br&gt;QQ:115402708&lt;br&gt;&lt;br&gt;注:...

    Microsoft Barcode控件

    Microsoft Barcode控件详解: https://blog.csdn.net/weixin_37914760/article/details/111403116

    VMware安装包和密匙

    VMware安装包和密匙 也可以从百度云下载:https://pan.baidu.com/s/1wibDu_rrN7_ByU9_-sQSLQ 提取码:mgod

    领星多样式列表分页生成类 v2.3

    名称:领星多样式列表分页生成类 v2.3 ◇简称:领星分页类 / 领星列表类 / 领星列表分页类 ◇功能简述:多种外观风格样式的表格显示方式,即换肤功能,例如像论坛的一层一层楼阁的显示方式、像商品展示的一行有3个或...

    友思SCO在线售卡网(.Net开源版) V1.1[Access].rar

    一套简易型在线售卡系统,使用ASP.NET1.1 Access,主要用于学**研究所用,采用标准三层构架,不管你现在是菜鸟还是高手,都同样适合学**. 完成了和快钱(www.99bill.com)银行网关的连接,实现了网上银行在线转帐、与...

    简易iView-admin后台管理系统配套Express服务端

    此资源仅是为了配合iView-Admin正常运行而创建的Express服务端,取代了iView-Admin中原有Mock,便于和我一样的菜鸟观察iView-Admin与服务器之间的按口。 使用方法为:首先要有Express环境。下载此压缩包后先解压,...

    猪猪FLASH频道

    简介: 本FLASH程序修改美化自网上流传的程序内核,程序版权归原作者所有,如果你要转载,请注明!本FLASH程序包括1022首最新FLASH的数据,并全部可用!@-------------------------------我的主页地址:http://5love0.cn...

    菜鸟到老鸟-教你玩转Mac操作系统

    菜鸟到老鸟-教你玩转Mac操作

    文件上传FileAjaxUpload.js 文件

    fileElementId: [id], //文件上传域的ID 在这里设置要上传的多个input的ID dataType: 'json', //返回值类型 一般设置为json success:callback, error: function ()//服务器响应失败处理函数 { } }); }

    编程学习.html 我的第一个作品

    9. 编程论坛 - 中国最大的编程社区 https://bbs.bccn.net/ 10. w3school 在线教程 https://www.w3school.com.cn/index.html 11. 编程之家官方手机版 https://m.jb51.cc/ 12. 博客园 - 开发者的网上家园 ...

    Mingw完整文件,配置直接使用!

    相比于Vscode,用Clion...最后,该文件可在Clion等IDEA 可直接配置使用,辛苦寻遍全网,最后在哔哩哔哩发现并下载开发给各位还在路上的彭勇,如果觉得配置后有用,请帮忙点个赞让作者知道帮到小猿们,谢谢。 菜鸟: ...

    网客库存管理系统|在线excel编辑|在线office v1.0.rar

    如果你是高手,我是菜鸟,你有不使用本源码的权利,请不要随意谩骂;欢迎给予意见和建议。 源码名称:网客库存管理系统(在线excel编辑) 版本号:V1.0 作者:CHN网客www.chnetter.com 下载地址:...

    Daily-DeepLearning::fire:机器学习深度学习Python算法面试自然语言处理教程剑指提供机器学习详细学习Python算法面试NLP教程

    内容来源:廖雪峰的官方教程/菜鸟教程/ CSDN / github /《流畅的Python》 :变量/字符串/数字和运算符 :列表/元组 :字典/套 :如果/循环 :调用函数/定义函数/函数的参数 :/列表生成式/生成器/迭代器 :高...

    <动态域名软件>作者主页

    如果您还是菜鸟,可先不用考虑安装IIS、PWS或其他WEB服务器软件,本软件内置了WEB服务器、TFTP服务器,只要您拥有本软件和一个公网IP,您就可以即时建立属于自己的WEB服务器!自己做网管,拥有自己的互联网WEB服务器...

Global site tag (gtag.js) - Google Analytics