SF
张喜硕
张喜硕
注册登录
关注博客
注册登录
主页
关于
RSS
不做切图仔,初窥设计之门
张喜硕
2019-11-15
阅读 3 分钟
3.2k
引言 在我们的印象中,前端是写业务的,美工是做UI的。前端对美工的设计稿进行实现,所以在很多公司,前端就是会两行AJAX的切图仔。 新系统初始化,目前对市面上的绝大多数的Angular UI框架都不满意(也有写得好的,几千$),只得拿起最原始的武器:Bootstrap。 设计 比不上腾讯,请不起设计师。只能前端自己设计UI。 以一...
线程利器:ThreadLocal
张喜硕
2019-11-08
阅读 3 分钟
2.3k
引言 这是JWT认证条件下的getCurrentLoginUser代码实现,请分析性能: {代码...} 在生产环境中,currentLoginUser永远为null,if不执行。 执行else内的解析JWT的代码,解析userId,再查询用户。 很明显,一次请求内,当getCurrentLoginUser被多次调用时,会重复解析JWT,就会产生性能问题。 解决 分析 解决重复解析JWT的...
WebSocket 之应用实现
张喜硕
2019-10-28
阅读 4 分钟
2k
引言 学完了协议基础,我们一起使用spring-boot搭建一个websocket项目。 WebSocket 实现 以下的代码实现十分简单,建立起WebSocket连接后,后台向前台推送一些数据,前台回复收到。 后台 如下所示,后台编写一个Handler,实现WebSocketHandler拥有处理WebSocket的能力,实现方法。 {代码...} 前台 前台不引入任何JavaScr...
WebSocket 之协议基础
张喜硕
2019-10-27
阅读 2 分钟
1.7k
“既然HTTP这么烂?为什么我们不抛弃它再设计一个全新的协议,而是要给他打补丁呢?”这是某次我和我舍友在宿舍喝着小酒,探讨SpringMVC时谈到的一个话题。
JPA 大小写敏感问题
张喜硕
2019-10-18
阅读 2 分钟
7.5k
引言 被舍友问了JPA的查询问题,问题问的我一脸懵逼。 天真的我顺手搭了一个小的JPA项目试一试。 探究 尝试 测试环境:spring-boot 2.1.5.RELEASE、mysql 5.6。 数据表中加了一条数据,用户名是admin。 测试代码如下: {代码...} 如果teacher1有值的话,说明查询不区分大小写,如果为null,说明区分大小写。 两者都有值...
我眼中的微服务架构
张喜硕
2019-10-11
阅读 4 分钟
2.7k
引言 随着业务的发展,无数公司开始面向服务开发,转向微服务架构。 说句大实话,今年秋招,算法和Java岗人才爆炸,不容易。 忙着找工作,好久没写过博客了。华软新版本基本完成,趁着有时间正好给大家讲一讲传说中的微服务架构。 微服务 这里的微服务,并不是单指我们用的spring-cloud,spring-cloud只是微服务的一种最...
签名:防篡改思想
张喜硕
2019-09-02
阅读 3 分钟
5.6k
引言 最近学jwt学疯了,我之前很少做梦的,这两天天天做梦。 梦到自己写jwt,梦到制定http 3.0规范,梦到Github封杀我。 可能是又到了一层境界。 最近看了好多的博客去研究jwt,发现很多博客对jwt存在误解,所以我特意去jwt的官方网站去学习,试图理解设计的思想。 jwt 请移步jwt官网。 jwt:json web token。 与传统的S...
flyway 实践
张喜硕
2019-08-30
阅读 2 分钟
5.5k
引言 最近重拾了计量项目,几个月不写,发现有好多的新知识需要学习。 为了实现数据库的版本迁移,几乎所有的生产项目都用上了flyway,但是华软项目至今没有配置。便决定拿出一个晚上学习并配置flyway。 尝试 设计 之前为了项目的方便快捷,一直使用的是Hibernate的DDL进行数据表结构的维护。 DDL:Data Definition Lang...
Spring Security 认证方式的深度思考
张喜硕
2019-08-24
阅读 5 分钟
14.5k
引言 讲一下COOKIE和SESSION? balabala。。。 如果COOKIE被禁用了怎么办? 可以使用Token来代替COOKIE进行用户认证。 那你看,既然Token就能实现功能,那还要COOKIE干什么呢?COOKIE存在时间这么久,肯定是有它的道理的。 想了半天,不知道。 COOKIE 的起源 说到为什么有COOKIE?所有的HTTP相关资料都是这一句话。 因为...
no-vnc 与 node.js 实现 web 远程桌面
张喜硕
2019-08-11
阅读 5 分钟
8.6k
VNC(Virtual Network Computing),为一种使用RFB协议的屏幕画面分享及远程操作软件。此软件借由网络,可发送键盘与鼠标的动作及即时的屏幕画面。
Java基础(笔记)
张喜硕
2019-08-08
阅读 6 分钟
1.4k
引言 在学习《Java编程的逻辑》一书时记录的一些笔记,扫清了一些Java基础的知识盲区,感谢作者马俊昌老师。 数据类型 序号 数据类型 大小(位) 包装类 默认值 数据范围 1 byte 8 Byte 0 -128 ~ 127 2 short 16 Short 0 -32768 ~ 32767 3 int 32 Integer 0 -2147483648 ~ 2147483647 4 long 64 Long 0L -9223372036854775...
HTTP和HTTPS(笔记)
张喜硕
2019-08-06
阅读 2 分钟
1.8k
HTTP 支持客户/服务器模式。 简单快速,方法和路径。 灵活,允许传输任意类型的数据对象。 无连接,每次连接只处理一个请求。 无状态协议。 请求/响应的步骤 客户端和Web服务器(默认80端口)建立TCP连接。 通过TCP连接,客户端发送HTTP请求。 服务器接收请求并返回HTTP响应。 释放TCP连接。如果connection是close,则服...
计算机网络(笔记)
张喜硕
2019-08-06
阅读 3 分钟
1.6k
网络模型结构 OSI七层模型 TCP/IP四层模型 功能 基本单位 应用层 应用层 文件传输,电子邮件,文件服务 表示层 数据格式化,代码转换,数据加密 会话层 负责在数据传输中设置和维护两台计算机之间的通信连接 传输层 传输层 提供端到端的通信 网络层 网络层 逻辑编址、分组传输、路由选择 数据包 数据链路层 网络接口层 ...
数据库锁(笔记)
张喜硕
2019-08-06
阅读 2 分钟
1.8k
引言 MyISAM不支持事务。 MyISAM与InnoDB关于锁方面的区别是什么 MyISAM默认使用的是表级锁,不支持行级锁。 InnoDB默认使用的是行级锁,也支持表级锁。 读锁/共享锁:其他session可以读,但不能写。 写锁/排他锁:其他session既不能读,也不能写。 MyISAM,对数据进行查询时,自动为该表加上一个表级的“读锁”;对数据进...
数据库索引(笔记)
张喜硕
2019-08-06
阅读 2 分钟
2.3k
引言 最简单的数据查询方式是全表扫描,找出符合条件的数据。 索引的设计灵感来源于字典,根据关键信息可以快速定位。 为什么要使用索引 索引能够避免全表扫描,提升检索效率。 什么样的信息能成为索引 主键,唯一键等能够让数据具备一定区分度的字段。 索引的数据结构 主流使用B+树,也有一部分数据库索引使用Hash索引...
B树、B+树
张喜硕
2019-07-31
阅读 2 分钟
7.2k
引言 最近在复习数据库索引相关的知识,B+树是数据库索引中十分重要的数据结构。 学习过程中,发现对B树和B+树之类的数据结构知识很欠缺,一起来回顾一下。 学习 索引 如果没有索引,我们想从数据库中查询数据,需要遍历整个表。 如果表中的数据量小时还好,如果表中数据量很大,这就很耗时了。 这就类似我们有一个字不...
那些年,被我们误解的TCP
张喜硕
2019-07-28
阅读 2 分钟
2.1k
最近在结合“慕课网”的实战课程《剑指Java面试-Offer直通车》复习基础知识,在复习计算机网络时,发现原来我在书上学的TCP相关知识是不准确的,不符合面试要求。
Java 迭代器引发 ConcurrentModificationException
张喜硕
2019-07-10
阅读 4 分钟
4.2k
引言 ConcurrentModificationException这个异常大家都很熟悉,当在forEach进行删除时都会出现该异常。 如果你还不了解,请参考澍澍的博客:关于在list循环的过程中进行删除的处理 - 晨澍的博客 ConcurrentModificationException的解决方案之一是使用迭代器,但是不代表迭代器就一劳永逸了。 使用的时候还需斟酌数组的索...
我对 SpringMVC 的一些误解
张喜硕
2019-07-05
阅读 2 分钟
1.7k
引言 刚考完期末,再也不用考试啦!!! 最近学习了慕课网的实战课《手写SpringMVC,剑指开源框架灵魂》。 spring-boot太过智能了,智能到我们完全不用去管底层是如何实现的,都可以很轻易地去开发一款web应用。 最近将本课程和《看透Spring MVC》结合起来学习,感觉受益匪浅,同时,纠正了我之前对SpringMVC的一些误解...
JPA Session 一劳永逸
张喜硕
2019-06-06
阅读 12 分钟
11.5k
在单元测试中跑这段代码,是报错的,no Session,说明执行完teacherRepository.findAll()之后,session就已经关闭了。继续执行,session已经关闭,再去数据库查教师关联的班级信息,就错了。
JPA 查询问题探究
张喜硕
2019-05-30
阅读 5 分钟
2.6k
引言 最近看到了实体图相关的博客,国外老哥说JPA的实体间关联会执行多次查询,当数据量大时性能非常差。 正好实体图在之前写华软的时候就学习过,只是没学明白,没在项目中实际应用,正好借此机会学习一下。 实践出真知,建一个jpa的项目,实际测试一下jpa到底是怎么查询的。 今日才发现,Spring Boot都更新到了2.1.5。...
SpringBoot 读取文件代码模版
张喜硕
2019-05-24
阅读 2 分钟
6.8k
引言 Alice上线后,学生导入模版文件下载失败。 未打包是没问题的,打完包后就发生了错误。开始逐步定位问题。 原方法 {代码...} 经测试,问题出在ResourceUtils.getFile这个方法上。 {代码...} 字符串拼接后就是classpath:static/导入学生模板.xlsx,没打包时,该方法能正常获取到该Excel文件。 ResourceUtils.getFile...
Mac 开发环境配置
张喜硕
2019-05-22
阅读 3 分钟
5k
引言 本周收到了新的Mac mini,感谢潘老师。 然后开始了安装开发环境的生涯,相较于Linux和Windows,还是挺简单的。 配置 学习软件 微信、钉钉、印象笔记,少哪个都不行。 这里向大家推荐印象笔记,真的是学习神器,一键收藏最好用。 微信、知乎推荐的文章,虽然写得也挺好,但大都是标题党,点开看又占用时间打断思路,...
Angular 架构设计
张喜硕
2019-05-17
阅读 5 分钟
2.4k
引言 Alice测试上线,发现包体积太大,加载太慢。决定启用懒加载与预加载加速加载速度。 整三天,课也没去上。改得时候特别痛苦,哭了,为什么没有早点发现惰性加载这个东西。 星期一,重新设计前台架构,重构前台代码。 星期二,分模块加载,启用惰性加载与预加载。 星期三,修改单元测试,添加provide。 星期四,写PPT...
ArrayList 线程安全性学习
张喜硕
2019-05-11
阅读 2 分钟
3.8k
看了看,最近也没有好公司来办宣讲会,也就没了投简历的意向。最近看了看面试题,想着补一补基础,以后面几家Spring Cloud的企业,去和面试官交流交流。
Alice 上线小记
张喜硕
2019-05-10
阅读 3 分钟
1.6k
然后就在晨澍和潘佳琦的帮助下开始找各种登录的模板,发现都特别丑,后来发现当前系统的登录风格和微信的登录风格很像,顺手就抄过来了,感觉效果还不错。
Java 队列
张喜硕
2019-04-27
阅读 5 分钟
2.4k
引言 本周在编写短信验证码频率限制切面的时候,经潘老师给的实现思路,使用队列进行实现。 看了看java.util包下的Queue接口,发现还从来没用过呢! Collection集合类接口,由它派生出List、Set和Queue,Map属于另一个独立的接口,和Collection没有继承关系。 List、Set和Map我们用的都是已经相当熟练了,今天,我们就来...
RxJS原来应该这样用!
张喜硕
2019-04-26
阅读 3 分钟
3k
需求是⼀个注销按钮,如果是技术机构登陆,就调用技术机构的注销⽅法,如果是器具用户登陆,就调⽤器具⽤户的注销方法。当然,最优的解决⽅案并不是我下⽂所列的,既然功能不同,那就应该是两个对象。看来我们的⾯向对象运用得还不不够灵活。
我眼中的 Redis
张喜硕
2019-04-20
阅读 3 分钟
2k
引言 打开Microsoft To-Do,发现Redis的学习计划还躺在那里。 其实我对Redis的理解,仅仅停留在我认识这个单词的层面上。 学习 简介 本来对这个Redis没什么兴趣的,不就是一个缓存的数据库而已吗?直到上次配置spring-redis的时候,发现这个东西没有用户名。 {代码...} 配置如上所示,只有主机、端口和密码,和普通的MyS...
TypeScript 注解(下)
张喜硕
2019-04-19
阅读 3 分钟
7.9k
引言 继上周的文章《TypeScript 注解(上)》,补充在最后未实现的属性注解。 本文可能需要扎实的JavaScript功底,我尽量给大家通俗地讲解。 实现 建立新项目 上周的项目建立的太不正规了,直接建个文件夹,然后写的TS代码,太过不规范。 这次我们使用npm init初始化一个新的前台项目。 创建成功后,项目中就出现了我们熟...
1
2
(current)
3
4
5
下一页
上一页
2
(current)
下一页