linux常用命令

#查看帮助 man ins ins --help info ins vim set nu|nonu --行号 #一般模式[default] #dd/d5d 删除当前行/删除当前行[包含] 后5行 #u 撤销上一步 #yy/y2y 复制当前行/复制当前行[包含]后5行 #x/X del/backspace #dw/yw 删除一个词[光标放在首字母]/复制一个单词 #shift+^/$ 移动到行头/尾 #(1)+shift+g 移动到页头/尾-->数字+操作==>移动到数字行 #编辑模式[从一般模式进入,按esc回到一般模式] #i/a[after]/o 当前光标处/后/下一行插入 #命令模式[从一般模式进入] #:---->w,q,!, (%s/old/new/g) #/----[查找]---> n/N[shift+n] 下/上 一个 #?----[查找]---> N[shift+n]/n 下/上 一个 ##-----------vim补充 快速跳转行首/尾: 0,^【是否带空格】 $ 【行尾】 跳转指定行: 1. 88G[88 shift g] 2. :88 跳转文件首/尾: gg:首 G尾 格式化: gg=G 括号对应: 命令模式 % 删除: x和X【命令模式】--->单个字符 dw---删除一个单词 D【shift+D】删除光标之后所有 或 d $ d0-----删除光标之前的 替换: r + 字符 删除指定区域: v[visual]-->选择区域->d 删除指定行数: dNd 或者 Ndd 复制行: yy yNy 或者 Nyy 粘贴: p/P 实际上vim中无删除,只有剪切[结合 p]。 查找: 1.……

Continue reading

jave ide 配置

​ 前几天,idea的教育授权被暂停了。说起来这事挺魔幻,18年时在某个群里边有人说自己白嫖了好几个upc的教育邮箱,当时在想这会对我有啥影响吗?但貌似跟我关系不大,然后现在就… 然而生活还得继续下去😰,虽然,但是备用方案还得有,太依赖ide忽然ideGG了人也废了就不好了。另外这些也作为轻量级解决方案。避免自己下次配置踩坑–>记录一下。 Preparing 配置jdk 配置maven 下载点此 配置环境变量 #例(linux) MAVEN_HOME=/usr/local/apache-maven-xxx PATH=$PATH:$MAVEN_HOME/bin 配置maven #1. 配置镜像(华为镜像为例) 下载配置文件: https://mirrors.huaweicloud.com/v1/configurations/maven? 替换: apache-maven-xxx/conf/settings.xml #2. 设置本地maven仓库 创建一个目录作为本地仓库(用于存放jar包) 在settings.xml中找到<localRepository>标签设置本地仓库路径 例(linux):<localRepository>/home/wide/java/maven_home</localRepository> 注:本地仓库用于存放maven下载的包 1 Spring tool4方案 spring 官方提供的基于eclipse的开发工具 https://spring.io/tools 下载之后得到一个jar文件,使用 java -jar 命令解压。 注:sts4之前的为一个eclipse插件,需要在eclipse中安装。sts4为配置好插件的eclipse,直接解压即可使用 2 vscode解决方案 vscode安装java extension 和 Spring Boot Extension Pack两个插件 配置文件中必须完成以下两项: #例(linux) { "java.configuration.maven.userSettings": "/home/wide/java/apache-maven-3.3.3/conf/settings.xml", "maven.executable.path": "/home/wide/java/apache-maven-3.3.3/bin/mvn", } 注: vscode下载language server时如果没有配置参数1将会从原始镜像下载,极慢 一些常用的maven命令 mvn install ---完成依赖(pom.xml所在目录中) mvn spring-boot:run ---运行spring boot项目 ……

Continue reading

JWT原理介绍

JWT(json web token原理介绍) 1. JWT构成 JWT(json web token)由三段分别用base64 URL算法加密构成,用.分割。 JWT头 (Header) + js // 表示加密协议和类型,以下为默认值 { "alg": "HS256", "typ": "JWT" } 有效载荷 (Payload) + js //JWT 规定了7个官方字段,供选用,也可以包含自定义内容 { iss (issuer):签发人 exp (expiration time):过期时间 sub (subject):主题 aud (audience):受众 nbf (Not Before):生效时间 iat (Issued At):签发时间 jti (JWT ID):编号 } // 默认情况下JWT是未加密的,任何人都可以解读其内容,因此不要构建隐私信息字段,存放保密信息,以防止信息泄露。 3. **签名哈希** HMACSHA256(base64UrlEncode(header) + "."+base64UrlEncode(payload),secret) // secret即盐值 ​ 2. JWT使用及验证 使用流程:前端请求后端获取令牌并保存在cookie或 localStorage,需要时在请求中附带,后端获取并验证。 前端一般使用如下协议头: 'Authorization': 'Bearer ' + token 后端验证流程:获取jwt按照生成方式重新生成并对比。 jwt = request.……

