tony

据说程序员最怕命名!这个 6300 Star 的手册能帮上忙

安稳与你 提交于 2021-02-19 12:07:26
【导语】:naming-cheatsheet 是一个命名备忘录,记录命名的一些常见规范和约定。 简介 在编程工作中,命名是一件让很多开发者都头疼的事情。国外曾经有个一次关于程序员最难任务的投票调查,结果命名占了 49%。 一个好的变量或函数命名,应该能起到自解释的作用,甚至能减少我们代码的注释。 naming-cheatsheet是一个命名备忘录,记录一些常见的规范约定,并提供简单的例子说明。如果能够严格遵守这些规范,相信我们的代码可读性会大大提升,下面就来介绍 naming-cheatsheet 提供的一些建议。 项目地址: https://github.com/kettanaito/naming-cheatsheet 使用英语 这是最基本的一条规则了,英语是编程中的主要语言,所有编程语言的语法都是用英语编写的,通过英语编写代码,可以大大提高其通用性。对于我们国内开发者来说,一定要避免拼音甚至是直接的中文命名。 /* Bad */ const primerNombre = 'Gustavo' const amigos = ['Kate', 'John'] /* Good */ const firstName = 'Gustavo' const friends = ['Kate', 'John'] 命名风格 选择一种命名的风格,并且严格遵守,可以是camelCase,或者snake

Oracle decode函数

