- 博客(85)
- 收藏
- 关注
原创 使用python来抠图
简介本文主要介绍如何使用python来抠图,及抠图的基本原理效果图 图片 原图 效果图 原理首先要选定要抽取对象的区域,区域外的部分为背景基于选定区域,grabCut循环处理前景内容前景部分含有的背景(抽取对象外)部分,并不能很好处理。代码import cv2import numpy as npfname
2017-11-25 13:24:59 24859 2
原创 JS使用canvas给图片打马赛克
简介利用canvas加载图片后,画布上的各像素的颜色(r,g,b)值来填充色块,达到马赛克效果。效果图代码htmljavascript const mosaicImage = (target, mosaicSize = 20) => { let canvas = document.getElementById(target),
2017-11-22 17:10:13 4421
原创 laravel blade模板loop变量使用
简介本文主要通过代码前后改造对比来介绍laravel blade模板loop变量使用。环境php > 5.6laravel > 5.3效果图测试用数据mock public function index() { $data = ['one', 'two', 'three', 'four', 'five']; retu
2017-11-21 17:21:13 1354
原创 使用python将csv文件数据可视化
简介本文介绍如何通过python将csv文件数据简单地可视化。使用到的文件历年台风数量统计数据代码import csvimport mathimport numpy as npimport sys, osfrom matplotlib import pyplotlistage = []listnum = []with open('generation.csv
2017-11-17 22:57:27 12431
原创 python操作csv文件范例
简介使用python正确操作csv文件,防止乱码代码import codecsimport csvcsv_filename = '/tmp/hoge.csv'with open(csv_filename, 'wb') as f: f.write(codecs.BOM_UTF16_LE)with codecs.open(csv_filename, 'ab', enc
2017-11-15 17:44:25 561
原创 junit的Rule使用方法介绍
简介通过java annotations(注解)形式将TestRule或TestRule子类的实例添加到测试类中,来扩展各种测试功能。环境java 1.8gradle文件目录.├── main│ ├── java│ └── resources└── test ├── java │ └── example │ ├──
2017-11-14 23:06:24 4985
原创 CSS设计规则BEM快速入门手册
关于BEMBEM是Block Element Modifier缩写, BEM通过以下3个维度来进行CSS设计及命名的.Block 代码里大括号Element 大括号里的元素Modifier 标记上述2个的状态目标BEM中特别以MindBEMding命名规则为基础使用SCSS通过基本的简单类来设计CSSS与HTML完美分离命名规则类block__elemen
2017-11-13 23:10:30 1209 1
原创 log4j2.xml基础学习
简介本文主要讲解log4j2的基本使用配置。讲解内容如下无配置文件有配置文件但无配置只配置Appender和LoggerLayout指定子LoggerFilter使用Property定义与使用环境变量, 系统属性等引用Script运用配置分割成多个文件环境java 1.8log4j2.9.1用于输出的java代码import org.apac
2017-11-11 23:22:21 2741
原创 python数组循环处理
简介本文主要介绍python数组循环语法。主要方式有元素遍历,索引遍历,enumerate, zip, list内部等。普通循环list1 = ['item1', 'item2', 'item3']for item in list1: print(item)//结果item1item2item3根据index循环1list1 = ['item1',
2017-11-10 23:33:25 37023 1
原创 在js中仿java的枚举类型设计实例
简介在javascript中,像EventTarget.addEventListener(),Document.createElement() 等方法,只接收指定字符串作为参数。比如:const okButton = document.getElementById("button_ok");okButton.addEventListener('click', () => console.
2017-11-09 21:14:37 1596
原创 使用tesseract进行中文文字识别
简介本文主要介绍如何通过tesseract进行文字识别,及其识别效果。效果图 图片 测试图 测试结果 环境ubuntupython2.7安装tesseractsudo apt-get install tesseract-ocr安装tesseract tessdatahttps://github
2017-11-08 23:52:25 10145
原创 使用opencv查找两张图片不同的部分
简介有一款游戏叫《大家一起来找茬》不知道大家有没有玩过,就是给出2张相似图片,在规定的时间内找出图片上有几处不同并标记出来。本文将介绍如何通过opencv替代肉眼快速找出准确的答案。材料准备通过搜索引擎,找出要比较的素材。如下将素材裁剪成2张图片// ubuntu 系统命令裁剪convert -crop 50%x100% image01.jpg image01.png
2017-11-02 23:52:00 47788 11
原创 使用JAVA的ExecutorService来限制线程数量
前言诸如利用多线程并行访问数据库可以提高系统的并发性能,但是线程变多伴随而来的是,当线程数大于DBMS(数据库管理系统)设置的最大DB连接数时,程序就挂掉了。在JAVA中如何避免这种问题呢?解决方法使用ExecutorService,限制最大线程数量ExecutorService是?ExecutorService是JAVA标准的并行计算库[java.util.concurren
2017-10-30 23:01:19 11330
原创 spring boot定制个性化命令
前言使用过lumen(php)框架的朋友,大概都接触过artisan工具。按框架所给过的规范,可以轻松定制自己业务所用到的命令集成到框架里。如下图汉字部分所示当想执行想要用到的业务命令时,只需要执行对应的命令php artisan build.es.plazas.config //刷新全部广场配置是不是很直观,那么在spring boot中,我们要如何实现类似功能呢?实现步
2017-10-28 00:22:49 446
原创 通过人脸识别查找相似图片
前言本章内容主要介绍,通过face_recognition工具来识别目标图片对应所对应的相似的已知图片。实验素材 已知图片 目标图片 名字 23300534014891135650829996334.jpg 1275046_211423046_2.jpg 刘德华 01300000201827122117943399504.j
2017-10-26 21:11:14 26487
原创 laravel5日志设置篇(3/3) – 精确到微秒及日志输出位置记录
想要实现的功能记录日志输出时的时间精度到微秒记录日志输出时程序执行位置(方法/行数)记录进程ID例如:app.log[2017-10-22 10:13:57.833504] production.INFO: -- Startup {"method":"GET","uri":"/v1/stocks"} {"pid":7124,"line":"App\\Bootstrap\
2017-10-22 10:35:12 3189
原创 laravel5日志设置篇(2/3) – 记录sql日志
想要实现的功能获取laravel运行时执行的sql语句sql相关的日志保存到指定文件(sql.log)接口访问与artisan 命令日志分开保存例如- sql.log[2017-10-21 22:27:42] production.DEBUG: select count(*) as aggregate from `stocks_input` where `stocks_inp
2017-10-21 22:48:30 1805 1
原创 laravel5日志设置篇(1) - 记录开始和结束日志
想要实现的功能记录Application的开始和结束日志- 开始日志: URL请求或命令行记录- 结束日志: 处理时间和内存使用峰值记录例如:[2017-10-19 23:06:00] local.INFO: -- Startup {"command":"php artisan list"} [2017-10-19 23:06:00] local.INFO: -- Shutdow
2017-10-19 23:27:05 2947 2
原创 java stream api介绍
简介Stream API借助前面介绍的java lambda表达式来进行集合数据处理。下面举些常用的例子来熟悉下。forEachstream方法不调用也可以使用forEachArrays.asList(new Double[] { 1.0, 2.1, 3.2, 4.3, 5.4 }).forEach(System.out::println);filter集合内数据过滤
2017-10-18 23:00:35 207
原创 判断是不是iphone x齐刘海屏幕
判断规则由于iphone x屏幕不是传统的长方形了,而是圆角矩形。如何判断当前的屏幕是长方形还是圆角矩形呢?可以使用windows的safeAreaInsets方法,当返回值为0时,为长方形,非0时即认为是iphone x.func isiPhoneXScreen() -> Bool { guard #available(iOS 11.0, *) else {
2017-10-18 19:34:17 15804 1
原创 Java lambda表达式
lambda表达式lambda表达式是一种只拥有一个函数式接口的方法的叫法,可以简化封装。函数式接口在lisp这样的函数式编辑语言中,可以简单地把函数当作参数传递。在java中,由于函数不是对象,故不能直接当作参数传递。但可以通过函数式接口实现函数传递。package foo;public interface Func { public double apply(dou
2017-10-17 23:25:19 208
原创 从问题角度来思考设计模式(3) - 行为编
目录生成编结构编行为编让数据和处理逻辑分离改造前public class FooAmusementPark { private FooZoo zoo; private FooAquarium aquarium; public void enjoy(FooFamily family) { zoo.enjoy(); }
2017-10-13 22:35:54 183
原创 从问题角度来思考设计模式(2) – 结构编
目录生成编让API返回信息适配多样性改造前FooAPI fooAPI = new FooAPI(lat, lng);FooPlace place = new FooPlace();place.setAddress(fooAPI.getPostalCode() + " " + fooAPI.getAddress()); // 邮编 **市**区place.setStat
2017-10-12 23:01:21 258
原创 从问题角度来思考设计模式(1) - 生成编
简介关于设计模式可以理解为,那些经常会遇到的问题以及如何解决所洗练出来的总结。所以我们在考虑进行设计时,首先要做的就是查询当前所面临的问题,是否已经有很好的解决方案,而不是闭门造车。身边有些同事喜欢需求来了,直接上来就撸代码,认为为了迎合设计模式而设计的工作,会有过度设计的嫌疑。什么时候是导入新工具,新技术的最佳时机?当一个事物让人难以忍受的时候,这时改变所带来的团队收益远大于痛苦程度,就可以
2017-10-11 23:00:53 191
原创 Nginx导入免费个人电子证书
简介随着越来越多的网站全站支持https,相应的电子证书机构也多了。有好几家都提供面向个人的免费电子证书了。如:七牛,亚马逊,Let's Encrypt等。本文主要介绍使用Let's Encrypt快速让自己的个人网站支持https.环境OS: 阿里云主机Web Server: Nginx前提条件做好相关的域名解析确保云主机上的80,443端口没有被占用电子证
2017-10-10 23:06:09 387
原创 linux删除超过指定时间天数的文件
场景现在流行的云服务器自身所附带的硬盘大小是小的,如阿里云是按大小增量收费。不过通常我们也是将程序代码部署到云服务器作为一个应用服务器,也不会将云服务器当成一个文件服务器来用。这就有一个问题,我们的日志文件,该如何保存。有些访问频繁的接口/页面很快就会将自身的磁盘给填充满。如何解决这种问题,又保证日志文件不丢失?网上一搜就会有很多解决方案。以前见过有人将日志文件定期同步到dropbox,腾
2017-10-09 23:25:02 11756 1
原创 类图中的聚合关系(aggregation)和组合关系(composition)比较
前言在画类图时,空心菱形(聚合关系)和实心菱形(组合关系)两者分别在什么场景下使用?由于两者概念有些相近,相信搞混的人还是存在的。本文通过类图对比来说明两者的根本区别。X先生的回答空心菱形代表has - a 即持有/拥有的意思实心菱形代表part - of 即 ~的一部分的意思所以,人拥有车用空心菱形表示,轮胎是车的一部分用实心菱形表示。如下图所示
2017-10-08 20:00:58 12336 2
原创 获取ubuntu键盘按键记录
简介通常一台服务器都会开放权限给运维,开发等用户。随着服务器台数增长,用户交接/离职等,服务器的管理及安全也就成为一个重要的课题。如员工离职在服务器上留后门或恶意代码,这样的场景如何追踪该员工?没错,可以借用键盘按键记录器。本文主要介绍如何通过logkeys来记录用户按键记录。安装sudo apt-get install logkeys配置获取键盘event信息ca
2017-10-07 22:41:43 3232
原创 资料汇集
csdn博客http://blog.csdn.net/huuinnGITgit本地删除master以外所有分支git 别名git 颜文字opencvopencv描绘照片jupiterjupiter使用教程查看原文:http://www.huuinn.com/archives/238更多技术干货:风匀坊关注公众号:风匀坊
2017-10-07 11:19:12 239
原创 sql语句汇总
简介面向SQL入门者,快速掌握SQL语句基本查询 SELECT * FROM table_name;'*': 所有列新增 INSERT INTO table_name VALUES (1, 'A', 'aa', '2017-09-22 00:00:0
2017-10-07 01:20:08 315
原创 GIT本地删除除master以外所有分支
主要命令git branch | grep -v "master" | xargs git branch -D注意点执行前需要切换到master分支执行当前分支未做修改增强命令git stash && git checkout master && git branch | grep -v "master" | xargs git branch -D查看原文:http:
2017-10-07 00:38:22 15823
原创 通过Bing Search APIs采集图片(python版)
关于图片的收集方式通过selenium脚本,打开浏览器,模拟操作下载一页的图片再翻页,如此循环通过图片检索引擎的专用api,下载图片数据yahoogooglebing百度采集方式对比 selenium yahoo bing google 百度 服务名称 - - Bing Image Search API
2017-10-05 21:28:57 3442
原创 CSS动画效果入门
简介只用CSS3实现动画效果。基本代码定义一个动画对象定义基本样式#box{ width:100px; height:100px; background-color:blue;}通过以上代码定义一个蓝色四边形。改变动画颜色 #box{ width:100px; heigh
2017-09-29 23:44:17 229
原创 利用python+opencv让excel描绘照片
简介通过读取图片的各个像素的颜色,填充到excel单元格中环境ubuntu 16.04 ltsexcel 2016python 2.7opvencv 3.1目录结构.├── excel_image.py├── test.jpg└── test.xlsx代码解析import cv2from string import uppercase as A
2017-09-29 13:56:52 793 1
原创 JAVA-电子签名范例代码
代码import java.security.InvalidKeyException;import java.security.Key;import java.security.KeyPair;import java.security.KeyPairGenerator;import java.security.NoSuchAlgorithmException;import java.
2017-09-28 14:24:51 6639
原创 打印spring boot的controller里定义的路由
简介controller类里的方法前@RequestMapping注释的路由信息获取,如下图所示相关代码RouteList.javapackage com.ffan.util;import org.springframework.beans.factory.config.BeanDefinition;import org.springframework.context.
2017-09-28 14:24:36 4401
原创 用p5.js制作烟花特效
前言之前看过一篇文章,使用processing制作烟花特效。效果如下网上调查了一圈了,发现processing是一个互动编程软件,java语言发展而来。而且动画效果是跑在processing专门的模拟器上。不过好在也有对应的web扩展语言,有processing.js和p5.js。processing.js在github上已经好几年没有人维护了,一些processing的特性支持不了
2017-09-28 14:17:47 6331
原创 数列求和(java)
问题提供一个方法,该方法有二个整形输入参数a和b,返回从a到b所有的整数的和且参数需要满足以下条件a a >= 0b 青铜级回答使用for循环int iron (int a, int b) { int result = 0; for (int i = a; i <= b; i++) { result = result + i;
2017-09-27 22:55:55 5341
原创 laravel中的Illuminate\Support\Collection和foreach速度比较
简介laravel框架提供了一些实用性很强的类,诸如Collection,Carbon等。同样是遍历元素,那到底Collection与foreach哪家强?检验代码<?phprequire("TestCase.php");class SpeedTest extends TestCase{ public function testCollection() {
2017-09-27 22:28:17 3819
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人