如何写出健壮和优雅的代码?

阿里妹导读:关于代码的健壮性,其重要性不言而喻。那么如何才能写出健壮的代码?阿里文娱技术专家长统将从防御式编程、如何正确使用异常和 DRY 原则等三个方面,并结合代码实例,分享自己的看法心得,希望对同学们有所启发。你不可能写出完美的软件。因为它不曾出现,也不会出现。每一个司机都认为自己是最好的司机,我们在鄙视那些闯红灯、乱停车、胡乱变道不遵守规则的司机同时,更应该在行驶的过程中防卫性的驾驶,小心那些突然冲出来的车辆,在他们给我们造成麻烦的时候避开他。这跟编程有极高的相似性,我们在程序...
分类: 其他 发布时间: 09-16 09:31 阅读次数: 0

Linux内存管理slub分配器

背景Kernel版本:4.14ARM64处理器,Contex-A53,双核使用工具:Source Insight 3.5, Visio1. 概述之前的文章分析的都是基于页面的内存分配,而...
分类: 其他 发布时间: 09-16 09:31 阅读次数: 0

Java 程序员必备的高效 Intellij IDEA 插件(建议收藏)

以下是我用过不错的IntelliJ插件,分享给大家,希望能帮到大家。01.ignore地址:https://plugins.jetbrains.com/plugin/7495--ignore生成各种ignore文件,一键创建git ignore文件的模板,免得自己去写。截图:02 lombok地址:https://plugins.jetbrains.c...
分类: 其他 发布时间: 09-16 09:31 阅读次数: 0

2020年优选项目Michaelis banktoken(MCT) 开放全球认购

据备受瞩目的密歇币(Michaelis banktoken)官方消息,密歇币团队将于北京时间2020年8月18日 10时30分正式在美国顶尖交易所GLhttp://www.gomboelic.com/开启全球申购计划,据官方内容显示,此次认购是MCT全球首发限量发行,并且获得了上百家区块链社区团队长的大力推荐,市场规模如此巨大,必将让MCT一币千金。深耕区块链,熟知金融行业!瞄准数字货币市场的高增长和区块链经济的高爆发而诞生的前沿科技项目!密歇币(Michaelis banktoken)正在建立了一个包含
分类: 其他 发布时间: 09-16 09:31 阅读次数: 0

Shell练习题(五)

Shell练习题(五)1.统计/var/log下的文件个数2.for循环3.批量添加用户4.查找出uid大于10000的用户,然后删除,必须使用for循环。5.根据IP地址检查网络192.168.1.0/24中存活的主机IP6.Shell脚本统计文件行数的8种方法7.awk END用法8.xargs 是给命令传递参数的一个过滤器9.删除本机中若干文件,/root/file.list中记录了这些文件的绝对路径,请用脚本实现10.取出/etc/passwd文件中shell出现的次数11.文件整理12. 打印出本
分类: 其他 发布时间: 09-16 09:31 阅读次数: 0

swift - 高德地图气泡上的按钮点击

在上篇swift开发高德地图中,自定义了地图的标注和气泡,但是气泡上面并没有说放个按钮点击事件是如何响应的。高德地图开发文档中也并没有详细说明。高德地图官方文档:https://lbs.amap.com/api/ios-sdk/guide/draw-on-map/draw-marker我运行了官方提供的demo,看到了CustomAnnotationView.m文件中却实现了这个功能(如下...
分类: 其他 发布时间: 09-16 09:31 阅读次数: 0

Code Review 高效又高质实施的7个建议

阿里妹导读:Code Review(CR) 的本质是什么?是为了查错?还是为了 KPI?本文分享阿里资深技术专家的看法:CR是一种关于社会学的长期行为和组织文化,通过CR,形成一种良性互动的技术氛围,传播和分享知识,提升代码质量,并给出了 7 个提高CR效率和质量的实践建议。关于代码评审(Code Review)的文章也算是汗牛充栋了,代码评审也已经是许多组织的标准化实践。不过,许多团队在尝试代码评审实践时,却有如下疑问: “政治正确” 的代码评审活动究竟有没有达到期望的实...
分类: 其他 发布时间: 09-16 09:31 阅读次数: 0

leetCode每日十题---栈(难度:困难)

