其它
文章平均质量分 84
仰望星空的尘埃
https://github.com/a422478514
我未曾见过一个早起、勤奋、谨慎、诚实的人抱怨命运不好;良好的品格,优良的习惯,坚强的意志,是不会被假设所谓的命运击败的。
展开
-
怎样才能考上985计算机OR软工硕士?
上一篇文章写了为什么要考985?,有哥们私聊我让我写如何复习的经验贴,我觉得可以移步去《王道论坛》上面大佬真是个顶个的牛,怎样复习拿到初试高分的攻略实在不要太多。本篇文章我更想介绍的是怎么样评估自己有没有985甚至清北的实力。首先,在我的立场角度来看考研无论是考清北或是考985均没有高考难。为什么这么说,我觉得可以从以下几个角度来比较考研和高考:1、出身背景(这个在本人看来,在高考中起到的决定性作用占比最大)众所周知中国有14亿人,每年都有1000W学生参加高考,能通过高考直通985甚至原创 2020-08-24 19:18:07 · 718 阅读 · 0 评论 -
ipad出现support.apple.com
前几天ipad无缘无故白屏重启,无奈选择更新系统,但是更新后出现如下问题:Support apple.com/iphone/restore的提示。步骤一:在电脑下载并安装iTunes;步骤二:将苹果手机与电脑连接;步骤三:打开iTunes;步骤四:如果是ipad则会出现连接到ipad的提示,并按提示操作。------如果是苹果手机则按以下步骤-------步骤四:对按下苹果手机强制重启的快捷键,之后会出现苹果Logo,不要松开强制重启的按键,直到手机界面出现...原创 2020-08-24 14:04:46 · 21187 阅读 · 0 评论 -
由Redis分布式锁造成的重大事故
基于Redis使用分布式锁在当今已经不是什么新鲜事了。本篇文章主要是基于我们实际项目中因为redis分布式锁造成的事故分析及解决方案。背景:我们项目中的抢购订单采用的是分布式锁来解决的。有一次,运营做了一个飞天茅台的抢购活动,库存100瓶,但是却超卖了!要知道,这个地球上飞天茅台的稀缺性啊!!!事故定为P0级重大事故...只能坦然接受。整个项目组被扣绩效了~~事故发生后,CTO指名点姓让我带头冲锋来处理,好吧,冲~事故现场经过一番了解后,得知这个抢购活动接口以前从来没有出现过这种情况,但是这次为转载 2020-08-11 15:32:58 · 425 阅读 · 1 评论 -
分库分表与NewSQL数据库
最近与同行科技交流,经常被问到分库分表与分布式数据库如何选择,网上也有很多关于中间件+传统关系数据库(分库分表)与NewSQL分布式数据库的文章,但有些观点与判断是我觉得是偏激的,脱离环境去评价方案好坏其实有失公允。本文通过对两种模式关键特性实现原理对比,希望可以尽可能客观、中立的阐明各自真实的优缺点以及适用场景。NewSQL数据库先进在哪儿?首先关于“中间件+关系数据库分库分表”算不算NewSQL分布式数据库问题,国外有篇论文pavlo-newsql-sigmodrec如果根据..转载 2020-08-11 15:30:09 · 315 阅读 · 0 评论 -
后端不哭!最新优化性能经验分享来啦
今天谈下业务系统性能问题分析诊断和性能优化方面的内容。这篇文章重点还是谈已经上线的业务系统后续出现性能问题后的问题诊断和优化重点。系统性能问题分析流程我们首先来分析下如果一个业务系统上线前没有性能问题,而在上线后出现了比较严重的性能问题,那么实际上潜在的场景主要来自于以下几个方面。 业务出现大并发的访问,导致出现性能瓶颈 上线后的系统数据库数据日积月累,数据量增加后出现性能瓶颈 其它关键环境改变,比如我们常说的网络带宽影响 正是由于这个原因,当我们发现性能...转载 2020-08-11 15:21:10 · 188 阅读 · 0 评论 -
什么是 “小镇做题家” ?
到底什么是“做题家”呢?之前,小灰曾经讲过一个概念,叫做内卷化。内卷化的大意是说:在某些特殊的局面当中,尽管每一个局内人都在努力争取自己的利益,但是这些人越是努力,造成的无谓损耗越大,大家的整体利益却没有得到提升。而每一年的高考,毫无疑问是内卷化现象的重灾区。高等教育的总资源是有限的,即使所有考生都夜以继日地努力刷题,最终能进入211、985高校的考生并不会有所增加,反而搞得每一个人都精疲力尽。但是,对每一个个体来说...转载 2020-08-09 11:08:43 · 5814 阅读 · 2 评论 -
阿里大牛告诉你如何写好代码
写了多年的代码,始终觉得如何写出干净优雅的代码并不是一件容易的事情。按10000小时刻意训练的定理,假设每天8小时,一个月20天,一年12个月,大概也需要5年左右的时间成为大师。其实我们每天的工作中真正用于写代码的时间不可能有8个小时,并且很多时候是在完成任务,在业务压力很大的时候,可能想要达到的目标是如何尽快的使得功能work起来,代码是否干净优雅非常可能没有能放在第一优先级上,而是怎么快怎么来。在这样的情况下是非常容易欠下技术债的,时间长了,这样的代码基本上无法维护,只能推倒重来,这个成本是非.转载 2020-07-31 14:40:56 · 312 阅读 · 1 评论 -
干掉restful:graphql真香!
背景REST作为一种现代网络应用非常流行的软件架构风格,自从Roy Fielding博士在2000年他的博士论文中提出来到现在已经有了20年的历史。它的简单易用性,可扩展性,伸缩性受到广大Web开发者的喜爱。REST 的 API 配合JSON格式的数据交换,使得前后端分离、数据交互变得非常容易,而且也已经成为了目前Web领域最受欢迎的软件架构设计模式。但随着REST API的流行和发展,它的缺点也暴露了出来: 滥用REST接口,导致大量相似度很高(具有重复性)的API越来越..转载 2020-06-30 12:15:04 · 222 阅读 · 0 评论 -
追寻本质还是流于形式
追寻事物本质应该是人类与生俱来的一种特性。看看我们在童年时向我们父母提出的那些啼笑皆非的问题,再想想我们小时候拿着放大镜对着一白纸在正午的烈日下一蹲就是一小时,只是为了去点燃这张纸。那是童年最原始、最纯真的对于真理和本质追寻的行为。 可20多岁的我们,却丧失了这种最纯真的好奇心。我们醉心于那些表面的、外在的、甚至是虚无的成就感。我们每天循环着尝试使用各种工具解决各种问题,以此来换取一些微薄的酬劳。我们会用各种不同的编程手法、不同的思维来解决同一个问题,以此来判别你与竞争对手的水平高低;我们也会彼此竞争式的学转载 2020-06-23 14:34:22 · 337 阅读 · 0 评论 -
mac下Sed批量替换文件字符串
前言:实际工作中遇到一个问题:需要在某一个文件下,将所有包含aaa字符串全部替换为bbb字符串。之前处理这种方式是用vim打开各个文件,进行编辑并批量替换。这次想用一个更方便的方法来实现,想到了sed命令。实现用过过程中遇到了问题:sed -i “s/aaa/111/g” test.txt 这条语句在linux平台下可以正常运行。但是在mac下运行会报错。如下:...原创 2020-03-31 12:34:06 · 3381 阅读 · 0 评论 -
HTTP压测工具之wrk
wrk是一款简单的HTTP压测工具,托管在Github上,https://github.com/wg/wrk.wrk 的一个很好的特性就是能用很少的线程压出很大的并发量. 原因是它使用了一些操作系统特定的高性能 io 机制, 比如 select, epoll, kqueue 等. 其实它是复用了 redis 的 ae 异步事件驱动框架. 确切的说 ae 事件驱动框架并不是 redis 发明的,...转载 2019-11-28 11:21:17 · 366 阅读 · 0 评论 -
ELK简介、安装、原理
简介在我们日常生活中,我们经常需要回顾以前发生的一些事情;或者,当出现了一些问题的时候,可以从某些地方去查找原因,寻找发生问题的痕迹。无可避免需要用到文字的、图像的等等不同形式的记录。用计算机的术语表达,就是 LOG,或日志。日志,对于任何系统来说都是及其重要的组成部分。在计算机系统里面,更是如此。但是由于现在的计算机系统大多比较复杂,很多系统都不是在一个地方,甚至都是跨国界的;即使是在一...转载 2019-03-28 11:35:23 · 238 阅读 · 0 评论 -
六十九、Cookie为什么删不掉
版权声明:本文为博主原创文章,欢迎转载 https://blog.csdn.net/lqadam/article/details/52945166问题我们知道,新设置一个cookie,需要指定它的path(路径),name(名字),和maxAge(存活时间)。对于maxAge(存活时间),有一些特殊的使用方法:设置成负数,代表当页面关闭时销毁cookie;设置成0,代表删除一个cook...转载 2019-03-19 21:13:44 · 357 阅读 · 0 评论 -
四十、Cookie的介绍和使用
Cookie的来源由于HTTP协议是无状态的,而服务器端的业务必须是要有状态的。Cookie诞生的最初目的是为了存储web中的状态信息,以方便服务器端使用。比如判断用户是否是第一次访问网站。目前最新的规范是RFC 6265,它是一个由浏览器服务器共同协作实现的规范。Cookie的处理分为:服务器像客户端发送cookie 浏览器将cookie保存 之后每次http请求浏览器都会将co...原创 2019-03-19 20:58:27 · 302 阅读 · 0 评论 -
一、用例图、功能模块图、ER图之间的区别和联系
这周周一,我们导师要求小组成员开会,我们分别汇报自己的工作,在会中,谈到了用例图,于是我们开始对大家熟悉的用例图进行探讨。经过探讨与自己的思考,我认为应该从以下几个问题来弄清楚用例图的作用。1、用例图由谁来做?为谁做,做完了有什么用途?用例图非常直观的的表达了客户的需求,大家想想我们在与客户沟通完成后,我们大脑中得到了什么?答案就是我们的用例图,仔细想想,难道不是吗?用例图把角色和角色完成...转载 2019-02-27 09:40:25 · 35404 阅读 · 2 评论 -
三十九、Maven项目中profile+properties占位符
今天遇到一个问题,就是properties文件中赋值用的这种形式${xxx},真正的值是配置在pom的profile中,但是未生效。后来找到原因,原来是pom中少了一段代码: <build> <resources> <resource> <directory>${project.basedir}...原创 2019-02-28 13:59:34 · 2784 阅读 · 0 评论 -
三十七、L1,L2,L3 Cache究竟在哪里
很多人有个疑问,为什么Intel系列CPU在2005年后可以力压AMD十多年?优秀的Cache设计和卓越的微架构是主要的原因。大多数高层程序员认为 Cache 是透明的,CPU可以很聪明地安排他们书写的程序,不需要关心数据是在内存中还是在Cache里。 他们也许是对的,大部分时间Cache都可以安静的工作。但对于操作系统、编译软件、固件工程师和硬件工程师来说,Cache则需要我们特别关照。现在越来...原创 2019-01-30 11:23:08 · 7901 阅读 · 1 评论 -
Ubuntu安装openjdk8
1、更新软件包#:sudo apt-get update2、安装openjdk#:sudo apt-get install openjdk-8-jdk3、查看openjdk装哪了#:update-alternatives --config javaapt-get,是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件...原创 2019-06-12 10:49:30 · 8550 阅读 · 1 评论 -
二十、redis分区和多数据库
Redis 分区分区是分割数据到多个Redis实例的处理过程,因此每个实例只保存key的一个子集。分区的优势通过利用多台计算机内存的和值,允许我们构造更大的数据库。 通过多核和多台计算机,允许我们扩展计算能力;通过多台计算机和网络适配器,允许我们扩展网络带宽。分区的不足redis的一些特性在分区方面表现的不是很好:涉及多个key的操作通常是不被支持的。举例来说,当两个set...转载 2019-04-10 09:38:40 · 483 阅读 · 0 评论 -
程序员35危机
本文转自微信公众号:InfoQ(ID:infoqchina),编辑:小智。做 InfoQ 公众号这几年来,接触到的一线开发可谓数不胜数。这些人向我提过很多问题,技术问题有之,职业规划有之,撩妹脱单有之(虽然我都解答不了…),但出现频率最高的,却还是这些问题:“我可以写代码一辈子吗?”、“我已经三十多了,依旧只能写代码,还要继续下去吗?”、“某司程序员34 岁就被下岗了,我马上就三十...转载 2019-05-15 09:23:15 · 1857 阅读 · 0 评论 -
com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver的区别 serverTimezone设定
com.mysql.jdbc.Driver 是 mysql-connector-java 5中的,com.mysql.cj.jdbc.Driver 是 mysql-connector-java 6中的1、JDBC连接Mysql5 com.mysql.jdbc.Driver:driverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql://loc...转载 2019-06-14 16:42:01 · 747 阅读 · 0 评论 -
三、https帮助理解
首先,我们来说一下http协议的缺点。 主要有一下三条: 1、通信使用明文,内容可能会被窃听。 2、通信方身份无法确认。 3、收到的报文可能已经被修改。 所以我们来采用HTTPS来解决以上问题。HTTPSHTTP+加密+认证+完整性保护=HTTPS TCP/IP协议族分为四层:应用层,传输层,网络层,链路层。 首先我们要知道,http是应用层的协议,而https并非应用层...原创 2018-05-30 23:52:16 · 336 阅读 · 0 评论 -
什么是Vault
以前曾经介绍过关于KMS的用法,其中,提到了它的优点和用处,我们使用的场景有如下几点:我们产品的环境的所有的配置都保存在git上(Config As Code?),所以相关的密码、private key等需要加密 对AWS上应用/服务涉及的敏感数据进行加密 AWS上传输的数据进行加密,比如SQS如果脱离AWS,选择好像还真是不太多,Harshicorp的Vault是我仅知道的一个,Rat...原创 2019-09-06 16:51:57 · 1561 阅读 · 0 评论 -
c语言==判断字符串是否相等
最近学习c语言,发现==在比较字符串的时候有点意思。总结如下:1、如果比的是字符串指针,有可能是相等的2、如果比较的是字符串本身(通过*p比),只会比较第一个字符3、比较字符串数组的话,一定是不等的,*arr的话比较的是第一个字符所以还是用strcmp()吧#include <stdio.h>#include <string.h>#include &...原创 2019-08-12 18:09:24 · 29568 阅读 · 2 评论 -
二叉树及各种算法-c语言-可运行
#include <stdio.h>#include <string.h>#include <ctype.h>#include <malloc.h>//1.这样初始化树的某个结点的时候typedef struct node{ int data; struct node *lchild,*rchild;}NODE,* B...原创 2019-08-09 16:17:37 · 302 阅读 · 0 评论 -
ubuntu激活idea
有钱请买正版!https://www.jetbrains.com/idea/没钱请买正版!https://www.jetbrains.com/idea/有钱没钱请买正版!https://www.jetbrains.com/idea/实在不想买,请看下文↓获取ubuntu下idea激活码,参照:http://idea.lanyus.com/步骤一:先清除hosts中“0.0....原创 2019-06-27 09:33:26 · 3946 阅读 · 1 评论 -
能否基于openjdk开发闭源软件
OpenJDK的开源协议,闭源没问题关于Open JDK的开源协议问题,在知乎上也遇到过好多次了,解释了不下三次,原本以为是有一定技术基础的人类,居然也搞不太明白这个协议,那就专门开一个专栏文章解释一下吧JDK 11之前的Oracle JDK也就是我们日常去下载的那个JDK,以及Open JDK,用的都是GPL with Classpath Exception协议,而Oracle JDK在...原创 2019-06-11 15:34:16 · 1780 阅读 · 1 评论 -
五种开源协议(GPL,LGPL,BSD,MIT,Apache)
什么是许可协议?什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供 一定的权限。不管产品是免费向公众分发,还是出售,制定一份许可协议非常有用,否则,对于前者,你相当于放弃了自己所有的权利,任何人都没有义务表明你的原始作 者身份,对于后者,你将不得不花费比开发更多的精力用来逐个处理用户的授权问题。而开...转载 2019-06-11 15:28:11 · 1044 阅读 · 0 评论 -
换openjdk后jcaptcha报错
1、验证码图片类库问题:jcaptcha.version在openjdk8中不能用解决方案:去掉该类库,换成手写验证码原创 2019-06-14 17:43:30 · 840 阅读 · 0 评论 -
Scala连接数据库失败
执行java任务连接数据库mysql失败问题:找不到jdbc驱动Exception in thread "main" java.sql.SQLException: No suitable driver found for jdbc:mysql://10.1.1.1:3306/db修改前:def getConnection(): Connection = { DriverM...原创 2019-06-14 17:42:31 · 512 阅读 · 2 评论 -
三十五、基于web的zk管理工具shepher
基于web的zk管理工具shepherShepher 是一款 ZooKeeper 的管理工具。在小米公司,我们用它作为配置管理中心。Readme in English特性ZooKeeper 节点的可视化操作 ZooKeeper 节点的快照管理 ZooKeeper 节点修改的 Diff 和 Review 功能 ZooKeeper 节点操作邮件通知 集成 CAS 和 LDAP 登录...原创 2019-01-28 15:46:17 · 2135 阅读 · 1 评论 -
三十四、为什么要加盐
为什么要在密码里加点“盐”盐(Salt)在密码学中,是指通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,这种过程称之为“加盐”。以上这句话是维基百科上对于 Salt 的定义,但是仅凭这句话还是很难理解什么叫 Salt,以及它究竟起到什么作用。第一代密码早期的软件系统或者互联网应用,数据库中设计用户表的时候,大致是这样的结构:mys...原创 2019-01-16 20:19:23 · 348 阅读 · 0 评论 -
三十八、发现CSDN一处前端BUG
之前点击这个头像能跳转到个人主页,但是2019年01月31日16:30:56这会由于多加了个猪头效果跳转效果被猪头浮层给遮住了。1处是头像,2处是猪头用了绝对定位 结果导致2浮在了1上面。只需在1的a标签上加个z-index即可解决。 ...原创 2019-01-31 16:33:55 · 208 阅读 · 0 评论 -
十八、TLS和SSL的异同
SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。 TLS:(Transport Layer Security,传输层安全协议),用于两个应用程序之间提供保...原创 2018-12-28 19:14:28 · 274 阅读 · 1 评论 -
九、SpringBoot整合中遇到的问题
一、ERR This instance has cluster support disabled这个Error是redisServer没有开启集群模式导致的,修改redis.conf文件,添加cluster-enabled yes原创 2018-08-28 17:19:06 · 290 阅读 · 0 评论 -
十、高性能网络服务器编程:为什么linux下epoll是最好,Netty要比NIO.2好?
基本的IO编程过程(包括网络IO和文件IO)是,打开文件描述符(windows是handler,java是stream或channel),多路捕获(Multiplexe,即select和poll和epoll)IO可读写的状态,而后可以读写的文件描述符进行IO读写,由于IO设备速度和CPU内存比速度会慢,为了更好的利用CPU和内存,会开多线程,每个线程读写一个文件描述符。 但C10K问题,让我...原创 2018-11-23 11:20:01 · 315 阅读 · 0 评论 -
十七、JProfiler
前段时间在给公司项目做性能分析,从简单的分析Log(GC log, postgrep log,hibernatestatitistic),到通过AOP搜集软件运行数据,再到PET测试,感觉时间花了不少,性能也有一定的提升,但总感觉像是工作在原始时代,无法简单顺畅,又无比清晰的获得想要的结果。遂花费了一定的时间,从新梳理学习了一下之前用过的关于jvm调优和内存分析的各种工具,包括JDK自带的jp...转载 2018-11-16 16:03:27 · 293 阅读 · 0 评论 -
八、Atlassian JIRA项目管理工具
JIRA一般用来作为PM跟踪和管理项目的工具,同时还可以集成phabricator,sonar,jekins等开源工具。。。在JIRA上可以对代码进行CR和提BUG。JIRA,大家应该都已经不陌生了! 最初接触这个工具的时候,我还在一味地单纯依靠SVN管理代码,幻想着SVN可以有个邮件通知,至少在项目成员进行代码修改的时候,我可以第一时间通过邮件获得这个消息! 当然,如果手里管理的项目众...原创 2018-07-26 16:49:08 · 4502 阅读 · 1 评论 -
七、Phabricator简介
phabricator是针对git项目的code-review工具,还可以跟踪bug、记录需求、WIKI编写等1. 概述官网:https://www.phacility.com/ 项目地址:https://github.com/phacility/phabricator Phabricator是一套基于Web的软件开发协作工具,一个Web应用用于帮助软件公司构建更好的软件。 原是fa...原创 2018-07-26 16:43:06 · 13847 阅读 · 0 评论 -
四、专业术语
幂等性:就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。举个最简单的例子,那就是支付,用户购买商品使用约支付,支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额返发现多扣钱了,流水记录也变成了两条...原创 2018-06-04 20:07:32 · 201 阅读 · 0 评论