WisdowsBlog 
  • Home
  • Archives
  • Categories
  • Tags
  • About
  •     

对Linux系统进行用户相关的安全控制

原则是最小权限原则,主要分为两个方面 把独立的服务分给不同的用户,每个用户只能访问自己的相关服务和文件。 登录控制,不能直接用root或者服务相关用户直接登录。 ...
 2019-04-21   安全  Linux  shell 

通过 Wireshark 看网络分层

回想学校时期,学习计算机网络时,老师都是按照课本上的概念讲解,很是抽象,大家基本都是靠死记硬背。看了这本书之后,发现 Wiershark 其实是一个很好的教学工具。毕竟实践才是检验真理唯一标准,如果当年老师能通过实战教学,大家应该能深刻很多。 虽然教材《计算机网络》上主打的是 OSI 7 层模型,但是实际世界中,大家更喜欢 TCP/IP 模型,因为其更直观和简单,因此 Wireshark 也是基于 TCP/IP 模型进行网络分析的。 抓包利用 Wiershark 的 filter, 可以过滤只有我本机发起的请求,下面是通过浏览器访问 blog.jiyang.site 时,进行 DNS 查询的过程。 从这个请求详情中可以看到分层情况: 数据链路层 网络接口层 网络层 传输层 应用层 每经过一层,每层协议都会增加自己的数据到数据包中: TCP/IP 模型 Wiki document.querySelectorAll('.github-emoji') .forEach(el => { if (!el.datase
 2019-04-13   网络    读书笔记  TCP/IP 

Java生成条形码,使用ZXing框架,并去除条码两边空白

ZXing(“zebra crossing”)是一个用Java实现的开源,多格式1D / 2D条形码图像处理库,具有其他语言的端口。 如果不想看源码分析,想直接看代码请跳到最后!!! 常用的Code 128 码与 Code 39 码比较: Code 128 码与 Code 39 码都广泛运用在企业内部管理、生产流程、物流控制系统方面。不同的在于 Code 128 比 Code 39 能表现更多的字符,单位长度里的编码密度更高。当单位长度里不能容下 Code 39 编码或编码字符超出了 Code 39 的限制时,就可选择 Code 128 来编码。所以 Code 128 比 Code 39 更具灵性。CODE128码是1981年引入的一种高密度条码,CODE128 码可表示从 ASCII 0 到ASCII 127 共128个字符,故称128码。其中包含了数字、字母和符号字符。 以下内容以code128编码为例,分析ZXing源码了解原理,先看看顶层调用的代码: 12345678try { // 图像数据转换,使用了矩阵转换 参数顺序分别为:编码内容,编码类型,生成图片宽
 2019-04-12   功能开发    Java  ZXing  条形码 

利用clustersh在集群中执行shell脚本

引言 本文将介绍一个叫做clustersh的命令行小工具。 如果你想要在许多刚刚装完linux系统的服务器(可能有上百台)上统一执行某个shell脚本,那么clustersh就非常适合你。 “刚刚装完linux操作系统”仅仅是为强调clustersh不需要在集群上安装任何东西,并不是clustersh运行的必要条件。 如果你的集群中包含很多不同种类的Linux发行版系统,clustersh还可以自动识别操作系统类型,并为你选择执行相应的脚本。 Github地址 https://github.com/DQinYuan/clustersh/tree/master/zhdocs 如果觉得有用的,欢迎给个Star。Github上有更加完善的文档 使用介绍 clustersh的使用非常简单。只需任选一台与集群网络联通的linux机器,在其上按照如下步骤操作. 假设我们的任务是给集群内所有机器统一安装一个nfs客户端,集群内有centos机器和ubuntu机器 下载clustersh去下载地址下载clustersh的二进制文件(使用wget命令),然后将其移动到linux的PATH路径下: 123
 2019-04-08   运维    clustersh 运维 我的开源库 

JVM的栈帧

栈帧是支持JVM进行方法调用和执行的数据结构,它是JVM 运行时的数据区域的栈元素,其中包含了方法的局部变量表、操作数栈、动态链接方法,和返回地址等信息。...
 2019-04-02   学习记录  Java  基础知识    JVM  Java 

时势造英雄-策略模式

策略模式针对同一类情况, 如果因为某个或多个因素和有不同的处理方法, 一般这种就会造成写很多的if else, 甚至嵌套. 策略模式就是针对这种情况的一种让代码遵循开闭原则的方案. 适用场景 针对同一类型问题的多种处理方式, 仅仅是具体行为有差别时 需要安全的封装同一类型的操作时 出现同一个抽象有多个子类, 而又要使用 if else 来判断具体实现时 类图12345678910111213141516171819202122232425@startumlclass Context {+algorithm()+setStrategy(Strategy)}interface Strategy {+algorithm()}class StrategyA {+algorithm()}class StrategyB {+algorithm()}Context o- StrategyStrategy <|-- StrategyAStrategy <|-- StrategyB@enduml Context: 持有策略的上下文 Strategy: 策略的抽象 StrategyA,
 2019-04-01   设计模式    读书笔记 

高性能mysql学习笔记

第一章 MySQL架构1.1 MySQL逻辑架构123456graph TBE(客户端)---AA(连接/线程处理)---B(查询缓存)A---C(解析器)C---BC---D(优化器) 12graph TBE(存储引擎)...
 2019-04-01   mysql    读书笔记 

Java的垃圾回收算法

在JVM运行时的数据区域中了解到了JVM的内存模型,那么既然使用了内存,就要考虑如何回收内存。与C语言不同,Java不需要开发人员人工回收内存,而是交给Java的垃圾回收机制来完成。...
 2019-03-28   学习记录  Java  基础知识    Java  垃圾回收  GC 

JVM运行时的数据区域

JVM在运行时,会按照程序执行的需要来创建一系列的运行时数据区域。有的区域只会随JVM起停而被创建和销毁,有的区域则会独立分配给各个线程,并随线程的起停而创建和销毁。这些运行时区域,按照功能和性质不同,会分成如下几部分: 线程专有 pc(program counter)寄存器 JVM栈 本地方法栈 线程间共享 堆 方法区 运行时常量池 ...
 2019-03-27   学习记录  Java  基础知识    JVM  Java 

Kubernetes:v1.13.4墙内部署文档(CentOS7)

引言 操作系统是CentOS7,假设使用的用户是root(如果不是root的话,请自行添加”sudo”) 如果你用的是Ubuntu系统,大多数操作也都类似,在结尾附录中我还给出了Ubuntu安装过程中与CentOS7不同的地方,希望能对你有所帮助。 Master节点部署 步骤一 调节Docker版本Kubernetes和Docker的版本兼容性一直是令人头疼的问题,之前我的服务器上装的docker是1.13.1版本,安装时会报很多莫名其妙的错误,让人困惑很久,经过测试Docker的1.13.0版本是能够和Kubernetes的v1.13.4版本完美配合的。 1.查看docker版本 1docker -v 如果发现版本刚好是1.13.0的话就可以直接跳到步骤二了 2.如果发现版本不是1.13.0的话,建议将Docker卸载并且重新安装合适的版本 123456789101112131415161718# 删除已有的dockeryum erase -y docker*# 删除已有的docker镜像(防止不同版本的docker无法兼容各自的镜像而产生服务无法启动的错误)mv -f /var/
 2019-03-25   kubernetes    kubernetes 
1…1112131415…28

搜索

Hexo Fluid
 总访问量 次   总访客数 人