自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

郭昊昀的博客

在校大学生的笔记

  • 博客(40)
  • 资源 (1)
  • 问答 (3)
  • 收藏
  • 关注

原创 【设计原则】图解何为依赖倒置

要理解何为倒置,那就先得明确什么是“正向”,可以看到下图代码是自上而下地调用,即高层模块依赖底层模块,这就是正向依赖。而依赖倒置则是使用抽象接口来降低耦合,可以看到箭头是自下而上的,这就是所谓的倒置。这时有人说,如果我箭头调转,抽象类在下,实现类在上,那不就变成正向了?这种观点是不成立的,因为这是 UML 规定抽象类必须在上,实现类在下。

2023-08-20 10:30:39 127

原创 一些工作方法(持续更新)

收集 —— 归纳 —— 分析 —— 整理 —— 方案。

2023-08-20 10:29:37 95

原创 设计模式学习之模式判断

23种设计模式分为3大类:创建型、结构型和行为型。行为型:这个东西和另一个东西如何互动?创建型:这个东西怎么产生出来的?结构型:这个东西的结构是怎样的?

2023-08-20 10:27:17 57

原创 软件建模的4个视图

用途:说明进程的详细组织结构,其中包含类和子系统到进程和线程的映射,即说明人、事、物、规则是如何交互的。用途:说明进程和线程的物理分布,说明人、事、物、规则如何部署在物理节点上(主机、网络环境)。关系:说明人、事、物、规则之间的依赖关系。用途:说明人、事、物、规则是如何分类的。用途:为实施制定架构决策。关系:它们之间的关系。

2023-08-20 10:26:05 138

原创 OMT画图的五种结构表达方式

介绍建模过程中如何画类图

2023-08-20 10:24:00 106

原创 记录开发中遇到的bug之redis低版本无法向前兼容高版本rdb文件

Can’t handle RDB format version 7同步标记位=0由 低版本服务器-主,高版本服务器-从 变为 低版本服务器-从,高版本服务器-主同步失败,删除数据,导致不断增量备份

2020-11-22 21:36:23 1101 1

原创 mongodb的ObjectId最后三个字节有趣的地方

ObjectId 由12个字节组成,其中组成如下:a 4-byte timestamp value, representing the ObjectId’s creation, measured in seconds since the Unix epocha 5-byte random valuea 3-byte incrementing counter, initialized to a random value前4个字节为以秒为单位的时间戳中间5个字节为随机字符串最后3个字节是一个随

2020-05-14 23:28:33 304

原创 mongodb常见用法总结

配置副本集如果通过 shell 连接 mongodb 副本集,执行 reconfig 命令后,会断开当前连接。比如现在副本集有两个节点,member[0]=primary,member[1]=secondary。1.1 连接 primary,依次执行下面的命令,设置 secondary 的权重为5(两个节点默认都是1)cfg=rs.conf()cfg.members[1].priority=5rs.reconfig(cfg)1.2 设置成功后,再次执行 rs.conf() 查看结果,会出现以下

2020-05-09 11:23:58 495

原创 Nodejs的chokidar模块监听文件覆盖

动态修改配置文件的伪代码实现如下:启动时合并配置const config4code = /home/code/config/代码中的配置.js;const config4env = /home/env/prod/config/生产环境的配置.js;const config4cluster = /home/cluster/config/集群中的配置.jsglobal.config = ...

2020-04-11 11:21:48 1304

原创 开启python自带的局域网传文件服务教程

需求:同一wifi下,如果没有移动硬盘,又想快速传输文件。A机器命令行执行ipconfig得到ip地址是192.168.3.33A机器在命令行继续执行python -m SimpleHTTPServer 888A机器防火墙入站放开888端口,以win10为例B机器浏览器输入192.168.3.33:888,即可看到A机器 D:/测试目录下的文件...

2020-03-28 12:11:30 294

原创 svn踩坑

全部操作均为 Linux 的 RabbitVCS SVN合并过的版本号,下次再合并时,svn 会自动跳过。如果想要强制再合并一次,需要勾选 ignore ancestry

2020-02-14 16:41:12 180

原创 为什么MongoDB的 write concern 不能指定全部节点?

项目中遇到一个需求:必须保证在写入后,数据都已同步到所有从节点才返回成功。MongoDB 架构使用了1主 2从 1仲裁,所以我设置了 w 为3,运作良好,符合预期。但是,当某个从节点宕机后,此时 data bearing 节点只有两个,使用 w = 3 会出现异常,需要手动改为 w = 2,等宕机的从节点重新连接后;又需要改为 w = 3。所以我在想,就像 w = majority 代表大多数 d...

2020-02-14 16:38:11 120

原创 如何确认MongoDB副本集的从节点分担了读请求