题目描述1笔者解答1.1class Solution { public boolean PredictTheWinner(int[] nums) { return total(nums,0,nums.length-1,1)>=0; } public int total(int[] nums,int start,int end,int turn){ if(start==end) return nums[start]*turn;
分类: 其他 发布时间: 09-16 09:31 阅读次数: 0

做技术知道了哪些事情代表自己成熟了?

如果技术圈是一个江湖,每个人初入江湖的时候都懵懵懂懂的,从懵懂到老练,从老练到老油条,这个是一个过程,过程中总是有一些比较有用的观点,这些观点,就表示你从小白上升到老白的过渡。这些观点,...
分类: 其他 发布时间: 09-16 09:31 阅读次数: 0

写了那么多年 Java 代码,终于 debug 到 JVM 了

如下图所示。接下来就来干一番事情。搭建调试环境1.下载 CLion 软件Jetbrains 是一家非常牛逼的公司,咱 Java 里面用到的 IDEA 功能很强大,这公司也为 C/C++ 提供一个 IDE,名叫 CLion,咱需要下载这个 IDE 来调试 JVM 源码。2.导入源码安装完 CLion 之后,咱就可以先导入代码,下面简单记录一下操作步骤。选择 New CMake Pro...
分类: 其他 发布时间: 09-16 09:31 阅读次数: 0

2020区块链会议商业与发展大会,将在湛江举行,与你共勉

湛江第一届全市最具影响力和最令人期待的区块链会议——湛江来拓客区块链峰会将于2020年9月20日在湛江举行。该活动将由湛江来拓客公司和区块链知名大咖共同主办,它的目的是为了汇聚全市,企业,初创企业和教育机构,让大众更加清晰的了解区块链技术。毫无疑问,这是湛江2020年中最大的区块链会议之一,在这里您可以接触到这个各地区块链从业者,并了解行业内部发生的情况以及未来的发展方向。您可以期望区块链和加密货币领域的每个杰出人士都参加此次峰会。湛江地理位置得天独厚,东连珠三角,西接北部湾,南邻东南亚,属热带和亚热带
分类: 其他 发布时间: 09-16 09:31 阅读次数: 0

时间转化,多少分钟前,多少秒前

// 转化时间ago timeago (dateTimeStamp) { var result = var minute = 1000 * 60 // 把分,时,天,周,半个月,一个月用毫秒表示 var hour = minute * 60 var day = hour * 24 var week = day * 7 ...
分类: 其他 发布时间: 09-16 09:31 阅读次数: 0

Python Django 基本流程

Python Django基本流程,附带思维导图,强烈推荐
分类: 其他 发布时间: 09-16 09:31 阅读次数: 0

swift 高德地图之定位获取地址信息

高德地图中,在funcmapView(_mapView:MAMapView!,didUpdateuserLocation:MAUserLocation!,updatingLocation:Bool)中取其定位信息,获取MAUserLocation,通过geocoder.reverseGeocodeLocation(location!)获取当前位置的地址信息,国家省市区...
分类: 其他 发布时间: 09-16 09:31 阅读次数: 0

leetCode每日十题---堆(难度:中等)

题目描述1笔者解答1.1class Solution { public int nthUglyNumber(int n) { int count=1; int num_result=1; while(count<n){ num_result++; int num=num_result; boolean getone=false; do {
分类: 其他 发布时间: 09-16 09:31 阅读次数: 0

swift - TextView和TextField之return隐藏回收键盘

我们都知道android键盘隐藏是不用开发者控制的,用户自己就可以关闭隐藏,而ios的键盘就比较那个了,还需要开发者设置控件可隐藏才能收起键盘,蛋疼。废话不多说了,开干。一、点击界面空白处即可收起键盘,空白处不能有其他控件的响应事件。 //点击空白处关闭键盘 override func touchesEnded(_ touches: Set<UITouch>, wit...
分类: 其他 发布时间: 09-16 09:31 阅读次数: 0

关于android studio在线升级版本问题选项

关于升级问题,直接按照图片顺序升级即可,一般网络不出意外就会升级成功。当然,这个选项询问你是选择哪个版本的:1、Canary Channel:金丝雀版,能获取最新的功能(Bug较多且都还没有验证)。2、Dev Channel:开发者版,此版本大部分Bug都得到了解决。3、Beta Channel:测试版,这个版本很多小Bug都得到了解决,问题还是会有,但是基本上可能是我们遇...
分类: 其他 发布时间: 09-16 09:31 阅读次数: 0

ARM是不是太便宜了?

前两天是鸿蒙,这两天是ARM,英伟达要用400亿美元收购ARM,嗯,用的是400亿,我们这几辈子都不可能见到的巨额数字,的钱。然后我看了下拼多多的市值你看的没有错,我们虽然没有ARM这样...
分类: 其他 发布时间: 09-16 09:31 阅读次数: 0

java轻量级分布式 RPC 框架代码实现

背景RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。RPC 可基于 HTTP 或 TCP 协议,Web Service 就是基于 HTTP 协议的 RPC,它具有良好的跨平台性,但其性能却不如基于 TCP 协议的 RPC。会两方面会直接影响 RPC 的性能,一是传输方式,二是序列化。众所周知,TCP 是传...
分类: 其他 发布时间: 09-16 09:31 阅读次数: 0

格式化日期为自定义2018-01-09

// 格式化日期 timestampToTime (timestamp) { var date = new Date(timestamp) // 时间戳为10位需*1000,时间戳为13位的话不需乘1000 const Y = date.getFullYear() + - const M = (date.getMonth() + 1...
分类: 其他 发布时间: 09-16 09:31 阅读次数: 0