Continue reading

spring boot restful光速无痛入门

spring boot restful光速无痛入门 hello world 我将让你以最快的速度先看到内容,请一步一步跟着做,然后将讲解内容。 创建项目:通过spring initialz创建。 打开网站,按照以下选择 Version:任意,推荐无任何备注的 Project:Maven Project Language:Java packaging:Jar Java:推荐8 在右侧选择依赖:加入Spring Web 在下侧选择generate下载生成的项目文件并解压。 使用idea,载入项目。等待maven完成依赖和目录初始化。 创建路由类: 在src/main/java/****下创建controller文件夹[将在此文件夹下完成业务],在文件夹下创建一个类,填写以下代码并导入相关类。 @RestController public class Index { @GetMapping("/") public String index(){ return "恭喜你完成第一步"; } } 启动项目,打开 localhost:8080/,你可以看到内容了~。 相关的目录结构: spring系列框架的理解 spring: 百科中有如下解释“ 针对bean的生命周期进行管理的轻量级容器 , 提供了功能强大IOC、AOP及Web MVC等功能 ” 。 我的理解[估计不对,不敢信的]:连接池 + xml ==>解耦,高效。 spring boot: 耦合性是降低了,但是xml中的各种配置参数让人懵B,属实劝退。spring boot就是为了解决这种问题,即通过提供各种功能的默认参数尽可能的减少配置以便快速跑起来。[spring boot启动时会优先使用自定义的配置,如果没有就使用默认的] spring boot的starter: 将其原本的功能封装好并加入默认配置的jar包。 版本的问题? 在上边我们创建项目时可以选择spring boot的版本,那么各种版本的区别是什么呢?版本介绍: 你可以在这里看到spring boot的各种版本,以下是各个版本的含义: ​ GA :稳定版本 ​ CURRENT: 最新不一定稳定 ​ SHAPSHOT:开发版……

Continue reading

微服务入门

什么是微服务? 六特征 一组小的服务 独立的进程: 例如容器等 轻量级通信: http,json 基于业务能力 独立部署:团队间无依赖,独立进行,迭代速度快 无集中式管理:可以使用独立的技术栈 特点 松散耦合(loosely coupled) 面向服务(soa) 独立数据源(bounded context) 思考:独立部署后有什么好处? 每个团队独立数据源时有什么挑战? 微服务利弊权衡 利 强模块化边界 可独立部署(低协同开销) 技术多样性 弊 分布式复杂性 最终一致性 运维复杂性 测试复杂性 思考:运维团队如何面对这样的复杂性? 康威法则 设计系统的组织,其产生的设计和架构等价于组织间的沟通结构 单块应用与多团队矛盾,沟通协同成本大,测试复杂,交付能力差 思考:架构师为什么既需要再考虑技术架构时也要去考虑组织架构? 企业应该在什么时候引入微服务? 初期主要是验证商业模式,而微服务存在基础设施的投资,需要一定的基础设施。 一般认为团队接近百人时考虑 我在设计初期时如何考虑呢? 单块优先(未验证商业模式,模式不成熟稳定,因此风险高),逐步引入,逐步分解 思考:架构是设计出来的还是演化出来的? 什么样的组织架构更适合微服务? 传统组织架构及其缺点: 产品管理团队,用户体验团队,研发团队,测试团队,...DBA团队,运维团队 缺点:沟通协同成本大,反馈周期长,研发效率低下,业务支持慢 基于微服务的跨职能的团队 微服务的跨职能的团队[一般12人左右]*n==>API|团队平台 端到端:who build it,who run it 思考:如何理解微服务本质上是一种组织架构的重组? 如何理解阿里巴巴提出的微服务的中台战略? 大中台小前台 知乎:中台到底是什么? 思考:对于架构师大中台小前台战屡如何在自己的公司实现? 服务分层 逻辑性的分层 思考:如何将目前公司的服务映射到基础服务和聚合服务上 微服务总体技术架构体系 思考: 为什么初创团队直接切入微服务? 最经典的三种服务发现机制 服务发现:消费者寻找生产者 1. 传统基于LB模式【简单,需要运维介入,集中式LB挂掉可能导致整个服务无法访问,有一些性能损失】 2. 进程内LB模式【无集中式LB即不存在单点问题,性能好,必须为每个client开发均衡器,多语言支持成本高】 3. 主机读LB模式【方案12的结合,需要每一台主机上运行一个LB 运维成本高】 思考:最新提出的service mesh使用的是哪一种服务发现机制? 微服务网关原理 为什么要引入网关?屏蔽内部细节……

Continue reading

fork,异步回调 和 协程 对比

目的:提高效率,充分利用多核 要解决的问题:上下文状态的保存 实现对比: ​ fork—>保存在栈中,交给操作系统。 ​ 异步回调—>自己实现。 ​ 协程—>保存在栈上,用户态完成。 效率对比:异步回调 > 协程 [据某位大佬说异步回调大概是协程10倍]> fork 优缺点对比: fork:实现简单,效率低,不能支持大量并发。 异步回调:效率很高,实现复杂。 协程:效率较高,实现简单,解放心智。 注:由于实际工程中,协程/异步回调中的代码段往往包含很多逻辑,而协程部分的性能损耗远低于业务逻辑,因此协程是一种比较好的方案。……

Continue reading

最长寒假的总结

大概分成两个阶段吧:开学前,假如开学的时间。 ​ 回家之前在图书馆借了两本书,年前年后看了《区块链:密码共识原理、产业与应用》 ,重点看了下密码共识相关的和目前已经发的那些币之间的各种区别。emm,貌似也忘完了。===>一定要做笔记!! ​ 在这期间大概看了一点 vue 的东西,相当于把之前的东西捡了一点起来。也看了C的一些进阶的东西。 ​ 另外一本书 是关于 操作系统的,一直陆陆续续的,看到今天,也没看多少😢,还得继续啃。[这本是太难啃了] ​ 然后就是看Go了,跟着qimi大佬重学了基础和进阶的,然后附带看了操作数据库的,gin框架,gorm,etcd,nsq==。之后整天跟着群友和夜读开始了解一些Go底层的东西,比如GC,GMP模型,看了很小很小一部分的标准库的源码,有Context,slice====>也没整明白。😅 ​ 这期间用Go也写了一些小demo,有web,爬虫==。 Go圣经看了一部分,。还看了docker的基础东西。(k8s是不可能学的,这种大坑不能跳)。看了Go圣经 ​ 看Go进阶和底层那块说实话没看懂多少,缺少很多东西做铺垫。这就===>操作系统和之后Linux相关的埋了坑。 ​ 再之后[假如开学的时间]看了MySQL(偏重于实战和调优)的,还企图看DBA的,放弃了。因为某个讲师讲的挺好,加上之前从来没系统看过Linux的,就顺带把Linux基础的命令看了。 ​ 四月中旬,看了一节IO多路复用,讲真对于我这种菜鸟,sstrace ff这个命令AC格太高了,然后加上之前Go还有其它时间看blog的疑惑=====>看了Linux系统编程,[相当于 非常粗浅的 过了 apue的一部分],接着上边又把网络编程看了[相当于 非常粗浅的 过了 unp的一部分]。这两本书非常推荐,[虽然我还没看,但群里还有网上很多大佬都说很重要,我觉着很有道理(算了算了,有时间不如打打游戏)]。 ​ 所以这学期可能是游戏打的最多的一段时间了[综合各方面,持续时间长而稳定],所以是我目前最高段位了。前期少数时间反向上分,后期基本上不去了😢。枪3,0.9+kd,但我不是把负哥[把把都是负战绩]🤣,状态不够稳定,手感好能20杀轻松拿下,能空砍 10+难救主 ,手感差能0-6,2-7😂 ​ 然后还间歇的看了点redis[真就一点点],博客–>hexo 博客又回到hexo了,看了(真)一点点rust,Haskell的语法,还有密码学的一点点基础。还有至今貌似依然0进展的c ligth框架[虽然最近有一点点思路,但是怕是还要凉],还要那个企图用websocket写的游戏====>算了,真有时间再搞了。 ​ 留下了笔记和一堆的困惑、疑问。学的越多困惑越多😂。 ​……

Continue reading

restart in hexo

restart in hexo 一个标题 博客跑了一段时间了,上一个跑在阿里云上的也跑了半年多了。 时间总是过的很快。从虚拟主机CPanel到hostdie,还有博客园,如今跌跌撞撞最后又回到了hexo。原因无它:简单。 以前总觉着自己写一套模板,用别人的总觉着太low。现在却以简为美,反而对这些花里胡哨的东西失了兴趣。也不再打算自写或者重构博客了,以后将一直用hexo。之前的博客也将逐步搬移过来【但可能有点麻烦,毕竟不是hexo写的,也没用md】。 希望用博客记录自己成长。 写给自己: 多看书,学点找到编程无关的东西 近期要做的: 看基础的书 数据库相关 刷leetcode……

Continue reading