自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

更上一层楼!

人类的悲欢并不相通!

  • 博客(520)
  • 资源 (23)
  • 问答 (1)
  • 收藏
  • 关注

原创 VSCode插件之实时字数统计与选中词英汉互译

VSCode插件之字数统计、翻译hello world 初体验环境条件:npmgit最新版的VS Code(我的是1.32.3,结果测试的时候说我版本太低,就升级到了1.33.0)根据官网给的链接your-first-extension, 我们需要安装一个代码生成工具,减少重复代码的编写。npm install -g yo generator-code万事俱备只欠东风,接...

2019-04-17 14:24:39 10061

原创 reminder提醒记

先前就写了几篇关于艾宾浩斯遗忘曲线相关的博客,比如浅读艾宾浩斯遗忘曲线期间用了段Mac自带的日历工具,行程安排这块不太好同步,需要向系统申请权限,我本人对macOS开发不熟悉,就没有在上面花心思。也曾用过influxdb作为存储介质,但是有一点小材大用的感觉,不够灵活。昨天TB去了密云附近,爬了司马台长城,逛了古北水镇。全天走了20公里,真的是腿酸脚麻。一路上大家说说笑笑,聊天的时候发现平时...

2019-04-14 16:24:56 1018

原创 设计模式

六大原则追根溯源,六大原则都有一个同样的理念:对拓展开放,对修改封闭。 然后根据这一个理念衍生出6个原则:单一职责原则一个类应该只实现单一职责,不能既当爹又当妈,一定可以找到合适的分界,对实现了多个职责的类进行拆分。里式替换原则所有引用基类的地方必须能透明地使用其子类的对象。按我的理解就是子类继承父类后,不应该改变父类的职责,尽量不要复写父类同名方法,基类代表了定义好的结构,通过这个...

2019-03-22 21:14:59 1068

原创 docker部署MySQL+PHP-FPM+Nginx服务

准备docker pull mysqldocker pull nginxdocker pull bitnami/php-fpm关键命令:docker ps -a # 查看宿主机部署的所有容器docker exec -it containerid /bin/bash # 进入正在运行的容器的内部docker inspect container # 查看容器的详细信息,比如查找IPA...

2019-03-20 18:46:41 888

转载 浅读艾宾浩斯遗忘曲线

从网上找的一些资料显示,时间间隔记忆量刚刚记忆完毕100%20分钟后58.2%1小时后44.2%8-9小时后35.8%1天后33.7%2天后27.8%6天后25.4%1个月后21.1%遗忘的曲线和内容有关,也和个人有关。有很多次,把事情忘记,或者是记错,给我带来了很多的困扰。一直没能找到有效的记忆方法,看到了...

2019-03-18 23:01:34 2536

原创 佳软分享之markdown

前言我的灵感很多,但是大多数都会随风而逝。原因无外乎以下几点:懒,懒得动手一点点实现。惧,步骤繁琐的内容让人很容易就打起了退堂鼓。“写”的层次上次看到大姐在用MWeb写markdown文本,竟可以在MWeb外开一个本地服务端口进行预览文本,这应该属于我所认识的第二形式。为什么这么说呢,是因为在我的直觉中,写markdown的大致有如下几种:3 不管三七二十一,直接写不预览,成竹于...

2019-03-11 19:20:36 1352 2

原创 ELK在docker中的部署

ELK是ElasticSearch、Logstash、Kibana的简称,一般用于日志系统,从日志收集,日志转储,日志展示等入手,用以提供简洁高效的日志处理机制。鉴于没有额外的机器,这里就用docker来简单模拟下一个简单ELK系统的部署和使用。搭建Logstash准备好镜像docker search logstash // 省略输出docker pull logstash // 省略...

2019-02-16 11:54:38 9219

原创 Redis清理

Redis是个好东西,但也禁不住乱用,毫无节制,毫无规范地使用,其结果就是后期清理的时候异常艰难。近期有清理的需求,就搜集整理了下,作为笔记备用。RDB线上Redis实例一般都会很大,而且通常服务器宿主环境的内存都不会充裕,为了避免服务器宕机或者出现服务阻塞,服务卡顿的情况,就不要在master服务器或者线上服务器上操作了。https://jmaitrehenry.ca/2017/11...

