自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Flask API 单元测试 unittest,mock && patch

单元测试,主要是为了测试某个方法,或是某个代码快,对于各种输入的处理,输出是否符合预期。 但由于其他库、或模块的依赖,以至于很难独立测试我们自己实现的逻辑代码。 对此,引出 mock ...

2019-12-12 11:33:55 103 0

原创 React - Webpack 项目脚手架搭建

把手还是伸向了前端,抽空折腾了几天,算是理清了起步门槛。 一、首先确保安装了 npm,如果没装…那就想办法装上 $ npm Usage: npm <command> where <command> is one of: access, adduser, bin,...

2019-11-28 23:29:33 25 0

原创 RHEL(Red Hat Enterprise Linux) 安装 zip、unzip

多数的系统镜像文件中都是包含这两个命令,但总有意外。 一般方法 $ sudo yum install zip unzip 如果一般方法报错,这个是安装unzip $ sudo rpm -ivh https://rpmfind.net/linux/mageia/distrib/cauld...

2019-11-28 19:05:24 207 0

原创 yum 安装最新版本 mysql

一. 先到官网查询最新的版本,官网地址 注意选择自己Linux对应的版本,查询方式: $ cat /etc/*-release NAME="Red Hat Enterprise Linux Server" VERSION="7.7 (Maipo)" .......

2019-11-25 17:28:07 27 0

原创 nginx路由匹配

= 精确匹配 ^~ 精确前缀匹配 ~ 正则匹配(大小写敏感) ~* 正则匹配(大小写不敏感) /uri 普通前缀匹配 / 通用匹配

2019-11-25 14:10:06 20 0

原创 nginx 转发错误 13 permission denied

今天在做 nginx 转发的时候,总是权限的错误: 2019/11/23 14:22:28 [crit] 19986#19986: *1 connect() to 127.0.0.1:5050 failed (13: Permission denied) while connecting 从网上...

2019-11-24 00:19:25 38 0

原创 ELK 单机部署,多 beat 节点

参考文章 适用场景:多个项目或服务,独立部署,各个服务有自己的 log 文件。为便于查看、过滤等,可单机部署 ELK 服务后,各个服务通过 filebeat 服务将 log 发送至 ELK 机器。 一、安装 java $ sudo yum install java $ java -versio...

2019-11-17 23:31:35 58 0

原创 保持ssh远程连接不断开

通过ssh user@server登陆到远程服务器时,经常会遇到一个问题, Connection closed by remote host 意思就是服务器断开了这个连接。 解决方法 // 先登录到远程服务器 $ ssh -i ./ssh/authorization.pem {root}@{se...

2019-09-18 23:02:15 194 0

原创 在AWS Lambda中使用psycopg2连接Redshift

环境:MacOS 10.12.6 开始说正题。 Redshift是基于PostgreSQL的二次开发应用,所以,能连接PostgreSQL的工具都可以用来连接Redshift。我选择的是使用最广泛的psycopg2。 如果上来就执行: $ pip install psycopg2 你会看到下面...

2019-09-17 22:55:54 121 0

原创 在Spark中加载Redshift数据问题汇总

1. java.sql.SQLException: No suitable driver 这个错误是因为,连接Redshift时需要一个driver,而程序执行时找不到能用的driver,所以报错。AWS提供了多个版本连接Redshift的driver,点击查看。 2. java.lang.NoC...

2019-09-17 00:13:10 237 0

原创 「AWS」入门安装aws cli

cli,即Command Line Interface,是aws服务常用的命令工具 AWS官网地址 环境:Python 安装 安装起来只需要一条命令: pip install awscli 执行完成之后,输入aws,输出如下,则说明安装成功了: $ aws usage: aws [o...

2019-08-22 20:57:37 331 0

原创 golang 项目结构

好久没写golang的项目了,前两天接个临时需求,需求不难,但要求必须用golang来写。一时间竟然忘了如何开始,从哪入手了,故在此做个记录,以备不时之需。 环境: MacOS IDE:GoLand 项目路径 为了便于管理和引用其他package,一般放在 /{GOPATH}/src 下...

2019-08-20 23:28:16 39 0

原创 AWS EMR 上运行Spark + Kinesis: NoSuchMethodError: org.apache.spark.internal.Logging

如题,因有需求,这两天在弄这个Spark,用的是AWS的EMR,具体是什么就不解释了。上面这个问题卡了很久,故在此记录一下。 Spark支持多种语言,如Scala、Java、Python、R,我用的是Python。 官方有个叫WordCount的Example,我没看,直接照着文档撸代码。S...

2019-08-13 23:47:58 306 0

原创 「原码 反码 补码 移码」一探究竟(下)

抛开复杂的理论,直探事物的本质。 这是这个主题的第三篇文章,前两篇介绍了这几种码的基本概念并深入详细的介绍了补码,这篇文章来具体说说「移码」。 00. 回顾 先来回顾一下移码是什么,简单说定义就一句话:**将补码符号位取反,即为移码。**乍一看,是不是有点懵,这到底在说什么呢?什么是移码?为什...

2019-01-18 02:39:41 160 0

原创 「原码 反码 补码 移码」一探究竟(中)

上文「原码 反码 补码 移码」一探究竟(一)说了基本定义和原码,对于补码,我们只知道是对原码符号位不变,其他位置取反,最后再加 1 得来的,为何如此呢?接下来咱们来揭下「补码」的面具,看看它到底是什么。 0. 关于 1 + (-1) 首先,先看一个问题。 1 的原码为**[0000 0001],-...

2019-01-17 01:40:28 90 0

原创 「原码 反码 补码 移码」一探究竟(上)

要想一文就说明白,必然内容会长一些。抛开复杂原理,只为了将事物解释清楚。 1. 这些个码都是什么意思 原码,是一种计算机中对数字的二进制定点表示方法。一般分为两种,有符号位和无符号位。 有符号位,即用最高位的 bit 位来表示正负,剩下的位来存储数据;无符号位,即所有的 bit 位都来表示数据,所...

2019-01-14 02:04:11 73 0

原创 Goland调整Terminal窗口字体大小

Goland的Ternimal窗口样式和Console窗口公用同一个样式,修改路径: Setting-&gt;Editor-&gt;Color Scheme-&gt;Console Font 若不生效,重启一下IDE即可。

2018-12-04 15:41:26 5575 0

原创 Golang websocket client读取数据

Golang既可以写websocket的server端也可以写websocket的client端,前者网上的资料很多后者甚少,今天遇到写client的需求,在此做个总结。 测试网址:火币网

2018-11-21 00:00:35 5197 3

原创 android WebView加载URL不显示图片

WebSettings settings = mWebView.getSettings(); settings.setJavaScriptEnabled(true); settings.setBlockNetworkImage(false); ...

2018-10-13 14:24:26 1943 1

原创 Program type already present: org.iq80.leveldb.CompressionType

今天在Android Studio添加了一个新的依赖: implementation ("org.ethereum:ethereumj-core:$ethereumj_version") 然后Sync可以通过,但是Rebuild报错如标题,往上搜了几个方法都未奏效,最后只好...

2018-08-07 10:56:07 181 0

翻译 [翻译] 种子词

原文地址:https://en.bitcoin.it/wiki/Seed_phrase 种子短语 种子短语、种子恢复短语或备用种子短语是存储恢复比特币钱包所需的所有信息的单词列表。钱包软件通常会生成一个种子短语并指示用户将其写在纸上。如果用户的电脑坏了或者他们的硬盘坏了,他们可以再次下...

2018-08-02 00:45:41 208 0

翻译 [翻译] 比特币确定性钱包

原文地址:https://en.bitcoin.it/wiki/Deterministic_wallet 确定性钱包 确定性钱包是一种系统,从一个被称为种子的单一起点获取密钥。种子允许用户在不需要任何其他信息的情况下轻松备份和恢复钱包,在某些情况下,用户可以在不知道私钥的情况下创建公共...

2018-08-01 23:32:02 76 0

翻译 [翻译] Bitcoin Address介绍

原文地址: https://en.bitcoin.it/wiki/Address 地址 一个比特币地址或是一个简单地址,是一个26-35个字母或数字组成的标识符,以数字1或3开头,这代表了比特币支付的可能目的地。任何比特币的使用者不需要任何话费便可以生成地址。例如使用Bitcoin C...

2018-08-01 22:33:23 713 0

原创 Linux服务器常用命令

systemctl systemctl status name.service 查看某个服务的状态 systemctl | grep name-partern 过滤显示所有服务名符合name-partern的服务 systemctl enable name.service 设置开机自启 ...

2018-07-29 23:53:41 90 0

原创 持续集成与自动化测试 Continuous Integration,CI

所谓持续集成与自动化,是指用机器替代人工持续不间断地集成代码,让产品可以快速迭代,同时还能保证代码质量。一个完整的持续集成环境需要Jenkins与Git、Gerrit一起配合,才能发挥出它最强大的功能。一般来说,在开发者Push代码后会首先到Gerrit进行代码Review。Review分为...

2018-05-29 13:00:32 619 0

转载 「转」Java继承机制的弊端

原文链接:http://www.sunxin.org/forum/thread/20672.html# 为什么Java中继承多数是有害的 大多数好的设计者象躲避瘟疫一样来避免使用实现继承(extends 关系)。实际上80%的代码应该完全用interface写,而不是通过extends。J...

2018-05-22 19:52:03 443 0

原创 Android使用netty框架配置SSL适配7.0以上的系统

最近项目在使用的netty框架加上了SSL安全设置,SSL可单项验证也可双向验证,我使用的是双向验证,即Client验证Server同时Server也验证Client。 以下只说明Client(Android)端的实现方式。 首先需要两个文件,client.p12和cacert.pem,由服...

2018-05-18 17:00:11 684 0

原创 MySql的modify和change区别

相同点:都是用来改变column的属性,change和modify执行成功后都会这本次设置的属性替换column原属性,请注意是【替换】; 不同点:重命名只能使用change 格式(mysql默认不区分大小写) 1 change alter table table_name change...

2018-04-27 13:32:04 1800 0

原创 「巧用Gradle构建Android应用」读书整理

周末看完了「巧用Gradle构建Android应用」,故将新认知整理在此以便以后供自己以及有需要的人查看。 Gradle Gradle构建过程实际上是执行DAG(Directed Acyclic Graph,有向无环图),允许定义自己的task并插入到其中。 build.gradle中An...

2018-04-23 22:37:30 478 0

原创 gradle各个版本资源

gradle官网下载地址:点击跳转但是这个网站有时需要翻墙有时下载速度慢,趁着现在翻墙方便一次性将上面的里程碑版本下了下来链接: https://pan.baidu.com/s/1i4Fm9Q9 密码: cjfd最新更新日期:2017-12-22 18:17:06(如果想的起来就更新)ps: 如有...

2017-12-20 17:02:41 641 0

原创 HelloKotlin - Error:Gradle: failed to create directory

今天在看Kotlin-Docs,于是随手建了一个HelloKotlin的项目准备练练手,于是引发了一连串的问题。在此记录过程。环境 Windows 7 64bit AndroidStudio 3.0.1 一般的,像下面这样,直接写一个程序入口main函数,跑一些简单代码时不用构建apk省时省力: ...

2017-12-04 13:37:07 483 0

原创 Windows下编译OpenSSL

今天为了获取FB秘钥,里面有个命令openssl,于是网上找了一下教程,众说纷纭,最后可算成功了,在此记录过程。 环境 Windows 64位 已安装Visual Studio 2017 社区版(已过期不过没影响) 已安装Active Perl v5.16.2 准备源码 OpenSSL官网 或者直...

2017-11-20 20:53:26 349 0

原创 『Effective Java』读书整理

- Chapter 3 适用于所有对象8. 重写equals方法 三个原则:对称性、传递性、一致性 9. 重写equals方法必定要重写hashCode方法 例如在HashMap中存储时会调用该方法 10. 始终要重写toString方法 便于阅读,使类用起来更加舒适 11. 谨慎的覆...

2017-11-07 16:33:23 115 0

原创 Android YuvImage直接旋转

操作相机的Preview可通过以下三种方式添加回调接口: Camera.setPreviewCallbackBuffer(PreviewCallback) Camera.setOneShotPreviewCallback(PreviewCallback) Camera.setPr...

2017-10-26 18:58:11 1840 0

原创 ScrollView在SlidingUpPanelLayout中下滑无效问题

当在ScrollableView(即, 可上下滑动的ViewGroup)中含有ScrollView时,向上滑动ScrollableView至其全部上移展示出来时,继续向上滑动时ScrollView会响应滑动事件向上滑动,但是此时抬起手后再向下滑动时,首先响应滑动事件的是ScrollabldView...

2017-10-24 20:42:08 637 0

原创 手把手教你实现RecyclerView的下拉刷新和上拉加载更多

纵观多数App,下拉刷新和上拉加载更多是很常见的功能,但是谷歌官方只有一个SwipeRefreshLayout 用来下拉刷新,上拉加载更多还要自己做。 基于RecyclerView 简单封装了这两个操作,下拉刷新支持LinearLayoutManager、GridLayoutManager 和 S...

2017-10-12 09:11:26 30871 22

原创 几分钟完成发布开源库到jCenter

快速实现发布开源库到jCenter。

2017-10-10 10:22:03 227 0

原创 Retrofit 2.0

类型介绍2种类型响应过程 Observable(不支持背压Backpresure) 3个异步子集Single Completable 适用于Void返回类型 Maybe Flowable支持背压(Backpresure) 支持背压(Backpresure)的响应过程 Flowable 2种响应...

2017-09-14 18:08:36 121 0

原创 Android Drawable 和 xml文件转化关系

<selector />———StateListDrawable <level-list />———LevelListDrawable <layer-list />———LayerDrawable <transition />———Transi...

2017-09-04 16:58:37 610 0

原创 Android改变图片属性之饱和度

ImageView image = (ImageView) findViewById(R.id.image); ColorMatrix matrix = new ColorMatrix(); matrix.setSaturation(0f); image.setColorFilter(new...

2017-09-04 14:04:45 185 0

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