TenzT Blog

Stay Hungry, Stay Foolish

模板引擎

背景知识 在传统的Web应用开发中,传统的后端MVC架构下,需要完成前后端的功能,这时一般用到模板引擎,之前一直用的是JSP,JSP在后台转成class再生成HTML静态网页,其实背后干的是拼接字符串的体力活。模板引擎就是利用正则表达式识别模板标识,并利用数据替换其中的标识符。 ajax的出现使得前后端分离,后端专注于业务逻辑,给前端提供接口,而前端通过ajax向后端请求数据,...

计算机网络细节(一)

加深理解,扩展本科所学

简介 本科时曾学过计算机网络,但是课本过于理论未能和实际使用很好结合,因此开次此博客用于记录《图解TCP/IP》的阅读笔记,并扩展本科所学的知识,方便自己查阅。 网络基础知识 任播:在特定的多台主机中选出一台作为接收端,特点是从目标主机群中选择一台最符合网络条件的主机作为目标主机发送消息。e.g. 一年一班的哪位同学过来一下(任播) 一年一班的同学过来一下(多播) 地址的层次性(...

wait和sleep

Java多线程wait()和sleep()的区别

简介 Java中sleep和wait都可以使进程进入的等待状态,文本对两者进行对比 区别 sleep是Thread的静态方法,在线程中调用该方法会使线程进入睡眠。wait()是Object的成员方法。 sleep没有释放锁,而wait则是释放锁之后进入等待队列 退出方式:sleep在睡眠指定时间自动唤醒,而wait则是等待其他线程notify/notifyAll来唤醒 w...

MYSQL事务隔离

介绍会出现的问题、读写锁、隔离级别

多个事务操作同一资源会出现的问题 更新丢失:A事务对数据的更新被B事务对事务的更新覆盖 脏读:一个事务处理过程中读取了另一个未提交的事务中的数据。比如A向B转账100,如果不加锁,A还没提交B就读到了转入100,这时A回滚,那B只能空欢喜一场。 不可重复读:一个事务内多次读取同一数据,由于中间被另一事务修改过,导致前后不一致。比如学生A查看自己成绩为100分,这时老师B在背后把...

在Mac上运行Fabric掉坑记录

e2e_cli

在Mac上运行Fabric掉坑记录 gopath问题: 应该在.bash_profile文件里写好gopath的位置(比如说我的是$HOME/go),然后fabric的git下到go/src/github.com/hyperledger里面 git版本: 出现这种错误,是因为下载了git master的版本,实际应为release版本再checkout,参考[1] git...

MergeSort学习笔记

归并排序

归并的核心思想? 二分的方式将数列一层层分裂成多对子序列,然后再倒着一层层合并 时间复杂度 O(nlogn) 时间复杂度 O(n):记得需要一个数组来做辅助。 Java代码 import java.util.Arrays; public class MergeSort { public static void sort(int[] arr) { //关键是记得创建...

QuickSort学习笔记

快速排序

快排的核心思想? 从列表中选取一个值,称作pivot值,指定左右两个指针分别向中间遍历,最终达到的效果是比pivot小的都在列表左半部分,大的在右半部分,然后继续对左子表和右字表重复相同的操作 时间复杂度 最好:O(nlogn) 最坏:O(n^2) Java代码 public class QuickSort { public static void QSort(int[] l...

Docker学习笔记

Docker初体验,原理+部署web应用

什么是Docker? 就是个软件容器 Docker思想 集装箱:模仿“虚拟机” 标准化:运输方式,存储方式,接口 隔离:基于Linux内核,进行资源分组 解决什么问题? 程序及其运行环境同时移植 Docker核心技术 核心: 镜像:应用程序、运行环境的文件。核心是UnionFS...

银行家算法

死锁避免的经典问题

死锁避免设计思想 当进程请求资源时,对进程发出的每一个系统能够满足的自愿申请进行动态检查,并根据检查结果决定是否分配资源。 制约关系 假设进程P和Q同时请求同一个资源,资源总数为M。Q的最大需求量为B,P的最大需求量为A 当已经分配情况的交点处于OXO2Y时,P或Q都能满足 当已经分配情况的交点处于O2O3AX时,能够满足P不能满足Q 当处于BO1O3Y时,能够满足Q不能...

Spring学习笔记(一)

Spring--轻量级IOC和AOP框架

是什么 Spring是一个轻量级开源框架,关键点是: 1. IOC(控制反转):松耦合,主要是工厂模式 2. AOP(面向切面):分离应用的业务逻辑与系统级服务(事务)进行内聚性的开发。我的理解就是接口和实现类分离(“做什么”和“怎么做”分离) 3. 容器:包含并管理应用对象的配置和生命周期 控制反转(IOC) 是什么? 应用程序本身不负...