ぃ、小莉子 提交于 2021-02-10 23:03:18
decode函数在Oracle SQL查询语句中的使用非常广泛,也经常应用到PL/SQL语句块中。 decode()函数语句的基本表达式是: decode(expr1,expr2,expr3,[expr4]) 作如下理解该表达式:   (1),如果expr1 = expr2,decode函数返回expr3表达式的值;   (2),如果expr1 != expr2,decode函数返回expr4表达式的值,如果expr4未指定,则返回null; 补充: Decode函数的语法结构还包括如下: decode (expression, search_1, result_1) decode (expression, search_1, result_1, search_2, result_2) decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n) decode (expression, search_1, result_1, default) decode (expression, search_1, result_1, search_2, result_2, default) decode (expression, search_1, result_1, search_2

Linux初体验

血红的双手。 提交于 2021-01-25 10:02:01
一、Linux基本指令 ⑴ 指令格式 指令名称 [选择项] [参数] 同一行中可以输入一个以上的指令,只要指令间以分号(;)隔开,Linux将会按次序执行命令序列。 ⑵ 指令选择项 为了执行动作产生不同的结果;选择项以(-)号开头; ⑶ 指令参数 参数的目的是描述指令所需的一些信息(例如:文件名称),而这些信息在每次执行该指令时都不相同。 ⑷ 通配符 “*”:可用来代表文件名中的任意长度的字符串; “?”:可用来代表文件名中的任一字符; “[]”:可用来代表文件名中的任一属于字符组中的字符。 二、Linux文件的类型 选择项 作用 - 正文文件——普通文件 d 目录文件 b 块设备文件 c 字符设备文件 l 链接文件 p 管道文件 三、Linux基本命令 1.man 显示联机Linux手册 [格式] $ man [option] [chapter] title… [描述] man命令打印你所指定的命令。在你的LINUX系统中,也许有LINUX系统V用户 手册或Linux程序员手册。在较小的Linux系统中,也许没有man命令, 因为联机手册需要相当大的磁盘空间。 [举例] 你可使用命令man who查看who命令的手册描述。 2. ls 显示当前工作目录下内容 [格式] $ ls [-ltr] [描述]ls(list)命令是非常有用的命令

CentOS6.8下完全干净卸载mysql

别等时光非礼了梦想. 提交于 2021-01-21 07:06:22
来源整理于 https://www.cnblogs.com/wanghuaijun/p/6398240.html 虚拟机CentOS6.8下 先执行命令查看目录是否存在mysql 文件夹: cd /usr/local 再输入ll 若存在 执行删除命令 rm -rf /usr/local/mysql 再 清空相关mysql的所有目录以及文件 rm -rf /usr/lib/mysql rm -rf /usr/share/mysql rm -rf /usr/my.cnf 删除mysql服务 [root@localhost local]# chkconfig --list | grep -i mysql [root@localhost local]# chkconfig --del mysql yum方式安装的mysql 1、yum remove mysql mysql-server mysql-libs compat-mysql51 2、rm -rf /var/lib/mysql 3、rm /etc/my.cnf 查看是否还有mysql软件: rpm -qa|grep mysql 如果存在的话,继续删除即可。 rpm方式安装的mysql a)查看系统中是否以rpm包安装的mysql: [root@localhost opt]# rpm -qa | grep -i mysql MySQL

思维导图-功能测试应用

早过忘川 提交于 2021-01-16 08:58:58
作者:黄亮 1 前言 思维导图由英国著名的心理学家东尼•博赞(Tony Buzan)创建,其在上世纪八十年代传入中国。思维导图是一种表达发散思维的图文工具,利用图文并重的形式,提高人们的左右脑平衡利用,它也是一种锻炼提高全脑脑力的有效工具。目前主要被工商界用来提升个人或团队的学习能力和创新能力,全世界有超过2.5亿人在使用思维导图,仅仅在网络上就能找到5600万以上的示例图形。 随着金融行业的快速发展,支撑其对应金融软件体系架构日渐复杂。在传统对外渠道及金融业务系统不断建设的过程中,为了保证“合规及审计要求、灵活的流程控制体系、强大的后管支撑”等要求,金融行业内管工作流系统建设需要提升到新的高度。此文主要介绍通过思维导图的方式帮助建立金融行业内管系统类业务需求及测试用例相关“分析、设计”的实践过程应用。 2 思维导图绘制方法 2.1 组成元素 思维导图主要由中心图、分支、关键词、关键图、颜色、结构6要素组成,可以用6个字来概括:心、线、词、像、色、构。 心 ,位于中心位置,尽量是图形,图形可以更好的激发我们的想象力,中心图要和中心主题有明显的相互推导关系。 线 ,一般是首尾相连的弧线, 更靠近中心图的线更粗一些更远离中心图的线更细一些。 词 ,5个字以内的是关键词,5个字以上的就是句子了,最好能把线条上的这些字可以浓缩到5个以内。 像 ,就是在每个关键词上,如果你觉得重要的地方

.NET5引发持续关注,千万并发项目,能否超越JAVA,成为超配?

左心房为你撑大大i 提交于 2021-01-16 01:56:20
2020年11月12日零时,阿里巴巴发布的数据显示,2020年天猫双11全球狂欢季(11月1日至11日)总成交额(GMV)达到4982亿元人民币。 在发布总成交额后,淘宝天猫总裁蒋凡向现场媒体透露,按照同周期、同口径比较,今年双11期间的GMV比去年同期增长了1032亿,增速是26%。 这是过去三年来最高的增速。 同时,它还同步创造了两项新奇迹:单日网购订单产生的物流包裹达13亿件,支付宝承载网购支付最高峰值约每秒6100万次。 是不是很疯狂?一个网站能创造这么大的价值,当然,主要得益于马云爸爸那颗外星人般的头脑,同时淘宝网强大的高并发处理能力,起到了决定性的支撑作用。 2020年11月11日微软在dotnet conf 2020 大会上正式发布了.NET 5,具体参看博客 https://devblogs.microsoft.com/dotnet/announcing-net-5-0/ 。这是 .NET 开发人员平台的下一个大版本。.NET 5 是 Microsoft 承诺统一不同 .NET 实现的关键所在,这些是跨操作系统、Web 和各种形态的应用。从今天起,开发人员可以下载.NET 5.0,用于 Windows、macOS 和 Linux,用于 x86-64 和 Arm32/64。 2020年11月16日~18日晚8点~10点,.NET资深架构师Tony老师

Java 迭代接口:Iterator、ListIterator 和 Spliterator

邮差的信 提交于 2021-01-15 19:11:04
1. 简介 当我们使用 for 或 while 循环来遍历一个集合的元素, Iterator 允许我们不用担心索引位置,甚至让我们不仅仅是遍历一个集合,同时还可以改变它。例如,你如果要删除循环中的元素,那么 for 循环不见得总是可行的。 结合自定义的迭代器,我们可以迭代更为复杂的对象,以及向前和向后移动,并且知晓如何利用其优势也将变得非常清楚。 本文将深入讨论如何使用 Iterator 和 Iterable 接口。 2. Iterator() Iterator 接口用于迭代集合中的元素( List , Set 或 Map )。它用于逐个检索元素,并在需要时针对每个元素执行操作。 下面是用于遍历集合与执行操作的方法: .hasNext() :如果还没有到达集合的末尾,则返回 true ,否则返回 false .next() :返回集合中的下一个元素 .remove() :从集合中移除迭代器返回的最后一个元素 .forEachRemaining() :按顺序为集合中剩下的每个元素执行给定的操作 首先,由于迭代器是用于集合的,让我们做一个简单的包含几个元素的 ArrayList : List<String> avengers = new ArrayList<>(); // Now lets add some Avengers to the list avengers.add("Ant

. NET5实战千万高并发项目,性能吊打JAVA,C#排名万年老五,有望逆袭!

烂漫一生 提交于 2021-01-15 16:16:29
“秒杀活动”“抢红包”“微博热搜”“12306抢票”“共享单车拉新”等都是高并发的典型业务场景,那么如何解决这些业务场景背后的难点问题呢? 秒杀系统中,QPS达到10万/s时,如何定位并解决业务瓶颈? 明星婚恋话题不断引爆微博热搜,如何确保系统不宕机? 共享单车充值活动,如何保证不超卖? …… 同一时间、海量用户的高频访问对任何平台都是难题,但可喜的是,虽然业务场景不同,设计和优化的思想却是万变不离其宗。 如果你掌握了高并发系统设计的核心技术点(缓存、池化、异步化、负载均衡、队列、降级熔断等),深化成自己的知识体系,解决这些业务问题将不在话下,应对自如。 不少技术老司机依旧会被“高并发”所困,这与知识储备不足,无法系统化地掌握核心技术有很大关系。技术人要不断汲取新的营养,更要能将技术知识应用到实际业务中,这样才能提升竞争力,突破职场瓶颈。 .NET5高并发、高可用实战训练营 1月12日~13日晚八点至九点半 ,资深架构师Tony老师将开启《.NET5高并发、高可用实战训练营》,Tony老师将基于业务场景还原大型互联网技术架构的演进过程,带你攻克不同业务阶段所需的各项核心技术,解决你的痛点问题。除此之外,他还将结合自身经验,从课程内容延伸出高频面试题,还原面试现场,为你的面试助力! 本课程会先带你建立对高并发系统设计的直观理解,再以最简单架构逐步演进到支撑百万

delete后加 limit是个好习惯么?

混江龙づ霸主 提交于 2021-01-03 11:52:14
前言 在业务场景要求高的数据库中,对于单条删除和更新操作,在delete和update后面加limit 1绝对是个好习惯。 比如,在删除执行中,第一条就命中了删除行,如果SQL中有limit 1;这时就return了,否则还会执行完全表扫描才return。效率不言而喻。 那么,在日常执行delete时,我们是否需要养成加 limit 的习惯呢?是不是一个好习惯呢? 在日常的SQL编写中,你写delete语句时是否用到过以下SQL? delete from t where sex = 1 limit 100 ; 你或许没有用过,在一般场景下,我们对 delete 后是否需要加 limit 的问题很陌生,也不知有多大区别,今天带你来了解一下,记得mark! 写在前面,如果是清空表数据建议直接用 truncate ,效率上truncate远高于delete,应为truncate不走事务,不会锁表,也不会生产大量日志写入日志文件; truncate table table_name 后立刻释放磁盘空间,并重置auto_increment的值。delete删除不释放磁盘空间,但后续insert会覆盖在之前删除的数据上。 下面只讨论delete场景,首先,delete后面是支持limit关键字的,但仅支持单个参数,也就是[limit row_count]

delete后加 limit是个好习惯么 !

十年热恋 提交于 2021-01-03 11:37:34
作者: _陈哈哈 blog.csdn.net/qq_39390545/article/details/107519747 在业务场景要求高的数据库中,对于单条删除和更新操作,在 delete 和 update 后面加 limit 1 绝对是个好习惯。比如,在删除执行中,第一条就命中了删除行,如果 SQL 中有 limit 1;这时就 return 了,否则还会执行完全表扫描才 return。效率不言而喻。 那么,在日常执行 delete 时,我们是否需要养成加 limit 的习惯呢?是不是一个好习惯呢? 在日常的 SQL 编写中,你写 delete 语句时是否用到过以下 SQL? delete from t where sex = 1 limit 100; 你或许没有用过,在一般场景下,我们对 delete 后是否需要加 limit 的问题很陌生,也不知有多大区别,今天带你来了解一下,记得 mark! “ 写在前面,如果是清空表数据建议直接用 truncate,效率上 truncate 远高于 delete,应为 truncate 不走事务,不会锁表,也不会生产大量日志写入日志文件;truncate table table_name 后立刻释放磁盘空间,并重置 auto_increment 的值。delete 删除不释放磁盘空间,但后续 insert 会覆盖在之前删除的数据上