你貌似开启了广告屏蔽插件... 写博客不容易,希望能将广告过滤去掉,谢谢!

使用Github授权登录个人网站步骤整理(备忘)

2019-03-14   朋也   nodejs学习笔记   koa  

开发网站时懒得写登录注册那堆东西就会想到用Github授权登录,为啥会选择Github呢?因为它不需要审核呀,到Github上申请完就可以用了

如果用微博,QQ这种授权登录,首先也是要申请,但它们都要审核,如果接入的是网站,那网站还要备案才能通过,审核时间还很长

申请

地址:https://github.com/settings/developers

具体操作可以参见pybbs的文档:https://tomoya92.github.io/pybbs/#/zh-cn/oauth

使用koa2创建web项目

2019-03-11   朋也   nodejs学习笔记   koa  

Github上有一个express风格的koa脚手架,用着挺方便,一直以来使用koa开发web项目用的也都是那个脚手架,今天想自己从头搭一个web项目,就折腾了一下

脚手架地址:https://github.com/17koa/koa-generator

初始化

使用 npm init 初始化一个nodejs项目

mkdir koa-demo
cd koa-demo
npm init

一直回车即可,创建好之后目录里会有一个package.json文件

Java11新特性总结

2019-02-21   朋也   java学习笔记   java  

首先感谢尚硅谷录制的Java11视频教程,可以免费下载观看

之前在ytb上看了个java9的新特性,里面提到了两个主要更新,jshell和module

现在java11又发布很久了,再不学真要过时了

java8是个官方长期支持版本,java11也是,9,10只是过渡版本,所以完全可以路过9,10直接学习11,这一篇博客也是根据视频内容整理出来的,我觉得文字看的方便些,如果你觉得视频好看,也可以去尚硅谷官方下载视频查看

jshell

jshell在java9里被提出来的,就是可以直接在终端里写java程序了,回车就可以执行,不用先创建java文件,然后编译成class文件,最后再执行了,它把这些步骤都省了,打开终端,输入jshell,回车之后会进入jshell的环境,然后就可以直接写你要测试的代码了

类似于nodejs中直接在终端里输入 node 和python中直接在终端里输入 python 回车是一样的

如果不会用可以通过 /help 查看里面都有哪些命令

jshell默认会导入一些包,如下

Javascript异步执行结果获取的三种解决方案

2019-02-18   朋也   javascript学习笔记   javascript promise rxjs  

js里的异步有时候很方便,有时候却很让人恼火,下面来总结一下异步执行结果获取的方法

回调

这是最传统的方法了,也是最简单的,如下代码

function foo(cb) {
  setTimeout(function() {
    cb(1); // 通过参数把结果返回
  }, 2000);
}

foo(function(result) { // 调用foo方法的时候,通过回调把方法返回的数据取出来
  console.log(result);
})

Angular7创建项目、组件、服务以及服务、路由的使用和父子组件间传值总结

2019-02-18   朋也   javascript学习笔记   Angular  

三大前端项目就剩angular没学了,在网上找了几个教程,这里总结一下,方便以后用到时查阅

创建项目

首先安装cli工具

npm install -g @angular/cli

创建一个空项目, 有两处要选择的,一个是路由,我这里是要路由的,还有一个开发css的语言,我这里选择scss,就不截图了,选完后会自动通过yarn安装依赖,稍等一会就好了

ng new pybbs-front-angular

ES5里类的创建和继承

2019-01-28   朋也   javascript学习笔记   javascript  

JS里类的创建

JS里类就是方法,创建一个类其实就是定义一个方法,比如:

function Person() {
    this.name = 'tomcat';
    this.age = 20;
}

这就定义了一个Person类,要使用的话,需要new一个实例,如下

var p = new Person();
console.log(p.name);
console.log(p.age);

Selenium自动化发布话题,以及获取window.showModalDialog()弹窗对象(Python实现)

2019-01-21   朋也   Python学习笔记   Python selenium  

折腾了一下自动化测试,找到了阿里开源的一个 uirecorder ,可以自动录制测试过程,但自定义逻辑有些麻烦

然后发现这货是基于 selenium 实现的,于是就开始折腾起了 selenium,弄出了个小成果,记录一下并分享给有需要的人

老规矩,先上图

axios上传图片,koa2接收保存上传的图片,lrz在上传前压缩图片

2019-01-15   朋也   nodejs学习笔记   nodejs koa axios  

后台接收图片

初始化koa2项目这里不多说,github上有个开源的koa-generator项目,安装运行一下初始化命令即可,readme上有详细介绍

不过有点要提一下,koa-generator脚手架里使用的是koa-bodyparser,这货不支持上传文件的解析,当初折腾这个纠结了一阵

这里使用koa2搭建服务端,使用koa-body,版本是 "koa-body": "^4.0.6",

安装 yarn add koa-body

app.js 里要修改一下,搜索一下 koa-bodyparser 把它相关的代码都去掉,然后加上下面代码

Spring-Boot集成Dubbo相关配置总结

2019-01-12   朋也   spring-boot学习笔记   spring-boot dubbo  

上一篇博客使用springboot集成搭建了一个dubbo服务,这篇博客来总结一下dubbo的相关配置

配置文件加载顺序

从上到下配置优先级顺序

  1. 使用 -D 参数启动,springboot开发的项目可以打成jar包,然后使用 java -jar xxx.jar 的形式来启动,当然也可以在命令后面指定参数,比如 java -jar -Ddubbo.protocol.port=20880 xxx.jar 的形式来指定通信协议的端口,这种优先级是最高的
  2. dubbo.xml配置文件次之
  3. dubbo.properties 文件最后

一般整合springboot与dubbo,配置都会在 application.yml 里配置,如果想另外配置可以通过第一种方式写一个脚本指定线上环境的相关配置,其实也可以通过springboot的配置文件加载顺序来配置开发环境跟线上环境的不同

Spring-Boot集成Dubbo简单入门总结

2019-01-10   朋也   spring-boot学习笔记   spring-boot dubbo  

安装zookeeper

我这里使用zookeeper作为服务注册中心,版本3.4.9,下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/

下载后,解压

要先配置一下,否则没法启动,启动会报错,找不到 zoo.cfg 文件,其实这个配置文件是有的,在 conf 文件夹里,只不过名字是 zoo_sample.cfg 把名字改一下即可

windows是启动还有些问题,直接运行 zkServer.cmd 还不行,我电脑上还装了 git-bash ,所以直接打开 git-bash 进入 bin 目录,运行命令 ./zkServer.sh start 即可启动

停止命令是 ./zkServer.sh stop