远程连接命令:mongodb://[user]:[pass]@[ip]:[port]/wntv3?replicaSet=[replicaSetName]下面操作均针对从节点执行 rs.slaveOk(),让从节点可以执行后续用到的命令。执行 db.setProfilingLevel(2),让从节点记录所有操作。执行 db.system.profile.find({}).sort({ts...

2020-02-14 16:16:18 723

原创 JS小技巧

1.可以使用~~ 可以删除数字字符串前面的0,比如~~'0123' => 123~~'000123' => 123~~'0001230' => 1230但是无法处理大于2147483647的数字~~'02147483647' => 2147483647~~'02147483648' => -2147483648...

2018-10-16 20:15:26 116

原创 Node库学习

1.bluebirdconst Promise = require("bluebird");fromCallbackPromise.fromCallback(callback => fs.readFile(__dirname+'/test.js', callback)).then(buffer => { console.log(buffer.toString().tr...

2018-10-16 20:13:05 166

转载 JS版依赖注入

介绍依赖注入是什么以及一个小例子。平时经常使用的bind()、call()和apply()就是依赖注入,可以先依靠这三个函数来体会一下依赖注入究竟是什么。然后可以看一下知乎上的这个回答:跳到知乎回答后来我又看了一篇文章,但是并没有讲得特别详细。在这里增加一些注释和记录学习的知识点。// 主要看看这段代码DI.prototype.inject = function (func) { ...

2018-10-15 21:18:11 314

原创 MySQL案例

1.分条件排序假如现在有一张表tbl_user,如下:create table tbl_user( status int, create_time bigint, update_time bigint );现在要求:当status=0时,以create_time升序作为排序条件;当status=1时,以update_time降序作为排序条件。并且需要分页,每页10条记录...

2018-10-15 21:14:26 586

原创 非静态方法的锁是实例对象本身(this),静态方法的锁是类对象本身(.class)

public class LockTest { public static void main(String[] args) { MyThread mt = new MyThread(); Thread t1 = new Thread(mt); Thread t2 = new Thread(mt); t1.start();

2017-09-07 15:46:31 2371

原创 @Cache注释

CacheConcurrencyStrategy.NONE,不适用,默认 CacheConcurrencyStrategy.READ_ONLY,只读模式,在此模式下,如果对数据进行更新操作,会有异常(对于不发生改变的数据使用); CacheConcurrencyStrategy.READ_WRITE,读写模式在更新缓存的时候会把缓存里面的数据换成一个锁,其它事务如果去取相应的缓存数据,发现被锁了

2017-09-07 14:44:09 329

原创 一些编码规范。

一、将数组/集合中的数据拿出来,用逗号”,”拼接。 之前一直使用如下方式: String[] arr = {"A","B","C"}; StringBuilder sb = new StringBuilder(); int len = arr.length; for(int i = 0; i < len; i++){ sb.append(arr[

2017-08-22 19:03:32 246

原创 静态变量的初值为jvm默认的初值

看了一篇文章 http://wiki.xiaohansong.com/java/class_lifecycle.html 里面说到静态变量的初值为jvm默认的初值,当时感觉很奇怪,想不通为什么,查了一下,找到一篇文章 http://blog.csdn.net/darxin/article/details/5293427 里面有介绍静态变量的初始化过程,简单来说就是public class Tes

2017-07-25 20:24:23 1652

原创 MySQL学习笔记

最近在看《深入浅出MySQL》 一、若表中数据经常被删除,那么需要定时执行命令 OPTIMIZE TABLE table_name原因:删除操作会在数据表中留下很大的“空洞”,以后填入这些“空洞”的记录在插入的性能上 会有影响。为了提高性能,建议定期使用 OPTIMIZE TABLE 功能对这类表进行碎片整理,避 免因为“空洞”导致性能问题。二、大量插入数据进行测试,可以使用如下代码。 1、

2017-07-20 21:52:05 331

原创 127.0.0.1与localhost不同源

今天打代码的时候,遇到了一个大坑,最终让组里的大佬指出问题所在。 遇到问题的过程如下: 在127.0.0.1:8080/test/index.html 这个页面登录,并保存用户信息到session里面。进入后台系统后,有一个操作是Ajax请求,访问的地址是localhost:8080/test/yyyy ,这个请求需要获取session中的用户信息,但是此时却获取不到。 原因: 根据同源策略

2017-07-19 20:19:50 2026 3

原创 关于Eclipse中Project Facts 里面Dynamic Web Module的设置

如果选择Dynamic Web Module为3.0时,右侧出现提示说需要Java 1.6 or newer,但是java版本已经符合了,那么此时先不要勾选Dynamic Web Module,将其改为3.0之后,保存,再进来勾选,即可。

2017-03-19 10:05:43 3732

原创 RESTful风格例子

平时写增删改查时,路径可能如下: http://localhost:8080/项目名/addUser http://localhost:8080/项目名/deleteUser http://localhost:8080/项目名/updateUser http://localhost:8080/项目名/findUser用RESTful设计: http://localhost:8080/项目名

2017-03-17 09:35:39 4263

原创 Linux下MySQL导入sql文件乱码

一、先进入数据库 二、输入以下三条命令 CREATE DATABASE database_name CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT ALL ON database_name.* TO username@localhost IDENTIFIED BY ‘password’; FLUSH PRIVILEGES; 三、进入数据库

2017-02-16 14:08:34 2663

原创 使用OpenSessionInViewFilter延时session关闭后无法启用事务

要将配置文件放到contextConfigLocation,作为根上下文 <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:spring-*.xml </param-value>

2016-11-16 01:07:00 668

原创 关于动态生成的标签无法绑定事件

不能使用on() 来绑定 ,需要使用 delegate()<div id="parent"> <a id="son"></a></div>若<a>是动态生成的,那么需要用$.("#parent").delegate("a","click",function(){ //do something});delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理

2016-10-27 14:25:35 4694

转载 关闭浏览器后的session

一: 在不考虑过期的情况下 Session的生存周期仅限于当前会话, 换句话说,用户关闭浏览器,Session也就死掉了,不存在了. 当你从新打开浏览器访问网页时,服务器会从新分配一个Session, 但这个Session已经不是原来的那个了. 若在页一创建了Session,在页二访问Session对象 如果用户从页一访问到页二,自然是正确的. 但如果用户关闭浏览器(Session也

2016-08-10 14:21:04 1162

转载 js获取URL中传来的参数

<!DOCTYPE html><html><head><script>$(document).ready(function(){ window.onload = function test(){ if(getQueryString("param") != undefined){ alert(getQueryString("param")); } }//获取UR

2016-07-26 17:25:26 308

转载 页面加载完全后立即调用js

<!DOCTYPE html><html><head><script>$(document).ready(function(){//定义加载页面后调用的方法 window.onload = function test(){ alert("hello,world"); }</script></head><body onload="test()"> //在body放置</body

2016-07-26 17:22:11 408

原创 自定义html标签属性并获取

<div id="divId"> <ul> <li id="哈哈哈哈">abc</li> </ul> </div> <script> $("li").on("click",function(){ var test = $(this).attr("id");

2016-07-20 10:31:36 666

转载 springMVC dao层中通过反射获取entityClass

public class BaseDaoImpl<T, PK extends java.io.Serializable> implements BaseDao<T, Serializable> { // 泛型反射类 private Class<T> entityClass; /** * getClass().getGenericSuperclass()返回表示此 Cl

2016-05-06 10:34:11 3320

转载 spring aop的xml配置详解

在Spring配置文件中,所以AOP相关定义必须放在<aop:config>标签下, 该标签下可以有<aop:pointcut>、<aop:advisor>、<aop:aspect>标签,配置顺序不可变。<aop:pointcut>:用来定义切入点,该切入点可以重用; <aop:advisor>:用来定义只有一个通知和一个切入点的切面; <aop:aspect>:用来定义切面,该切面可以包含

2016-04-24 18:01:56 692

原创 SpringMVC前端显示

<!-- 定义视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix"> <value>/WEB-INF/user/</value> </property>

2016-02-11 18:56:10 823

原创 前端和JS学习

前端页面保留空格span style="white-space:pre">span>

2016-01-16 11:46:00 308

原创 fetch = FetchType.EAGER什么时候用?

我的理解是,当你打开一个网页时,用户最希望见到、必须显示的数据和极大可能用到的数据,可以使用Eager。这样当用户使用查看这些数据时,因为已经查过数据库并且存入了缓存,那么便能提高访问的速度,增强用户体验。缺点可能是初次打开网页时,速度会变慢。

2015-12-08 12:58:41 651

原创 Bean的ByName和ByType

publci class A{ private B b; public void setB(B b){ this.b = b; } public B getB(){ return B; }}<bean id="b" class="xx.xx.B"></bean><!--ByName看private B b 的b

2015-10-23 11:59:58 1260

原创 springMVC的HandlerInterceptor拦截器

这里做的一个全局拦截器是用来向前端页面发送一个BasePath,就是jsp的那个basepath。因为当时项目用的是ftl作为前端模板,所以需要用到这个拦截器/** * @author Beldon */@Componentpublic class GlobalInterceptor implements HandlerInterceptor {//Controller 方法调用之前执行

2015-10-14 22:25:41 762

原创 mysql报 2003-Can't connect to MySql server on 'localhost'10061错误

如果mysql出现 那么可以在cmd输入以下命令,获得权限 mysqld –defaults-file=”G:\MySQL5.5.38\my.ini” –console –skip-grant-tables

2015-10-11 20:34:38 637 1

mina框架自定义解编码器

mina框架自定义解编码器的小例子,里面包含所需的Jar,请使用JDK1.7,若无法运行,请留言

2017-05-17

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除