自定义博客皮肤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)
  • 收藏
  • 关注

原创 openresty简单入门

openresty1 什么是openrestyopenresty=nginx+很多插件2 openresty与nginx的使用区别openresty和nginx没有区别,配置文件格式也是一样。启动openresty的docker,进入/usr/local/openresty/nginx/conf可以找到nginx.conf这就是配置文件了,这个文件引用了/etc/nginx/conf.d/...

2019-07-08 21:00:04 946

原创 nginx知识点整理

文章目录1 location 路径1.1 四个优先级1.2 路径中的/2 http相关参数3 变量与正则4 负载均衡5 rewrite与proxy_pass6 运行周期1 location 路径1.1 四个优先级= 、 ^~ 、~(或~*)、直接字符串。# 1location =/a/b/c{ echo "=/a/b/c 等于,最高优先级";}# 2location ^~...

2019-07-08 20:58:42 429

原创 Heroku + SpringBoot + MySQL的增删改查

1 本地使用mysql+springboot+jpa配置中注意编码时区 和 表的创建方式一定要是update(自动创建并且不清)domain中注意以下两点:rep没啥需要注意的,Controller的增删改查方法如下,使用json作为提交具体数据的方式2 本地测试3 heroku配置创建heroku项目,添加MySQL依赖,并查看换进...

2019-05-06 05:35:20 482 1

原创 整理日记

文章目录好记性不如烂笔头博客与日记解决检索问题解决仓库大小问题好记性不如烂笔头我个人是个自由的开发者,热爱各种新的技术,喜欢探索。这样的好处是,当我遇到一个新的场景,我可以很快反应出来之前了解的xxx技术很适合这个场景。但是当我再去看这个技术的时候,经常是记得有个坑,却忘记怎么解决的了。比如之前玩过树莓派,但是后来真正要用到树莓派的时候,却忘记该如何安装树莓派的系统。这种时候能记录当时遇到的问...

2019-04-18 20:44:09 336

原创 discord开发

discord介绍一个老外用的挺多的聊天软件,以及这款免费软件的聊天机器人的开发模式。1 注册首先注册一个账号https://discordapp.com/register2 创建应用3 创建另一个账户尬聊下面这个gif,是刚连接还没有初始化(网络原因)所以一开始的话,没有及时收到,但是很快就调好了。 到这里我们创建了一个discord聊天室,并且能够互相聊天和拉人进群聊...

2018-11-17 21:40:29 8808 7

原创 zeit serverless

zeit现在serverless的服务可以说是越来越火了,除了最有名的aws的lambda,也有很多轻量易用的其他serverless服务。比如之前介绍的firebase就是,这里可以去参考下前面的文章。firebase最大的缺点在于,谷歌的服务国内不能用。这里我们来介绍另一个不错的serverless---zeit产品。服务方式zeit的功能其实没有firebase那么丰富,他其...

2018-11-17 03:11:33 818

原创 firebase

firebasefirebase是谷歌提供的平台服务,这套服务非常强大。他是针对安卓ios或者web后台的,提供了像数据库云存储服务(nosql形式)、对象存储(如图片视频等)、静态网页资源cdn存储、身份认证、后台数据分析、实时监控、崩溃分析、消息推送系统等等,功能非常多,涵盖了后台的各方面。而且官网都有中文版本,我们来玩一下。实时数据库用谷歌账号登录firebase首页,创建一个应用后进入控制台

2018-02-19 00:12:48 5420

原创 JS能写什么

JS能写什么Atwood 定律:“所有可以用 JavaScript 编写的程序,最终都会出现 JavaScript 的版本。”(Any application that can be written in JavaScript will eventually be written in JavaScript.)一开始人们以为js就是网页前端的脚本语言主要用来操作dom和网页与服务端交互。后来node

2018-02-19 00:08:33 3239

原创 再谈持续集成

我们必须先明确一点,持续集成大体上是有这样几个步骤的: 1 开发者更新代码到代码仓库,触发持续集成的pipeline 2 pipeline中进行build,test,package,deploy简单提一下Jenkins和travisJenkins做持续集成可以说是学习和使用成本很低的,思路也很简单。例如一个github的项目,他可以监听仓库的push来触发更新,然后运行设定好的shell语句。例

