了解最新公司动态及行业资讯
增加了c++ web快速开发框架的使用说明,可用于编写商城接单的开源项目,包括快速搭建方法。
:
或者国内码云:
另外,我录制了一个演示视频(暂时仅限于非常基础的动手操作)
2019.5 两个附加点:
1、答案中提到的C++ WEB开发平台是中国开源的。还没有处理它,所以还没有文档。稍后会添加(已经添加),以及C++如何连接阿里短信云、腾讯公众号、腾讯支付、阿里支付、微信扫码登录的C++ SDK包。
2、与答案相关的《白话C++》第一卷已经出版。特点是比较生动,结合业务较多,厚实(900多页),但适合初学者。可在所有主要平台上使用。如果你想学习这个答案中提到的C++ WEB开发、网络、数据库。. . 请等待 10 月的下一卷。. . .
这是原始答案
今年春节期间,我花了7天时间和C++对话,30天完成。结果,我赚了30万个小项目的小利润。我真是用C++赚外快的“坏习惯”。
先回答问题:建议大家可以(尝试)用C++写一个WEB项目。
插入搜索兴趣组:看到这个问题的应该主要是C++程序员!对玩C++和构建高性能WEB应用感兴趣的同学,请关注微信公众号诚之网。让我们一起学习和玩耍。
~7/14 补充:
评论里很多人还在用C++写东西,尤其是WEB后端,需要花很多心思去重新发明轮子。. . 的确,最早的WEB程序是CGI线型的,也就是用C或者C++,后来漂亮的轮子出来了,比如PHP。但现在情况如何?加一段让大家更容易理解:
# 前端:html5、css、js()、ajax、前端模板技术。
# 后端框架:nginx(web访问和负载均衡)、redis(全局缓存、跨主机管理)、MySQL和MySQL官方C++ SDK。(只作为高性能服务器使用,替代方案很多,风格API,封装所有线程,异步,自动绑定html请求和响应参数...)。
# 无聊又不开心的C++程序员:妈的,别让我处理并发,别让我处理异步,别让我写内存池,别让我写数据库连接池,别让我写我写网络连接池,别让我碰linux下的网络功能,甚至写json消息的解析(信不信,我只是有雄心和能力分分钟写一个新库??),啊,即使有终端颜色输出日志库也不让我写?我还是 C++ 程序员吗?我想看看谁敢阻止我从零开始,主要是C,稍微编译一下,写个MQ?!啊,这个是,你好,请坐。老板,你过来告诉你这个干果放在哪个虚拟架子上。你想支持多个仓库吗?你想分摊账单吗?购物车支持黄金豪华版和东南亚草裙舞版皮肤自动切换吗?老板:别着急,这里的设计很复杂,你要满足我一键把菲律宾水果全部换到广西的功能!你用过这个C仓促开发吗?不行,还是换我听说过的两种语言?
# 一个月后……系统上线,几个关键特性的性能提升了30倍,肉眼可以识别。老板高兴地给了我钱,C++程序员在屈辱中拿走了现金,我数钱的时候手都抽筋了(其实是老板给了我现金)。边数边哭:不让我发明轮子……我以后还想做C++朋友圈的人吗……
-~~~以下文字~~~~
一家传统销售公司高举互联网大旗进行转型。节后我们将在部分城市举办现场活动。该系统是由一家不可靠的小公司于去年 8 月制造的。PHP 价格为 150,000(大约)。
功能很乱,例如:不同的商场使用不同的购物车。
性能有问题。只有一台服务器(因为没有考虑负载分担),开发者自己也没有信心支持5000人的会议。吱吱喳喳。
存在安全问题,逻辑漏洞严重,被(猜的,从里面出去的人)攻击,客户说一下午一晚上损失近20万,紧急关停。
七骗八骗的关系,找我求救。大会日期临近。
但我是一个 1997 年开始的传统程序员。很难写出像样的 WEB/BS 应用程序。
在工作中,我写过工控程序,比如传统的桌面软件,以及C和j2me嵌入式开发,用C#写过wince程序。
外快方面,我写了第一个程序,直接用它来赚外快。2000年,我在一张标准的医疗多媒体宣传CD上7天赚了5000元。大概是2004年,我也用C++写过擦边球软件,一个月赚20K。
网站?后台java或PHP程序没有认真写过。这二十年。
我不敢答应,我先答应帮你看PHP代码找问题指导你。看了七天。乍一看,肯定是犯了程序员的臭毛病,想重写。
第一步是处理程序集,改变或绕过当前 PHP 代码上的一些不好的东西。成功后,进入第二步,双方开始讨论如何全部改写。我报价一百万。我想找一个朋友,花一个月的时间重写这个商场。亲自与客户公司的其他股东交谈。我拿出报价表。客户说另外一个十几人的开发团队报价才12万元,从美国请来了技术总监说改写的关键是什么。. .
谈判很快结束。开始正式谈论如何拆除……然后重新开始。对方的负责人根本不懂IT。过去六个月,“久病成医”,他专业地说:重写是可以的,但是PHP不能用了,必须用JAVA。
认真纠正了他对PHP的误解,告诉他世界上很多有名的大型网站都是用这种语言建的迪拜城。他说比喻应该是罗马城。这么聪明的老板,在文艺修辞上还是跟不上时代,所以很多 C++ 爱好者坚持 C++ 不能写 web 后端也就不足为奇了。
我知道 HTML5 和 JS(主要是)。我知道 C++。我还没有尝试过,但我一直非常乐观地认为可以(轻松地)用 C++ 编写出色的 Web 应用程序。
因为我不打算用 C++ 写一行代码来吐出 HTML。我比较看不惯WEB编程语言背后的软件架构和思想,这些语言以字母P结尾,有特定的含义,比如PHP ASP JSP,作为一个C++程序员,我一直对MFC的第一版感到厌恶。它的结构和设计思路并坚持使用原生的WIN SDK开发包。(不是微软的,但微软的也不使用 MFC)。我以失去工作为代价更像是一个品味伙伴。
这次是为了赚外快,所以我应该有自己做决定的权利。因此,在起草合同的时候,写着:“系统后台的主程序应该用JAVA等非解释性编程语言开发”。这种等价性很重要。
去Open China(),安装一个估计不再维护的框架。该框架的名称具有欺骗性,与 CMS 无关。问题很多,但是用它作为json-rpc服务器简单、健壮、高效(开发和运营)。虽然不支持 JSON-RPC 2.0 标准,但是远程调用需要满足。
安装 ngnix。将所有原始 PHP 网页转换为静态网页。纯html5加js发起ajax从c++()编写的后台拉取数据(json格式),然后使用-来组织基于模板的数据呈现。(此模板使用 html 的“data-”属性,因此它不会破坏纯 HTML 功能)。
静态页面、JS脚本文件、CSS文件、图片全部交给俄罗斯的ngnix。从我大致了解系统功能和不到20万系统用户的背景来看,我相信一个20兆带宽的ngnix可以阻挡一切。这个判断在后面实际跑的时候被打脸了,因为可爱的艺人的产品图片都是高保真的。老板一边催着他们按图,一边花小钱买了七牛云服务。@徐世伟。七头牛不错。因为你拖欠很久了,而且服务还在,所以他们不太喜欢催你还款。另一个判断是,小钱容易忘记。反正我觉得徐老板应该很有技术含量。和我一样,他不太在乎钱。
唯一不爽的是腾讯的微信SDK包(用来获取用户信息、支付等)好像是,反正我找不到C++版本。我看了看PHP版本,原来是用的,笑道:你不是纯C做demo的吗?不要以为如果你穿上世界上最好的背心,我就认不出你了。所以我花了一个下午的时间研究了一个 C++ 版本的微信 SDK。
网上商城技术架构:
一、纯HTML+JS()+CSS负责页面布局。使用ajax请求数据,使用-动态显示数据。
其次,在网站后台部署一个nginx。一个负责吐出所有静态文件,图片数据设置了一层七牛缓存。第二个负责通过反向代理向C++编写的REST服务请求数据。
第三,用C++编写的REST服务。独立进程,多个可以部署在多台服务器上。让 nginx 负责负载均衡。
第四,使用redis作为大量数据的缓存。我和朋友们花了两个小时挑选了一个很酷的 C++ 包。忘了它叫什么——这就是一个好工具,让我们使用它并忘记它的存在。
第五,MySQL。使用 () C++ 客户端 SDK,.
第六,PHP 并没有全部丢失。但是作为(php)使用,编写一个可以独立运行的程序pc运维外包,在后台读取数据,做一些非实时的任务处理。(例如,计算系统应该给这个今天一口气买了很多东西的客户多少分..)
后记:程序一上线就运行到5月底,哇,居然挂了。商场热线不断接听,客服很生气。我不着急。所以:七、用linux shell写一个守护进程,20秒检查一下,进程一消失就重启。我在周末浏览了代码。当循环遍历 std::map 的每个元素然后尝试删除(擦除)时,这似乎是一个错误。. . . NND,似乎是一个非常经典的涉及 C++ 中迭代器的面试问题,对吧?你可以猜到!
使用STL,使用第三方库接收http请求,然后使用官方库读写数据库,然后处理吐出json数据(转换json数据也是第三方库)。顺便说一句,我们还使用了很多 C++11 的舒适特性。无需手动分配和维护内存,这种传说中的恐怖语言其实就如牛靠在ngnix后面的草地上吃草吐奶一样聪明。除了在结构中加入redis作为缓存之外,我完全没有考虑任何特殊的优化,但是实测性能(处理并发能力)比原版快了30倍。
老板很高兴。原合同一百万谈判后,有六十万多。但是因为双方合作太愉快了。老板说要成立一家新公司负责IT。和我一起开发的小伙伴成为股东,合同中的30万余元未付转为股本——我们一时高兴,但也只是一时。很快发现:没有多余的钱
:(。
搭建开发环境:pc运维外包,(CMake)
看到这个问题的应该主要是C++程序员!有兴趣玩C++和搭建高性能WEB应用的同学请私信我并留下微信公众号或者直接关注微信公众号诚之网。让我们一起玩(我说的是额外的钱)。