技术文章

技术债就像俄罗斯方块,玩几局来灵感!

不问归期 提交于 2021-02-20 12:54:37
Java技术栈 www.javastack.cn 优秀的Java技术公众号 你知道技术债么? 根据维基百科的定义, 技术债(Technical Debt) 是 “ 编程中的一个概念,反映了当使用短期内易于实现的代码而不是应用最佳的整体解决方案时,出现的额外开发工作 ”。 技术债可以与金融债进行比较,如果不偿还技术债,则会积聚“利息”,从而导致之后更难以实施更改。 不过,技术债不一定是一件坏事,有时恰恰需要技术债才能推动项目前进。 开发者 Jonathan Boccara 将技术债比作俄罗斯方块。游戏初始,需要从一个空白的页面开始进行,就像从什么都没有的编码项目开头一样。 接着,方块开始掉落,每个方块被放置的位置都会影响游戏的其余部分。如果你在没有太多思考的情况下让方块自由滑落,那么接下来的游戏会变得更为艰难。反之,如果设法构建干净、紧凑的结构,在后期将更易于管理。 每个新的修复程序或开发都像一个新的方块一样,需要与现有代码集成。 如果以快速而肮脏的方式对其进行破解,就好像在俄罗斯方块结构中留下了漏洞。 若希望少留些空白或漏洞, 则需要花时间设计一个干净的解决方案,来集成修复程序或开发程序。这不太容易实现,但从长远来看会有所回报。 俄罗斯方块游戏并非总是要求平坦的结构,只要能够有计划地增减和消除即可。就像为垂直栏留出空间以一次滑入并清除四行一样,具有一种令人愉悦的感觉:

掌握这些,ArrayList就不用再学了(下)

限于喜欢 提交于 2021-02-20 12:53:05
书接上文: 掌握这些,ArrayList就不用再学了(上) minCapacity 是个啥(重要) 说这个之前,你先得搞清楚这个 minCapacity 是啥,它现在其实就是底层数组将要添加的第几个元素,看看上一步 ensureCapacityInternal(size + 1 ); 这里 size+1 了,所以现在 minCapacity 相当于是 1,也就是说将要向底层数组添加第一个元素,这一点的理解很重要,所以从 minCapacity 的字面意思理解也就是“最小容量”,我现在将要添加第一个元素,那你至少给我保证底层数组有一个空位置,不然怎么放数据嘞。 重点来了,因为第一次添加,底层数组没有一个位置,所以需要先确定下来一共有多少个位置,就是献给数组一个默认的长度 于是这里给重新赋值了(只有第一次添加数据才会执行这步,这一步就是为了指定默认数组长度的,指定一次就 ok 了) minCapacity = Math.max(DEFAULT_CAPACITY, minCapacity); 这怎么赋值的应该知道嘛,哪个大取哪个,那我们要看看 DEFAULT_CAPACITY 是多少了 /** * Default initial capacity. */ private static final int DEFAULT_CAPACITY = 10 ; ok,明白了,这就是

python try except 出现异常时,except 中如何返回异常的信息字符串

生来就可爱ヽ(ⅴ<●) 提交于 2021-02-20 12:52:46
python try except 出现异常时,except 中如何返回异常的信息字符串 参考文章: (1)python try except 出现异常时,except 中如何返回异常的信息字符串 (2)https://www.cnblogs.com/wpcnblog/p/11356475.html 备忘一下。 来源: oschina 链接: https://my.oschina.net/u/4437884/blog/4957295

从微信小程序到鸿蒙js开发【07】——menu&toast&dialog

