记录学习中的点点滴滴
Spring 是个轻量级开源框架,主要以 IoC(Inverse Of Control: 控制反转)和 AOP(Aspect Oriented Programming:面向切面编程)为内核的容器框架。作为业界使用框架中的基础框架,我一直只是简单应用而未曾有过深入挖掘,这次有些时间就做一个学习总结, 对 Spring 内部原理进行剖析并分享出来~
分享内容大致分为:AOP 的基本使用,AOP 的配置技巧,AOP 基本原理剖析
Spring 是个轻量级开源框架,主要以 IoC(Inverse Of Control: 控制反转)和 AOP(Aspect Oriented Programming:面向切面编程)为内核的容器框架。作为业界使用框架中的基础框架,我一直只是简单应用而未曾有过深入挖掘,这次有些时间就做一个学习总结, 对 Spring 内部原理进行剖析并分享出来~
分享内容大致分为:IoC 的基本使用,IoC 的配置技巧,IoC 基本原理剖析
MyBatis 是个持久层框架,以我曾经的眼光那些框架就是个辅助开发的工具,今年出个A,明年又出来个B,只要弄清楚原理来的再多也不过是老酒装新坛,换汤不换药的东西,但是遇到面试官刁钻的面试题就分分钟教你做人了!(我是谁?我在哪?555~)所以本着做学问的态度,我觉得有必要剖析一下分享出来~
分享内容大致分为:MyBatis 基本使用,MyBatis 原理剖析,实现自己的 XXBatis
本次介绍下用Docker来搭建开发环境,以前本地开发为了省事一些诸如MySql、Redis、Nginx之类的就直接安装了,有时配置不对功能用不了,卸载又不彻底把电脑弄得乱七八糟,反正是挺烦心的。
后来装了虚拟机里面再乱也不怕了,但是作为一个认真的程序员(强迫症)里面乱糟糟也忍不了,为了虚拟机内部应用的隔离、方便扩展、往生产环境的迁移等问题选择使用Docker,它的安装比较简单直接参照官方文档即可。
废话不多说了直接上干货~
最近研究项目需要用到一些资料,无奈网上资源要么添加无数广告花里胡哨,要么就是1页内容给你分了N页得来回点数次。研究的东西挺明确的,看文档给我整蒙了,为了让自己看着舒服及归纳总结,决定做个爬虫,由于Python的简便快捷以及多年之前也写过所以选定他来制作爬虫。
查找网上爬虫资料,发现写的大都千篇一律,要不就是贴段代码草草了事,对于小白那是看的稀里糊涂不得其法,对于大牛那更是不屑一顾根本看不上,每个网站不一样写的爬虫各有不同我这理所应当也没有啥太大帮助,当然我这白嫖的也没有权利说别人是吧,所以自己整吧,顺便分享给需要的朋友~
授之以鱼不如授之以渔,本篇主要写如何针对自己需求写出定制化爬虫~
翻翻代码无意中发现这个写法还挺有意思,整理下写个Demo发出来供大家一起玩耍~
大致原理就是通过Spring的@Component和@Autowired注解将策略Service自动装配到工厂中一个Map中,为了方便管理使用了一个策略类型的常量类(你也可以写成配置文件,我记得有些注解内是支持EL表达式的,请自行尝试),在工厂中把常量类的值传进来就可以通过Map定位到策略Service了。
不说废话了,直接上代码~
今天本来是要研究下Optional判断空集合和抛出异常的问题,结果测试时没有数据,又生成个name1、2、3...觉得太LOW了,想来个中文的,期间也想把Random的Stream与汉字生成结合起来,想采用位运算方式,结果生成出来了,但是有些乱码,最后一步步整出来个这么玩意~ 起码算是对汉字GB2312编码有了些认识,整理了些资料进行了调试,贡献出来~
本来以为安装过Redis以及MySQL的rpm包源码安装那是手到擒来,结果墨迹了半个月,对你没看错就是半个月~ 从阅读cmake编译参数到my.cnf文件我把官方文档看了个遍~ 网上大神写的也是阅遍了,但大都千篇一律,有的是远古版本安装,有的根本运行不了,有的甚至参数名都写错了,还都错的一样,当然还有些确实写的不错~ 所以我决定直接看官方文档,毕竟以往都是查看官方文档的~
上次介绍了Redis的安装方法,这回再来个MySQL吧,把平时最常用的安装都复习下,本来这次讲的应该是在CentOS7下通过rpm安装MySQL 5.7.29,结果研究源码安装时间过长出新版本了~ 那就直接再重装遍MySQL 5.7.30复习下,不说废话直接上傻瓜式教程。
在我们电脑使用Git时可能会遇到要使用GitLab、GitHub、Gitee等不同代码托管平台的情况,之前由于项目工期紧、自己也比较懒,弄了几下多SSH key没有成功嫌麻烦就放弃了,改成直接使用HTTPS方式,这次特意抽点功夫研究一下,总结完贡献出来,不废话了直奔主题...