2018-01-07 22:44:14 270

原创 react中路由和按需加载问题

react中路由和按需加载问题1 基本的路由设置react-router可以解决路由问题,只需要添加[基于react-router4.x]yarn add react-router-dom然后在index.js中引入它,使用:import {Link,BrowserRouter,Switch, Route} from 'react-router-dom';ReactDOM.render((

2017-12-23 04:30:43 6049 2

原创 React和Redux的状态处理

我们知道react中state是组件更新的唯一指标,并且只能通过组件的this.setState方法触发组件的重新渲染。这种形式导致了一个组件A想要触发另一个组件B更新,就必须触发组件B内部的this.setState。一般是通过一开始就在B中设置委托到组件A中。例如class B extends React.Component{ state={key:"value"} handle

2017-12-20 15:26:17 3351 1

原创 React Redux

ReactReact有两个重点props和state。props可以获取组件的属性,例如class

2017-12-07 15:43:40 703

原创 Swagger+Spring开发Rest接口

Swagger+Spring开发Rest接口流程1.利用Web工具Restlet Studio写Swagger文档 2.利用SwaggerEditor生成Spring服务端代码3.在代码中整合SpringDataJPA4.在代码中整合JsonWebToken5.在代码中整合SpringSecurity写Swagger文档使用图形化web工具restlet studio 比较重要的步骤为

2017-11-01 00:53:46 418

原创 pipelinedb

Quick Start Guide1.下载安装下载页面:https://www.pipelinedb.com/download ubuntu下安装dpkg -i pipelinedb-0.9.8u2-ubuntu16-x86_64.deb2.配置启动创建一个非root用户useradd -g root frank切换到用户:su frank初始化数据目录:pipeline-init -D <dat

2017-10-28 22:47:33 1220

原创 React

(四)react加速dom渲染问题概述现在的web应用太复杂了,而且经常以ajax或WebSocket的形式获取数据,更新视图。而浏览器Dom渲染能力很差,每次数据更新都要更新dom树重新渲染性能很差。react demoreact在运行时构建了基于内存的虚拟dom,会在更新时和原来的dom进行对比(diff),然后只渲染不同的地方。提高了性能。组件是react中非常重要的概念,通过props可以将

2017-10-24 01:42:21 300

原创 Vue

(三)vue/angular构建MVVM视图#问题描述早期前端崇尚mvc,js css dom尽量分开,数据请求是在js中,所以要在js中追加dom。较为麻烦。#实际场景利用jquery请求一组数据在表格中显示 $.post('/getArray',{},function(data){ for(var i in data){ $('table'

2017-10-24 01:37:22 276

原创 Less

(二)Less/Sass扩展CSS问题概述:CSS太简陋缺少样式的加运算,每次都要重写,不能很好利用相同部分的样式。总而言之就是不能像编程语言一样灵活的操作CSS。(这也没办法,本来就是视图UI的事情,没想到程序员要求这么多)实际场景:.a{ color: red; margin-top: 30%;}.b{ color: red; margin-top: 30%;

2017-10-24 01:32:13 208

原创 Webpack

(一)WebPack打包js资源问题概述:var声明的变量作用域太大; js文件之间相互依赖则被依赖者必须写在前面加载; js文件如果依赖于其他js文件没有显式声明。实际场景:1 两个不同的js文件都声明了变量A,在任何一个js中改动A,都会导致另一个js文件中A的变化。 2.bootstrap.js依赖于jquery.js,如果先加载了bootstrap.js后jquery

2017-10-24 01:25:21 255

原创 Jenkins

1.下载运行 第一次登录需要通过控制台的这个秘钥登录,然后登录后创建一个用户 之后就可以通过用户名密码登录了 2 安装必要的插件配置maven 搜索下载插件: Maven Integration plugin然后下载maven3(默认是版本2.x很多不兼容的地方) 3 新建maven构建项目用github整合,这里先push一个maven的项目 创建maven构建 配置

2017-10-04 12:51:31 342

原创 Travis.ci

1.创建一个java的项目2.上传到github仓库,并在Travis网站(github授权后自动关联)开启该项目的CI(如果没有及时刷新出来可以等个几分钟) 3.添加.travis.yml文件如下,script是运行的构建shell脚本,push到github。同时观察Travis变化4.很多开源项目都有的build pass图标5.直接部署到服务器(我参考了http://blog.csdn.n

2017-10-03 21:02:05 381

原创 操作系统 进程/线程篇

一、概述进程和线程的概念不多做介绍。进程的唯一标识是PCB进程控制块。 PCB含有三大信息: 1进程标识信息 2处理机状态信息(寄存器) 3进程控制信息。 线程也对应的有TCB线程控制块,进程有用户态和核心态二、进程的生命周期进程创建 运行 等待 唤醒 结束 进程创建:系统初始化时 用户创建 一个进程或进程创建另一个。 进程等待:一般是自己阻塞自己,因为

2017-09-28 00:32:20 325

原创 操作系统 内存篇

概述内存的调度是操作系统一个重要的话题,所有的程序都是运行在内存中。内存的分类和内存的管理调度是怎样的呢?我们先来看看一个程序的运行过程:程序的运行主要分为编译 汇编 链接 运行这四个步骤,程序源码经过编译 汇编两步后转换为.o文件是汇编语言。然后通过链接来将公共的函数库引入进来,最后装载到内存中运行。在这个过程中,程序本身去看内存是连续的,例如我们一个程序始终认为他有从0开始的连续可用的一段内存。

2017-09-20 16:43:48 439

原创 Spark执行原理解惑

Spark运行原理写好的程序(jar包)又叫驱动程序,提交后,会根据里面的参数生成spark上下文,然后根据里面rdd的处理方式,产生一个有向无环图,将这个图广播到集群的每个客户端,客户端进行rdd的相应处理,如果是转换操作的则只记录操作步骤并不实际转换,如果是行为操作如count函数,则会实际操作这个行动并且将行为操作的返回值(如long list等)返回给驱动程序。驱动程序的概念理解https:

2017-08-06 19:51:01 297

原创 Spark IO API

spark读取文件和写入文件的APIpath参数默认不加协议走的是file:///,如果是hdfs的文件则可以用hdfs://master:port/pathimport org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapred.KeyValueTextInp

2017-08-04 16:54:29 253

原创 Spark PairRDD API

import org.apache.spark.HashPartitioner;import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spark.api.java.JavaRDD;import org.apache.spark.api.java.Java

2017-08-04 00:44:08 817

原创 Spark RDD API

import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaDoubleRDD;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spark.api.java.JavaRDD;import org.apache.spark.api.ja

2017-08-04 00:39:50 247

原创 MongoDB使用

MongoDB是一个NoSQL数据库。安装与配置其安装过程非常简单,只需要到官网下载相应的操作系统版本就行,然后将bin目录添加到环境变量即可。运行与连接运行指令mongod --dbpath=指定路径。这里不加–dbpath参数默认会在/data/db目录存储,但需要先创建这个目录。连接指令mongo可以直接连接本机27017端口。如果是其他server则可以通过mongo ip:port连接。概

2017-07-22 01:37:19 238

原创 shell基础

#!/bin/bash#第一行固定写法指定用什么运行a=变量a #变量声明和赋值a="变量a" a='变量a'echo $a #echo是打印输出for skill in A Bdo #for in do遍历 echo "I am good at ${skill}Script"

2017-07-21 23:28:04 216

原创 trident demo 2

今天来将上次的kafka tridentredis 结合的demo完成,回顾下上篇中的数据流程。好的我们先来完成trident部分。日志打印部分思路很清晰了,就是时间戳,城市名,病症id 的形式。 topology.newStream("kafkaspout",kafkaspout) .each(newFields("str"),new Func1(),new Fields(

2017-07-20 13:46:06 300

原创 trident demo 1

做几个storm的小程序来练手,买了一本Storm的书,但是书中的代码运行都报错,实在是心累啊。这本书出版较早,所用的storm和zookeeper的版本都较早,所以出现了一些方法已经不存在的问题。在我的艰难探索下,纠正了很多。书中的例子涉及内容很多,有kafka的,Cassandra的,Tina的,openfire的,等等等等。简直就是百科全书啊,与其说是Storm的书,倒不如是介绍各种流行技术的

2017-07-20 13:36:41 670

原创 Spring-IOC

spring-ioc小结

2017-05-24 22:44:29 198

原创 Spring-JDBC

Spring-JDBC 数据库是个大话题,我们来好好理一下。就拿连mysql为例。JDBC 用java连接数据库,大多数人都知道JDBC,这是对java连接各种数据库的驱动的统称。Mysql用的是MySQL-jdbc,是jdbc的成员之一。JDBC的连接方式是比较原始的,一般是指定驱动,获取连接,用这个连接创建查询语句,进行查询,关闭连接 这样几个步骤。网上例子一搜一大把,我就不写了。

2017-05-24 22:18:09 242

原创 java注解

注解是java1.5版本更新的功能。 Jdk中自带三个基本的注解:1.Override2.Deprecated3.Suppresswarnings他们分别用于继承方法的重写,不推荐外部调用,以及忽略一些警告信息。Override是最常见的注解了,不再说明之。Deprecated注解的属性,如果被调用则会有个警告,说这个属性已经不推荐使用了。Suppresswarning则是用在某些有警告的函数

2017-05-13 00:35:54 182

原创 java反射

反射不是java的专利,在多种语言中都有反射的实现,在某些解释型语言如js中,属性的调取本身就相当于一种反射。例如js中一个函数接收参数p1,而在函数内部调用p1.name即可获得p1对象的name属性,如果没有name属性则返回的undefined。然而这在强类型语言中是不能直接使用的,为了接收更广泛的类型,函数参数可能是接口或者基类,比如void f(Object obj){}而函数内部obj对

2017-05-12 02:38:19 266

原创 字符串操作

编程语言中大都有对字符串的操作的函数的封装,我们常用的一些操作有:判断是不是含有xxx,把xx替换为yy,将字符串中逗号为分割分成数组等等。下面我们来简单罗列下这些函数:功能JavaC#PhpPythonJavaScript索引charAt[][]

2017-04-22 21:18:08 260

原创 java容器2

List基础Set基础Map基础Queue基础实用方法 性能评估和应用场景在之前的java容器文章中,对几种容器有了简要的特点介绍。本文介绍接口中一些基本的函数和其他补充。List add(index,element); remove(index/element);//删除序号对应的元素或者元素本身 set(index); get(index);//以上是增

2017-04-21 01:01:29 232 1

原创 Java数组

数组与其他容器对比:效率 类型 保存基本类型的能力。数组是效率最高的存储和随机访问对象引用序列的方式。访问的复杂度为O1,一步到位。但是代价是大小固定。对比ArrayList数组仅有的优点就是速度了(ArrayList底层也是数组)。数组声明后会自动创建成员,如果是基本数据类型则是其默认值,如果是个对象,则是null。数组对象具有一个唯一的属性就是length。数组声明new Object[n];

2017-04-20 23:41:51 274

原创 编码相关问题整理

对于常用的编码UTF-8、GBK、GBK2312、Unicode的关系整理这个问题的引出是因为我发现java中基本数据类型char是占两个字节的,而c语言中char是占用一个字节。要知道编码中文字符的时候往往是2-4个字节,不同编码方式下也会有不同。那么问题来了,java中用的什么编码方式存字符呢?如果是笔画特别多的中文字符如何放到2个字节中?编码历史GBK2312是较早出的中文的编码方式,后来GB

2017-04-16 16:29:28 652

原创 JAVA容器

Iterable->Collection->List/Set MapCollection接口 JDK中没有提供Collection的直接实现,而是提供了Set List的直接实现。 Collection接口中定义了很多集合接口通用的方法,toArray()和toArray(T[] a)是算法中常用的方法。List接口 List即序列,是有序的Collection。因为有索引所以可以通过索引

2017-04-16 13:03:54 286

原创 第一篇博文来测试csdn的markdown编辑器

序言之前的文章都写在了qq空间中,一开始没想开自己的博客,原因是觉得自己写的一些东西太low了,后来越来越觉得空间的代码块写起来太难受了,就转过来了。

2017-04-15 19:16:46 231

空空如也

空空如也

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

TA关注的人

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