2019-01-10 16:03:23 2197

原创 贡献代码,保持代码与源库一致

1 瞅准一个感兴趣的项目,fork一份到自己的仓库2 git clone 一份到本地开发环境,3 从源库那里加一个remote repository ,基于这个remote创建一个分支到本地开发环境, 这样每次就可以从源库那里拿到最新的代码。分支的管理着实重要,操作要慎重。4 在本地的这个开发分支上涂涂改改,可以随意的commit,只要不push 这个分支到远端仓库,别人就看不到这些修改,开...

2018-12-26 13:31:42 535 1

原创 前缀树

最近看代码,发现了一个敏感词检测是用前缀树写的,看起来速度蛮快,毕竟是拿空间换时间,LOG倍速。但是缺点也很明显,待检测文本需要与敏感词词库中的值完全匹配。所以对于简短的词法比较合适。原理:每一个节点可以有多个子节点节点“存储”字符, 节点与节点之间的连线自动形成单词。 如a节点与d节点,之间的连线就是单词 ad节点可能是叶子节点,此时也是一个单词的“终点”,否则是其他拥有相同前缀的节...

2018-12-15 17:25:22 1383

原创 聊聊缓存替换

换出策略前几天看到别人整理的关于缓存替换的讨论,觉得很是不错。大致有这么几种思路:随机换出FIFO(First In First Out)LRU (Latest Recently Used) 最近最少使用的被换出LFU (Latest Frequency Used) 最不频繁使用的被换出最后两个稍微有点绕,看似是俩不一样的思路,但是仔细想想,一个是基于时间线...

2018-12-06 17:07:45 683

转载 转载·《Nginx code 状态码说明》

今天看到一篇很好的文章,收藏了一下,但是老容易忘了看,所以还是转载一下。下面附上原文链接:https://mp.weixin.qq.com/s/q_98FUiKuUjyOWrPhWOZhw启示这篇文章的风格给了我读书上很大的启示。学习一门技术也好,读书也好,总是局限于边边角角,看似付出了很多,但是到头来总感觉还是没学过一样。没有一个完整的宏观意义上的把控,所以很可能会出现学了又忘,忘了再学的...

2018-12-06 16:31:04 641

原创 我看“读书”

汪国真的《热爱生命》里有这么一段话:既然选择了远方便只顾风雨兼程我不去想能否赢得爱情既然钟情于玫瑰就勇敢地吐露真诚我不去想身后会不会袭来寒风冷雨既然目标是地平线留给世界的只能是背影既然选择了成为一名程序员,就需要做好终身学习的准备。这就涉及到了其中一个很重要的环节 – -- 读书。半年前,经受不住同学的诱惑,也买了一个kindle paperwhite。结果吃灰的时间还真的...

2018-12-02 22:57:33 1249 1

转载 偶遇不错的装饰器

这里收集一下最近遇到的不错的装饰器的例子,或许今后会用得到。retry适用场景为重试机制,比如网络不稳定,服务不稳定。#coding: utf8__author__ = "郭 璞"__email__ = "marksinoberg@gmail.com"# 实现一个retry的装饰器import timeimport loggingimport socketfrom functo...

2018-11-29 22:13:41 550 4

原创 Python装饰器模式学习总结

装饰器模式,重点在于装饰。装饰的核心仍旧是被装饰对象。类比于Java编程的时候的包装模式,是同样的道理。虽然概念上稍有不同但是原理上还是比较相近的。下面我就来谈一谈我对Python的装饰器的学习的一点心得吧。关于作用域Python作用域 体现在LEGB中:L:local 函数内部E: enclosing 函数内部和内置函数之间G:global 全局性质,有命名空间的限制B:build

2018-11-29 11:46:17 9249 1

原创 延迟任务的几种实现思路

前言最近有个延迟执行的任务需求,比如发了一个定时红包,服务器不能相信客户端的一切,所以就得做时间的同步,但是PHP相对来讲不是很适合做这种“XX秒后去执行一个什么样的动作这类的行为”,但是这个功能又是不可缺少的,然后就周末花时间调研了下相关的实现。大致有如下几种:借助Redis的sorted_set和hash结构自己写一个定时器,不断“轮询”触发借助语言的异步库借助消息队列等服务。...

