- 博客(34)
- 资源 (50)
- 收藏
- 关注
原创 vx6环境搭建
ubuntu下环境搭建编译工具链编译工具链是一个工具集包括c编译器,汇编编译器,连接器。在命令行下执行gcc -m32 -print-libgcc-file-name,如果输出/usr/lib/gcc/i486-linux-gnu/version/libgcc.a 或 /usr/lib/gcc/x86_64-linux-gnu/version/32/libgcc.a就说明没有问题了。否则执行sudo apt-get install -y build-essential gdb进行安装(Ubun.
2020-09-26 12:07:36 523
翻译 操作系统-特权级
在linux系统中特权级别分为0,1,2,3一共四个界别,0最大 ,3最小。一般内核代码运行在0特权级,驱动 ,虚拟机等运行在1,2特权级,而我们自己写的程序一般运行在3特权级,也就是最低级别。 我们自己写的程序其实是个半成品,一些基本的操作:文件读写等 都是通过系统调用(通过调用库函数,库函数封装的系统调用)来实现的,这些是运行在0特权级别的内核代码,而我们自己的程...
2019-11-30 12:55:54 2595
原创 wireshark抓包分析FTP
简单通过抓把分析下ftp从登陆步骤首先找到网上一个公用的ftp地址进行抓包测试,这里采用地址(瑞典Umeå universitet于默奥大学公共FTP服务器):ftp://ftp.acc.umu.se/ 打开wireshark,条件过滤:ip.addr==194.71.11.173首先包28,35,36 tcp三次握手建立连接,说明ftp是建立在tcp协议之上的。首先客户端主...
2019-11-06 19:56:38 6443
原创 tomcat中文乱码
1:程序中中文乱码修改bin/catalina.bat,添加一行配置set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MaxPermSize=1024m -Dfile.encoding=UTF-82:如果启动界面出现乱码,在文件conf/文件夹 修改logging.properties文件,找到 java.util.logging.ConsoleHan...
2019-09-11 16:35:11 324
原创 shiro securityManager分析
接口SecurityManager,继承了接口Authorizer,SessionManager,Authenticator接口CachingSecurityManager增加了缓存和日志功能和设置 EventBusThe EventBus to use to use to publish and receive events of interest during Shiro's...
2019-06-03 13:37:30 637
原创 shiro subject源码分析
核心接口Subject,通常我们会将Subject对象理解为一个用户,同样的它也有可能是一个三方程序,它是一个抽象的概念,可以理解为任何与系统交互的“东西”都是Subject。可以进行登录,退出,权限验证,获取用户信息,session.principal代表什么那?解释:1)可以是uuid2)数据库中的主键3)LDAP UUID或静态DN4)在所有用户帐户中唯一的字符串用...
2019-06-03 13:14:47 318
原创 shiro realm源码分析
核心接口Realm,主要功能是获取要验证的用户用心,可以从数据库,文件等数据源抽象类CachingRealm,增加了设置缓存功能。AuthenticationRealm1:验证缓存,子类实现cache.put(cacheKey, subclassAuthenticationInfoInstance);2:logout的时候清除缓存实现接口Realm的方法:...
2019-06-03 12:48:36 218
原创 shiro 权限认证源码分析
权限认证关于注解的源码分析请参考我的另一篇文章 https://blog.csdn.net/u013995395/article/details/90718739权限认证默认实现类:ModularRealmAuthorizer,可以设置权限解析器,角色解析器。调用Authorizer接口的isPermitted方法验证,最终其实是realm实现类验证 public bool...
2019-06-03 10:48:40 304
原创 shiro 用户认证源码分析
定义接口获取用户用户名密码 AuthenticationToken,在子类实现:Authenticator接口用来认证用户,可以看出参数就是AutenticationToken,从中获取用户名密码进行验证AuthenticationInfo和AuthenticationToken比较相似,AuthenticationInfo是已经验证过的保存的用户信息,而Auth...
2019-06-03 10:21:51 189
原创 shiro @RequiresPermissions设计与 实现
本篇主要以@RequiresPermissions注解为例,讲解shiro中如何设计与实现首先定义注解@Target({ElementType.TYPE, ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)public @interface RequiresPermissions { /** * Th...
2019-05-31 17:39:12 4017
原创 shiro与springboot整合原理
首先在我们之前的chapter1文章中讲到shiro配置类中有这个方法: @Bean public ShiroFilterFactoryBean shirFilter(SecurityManager securityManager) { System.out.println("ShiroConfiguration.shirFilter()"); S...
2019-05-31 15:35:38 1188
原创 chapter1 使用shiro登录验证
首先我们先整合springboot和shiro,在pom中引入 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <v...
2019-05-31 13:38:37 130
原创 shiro session分析 part 1
1:首先session监听类,默认一个空实现,方便我们选择只重写我们需要的方法:2:session接口定义3:session代理类,简单的代理session的各种操作4:SimpleSession不仅实现了session接口,还实现了ValidatingSession接口5:ExecutorServiceSessionValidationScheduler ...
2019-05-30 12:18:28 145
原创 shiro 验证角色,权限过程分析
首先说明,在shiro中,实际应用中在方法上添加 RequiresPermissions或者RequiresRoles注解会触发aop执行验证当前Subject是否有相关权限或者角色的代码。RequiresPermissions的注解处理器中调用 getSubject().isPermitted(String permission)验证。RequiresRoles 的注解处理器...
2019-05-29 13:55:34 1579
原创 shiro 登录验证身份过程分析
//步骤1:首先利用工具类获取Subject,没有获取到则创建一个新的SubjectSubject currentUser = SecurityUtils.getSubject();//步骤2:在默认实现类DelegatingSubject中执行登录验证过程public void login(AuthenticationToken token) throws Authenticati...
2019-05-29 11:47:35 418
原创 spring接口BeanFactory层级分析
1:spring中的根bean工厂接口为BeanFactory,定义了对bean的基本操作,接口定义如下:public interface BeanFactory { Object getBean(String name) throws BeansException; Object getBean(String name, Class requiredType) throws...
2019-03-26 21:12:15 461
原创 手动注册BeanDefinition获取bean实例
简单实现一下如何手动注册BeanDefinition,从而让beanFactory返回给我们一个spring容器管理的单例bean(如果不显示设置,默认为单例)。首先让一个类注解为@Component的类实现接口BeanFactoryAware,实现如下方法,从而获取beanFactory:@Override public void setBeanFactory(BeanFactor...
2018-12-21 19:25:09 4870 1
原创 spring 1.0源码解析--BeanDefinition
核心抽象基类:public abstract class AbstractBeanDefinition { private PropertyValues propertyValues; private boolean singleton = true; private boolean lazyInit = false; //省略 基本构造方法,对p...
2018-12-21 17:53:34 700 2
原创 JdbcTemplate 0.9版本源码分析
JdbcTemplate 核心方法: public void query(PreparedStatementCreator psc, RowCallbackHandler callbackHandler) throws DataAccessException { doWithResultSetFromPreparedQuery(psc, new RowCallbackHand...
2018-09-30 21:16:22 156
原创 使用selenium实现自动登录,iframe切换,节点快速查找定位
公司需要,已经写好了抓取数据的程序,可惜因为是IE8中才能登陆,目前流行的抓数据技术在IE8中执行会出现js错误。而想正常抓数据必须要登陆后获取sessionid,手工的话比较麻烦,而且一旦登陆过期程序会自动退出,这时就像人工重新登陆,获取新的sessionid,重新启动程序。为了在抛出sessionid失效异常的时候实现自动重新登录获取新的sessionid,继续抓取数据,打算使...
2018-09-29 16:11:10 1707
原创 dcm4che dcm和jpg互转,hl7和xml互转,解析hl7,解析dcm
工作中需要用到处理dicom和hl7两种医疗存储文件,简单记录下遇到的坑,希望能帮到有需要的朋友。首先maven引入dcm4che相关的依赖包(文章末尾列出)1:dicom和jpg互转的代码: public static boolean dcm2jpg(File dcmFile,String jpgFullFilePath) { try { Fil...
2018-07-12 21:23:00 5168 9
原创 maven 子项目打包
出错:The POM for com.online:ocCommon:jar:1.0.0-SNAPSHOT is missing, no dependency information available在idea中不应该在子项目上打包,在父项目中打包
2018-04-22 22:03:52 1292
转载 几张图看懂区块链技术到底是什么?
“区块链”的概念可以说是异常火爆,好像互联网金融峰会上没人谈一谈区块链技术就out了,BAT以及各大银行还有什么金融机构都在开始自己的区块链研究工作,就连IBM最近也成立了自己的区块链研究实验室,但其实区块链到底是什么?大家或许并不清楚,停留在雾里看花的状态。从今天开始,就让我们一起走进区块链,揭开区块链的神秘面纱吧! 取快链?你想说的是区块链吧? 要说清楚区块链,我们先来讲个故事。 ...
2018-04-18 23:17:56 264
原创 Netty学习笔记-介绍
BIO:一个线程负责连接,当有一个用户请求连接时,会创建一个新的线程进行链路处理,处理完成后通过输出流返回给客户端,此时线程销毁。缺点是缺乏弹性,当用户请求多时,会创建太多的线程,从而引发线程占用资源过多,性能下降,最后引发内存不够用,创建新线程失败伪异步IO缺点:当大量用户请求时,会出现线程池阻塞的情况。通道:可以读写,不像inputstream或者outputstream只能读或者写。...
2018-04-18 22:29:13 143
原创 Jquery 插件语法
Jquery 插件语法:Jquery注册全局函数:<script type="text/javascript" src="/plugin/js/jquery-1.7.min.js"></script> <script type="text/javascript"> // 给Jquery注册全局函数 $.min=func..
2018-04-18 20:32:30 302
原创 GCC编译器的使用
GCC编译器的使用1、在用户主目录下新建目录test,并在此目录下新建一个文件file.c 编写程序,程序功能输出如下图案。源程序写在一个文件中,并使用GCC编译。 2、在用户主目录下新建目录test,并在此目录下新建以下文件tst.c并编写程序,当编译时无法找出错误原因,就使用GDB调试器(如下程序)使它显示一个简单的问候,再用反序将它列出:3、写一个求100以内的素数,用gdb调试 步骤...
2018-04-16 12:39:35 329
原创 DNS配置
DNS1安装dns 输入命令apt-get install bind92配置文件 主要配置文件有:其中namd.conf为主配文件,其中引用了其他文件 Namd.conf.localDb.mycloud.com2Db.192.168.43 打开/etc/resolv.conf,把本机ip地址作为第一个DNS地址 3开启dns服务...
2018-04-16 12:33:15 201
原创 DHCP配置
centos1安装 yum install dhcp-server 会自动安装所有依赖的包2 配置把dhcpd.conf.example中的内容复制到dhcp.conf主配置文件中 设置DNS服务器 设置动态ip地址分配段等信息3开启服务4测试:不设置固定ip地址查看端口67开启 在windows 中打开cmd,清楚ip信息重新获得ip地址 结果:在windows8.1中做实验发现...
2018-04-16 12:31:02 269
原创 自己编译boost动态链接库
经过参考网上的内容,总结如下:点击打开链接动态链接库下载(不包括头文件):https://download.csdn.net/download/u013995395/10304357
2018-03-23 17:44:56 2133
原创 领域模型
1 实现领域模型 领域模型经常被其它功能引用,因此,我们应该时刻注意不应该让切面逻辑侵入到领域模型的实现中去。2 当我们的关注点,例如持久化,事物管理,权限等出现在领域模型的实现中时,这就是代码侵入(leaky concerns)。领域模型的实现不应该依赖于java api。例如领域模型中不应该用JDBC api调用数据库操作。所以实现领域模型的规则:MVC三层中都
2017-04-15 12:26:41 396
原创 Domain models and metadata(领域模型和元数据)
1,分层架构: 分层结构利用代码的接口来实现不同的需求,来实现对一个需求的变更不会引发对其他层的影响。分层规则如下: 1层次之间由高到低进行通信。本层依赖自己的直接下一层的接口。 2出了关注自己这一层下的层,其他层都不会关注。 典型的三层架构如图所示:
2017-04-15 12:13:30 835
Head First JavaScript(中文版)
2018-10-23
springboot+mybatis通用注解
2018-09-25
springboot + mybatis(通用mapper) + druid多数据源
2018-09-22
白帽子讲Web安全高清完整PDF版
2018-07-03
springboot-mybatis-分页
2018-05-24
深入浅出Ajax.pdf
2018-05-13
Java编程思想第四版完整中文高清版
2018-05-10
Snake-AI:贪吃蛇游戏的人工智能
2018-04-18
MyQTDemo(渐变+树状导航+滑动导航+分页表格+切换开关)
2018-04-16
Expert One-on-one J2EE Development Without EJB
2018-04-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人