爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5619|回复: 6

[经验总结] 学习web开发的必要性,与我的曲折探索

[复制链接]

新浪微博达人勋

发表于 2022-6-4 19:08:29 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
第1章:需求缘起

这个世界由【因果律】支配,做任何事都有一个理由。
学习编程【开发】,是从刚工作时就摆在面前的迫切需求。

刚工作时,我从事的是一个【大气环境行业】的【数据分析】的岗位,
那时,我只有些从学校里带出来的【数据处理】和【制图】的经验,
对于操作系统、软件、网站等计算机知识,懂的不多。
环保行业的信息化水平,是很低的,这可能因为它是一个管理性行业,而非技术性行业,
平时遇到些问题,例如需要计算某些复杂数据,或者生成什么文件,领导总让我们求助于程序员,
有类似经历的朋友会知道,这是很难实现的,因为------
1、数据岗的需求,通常有专业性,程序员理解起来比较困难;
2、处理过程比较繁琐,有时会卡在你和程序员都不懂的【共同盲点】上;
3、人家凭什么费工夫来帮你?做多做少,不影响人家的工资;做这种狭窄行业的细节需求,对于人家发展自己的技术栈,没什么帮助。如果我是一个“精明”的程序员,我才不会管这种闲事,尽量装傻充愣,拖;
4、工作中解决问题的程序,对程序员来说,是没用的鸡肋,对干这一行的人来说却是财富,有必要自己积累。
5、......
于是,从多个角度来说,都需要自力更生

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2022-6-4 23:18:48 | 显示全部楼层
本帖最后由 15195775117 于 2022-6-6 15:34 编辑

第6章:建设网站的心态管理

欲速则不达
网站的建设,是一个长期过程,不要心急,每周保证一定的编码时间,随着时间的流逝,不知不觉就完善啦。

坚持解耦原则
要“微服务”,不要“大而全”,写的功能最好都容易独立拆分,不要绞在一起。

磨刀不误砍柴工
网站全栈开发涉及的技术比较多,我熟练的少,生疏的多,一般是把笔记放旁边,边写边查,
比如数据库操作,平时很少有用到,但用户账号管理和记录一些数据,还是要用到,
于是就感觉心里没底,但我又确信自己是会的,这种矛盾的心情就很奇怪,
我想着,在写这部分程序前,先花半天时间把保存的案例过一下,勾起尘封的记忆,预热下手感,大底可以消除这种不自信的消极情绪吧!

起个吉利的好名字
因为以前同事使用的环保平台,没一个好用的,不是卡就是错,或者又卡又错,于是我想管自己做的网站叫“好用网”,蕴含着我美好的祝福。
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-6-4 19:34:29 | 显示全部楼层
第2章:曲折的探索之路

神挡杀神,遇坑填坑:IDL->C#->Java->PyQt->Flask->Django+Vue

我一开始学的是做【桌面软件】,因为那时我所在的公司没有做过网站,只开发过桌面软件,身边的程序员也都是写C#的,
那时,我还没学Python,我用的是IDL语言,于是,我学了下IDL的GUI语法,把几个IDL的工程打包成了软件,
但是,IDL毕竟不是开源语言,还有版权问题,我感到不是长久之计,
于是我想,那我也用C#开发软件吧,毕竟身边有C#程序员,请教、沟通、协作都比较方便,
但买了一本厚厚的C#书之后,我感觉这门语言似乎不适合我,里面的概念让我一头雾水,我所需要的东西,却看不出来在哪里,
经过网上调研,我转而学习Java,刷了一本入门的Java书,感觉比C#靠谱了些,
但是,Java语法的繁琐,让经常写计算程序的我感觉很不好用,
最后,我选择了Python语言,果然,这门语言不是吹的,很符合我的需求,我需要的,它应有尽有,

我花了一段时间把IDL的程序换成了Python,又学了Python系的桌面软件开发框架---PyQt,
写了几个实用的软件后,看着自己做的界面和功能,很有成就感。
但到这一步,还是有问题,
因为PyQt的打包有坑,主要是某些复杂的Python包(例如PyQtWebEngine)经常打包失败,
而解决这些问题,需要windows系统知识和C/C++知识,这让我感到茫然无助。
囿于此,Python软件我也没做几个,平时积累的技术工作成果也没怎么扩散开。

不过,我不久又发觉,写桌面软件不如做网站---
网站比桌面软件功能更强大、项目更易做、技术更主流,
而且,Python语言用在web上更合适,Python的科学计算、大数据、AI等功能以web接口的形式发布出来供使用。

一开始我学的是Flask框架,传闻它最简单,
书刷到一半把我整崩溃了,我才明白,Flask相当于自己组装车,需要扎实的web基础和经验,Django才是成品车,我还是用Django吧。

由于缺乏web知识,一本Django书我刷了3遍才理解它的原理。
期间,我又学了下数据库。增删改查,果然,没啥技术含量。
Django属于网站的后端,做网站还需要前端,于是我又学了Vue,而在Vue之前我又蹚了Bootstrap的坑,
至此,我凑齐了七颗龙珠,终于具备了上线网站的能力。