2018-11-19 13:30:50 1266

原创 IFTTT

IFTTT 是 If This Then That的缩写,是一款我最近发现的超好玩的服务。简介IFTTT is a free platform that helps you do more with all your apps and devices.IFTTT的设计理念就在于This 和 That,当This发生的时候要出发That形式的动作。举几个例子:比如天气预报说今天有大雾,...

2018-11-16 18:29:45 5152

原创 robotframework

背景这两天从测试组同事那里发现,自己的bug总能被他们抓到,仿佛有如神助,问了下发现他们用了robotframework来定期跑我们的接口,然后就这样,bug再也藏不住了。被发现了还能怎么办,改bug呗。但是改bug不是目的,有bug说明自测不到位,需要反思下自己的代码准确性。光靠自测有时候可能发现不了边界值等问题,往往都是自测一下发现有数据了,开发的工作就算完事了,但是实际上,这还远远不够。...

2018-11-08 22:02:42 3271

原创 gRPC远程过程调用之golang

gRPC是Google出品,支持多种语言,但是国内安装会有点问题,下面整理一下,方便今后配环境的复习。安装grpcgo get google.golang.org/grpc结果出现了如下错误:package google.golang.org/grpc: unrecognized import path "google.golang.org/grpc"(https fetch: Get ...

2018-10-14 17:36:11 1926

原创 用docker弹性部署自己的服务

很久不看docker的东西了,之前了解的一些基本命令都忘得差不多了,适逢工作需要,再来复习巩固下。今天想完成的是:借助docker不部署下自己的服务。环境准备都说“巧妇难为无米之炊”,所以还是需要先准备下的。OS:Ubuntu 16.04, 2G内存docker:1.13.2coding language: golang (gin web framework)编码将服务跑起来,是我们...

2018-10-14 12:32:20 7685 3

原创 jetbrains系列IDE license免费制作

前言今天偶然看到一篇好文章,至于具体内容嘛,如题。先前没用过jetbrains公司的IDE的时候,觉得还不是这么的依赖它,但是这家伙却能在你用过一次后深深地抓住你的心,从此再也离不开了。1 每次安装好,面对不激活无法使用的弹出框,心里不知道问候了多少次它祖宗,但是没办法,生活还得继续不是,因此再去网上搜索一些免费的license,姑且用着了。2 然而,用着用着,在某一天的清晨,再次打开IDE...

2018-09-23 01:57:10 1114

原创 网页制作pdf

前言沉迷农药,抖音,总归是不好的。在要吃苦的年纪里选择安逸,那么老了一定会后悔,埋怨年轻的时候不知道努力的自己。于是又找出了尘封已久的kindle,打算好好看看书,给自己充充电。Amazon上好书要钱,readfree上充斥着文学类的书,思来想去,找到自己喜欢的内容,自己制作电子书来看岂不是一个更好的选择。而且内容完全由自己来定,把每天搜集到的不错的网页制成PDF发到kindle上,下班回去就...

2018-09-20 23:44:27 1394

原创 Go+PHP实现敏感词检测

概述广告,敏感词检测一直以来都是让人头疼的话题,仅仅通过添加敏感词列表是解决不了问题的。今天封禁了这个词,明天又会有新的违禁词冒出来,比起愚公无穷尽的子孙更甚。敏感词匹配这种治标不治本的方法,在一定的语义下蛮有效的,但是这个场景对高并发,访问QPS高的服务来说,不是很合适。前段时间看到垃圾邮件检测用到的贝叶斯分类算法,这种“半学习”形式的方法的准确度依赖于先验概率的准确性,而公司长期以来整...

2018-09-14 11:28:39 3579 1

原创 simhash

听闻SimHash很强,对海量文档相似度的计算有很高的效率。查了查文档,大致的流程如下:大致流程就是:分词, 配合词频计算哈希串(每个分出来的词最终会计算处同样的长度), 降维,计算海明距离。#coding:utf8import mathimport jiebaimport jieba.analyseclass SimHash(object): def __init...

2018-09-09 15:57:35 1526

原创 supervisor笔记

最近写了一个wiki看门狗(wiki-watchdog), 作用就是监控wiki的改动,然后通过钉钉机器人发送到群组。因为脚本健壮性的问题,代码有可能会不定期crash掉,所以需要一个能在脚本crash后及时恢复的服务,查了查发现supervisor挺合适。简介Supervisor是一款用于管理和监控类 UNIX 操作系统上面的进程工具,基于Python开发,典型的Client/Ser...

2018-09-04 21:01:32 497

转载 转载--《写给工程师的十条精进原则》

昨晚看到一篇美团技术团队的文章分享,觉得作者写的很走心,作为一个刚毕业的学生,有太多太多的地方还差得多,更得虚心求教,充实自己才是。引言时间回到8年前,我人生中第一份实习的工作,是在某互联网公司的无线搜索部做一个C++工程师。当时的我可谓意气风发,想要大干一场,结果第一次上线就写了人生中第一个Casestudy。由于对部署环境的不了解,把SVN库里的配置文件错误地发到线上,并且上完...

2018-09-02 13:01:09 368

原创 从go语言看“如何快速入门一门语言”

最近在看go语言的语法,使用Python和PHP这种动态语言习惯了之后,再回头使用静态语言,多多少少有点别扭。看了go的语法之后,go给我的最直观的感受就是C+Python,为什么这么说呢?因为从语言的类型角度看,go语言衍生自C语言,很多地方有C语言的身影;但是从易用性和强大的第三方库支持的角度,go语言和Python有异曲同工之妙。对我来说,学习一门语言,语法可能不是最为重要的,但是这...

2018-08-15 21:10:55 497

原创 《非暴力沟通》读后感

最近几天偶然了发现桌角的kindle,才发现原来已经好久没有碰过她了。打开封盖,还有百分之60+的电量,着实让我一惊。 为了不让花出去的钱白白吃土,于是每天晚上睡觉前,就打开kindle看一会儿, 最近看的书是《非暴力沟通》,对里面一段话深感佩服: 责备自己,指责他人,体会自己的感受和需要,体会他人的感受和需要。批评往往暗含着期待。对他人的批评实际上间接表达了我们尚未满足的需要。入职...

2018-08-06 16:41:13 2470

原创 myman 一个专注于提供命令示例的小脚本

Linux 自带的man帮助文档虽然是很全面而且很正规的,但是没有示例,所以某一个命令今天查了,明天可能再遇到还是忘记了用法,不得不打开浏览器搜索对应命令的具体用法,这在一定程度上就算是浪费了时间。因此,有了myman的想法,与zsh, fish这些思路不同,myman不会抢夺man本身的用法,按照unix世界的思想一个工具一次只完成一个功能,因此myman的定位就只是对示例进行完善啦。下...

2018-06-15 19:50:41 481

原创 后台开发小功能合集

最近对一些小功能比较感兴趣,时不时的脑海里会涌现出一两个比较新奇的点子。然后不由自主的会去思考,用哪种方式进行实现,做一个原型出来。秉承好记性不如烂笔头的传统,这里整理下,也为了今后来复习巩固。列表的上移与下移 如图,这里以Redis配合PHP做了一个简单的版本,算是一个有个小心脏的麻雀吧。 设计思路: 排序的key为zset: score(列表的位置), memb...

2018-06-13 23:18:43 828

原创 Swoole实现基于WebSocket的群聊私聊

本文属于入门级文章,大佬们可以绕过啦。如题,本文会实现一个基于Swoole的websocket聊天室(可以群聊,也可以私聊,具体还需要看数据结构的设计)。搭建Swoole环境通过包管理工具# 安装依赖包$ sudo apt-get install libpcre3 libpcre3-dev# 安装swoole$ pecl install swoole# 添加extensio...

2018-06-10 20:36:35 12090 1

原创 小城故事

临近6月,大连的温度也开始逐渐上升了。短袖撑不起早晚的微凉,中午却晒得让人想找个树荫避一避。五月份的海风夹杂着说不上名字的碎碎花香,不咸不淡的刮着,很是沁人心脾。 2015.05.19号参加了第十二届大连国际徒步大会,当时只走了5公里,回想起来确实挺遗憾的。时隔三年,我也要毕业了。为了弥补这个遗憾,2018.05.19的我又参加了第十六届大连国际徒步大会。这次完成了20公里的目标。是日,...

2018-05-27 20:23:04 764 4

原创 我的docker学习笔记

近来发现docker越来越受欢迎了,而且看起来,docker的热度还远没有到达顶峰,或许在这个云服务时代的大背景下,docker会是另一个转折点。这里暂且将这几天看到的一些小知识点整理下,方便自己后面复习吧。安装dockerdocker虽然是跨平台的,但是很明显在linux上工作起来要比在Windows上方便的多,所以我就在自己的云服务器上装一个好了。包管理器:$sudo a...

2018-05-20 16:36:03 805

转载 转载--netty开发聊天CS与BS

本文为转载后,加上了部分修改而成。具体入下:Client-Server模式使用netty写客户端与服务器,完成聊天。为了优化用户体验,这里加了一个bean类,ClientBean,用于描述客户端。Server端netty本身就有很好的分层设计,框架和业务逻辑分界明显,对于不同的业务,我们只需要实现不同的handler即可。SimpleChatServerHandler....

2018-05-16 15:32:13 1272

原创 PHP性能优化探索

如题,在开发过程中总会遇到的一些性能优化上的疑惑点,这里我整理一下以便于后面自己的复习吧。排序问题场景如下: 有时候,根据业务场景的不同,总会遇到一些比较容易出分歧的思路。比如我今天遇到了一个“直播话题”相关的需求,后台接口返回的是近期正在使用的直播话题,同时后台可以通过对其进行上移下移实现APP中固定顺序的输出。 老代码中是这样做的,用redis的一个sorteds...

2018-05-10 23:07:07 874

转载 Canon背后的故事

第一次听到卡农这首音乐,还在看《我的野蛮女友》这部电影里。诺达的演唱厅里面传出淡淡的唯美乐曲,虽然隔着屏幕,隔着时间,我还是如身临其境般的感受到了这首曲子带给我的震撼。从那以后,我的网易云音乐中就专门有了这样一个歌单,用来存放日常搜集到的各种形式的卡农音乐。我们都知道,卡农不是具体的某一首曲子,而是一种音乐题材,是一种表达形式,,具体是: 一个声部的曲调自始至终追逐着另一声部,直到...

2018-05-01 21:43:35 698

原创 Gossip

马上就要毕业了,大家看起来都那么浮躁。我也不例外,都说“快毕业了,给自己放个假啊”。的确有点道理,毕竟以后都不会有这样的假期了,但是总觉得还是少了点什么。毕业了就是“终点”了吗?我总感觉不是这样。前段时间总裁磊哥也跟我说,刚毕业的时候不要计较工资什么的,多涨经验,多熟悉业务逻辑才是最重要的,毕业后几年才是真正拉开工资差距的时候。抛开领导“和员工谈情怀”这点,我依旧很赞同磊哥说的这段话。希望今后...

2018-04-27 21:04:10 705 1

原创 命令行邮件发送工具

README https://github.com/guoruibiao/worktools/edit/master/mailer/README.md最终效果sendmail.py -husage: sendmail.py [-h] [-s SENDER] [-p PASSWORD] [-H HOST] [-P PORT] [-r RECEIVER...

2018-04-12 14:07:00 1663 2

原创 一致性哈希原理与应用

因为毕设的需求,项目中要用到Memcache服务,来降低对数据库的请求压力。虽然只有我一个人访问,看起来加不加缓存都没有必要;但是从设计上来讲,一个稳健的服务,没有缓存怎么能行呢?经过一些搜索,发现一致性哈希算法是目前较为流行的缓存服务选择方案。因此来整理总结下,以便于自己的应用。本文代码都放到了gitee仓库,有兴趣的可以拿去测一测。 https://gitee.com/marksin...

2018-03-23 13:45:54 578

原创 Scrapy爬虫以及Scrapyd爬虫部署

环境Scrapy爬虫框架创建项目创建爬虫运行爬虫Scrapyd爬虫部署服务windows 下部署命令不识别的问题开启scrapyd服务部署爬虫作业控制总结昨天用Shell配合Python做了一个离线的作业控制系统,功能是有了,但是拓展性着实有点差,对小脚本小工具来说效果还可以,但是对于大型的爬虫类以及需要灵活控制的项目,可能就不太适合了。毕设...

2018-03-13 22:58:17 4942 1

delve.zip远程go代码

delve 代码包以及 Linux上编译好的二进制文件

2021-01-08

Redis设计与实现-黄建宏

Redis设计与实现,黄建宏老师倾力书写,很赞的一本书,流程化,系统化,个人认为是一本不错的技术书。

2019-01-24

dash_license

Dash License 好不容易搞到的一套激活数据,传一份共享给大家。CSDN 默认把积分调到了 50,-_-|| 只能手动降到 5 分,给大伙行个方便。

2018-11-02

LDA漫游指南

共享资源什么时候开始收费了啊,费解。所以原价12积分的,我这里只能设置最低积分了,给大家行个方便。

2018-04-23

CSDN博客备份工具

针对CSDN用户的博客备份工具。

2017-04-29

Python收取邮件

Python 收取邮件。命令行版实现。

2017-04-24

ssh搭建流程代码

Strtus2, Spring, Hibernate完整搭建代码。

2017-03-15

mongodb2.06

如果您的电脑在安装最新版本的mongodb出现runtime错误而且VC++2015依赖又不能正常安装。(换句话说您的操作系统版本低于7601时),这个版本的mongodb会让你很欣慰。 本人windows7 (版本号7600)亲测好用。

2016-12-06

php windows安装版

msi版本的PHP,无需手动配置环境即可实现php的快速搭建。新人首选。

2016-08-13

ApacheServer

一个msi版本的ApacheServer,快速搭建PHP服务器环境的首选。

2016-08-13

二维码工具

关于Java实现二维码制作以及解析的小例子。包括使用Zxing,QrCode,jquery-qrcode.js等的实现

2016-07-29

登录注册案例

这是一个关于使用MySQL数据库实现的登录注册功能的小项目。非常适合新人围观。其中实现了MVC设计模式的应用,分层架构的思想。以及Swing的相关的知识点,是有些基础的Java技术的你的进阶首选小项目。

2016-04-22

软件图标,切图必备

应用程序的各种图标,工具栏、菜单栏上的那种,添加、修改、删除、打印、导出.....等,非常齐全,作 Winform 开发的一定用得作。

2016-04-20

ViewPagerDemo

ViewPager实现的一个APP引导界面样例。且实现了只有第一次使用软件的时候才显示引导界面的功能。

2016-04-15

android反编译

可以反编译apk的Windows下的工具。

2016-04-09

搜狗for linux

针对于中国用户的Linux用户的输入法。

2016-04-03

国际化编程

国际化编程的详细的小案例,比较好用,通俗易懂。内含说明文本方便入门。

2016-01-30

学生信息管理系统(基于XML)

这是一个基于XML操作的学生信息管理小系统,实现了对学生信息的录入,查找,删除等操作。可以说是一个简易的“数据库”综合小应用!

2016-01-20

Jsp的标签文件

JEE开发的标签库文件,便于web的开发与设计,希望这份资源对你有用!

2016-01-08

各种排序算法Demo

各种排序算法,全Java实现。直接插入排序,折半插入排序,希尔排序,冒泡排序,快速排序,选择排序,桶排序···全是Java的简易的小Demo,注释清晰。

2015-12-25

Json测试工具

简单易用的Json测试工具,只要电脑上有Java RunTime Environment就可以双击运行。在测试json数据方面,它绝对是你的称心帮手。

2015-11-21

Linux,Ubuntu网络连接出现问题了这么办

在Linux系统下的网络连接出现问题时,是一件令人很头疼的事,但是这里有Linux网络链接出现问题的常见的问题解决方案,相信会给你焕然一新的感觉

2015-11-06

android版简易计步器源码

利用android手机自带的传感器进行移动开发,这难道不是一件很酷的事吗? 那么你还在等什么,此源码专门为android新手准备,绝对的一目了然!

2015-09-26

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

TA关注的人

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