程序人生
左直拳
程序猿
展开
-
编码规范之注释、条件语句中限制代码行数和避免硬编码
对于软件开发管理来说,制订编码规范是一个历久弥新的话题。每一个大有为开发头目,都强调编码规范。或者程序员也互相攻讦(jie,第二声,阳平),说你写的代码很乱,不规范,很难看懂,很难维护。总之别人写的都不行,自己写的才是好的。那么,怎么才算编码规范?按照我的经历,大家说编码规范,一般都是聚焦于命名规则,注释。命名现在可能普遍没啥问题了,驼峰命名,英文(而不是拼音缩写);注释,刚开始就一本正经地写上作者,创建时间,更新时间。其实时间一长,经手的人多了,就形同虚设,鸡肋得很。原创 2024-09-13 18:54:35 · 625 阅读 · 0 评论 -
npm版本切换工具nvm
有了nvm,可以在一台机器上同时安装多个版本的nodejs,然后指定使用某个版本。原创 2024-04-07 16:03:44 · 2387 阅读 · 0 评论 -
我的2023
到2023年,五一回来,风云突变,一口气干掉了至少30%,连HR都撵走了。然后一路迁延,淋漓不尽,又断断续续开了一些,再加上看不到希望,自己走的,目前只有一半人了。人走了,原本的工作就分到剩下的人头上,后者原本就忙不过来,现在更加是喘口气都没时间。加上中途接手,半生不熟,硬着头皮赶鸭子上架,其中艰难,可想而知。我今年过了生日,就50岁了。下半年开始频繁出差,6、7、8、9、10、11都在东奔西走,周末加班,996,997,甚至907。这是一个资质平庸,见识短浅,胸无大痣,耽于安乐,蹉跎岁月的程序员的故事。原创 2024-02-02 17:44:12 · 594 阅读 · 5 评论 -
程序员能否转型为项目经理
其次是刚参与进来的时候,完全懵逼,人是陌生的,工作内容也是陌生的,面对的都是集团里的人,全都不认识,这总那总的;如果你能够习惯90%的工作内容是与人沟通,在领导、组员和客户各式人等中周旋、协调,忍受各种质询、催促、投诉,接受周末开会,晚上突然来一个电话让你明天坐飞机到外地开会,那你可以考虑做项目经理。6月的时候,负责的一个小项目驻场开发,猛搞2周,终于告一段落,稍为可以喘息一下了,结果又让负责一个新的项目。直至现在,此项目还由于沟通等各种原因,不断出现惊喜,让人一愣一愣的,持续刷新我的底线和认知。原创 2023-08-31 19:40:11 · 343 阅读 · 0 评论 -
在写文档的路上
比如需求,有功能性需求,也有各种质量属性,如可靠性、安全性、保密性等要求;详细设计跟踪概要设计,概要设计跟踪需求分析,需求分析跟踪软件研制任务书。最近基本是在写文档。先是有个小项目要验收,我准备了其中绝大部分的文档,设计文档、部署文档、使用手册,还搞了个汇报PPT。然后又是一个充满压力,里面各种大佬,这总那总活蹦乱跳的项目,又是一顿猛写,从天刚蒙蒙亮,东方露出鱼肚白的时候就开始写,一直写到太阳下山,月亮冒头。这次除了要写需求说明书、概要设计、详细设计,还要写研制任务书。需求啦,设计啦,埋头苦干写文档。原创 2023-07-20 18:26:27 · 208 阅读 · 0 评论 -
使用VS2022编译及运行QT项目
QT是一种版本的C++。我记得以前微软有VC,visual c++,是C++没错,但它又有一些自己的类库,比如可以拖控件,方便开发桌面软件。按我的理解,VC是C++的超集;同样,QT也是C++的超集。为啥要用QT呢?QT方便做界面,尤其是那种电气设备控制软件的界面,比如带仪表盘啥的。VC太out太难用了,就被QT取代了。原创 2023-07-06 17:39:08 · 7836 阅读 · 0 评论 -
extjs向后台请求数据先跳转(xhr/302)然后报CORS跨域错误问题
二者结合,就是报错情况中,为啥先跳转?302就是跳转,后面就是跳到登录页面。由于登录页面位于另一个单点登录,所以会报跨域问题。因此,本错误重点不是跨域,而是为啥会出现跳转。据分析,跳转是因为超时。请求数据过程中超时了,导致登录状态失效,因而出现跳转,跳到登录页。如图所示,这三个提示是连在一起的。所以,对于本错误,应把努力方向放在排查为何请求数据会超时上。这种错误,其实很容易被跨域这个字眼所误导。原创 2023-04-25 18:25:32 · 584 阅读 · 2 评论 -
我的2022
2022年大的环境,感觉是虎头蛇尾,大家辛辛苦苦一整年,迷茫中忙忙碌碌,到头来好像又不知道究竟在忙啥,鸡毛鸭血,大家的日子好像都不好过,于是早早躺平,回家蛰伏起来,等待开春。就好比打游戏,这回合实在太烂,坚持下去没什么意义,不如干脆认输,再来一局。我花了几十元钱在网上算命,说我明年会很焦虑,本来很简单的事情,会无端生出许多波折。辛辛苦苦搞了几天,想着好歹年后回来上班,可以拎包出发,这下好了,蓝屏,直接开不了机。我呆坐半响,抓了一下头,几根长短不齐,黑白不一的头发静静地飘落在桌面上。然而,明年就会好吗?原创 2023-01-18 13:59:12 · 266 阅读 · 2 评论 -
系统分析师
我梦见自己系统分析师的考试通过了。原创 2022-07-23 21:50:46 · 532 阅读 · 1 评论 -
我的2021
作为凡人,即使知道了这个结局,还不能不垂死挣扎,努力做个奋斗逼。原创 2022-01-28 11:21:26 · 495 阅读 · 4 评论 -
专注还是全栈?
前一篇博客说道,前后端分离成2个工种,前端开发人员和后端开发人员。我认为,这只是一种角色,一个程序员可以同时兼任这2种角色。这样就引出一个问题:全栈工程师好还是专注某一块好。前几周阮一峰的个人博客里也谈到这个问题。按照他的说法,专注好。从现实情况看,这个结论大致是不错的,但要说清楚,是什么样的专注。首先,专注是指领域级的,而不是某个工具级的。...原创 2021-10-22 14:56:26 · 282 阅读 · 0 评论 -
论前后端分离的好处
前后端分离最大的意义在于前后端可以并行开发。现在搞BS架构程序,前后端分离应该是主流了。前后端分离有什么好处呢?我认为最大的好处是,使得前后端可以并行开发。其次是前后端分离成2个不同的工种,好比桥接模式,各自独立演化,使得各自的水平会越来越高。前后端分离对于产品来说,并没有很明显的好处。也就是说,前后端分离,并不比前后端不分离的程序更好。表现都是一样的。反而不分离的程序,页面输出时,就能夹带一些服务器变量,不必页面加载完毕后又请求一轮,可能性能会更好一些。当然啦,如果服务器输出这些变量要做很长时间的运算原创 2021-10-14 19:03:47 · 2594 阅读 · 0 评论 -
纵向加密认证网关
纵向加密认证网关与横向隔离公司不知从什么时候起,进了一堆硬件设备,每个装在纸皮箱里,堆在一起,层层叠叠,好大一堆,不知道是什么东西。昨天拆了,一群新来的小伙子在安装调试。这些小伙子我基本都不认识。近期新人太多,变化颇大。我瞄了一眼,上面写着“纵向加密认证网关”。纵向加密认证网关?这是什么东东?很高大上的样子。我内心涌起一阵被时代抛弃的恐惧,赶紧搜一下。简单来说,纵向加密认证网关一种加密传输的硬件设备。我们知道,加密传输的话,用得最广的,是https。浏览器与服务器连接之初,确认证书,验明正身,然后商讨原创 2021-10-13 18:45:38 · 4306 阅读 · 0 评论 -
我的2020
临近2021年元旦的时候,我心里一惊,十分不是滋味。甚至希望时间过得慢一些,不要那么快就到下一年。为什么呢?2020年估计在大家心目中,大概都是很不好的一年,多少人盼着赶紧翻篇。不过,对于我们中国来说,也可以说是先苦后甜,大有作为的一年。总之,2020年极不平常,在历史上,大概率也会留下浓重一笔。可是,这一年当中,我却两手空空,到头来什么也没抓到,南望王师又一年。至于展望未来,我没有未来,我在命运的大河中随波逐流。无话可说。不愿多说。不必多说。...原创 2021-02-07 09:27:49 · 250 阅读 · 0 评论 -
Vue初体验
这段时间忙里偷闲,见缝插针,试验了一下Vue。demo只有2个页面,一个弹出窗口,如下:一、成果1、首页底部点击【Test】出次页,点击【About】弹出关于。2、次页3、弹出窗口二、感受这个demo里面,有部件,有路由,有JSON读取并展示,有集成第三方框架layUI,等等,麻雀虽小,脏腑却也差不多齐全。一路摸索,不少感慨。1、学习成本老实说,学习成本并不低,出乎我意料。据说react完全抛弃了HTML,另起炉灶,独辟蹊径,完全采用JS来书写dom,所以你要用react的话,相当于原创 2020-10-14 19:27:37 · 381 阅读 · 0 评论 -
单页应用 vs 多页应用
web项目可分为单页应用 和 多页应用。单页应用,就是只有一个页面,其他内容,估计就是动态加载,用从加载其他页面片段 + 请求后台 这种方式来完成。这么一说,我之前做的,其实都是多页应用。相比之下,单页应用的优缺点单页应用的优势是什么呢?1、页面切换非常快,不会出现白屏,还可以作出过渡效果2、公用的js和css一次性加载,不浪费3、良好的前后端分离,服务器端只管响应数据请求,不用关心页面渲染,压力小,API重用性高缺点呢?1、首次加载慢。不难理解,这么多东西要一下子加载,当然慢了。加载原创 2020-07-06 17:51:38 · 508 阅读 · 0 评论 -
堡垒机和工单
看技术清单,发现有堡垒机和工单。啥东东?不懂就问。堡垒机,也叫做运维安全审计系统,它的核心功能是 4A:身份验证 Authentication账号管理 Account授权控制 Authorization安全审计 Audit简单总结一句话:堡垒机是用来控制哪些人可以登录哪些资产(事先防范和事中控制),以及录像记录登录资产后做了什么事情(事后溯源.)。事实上,我之前已经用过这个东东了。...原创 2020-05-16 18:21:57 · 485 阅读 · 0 评论 -
2020之后IT技术的应用思考
这次怡情让人震撼,影响应该会很深远,我只从IT角度总结一下个人看法。我认为,经过这次疫情后,中国社会中的IT应用会有以下趋势:一、大数据应用1、多种数据源统合1)机票车票2)导航3)视频监控人脸识别,体温预警4)移动设备定位2、在大数据基础上建立多种预测模型二、机器人应用三、虚拟社...原创 2020-02-01 22:49:38 · 2576 阅读 · 0 评论 -
我的2019
这么快就一年了,仿佛就在昨天。2019年对我来说,是失败的一年,各方面都乏善可陈。努力争取的东西,都以失败而告终。忙忙碌碌,像蚂蚁一样,只为生存而机械的努力。好像我自工作以来,都这么忙,但又没见忙出什么结果,钱也没挣到。不仅仅是过去一年,就是回首前大半生,都是失败的。你看我写的IT博客,营营苟苟,鸡零狗碎,都是一些鸡毛蒜皮,入不得厅堂,撑不起场面的东西。这说明,我还没有达到架构师、系统分析师的...原创 2020-01-21 11:58:58 · 1908 阅读 · 2 评论 -
邮件:事务失败。 服务器响应为:DT:SPM 163 smtp
几年前我做的一个项目,日发邮件最高峰时几十万。自以为对邮件发送方面已经有了一定认识,所以近期机缘巧合之下,又有项目需要发送邮件,不禁自信满满,暗自庆幸能不手到擒来乎?不想老革命遇到新问题。我原先的邮件发送机制,是生成eml文件,然后扔到windows自带的smtp服务器的pickup目录下,系统即自动发送(见拙作:邮件发送一点心得)。但今时今日,这些好像都是老皇历了。IIS7默认并没有SMTP,如果原创 2017-01-03 19:21:14 · 44707 阅读 · 0 评论 -
java啊java
我越来越希望能掌握java。语言当然不是决定性因素。刚毕业出来的时候,我频繁地更换开发语言,像foxpro,power builder,甚至oracle还有一门开发语言,叫什么developer,这些早已扫入历史垃圾堆的名词,现代程序员连听都没听说过的。所谓程序员吃青春饭,工作经验并不重要,大概说的就是这些吧。用了一大堆工具,积累的是使用这些工具的心得,最后工具都淘汰了,所谓的经验自然就没啥卵用了,原创 2018-02-08 10:31:01 · 719 阅读 · 0 评论 -
我的2017
我的2017年,可以用失败来形容。各方面都比较失败。工作上最大的失败,就是在做的项目,呕心沥血,没日没夜的殚精竭虑,最后却临阵被撤,转到别的项目去。桃树自己辛辛苦苦种下,眼巴巴看别人摘桃子。为他人作嫁衣裳。利益是一回事,我向来觉得,程序员最大的耻辱,是工作成果被否定,做着做着的东西忽然不让你搞了。这让我很受打击。当然也让我反思:1、首先没有处理好与项目经理的关系。 不管是按照特征驱动开发方法(FD原创 2018-02-13 11:42:31 · 566 阅读 · 0 评论 -
老革命老问题之相对路径转绝对路径
老革命不仅会遇上新问题,也会遇上老问题。革命越老越健忘,老问题就越多。我就是这么个老革命。对付老问题的唯一窍门,就是赶紧将解决方案记录下来,温故而知新,不怕柏金森矣。当然,老革命如果能变成老领导,提升解决问题的层级,从繁杂的日常编码中超脱出来,即使手抖脚颤又如何?今天的老问题是,asp.net中,如何获得某个相对路径的绝对路径?记忆中,我已经都写过这种代码N回了,却总是记不住。相对路径 -> 绝对路原创 2016-10-11 16:57:15 · 1369 阅读 · 0 评论 -
工作的轻重缓急
工作中分清轻重缓急至关重要。否则,有可能就是瞎忙,努力白费,汗水白流,吃力不讨好,甚至还讨嫌。按高大上的象限法来划分:一、重要且紧急 1、给领导演示的准备工作 2、给客户验收的准备工作 3、领导指示 4、部署到客户处的生产程序报错,影响客户工作二、次要但紧急 1、检查、安排、督促下属工作 2、为同事排忧解难三、重要不紧急 1、系统的基础性工作 2、系统的优化工作四、次要不紧急 1、原创 2017-09-28 09:24:28 · 1729 阅读 · 0 评论 -
职场血教训
1、一个项目有一些关键点,通常最关键的点就是在演示,特别是给高层级的领导演示。所谓台上几分钟,台下十年功,他们一两句话就能决定这个项目的生死,以及你在这个项目中的地位,绝对不可掉以轻心。与这些相比,所谓的架构先进,代码精良,性能卓绝,都无足轻重。甚至可以说,项目是否成功,取决于演示是否成功。平时学习多好都没用,考试能得高分才是硬道理。很好理解。所以,演示前夕,加班加点,你值得拥有。2、调动下属的积极原创 2017-09-08 15:20:33 · 560 阅读 · 0 评论 -
禅
搞IT,一定要对做的东西弄清原理。只有对原理有比较透彻的理解,只有对基础性的根底夯得比较扎实,才能一切尽在掌握,拾起放下,自由取舍,进退自如。不理解原理,对一些时髦的词语一知半解,似是而非,只会在各种喧嚣华丽的概念大流行中疲于奔命,浮躁焦虑。此刻,我仿佛顿悟了。心境如明镜般的湖面一样平静,像晴朗的蓝天一样空灵,阳光灿烂,和风吹拂,一切都是那么自然和舒适。原创 2017-05-05 11:46:57 · 605 阅读 · 0 评论 -
导入EXCEL 时间数据为小数 问题
同事在做将EXCEL导入数据库功能时发现一个奇怪的问题:在EXCEL中,有一列数据明明呈现出时间格式,比如:18:35,但导到数据库中,居然一串长长的小数:0.7743055555555556,我靠,这是什么鬼。后来发现,原来EXCEL里面,其实就是小数,只不过,设置单元格格式为时间时,就呈现 时:分 这种友好的样子;当设置为文本时,立刻原形毕露。怎么办呢?在网上寻寻觅觅,没有头绪。这是一种什么样的原创 2017-04-07 20:36:22 · 6660 阅读 · 4 评论 -
国庆过后老革命
老革命永远会遇上新问题。我就是一个老革命。今天部署系统到客户的服务器。小菜一碟。步骤如下: 1、装oracle12C 2、建可插拔数据库,表空间,用户,导数据 3、部署CS系统 4、部署WEB项目第1步由同事完成了。2 建可插拔数据库还算顺利。但建好后,连接之前,记得要修改tnsnames.ora文件,否则无法解释连接串。因为脚本建的话,是不会自动修改该文件的。然后导好数据之后,服务器连没问原创 2016-10-08 17:43:06 · 779 阅读 · 0 评论 -
我的2016
今天是猴年上班的最后一天了。一年之中,最快乐的其实就是这几天。我好想把这段时光抓在手中。一来,是来年必定又是各种艰辛困难,想想都心烦意乱;二来,过年又老一岁,能工作的时间又减一年。我也模糊地想过,如果能50岁就退休,该有多好!实在太累了。问题是,终归只能想想罢了。手停口停,哪能不工作呢!又或者,到时换点轻松一点的活,比如说,要求低一点的工资,不负什么责任,不加班,安安静静地写代码。呵呵,一个老头,跟原创 2017-01-24 16:13:21 · 825 阅读 · 2 评论 -
docker
docker,早就听说了,但很模糊,似懂非懂,趁岁末难得压力小点,努力搞懂这个概念。不明白就查查资料弄明白,别人都已经吭哧吭哧地用上了,而我们还不知道那是个啥东东,这就是作死了。我就是这样子,作死的时间太长。可惜人不能活第二遍。以下是我目前的理解,不一定正确和全面,但有学习必有输出,先记录下来,而后可以从这里再出发。一、是什么 docker是一个容器,项目可以在里面跑。所谓容器也者,必有边界。do原创 2017-01-24 15:25:21 · 998 阅读 · 1 评论 -
无状态
无状态。忽然想起一个词:“无状态”。比如,http的连接是无状态;符合RESTful原则的Web API是无状态。无状态就是没有状态嘛,咋啦?有什么了不起?但各种教科书教程都这样煞有介事地强调,想必是很厉害的一种特征。怎么理解这个无状态?应该是这么理解的:这个状态是对服务器而言的。无状态,意味着服务器不存储客户端的状态,无须在自己这里维护客户端的状态。但是!无状态不代表没有状态,而是说,每次客户端访原创 2016-10-12 18:59:39 · 883 阅读 · 0 评论 -
加班即不加班
搞IT,加班乃家常便饭。仿佛不加班都不正常。某天准时下班,家里人高呼太阳从西边出了。这就是典型的程序员,典型的老黄牛。这样的员工,公司会喜欢吗?会喜欢,但这并不意味着你会受尊重,升职加薪。作为程序员,工资其实很大程度是取决于你能干什么,而不是你态度很好,领导很喜欢。甚至,不是看你做了多少项目,项目做得有多好。项目做得又多又好,那都是过去式了。计算机技术升级换代很快,你一门心思对程序精雕细琢...原创 2018-06-07 19:47:43 · 689 阅读 · 1 评论 -
自动修改网卡IP地址并连接指定WIFI脚本,方便网络切换
公司的网络分为内网和外网,二者不能同时上,只能切换。我用的是笔记本电脑,无线网络,每次切换,都要改IP,网关,连接不同的WIFI,特别的麻烦。时间长,觉得不是办法,就上网搜了搜,为内网、外网分别写了2个脚本 *.cmd 。脚本内容包括:1、修改网卡IP地址、子网掩码、网关、DNS2、连接指定WIFI当需要切换网络的时候,就运行相应脚本,一下子搞定,方便!脚本如下:1、内网:...原创 2018-06-29 20:00:34 · 6695 阅读 · 1 评论 -
如何成为一名快枪手
我这段时间做东西,都很慢。在两个项目组,中途都有被项目经理催,需要让其他人协助的经历。对于一名程序员来说,自己负责东西,要让他人染指,是一种耻辱,更何况,我还是一名老程序员。痛苦之余,引起了我的反思。为什么会这么慢呢?1、一方面,是搞的东西,对我来说都是新的,或者是不太熟悉的,没有驾轻就熟的经验2、对于使用的技术,我习惯理解之后再做,前期会花上比较多的时间3、个性使然,我喜欢慢吞吞,边做边思考,甚原创 2015-01-26 23:30:37 · 1763 阅读 · 0 评论 -
项目的质量把控与人员使用
管理是一门学问,应该不是那么容易的。作为一个开发小头目,我体会到了。原创 2019-09-19 18:55:37 · 410 阅读 · 0 评论 -
快枪手
做东西快好还是慢好?慢工出细活,一味追求速度,出来的代码肯定好不到哪里去,因为怎么快怎么来,没功夫细想。如果这个项目很重要,值得长期投入,或者陆续有来,前期想清楚再搞,当然没有问题。但是,一般项目都是一次性的,早产出,早收钱,大家合皮。代码,谁会关心呢?也并不重要。我写代码,总喜欢追求完美,极尽奇淫技巧,自我感觉良好,但到头来又怎么样?边缘化。...原创 2019-08-28 20:16:13 · 295 阅读 · 0 评论 -
马云私服
这个标题就是为了博眼球。其实是Maven私服。我司原则上不允许开发机连接互联网。那开发中这包那包怎么办?搞个私服咯。或者叫本地仓库?流程是酱紫的:有一台服务器能访问互联网,那么我们就在它上面搭建一个maven仓库,然后在我们项目的pom.xml里,将仓库地址指向这台服务器: <repositories> <repository> ...原创 2019-07-25 11:39:37 · 397 阅读 · 0 评论 -
面试别人的套路
面试别人听起来感觉很酷,实际上是件烦心事。面试别人的时候,我常常不知道要问些什么,往往东拉西扯,不知所云。一方面,这暴露了我的水准很低,另一方面,我觉得我要弄清楚面试的目的,抓住本质,进而有的放矢,总结出一套面试套路。面试目的,其实谁都清楚,招到合格和合适的人员。何谓合格?水平或素质合格。何谓合适?能相处,听使唤,肯出力。清楚了这2点就简单了,就知道该怎么办了(假设薪酬要求是老板考虑的问...原创 2019-07-24 16:24:57 · 1384 阅读 · 4 评论 -
visual studio2017应用GIT
俺们公司在广东,有个项目在北方某市,需要驻场开发。项目组有个同事不方便出差,怎么办?将部分代码放在互联网上,使用GIT进行源代码管理。这样即可跨越时空,协同开发矣。我在2014年曾经使用过一点时间GIT,当时就觉得很折腾,并且很快就忘得一干二净。这次使用GIT,也着实费了一番工夫。现在赶紧做一个记录。一、开发环境操作系统:WIN7、WIN10开发IDE:vs2017、vs2019二、搭建...原创 2019-06-28 21:46:13 · 5711 阅读 · 0 评论 -
性能优化之道
性能优化之道,绝大部分在于代码也。软件开发有好几个层次:架构、设计、实现。架构是最高层面,设计次之,架构和设计不合适,性能再怎么调,总体也好不到哪里去。但对于一般程序员而言,负责的是一个个模块的具体实现。本文说的优化,就是指这部分的代码优化。我一贯以来都是那个观点,如果一个模块慢,十有八九是我们的代码烂。不要去扯什么机器、内存、多线程,甚至是数据库产品,说人家不支持大数据。多线程就是多开几个线...原创 2019-03-25 18:24:22 · 420 阅读 · 0 评论