密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-6-4 20:22:24 | 显示全部楼层
第3章:购买和配置服务器

掌握了以上技能后,就可以开发网站了,
当然,这可以在局域网里开发和访问,但在公网上线更有成就感、仪式感,激励自己加快前进,
于是,我决定搞个服务器。

实体服务器or云服务器?

对个人而言,购置一台实体服务器没必要,
一台实体服务器电脑,通常是保管在一间持续供电、恒温的空调房里,还需要定期维护、检修,以及自己配置一些必须的东西,例如买个【公共IP】等,非常麻烦累赘。
使用“云服务器”不仅省去了这些麻烦,还有很多附带服务:云服务器都是自带【公共IP】的,系统也能随时更换...
国内有多家云服务器,BAT都有,我目前用的是阿里云。

服务器类型的选择?

阿里云服务分了很多类型,是针对不同场景的,
例如【突发性能实例】,就适用于那种养兵千日用兵一时的场景,例如烧烤摊,只有夜间才特别忙,白天闲;例如花店,平时没什么客,情人节巨忙。
当然,对于初学者来说,哪种类型都行,没有什么区别,
我目前用的是“轻量应用服务器”,平时也就学习用,对服务器性能的利用率很低,比较浪费。

操作系统的选择?

image1.png
最早为了直接接入我在Windows上写的程序,我就直接装的windows的服务器版本:windows 2012 R2
今年春,工作上开始用Linux,于是把云服务器换成了Linux系统,
刚开始不知道CentOS 8.2有问题,使用中发现坑太多,填不过来,于是又换成了经典的CentOS 7.9

系统大小比较:
CentOS系统只用了3G,之前装的Windows Server R2012系统,记忆中好像占了约40G!

宽带的选择?

宽带  对应的下载速度
1M 128k/s
8M 1M/s

根据网友的说法:
1、1M宽带可以支撑4个访客在1秒内打开网页;
2、注意阿里云5M宽带分割点---5M及以下宽带每月的价格大约是是23/M当宽带值大于5M时,宽带单价一个月的价格是80/M买的越多宽带单价反而上涨;
3、宽带的选择可以保守一点,尽量选择5M或者5M以下宽带,因为阿里云宽带支持按需升级,可以通过ECS控制台的云监控来查看出入网流量,不够再升级,支付差价即可。

宽带优化方法:
1、图片存储到价格更为低廉的OSS
2、把高清大图放到其他网站上,自己写的前端再从那里拉图,蹭别人的网,哈哈哈~~~

域名

域名暂时不买,这东西跟车牌类似,域名越好听好记,就越贵:
域名.png


密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-6-4 20:39:34 | 显示全部楼层
本帖最后由 15195775117 于 2022-6-4 22:35 编辑

第4章:网站安全防护与登录

对于初学者来说,不必担心网站安全的问题,
第一,你的网站没有被黑客针对性攻击的价值,
第二,普通的无差别攻击,例如CSRF、CFS、Clickjacking、DDos等,都有现成的防护措施:
1、Django插件(多加两行代码的事)
2、Nginx等web服务器带的防护功能
3、阿里云云端安全服务
4、使用https协议
其他还有,安装服务器端的安全软件,360就有服务器版。

微信登录网站

平时工作中,我们常把一个网站的账号传给多个人用,这其实不太好,
我想着,我的网站做成用微信登录,那你的微信总不能借别人吧?

用微信账号登录网站的开发方法:
https://open.weixin.qq.com/cgi-bin/frame?t=home/web_tmpl&lang=zh_CN

这个怎么做,我还没研究,有经验的前辈可要不吝赐教啊! mmexport1628067699910.jpg

微信开放平台开发者注册.png




密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-6-4 22:53:24 | 显示全部楼层
本帖最后由 15195775117 于 2022-6-4 23:49 编辑

第5章:用网站做些啥

一开始学编程,是为了把自己的工作自动化,自我解放,
再后来,想把自己的技术分享出去,扩散价值,
每到一个新高度,想法呢,就会不一样,
现在,网站开发技术学会了,要做些什么呢?

工作方面

可以将自己写的比较实用的项目搬到网上,
大到一个比较通用的具体项目,例如在地图上点一个位置,就可获得其周边N公里范围的企业分布图;
小到某个计算功能,比如数组降噪。
我工作这几年积累了不少项目,但愿今年能全部上线。

生活方面

1、定期发送邮件/短信/微信提示,包括学习计划、健身任务、生日
2、摆脱“信息茧房”,从自己优选的信息源爬取资讯,整理到一个网页,以后就看这个网页
3、从企查查、招聘网站、垂直深度网站收集数据,自动制图,了解行业资讯
4、做个电影网站共享网,与朋友们分享自己收藏的不需要会员的电影网站
5、百度的数据是很丰富的,但它的广告很多,又有【百度热搜】这种东西分散我们的注意力,我想自己写一个简化版百度,只保留它有用的部分

密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-6-9 17:50:17 | 显示全部楼层
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表