ε祈祈猫儿з 提交于 2021-02-20 12:51:46
目录: 1、menu弹出菜单 2、Toast提示框 3、prompt模块的对话框dialog 4、dialog对话框组件 1、menu弹出菜单 这是微信小程序没有的一个组件,提供了一个可唤起的轻量级弹出菜单。menu的子组件为option。 <menu id="userMenu" onselected="menuSelect"> <option value="login">登录</option> <option value="register">注册</option> </menu> 在hml中写好菜单,但这时启动app是不会显示出来的,且不会占用任何页面空间。 menu需要在方法中被唤起,因此需要设置id属性。这里通过点击“点击登录/注册“文本框唤起菜单: <text if="{{ !userInfo }}" onclick="showUserMenu" class="info_hint"> 点击登录/注册 </text> showUserMenu() { this.$element("userMenu").show(); } 使用无参的show()方法,菜单在页面的左上角被唤起弹出。 show方法还有一个重载方法,可以设置菜单弹出的x轴和y轴偏移量。x和y需要给数值类型,单位为px。 showUserMenu() { this.$element("userMenu").show

嵌入式工程师是青春饭吗?越老越吃香吗?

試著忘記壹切 提交于 2021-02-20 12:44:54
一位不愿透露姓名的嵌入式工程师说过,“我是一名嵌入式软件工程师,我现在慌得一笔!” 并非计算机科班出身的他,整个七年下来感觉自己学习的课程也不比电子信息科班出身的少,但是真正学到了什么东西,一下还说不出来。这几年的工作经历,一直感觉是在嵌入式程序开发方面入了门,但是还谈不上精通。 人总是应该有忧患意识的,尤其是程序员,中年危机还是很严重的!这使自己时常考虑未来应该怎么做来应对这种潜在的危机,前一段时间还一直犹豫到底是该从事什么,想过继续嵌入式深挖,考公务员,转战人工智能领域。 伤心中年人:猝不及防的裁员 老熟人老黄的公司裁员了,而且还是整个部门的裁,“早上大家还好好的对需求、敲代码。下午 Leader 开始通知组员,说我失业了”,丢工作是瞬间的事,没有任何征兆,没任何防备,突然就说“你被裁了!” 当我看到这条消息时,并未感到丝毫的诧异,因为我之前就对朋友老黄所处的直播行业有预见性,裁员是早晚的事,就看能撑多久。还好他平时做点其他副业,这种裁员对他来说并无致命的打击和危机感。 每个人从校门走出来到社会,就决定了你真的要努力了,大家背起行囊,大包小包地来到异乡,带着赚钱目的和拼一把的精神开始了自己的程序生涯,因此阶段规划对每个人都很重要。 老黄的这十年 老黄今年 30 岁,个头不高,平时不爱说话,挺老实一个人,出生在湖南一个县城,大学在省会城市长沙就读,毕业后通过校招以 9K

vmware workstation 的虚拟机导入到vsphere

妖精的绣舞 提交于 2021-02-20 12:44:05
今天要把一个在自己电脑上使用vmware workstation搭建虚拟机导入到esx主机中 纯粹的把电脑上的虚拟机文件夹导入到esx的存储中后,将虚拟机添加到清单中后,打开电源报错 Failed to start the virtual Machine (error -18) 查询vmware 后,找到一个KB: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2066856 但是按照vmware 说明操作后,重启主机后,仍然无法打开电源,错误依旧 最后发现可以利用vmware workstation连接ESX(vCenter)后可以将虚拟机拖到esx中或者,从esx中拖到vmware workstation中 上传完成后,修改虚拟机的配置,网卡等虚拟设备的设置后,打开电源,一切正常 来源: oschina 链接: https://my.oschina.net/u/1444926/blog/646575

Docker 安装 zabbix

霸气de小男生 提交于 2021-02-20 12:43:44
一 安装DOCKER 1 配置源 cd /etc/yum.repos.d wget https://download.docker.com/linux/centos/docker-ce.repo 2 安装 docker-ce yum install docker-ce -y systemctl start docker systemctl enable docker 二 安装 Zzbbix 1 启动一个空的MySQL服务器实例 docker run --name mysql-server -t --restart=always \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="zabbix_pwd" \ -e MYSQL_ROOT_PASSWORD="root_pwd" \ -d mysql:5.7 \ --character-set-server=utf8 --collation-server=utf8_bin 2 启动Zabbix Java gateway实例 docker run --name zabbix-java-gateway -t --restart=always \ -d zabbix/zabbix-java-gateway:latest 3 启动Zabbix

职场上,高级职位玩人套灵感的几种模式

匆匆过客 提交于 2021-02-20 12:43:22
比较典型的套灵感的几种模式. 第一种——高薪诱惑人 以工资比同行高30-50%,各种福利诱惑吸引人才注意力。 典型代表: 蘑菇街. 公司高职PHP入职概率低于万分之一。 为嘛判断为玩人,原因很简单:高职岗位已满。 第二种——高职诱惑人 悬空CTO/CEO/CFO等等,对各类有野心的高职求职者有很大吸引力 典型代表: 云车达科技(杭州)有限公司. 有能力入职的朋友,接触一次立马就能研判出,这公司在玩人。 为嘛判断玩人,原因很简单: 高职审核入职时,是技术总监审核CTO入职,运营总监审核CEO入职。 你们见过下属去面试决定上司入职的嘛??——出现这样状况,就是玩人套灵感的。 而且,云车达老板号称30年从业经验,最起码半个人精,这么低级的招聘逻辑错误,绝对是故意的。 第三种——前景诱惑人 鼓吹各类期权,各类鼓吹管理层或老板多牛逼。 越是把自己优势,显摆主动放出来的,越需谨慎。 典型代表:某些创业公司—— 杭州树洞网络科技有限公司。 为嘛判断玩人,原因很简单: 接触的娃,会被忽悠的失去理性不??如果已经被打鸡血中...恭喜你,更需要谨慎。 能被忽悠的鸡血状况,分2种可能: a, 项目真的前景良好,那看下老员工..是啥状态; b, 项目忽悠的,那注意老员工的眼神,若老员工内心认为不靠谱,私下眼神绝对是暗淡的。 跟踪这里公司的招聘记录,会发现,2015年4-10月,是各类高管都招聘助理