2018年应届大学生,一个IT界小菜鸟。
前言 最近这段时间在做一个有关于"Docker Graceful shutdown",于是自己就开始做起了各种"小实验"。 虽然说过程有点痛苦,但是结果总是好的,让我对于docker有了一些新的认识。
前言 往往"停止服务"的代名词就是暴力,不计后果的,因为在强制停止的时候,不会管里面是否还有正在运行的线程。 碰巧最近由于在搞AWS的auto scalinng,不知道的朋友,可以把它理解为AWS可以自动的扩展或者是收缩我们的服务器,使得可以减少经费,想更深入了解的可以自行google。
创建web服务器 使用express搭建 通过npm init -y 命令会创建一个含有默认配置的 package.json的文件 为了让nodejs支持typescript 使用命令:npm i @types/node —save 创建tsconfig.
在实际的开发中两个组件之间不一定有着强关联。(这里说的强关联指的是父子关系,或者是兄弟关系。)所以我们不能使用对应的策略: 父传子 通过@Input 子传父 通过@Output 兄弟关系通过寻找他们共同的父亲,然后通过子到父在通过父到子之间传递。
模版式表单(FormsModule) 这个方法只适用于简单的表单需求,因为它受限于html模版。 可以使用的指令为: NgForm. ———> 隐式创建FormGroup实例 NgModel. ———>隐式创建FormControl实例 NgModelGroup. ————>隐式创建FormGroup实例,与NgForm类似,只不过NgModelGroup相当于在外面又加了一层外壳,然后这个外壳,作为了NgForm的子属性 NgForm相当于传统的页面form表单,表单中所有定义的属性,需要写上NgModel,这样NgForm就知道所有NgModel的存在了。
组件和组件之间一定得是松耦合的这样可重用性才高,想象一下这样的场景,A和B两个兄弟组件,但是A调用B组件的一个方法,那么这两个组件就紧密的联系在了一起,这其实是并不可取的。 组件我们应该看作是一个黑盒,组件只需要"输入"和"输出"的功能就行,组件并不关心到底是谁给他输入的,也不关心他会输出给谁。
最近正逢过十一,有了大块的时间,可以给自己充充电。于是便开始了《你不知道的JavaScript 上卷》之旅。最开始的几章描述的是JS的相关编译原理,作用域,以及声明提升的相关知识。这些内容虽然很重要,但是不是本文的重点。
数据绑定 angular4中默认的数据绑定都是单向的。可分为: 插值表达式形式(Dom属性绑定) <p>{{test}}<p> Dom 属性绑定流程: 控制器中定义了一个属性,值发生了改变 对应的dom的value被附上改变了的值 渲染后的页面上也会出现刚刚的值 这一切操作都和html属性不发生任何关系 html属性绑定,使用中括号 <img [src]="imgUrl"/> //如果没有写这个方括号,angular会把属性右侧的值作为字符串进行赋值,而非表达式 基本Html属性绑定 CSS属性绑定 这种形式是全有或者全无的。
依赖注入是控制反转的一种实现方式。这种模式就是Java Web开发中最流行框架Spring的核心概念。 为什么需要使用依赖注入 在原来最普通的开发中,如果我们有一个方法createCar(new Wheel(), new Engine(), new CarBody())。
前言 最近干了一个工作是使用discriminator去写一个新的API,那么写这个新的API原因是什么呢?原因是这样的:我们的项目使用Mybatis,我们项目中有一个实体类叫做User,在User中还含有很多别的实体类,例如Role,Permission,Address等(有经验的肯定知道这种嵌套实体类的情况,使用和)。
路由知识总结 可以把SPA(single page application)理解为是一个视图状态的集合。Angular架构下的各个视图会因为操作的不同显示的也会各有千秋,这些功劳全都得归功于路由。 基础知识 路由相关的对象总结: 1.Routes:路由配置,表示在哪个URL中会显示哪个组件,还有就是在哪个RouterOutlet(像是一个插排一样)中显示组件。
Angular 程序架构 组件(Component) 是Angular的基本构建块,可以把它理解为包含业务逻辑和数据的交集。 组件的基本组成 装饰器 @Component 组件元数据装饰器 @Component({ selector: 'app-root', //被用作html标签调用 templateUrl: '.
前言 最近正在练手一个Angular4的项目,需要用到矢量图标相关的功能,但是发现Bootstrap4 图标功能失效,进过调查发现是图标功能被移除bootstrap包下,所以在这里记录一下。 正文 首先将font-awesome进行安装: npm install --save font-awesome 然后在angular.json中进行配置,找到styles,将下方位置进行添加: "./node_modules/font-awesome/css/font-awesome.css" 这样在项目中正常使用就行。
前言 平常使用List和Set进行排序,还是很常见的,大多数的场景是对Integer,String,Long这种的排序,那么我今天先总结下难的,对一个实体类进行排序。 正文 首先定义一个实体类: package model; /** * 介绍人的实体类 * @author luckyharr...
Aop为什么会出现呢?本质上来说,是为了实现单一职责原则的思想,我们在做一个save操作的时候,往往需要先开启事务,如果成功提交事务,失败了回滚事务,最后还得关闭事务。最后说的这些事情其实在所有的业务逻辑中都是需要的,所以说都是些重复的操作,显然这样很不"程序猿"。
什么是事务 事务是一系列操作组成的工作单元,该工作单元具有不可分割性,一损俱损。满足ACID(原子性,一致性,隔离性,持久性) 事务按分布式划分可以分为本地事务,和分布式事务 分别由JDBC事务和JTA事务与其对应。
前言 “Write Once Run anywhere” 是得益于JVM,工作了将近一年的时间也明白了,最重要的还是思想结构和底层的实现,因为就算新技术层出不穷,它们也只不过是在锦上添花而已。本文是我是从《深入理解Java虚拟机》总结而来,如果有什么说的不对的地方,还请各位看官指出,我还进行改正 正文 JDK,JRE,JVM三者之间的关系 JDK包含JRE,JRE包含JVM 内存溢出诊断 通过一个 VM argument进行设置 -xx: +HeapDumpOutOfMemoryError 这个命令会导出一个分析文件,需要下载一些工具对这个文件加以分析。
前言 最近有看到马士兵老师在B站上一个关于多线程的视频,在此把重要的知识点进行总结。 正文 多线程基础 1.synchronized 锁定的代码块中的代码越少,效率越高。 2.synchronized 锁定的是堆内存, 而不是对象的引用。
前言 前一阵子,做了elasticsearc相关的工作,遇到了日期格式的问题,苦于当时找了好久,所以在这里记录一下。 正文 首先在这里贴出官方的讲解,官网永远是最好的老师。Elasticsearch 官网日期格式官网是英语的,很多人看着头大,那么可以直接看下面的表格。
前言 前一阵子,接到一个活,主要内容是这样的,数据库中存在一些过期的日志(可能是一天前的数据,或者是一个月前的数据,等等),将这些数据删除掉,并且返回这些数据的信息(就是说我得知道自己到底删了哪些数据呀?)。
前言 由于在工作中遇到了这样的问题,所以随笔写下来,记录一下。我们平常习惯的注入方式是:@Autowiredprivate 类的名称 对象名称;这种方式是最简单的,也是最实用的。但是有些时候我们就需要将实现了同样接口的Bean注入到Context中,然后可以用 List / Map 接受注入的对象。
前言 上班之余,花了两天晚上查阅好多百度资料,走了好多弯路,终于有了成果所以在这里贴出教程,跟上我,不迷路。 正文 大致分为以下几个步骤:1.首先我们得需要Apache服务器 yum install apache 2.然后编辑httpd.conf 文件(下面给出的是默认路径) vi /etc/httpd/conf/httpd.conf 3.进入编辑模式后,将 Listen 80 改为 Listen 8888,因为我的80端口给了nginx,如果没有需求,可以不做修改。
前言 在上大学那阵子,jQuery正流行,于是凭借着“一边百度一边敲代码的本领”,怎能把自己想要的效果显示出来,但是jQuery背后疯狂操纵dom的事实,和日后难维护的问题,当时并没有顾及太多(但是当时我就发现了,想要变换个什么功能,在代码里面找起来,是真的费劲)。
我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。
前言 之前写过一个关于Elastic Search的文章,当时的我还不会使用markdown,还不知道怎么好好把自己所想的,总结成一个有条理的文章,所以我就想写下了这一篇新文章,帮助自己消化所学的东西,也可以把知识分享给大家。
前言 做大学毕设的时候,SSM项目需要向用户的邮箱发送一个验证码,对于当时的我来说,对于这个问题一点思路都没有,所有查找的资料最后都指向了JavaMail,于是当时就在网上找到了一个相关的代码,经过使用确实是好用的。
前言 有这样一个人,看到别人一个个开餐馆赚了好多钱,于是自己也很想在餐饮业这方面大展拳脚,他从别人那里学到了他们的理念,还学习到了他们真正开店的经验。不但如此,他还引进了除了吃饭意外其他的服务,例如说提供了本该是酒吧才有的歌手驻场来提供好的就餐氛围这样的服务。
前言 上高中那阵子,特别迷恋火影,所以每周都会等着更新。最让我难忘的是里面的主人公鸣人,和他的各种各样炫酷的技能。他的影分身,一下子可以分离出来多个自己,并且这些自己的副本使用的技能都是相同的。
前言 小的时候,我特别喜欢四驱车,我就不停的攒零花钱,等攒到足够买的起一辆车的时候,就会那所有的钱去买这辆车,但是很快我发现,组装好的车一般都是要比一个一个部件组装贵多了。
前言 曾经有两个人,一个是A,一个是B,他们俩都是这个世界上独立的个体,每个人都是这个世界上独一无二的。这个A呢,在一出生的时候,别人就会把他需要的食物全部给他,然后等到他饿了的时候,就可以直接拿过来吃,但是在他不饿的时候,天天被在身上确是一种负担,人们都管他叫做饿汉。
前言 接触Java已经有很长的一段时间了,但是总是一味的去探索新的技术,学着不断的去堆砌代码,最后终于发现自己写的代码是没有灵魂的,有些时候只是单纯的实现了功能,但是代码的可读性和可维护性并不是那么好,所以开始慢慢的学习和接触设计模式。
前言 最近在公司需要通过SSH然后对SFTP连接,然后进行操作,所以在这里记录一下,方便自己以后使用,也方便给大家作为参考。 正文 首先得需要对JSch进行依赖引用,项目由gradle进行搭建。
前言 在本文中讲述了Spring Boot 如何整合Mybatis ,然后如何通过Mybaits连接到Mysql,项目是由gradle构建的,本文还讲述了controller层相关的知识。
前言 最开始的时候接触到mark down是因为刚进公司后,也没有什么比较难的中流砥柱的活交给我,所以便让我去写gauge(gauge是一个自动化测试的工具,可以调用后台的接口进行测试,也可以通过selelium进行前端测试,但是根据我的个人感觉来说,gauge是不怎么不太好用,后续实在是太难维护了。
前言 因为最近在写一个功能点是与Elastic Search 相关的,所以最近在完成功能的基础上,还去查了很多有关于Elastic Search的文档。Elastic Search 的 client ,还是不少的,但是现在我只用了Java High Level REST Client。