自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王命风的博客

编程技巧及趣应用学习及分享

  • 博客(85)
  • 收藏
  • 关注

原创 bash将目录下的所有git项目master分支更新到最新

背景本程序员公司项目由于微服务化,1个服务1个git仓库。所属子服务累计6个。github上也有一些项目。有些项目经常更新,有些项目则好久都不会更新一次。有些项目要接口合并,旧的接口要合并的前提是没有流量,即其他服务也没有调用该接口。那么多子服务如何快速搜索出代码?方案所有的项目都同步到最新,即master分支要更新到最新。保证要搜索的代码与线上保持一致。然后就可以grep了目录使用的...

2019-11-21 11:00:36 841

原创 shell指定时间内监听日志并触发curl请求

场景开发环境搜集错误日志发送到企业微信群,让开发人员关注错误服务器日志文件每天有归档,新建了同名文件,防止tail执行时一直没有释放而没有读新的文件,所以脚本并不是一直常驻后台,用到的时候起一个进程。适用于测试和预发布环境代码end_time=($(date +%s -d '+30 seconds')) && tail -f ***.log | \while read...

2019-10-24 10:36:01 852

原创 灰姑娘(GO版)

故事背景(简化版)辛德瑞拉有个继母和2个姐姐,每天被她们欺负有一天,城里举行一场舞会。参加舞会需要礼服和鞋子。姐姐们都有,而辛德瑞拉没有。仙女用魔法给辛德瑞拉变出了礼服和鞋子(水晶鞋),并告诉辛德瑞拉魔法会在午夜12点后失效辛德瑞拉在城里见到王子午夜12点,辛德瑞拉不得已要马上离开,在仓皇间留下了一只水晶鞋。王子拿着水晶鞋寻找辛德瑞拉只有辛德瑞拉才能穿上水晶鞋,姐姐们穿上都掉下来...

2018-12-15 11:38:54 958 1

原创 ubuntu18.04中charles安装及使用

服务端环境ubuntu 18.04安装wget -q -O - https://www.charlesproxy.com/packages/apt/PublicKey | sudo apt-key add -sudo sh -c 'echo deb https://www.charlesproxy.com/packages/apt/ charles-proxy main > /e...

2018-09-18 19:43:11 7456

原创 Ubuntu18.04锁屏后dask to dock隐藏

简介Ubuntu18.04锁屏后dask to dock默认情况下是显示的,本文主要讲解如何隐藏。操作将扩展迁移到当前用户目录下sudo mv ubuntu-dock@ubuntu.com .local/share/gnome-shell/extensions变更权限sudo chown -R $USER:$USER ~/.local/share/gno...

2018-09-16 22:51:58 2463

原创 Ubuntu18.04设置在开机时自动链接蓝牙键盘

ubun# 简介 系统升级到Ubuntu18.04时,启动后蓝牙键盘不能自动连接,需要虚拟键盘登录后手动连接蓝牙键盘后,才能正常使用。如何在开机时自动链接键盘?查找蓝牙键盘的Address地址在Settings->Bluetooth菜单中查找对应的设备,并点击。在弹出来的信息中可以找到蓝牙设备的地址进入蓝牙操作模式sudo bluetoothctl设置蓝...

2018-07-16 14:36:08 8382

原创 使用tc命令模拟网络延迟和丢包

操作环境$ cat /etc/lsb-release DISTRIB_ID=UbuntuDISTRIB_RELEASE=16.04DISTRIB_CODENAME=xenialDISTRIB_DESCRIPTION="Ubuntu 16.04.4 LTS"模拟网络延迟命令参数tc qdisc [ add | change | replace | link |...

2018-07-09 14:51:08 6055

原创 shell脚本中栈(stack)简单封装

操作命令init_stack name # 初始化push_stack name data # 进栈操作pop_stack name # 出栈操作print_stack name # 输出栈中内容实际代码function init_stack() { eval "$1"_length=0}function push_stac...

2018-07-06 14:18:19 1285

原创 常用bash快捷键

快捷键 说明 Ctrl+_ 撤消 Ctrl+T 文字位置对换 Alt+T 单词位置对换 Alt+. 上一个命令的最后入参 Ctrl+方向键 单词间移动 Alt+F 下一个单词 Alt+B 上一个单词 Ctrl+X Ctrl+E 命令用编辑器打开 Ctrl+E 光标移动到行末...

2018-06-21 15:17:20 165

原创 常用bash命令集

多个终端下,所有的命令保存到历史记录中shopt -s histappend在上一条命令前面加sudo执行sudo !!新命令引用上一条集合的参数新命令 !*例:ping 127.0.0.1tracepath !*这样就可以少打参数了交互式搜索历史命令Ctrl-R使用最频繁命令排行history | awk 'BEG...

2018-06-21 15:16:24 281

原创 php按指定概率获得key

简介php按指定概率获得key<?phpfunction getkey(){ $pro = [ 'key1' =>80, 'key2' =>20, ]; $ret = ''; $sum = array_sum($pro); foreach($pro as $k=>$v) { $r = mt

2018-05-08 16:29:50 944

原创 emacs启动时自动安装package

简介本文主要介绍如何在emacs中,自动安装/更新packageinit.el中配置追加(require 'package)(setq package-archives '(("gnu" . "https://elpa.gnu.org/packages/") ("melpa" . "https://melpa.org/packages/") ("org" .

2018-04-30 17:40:51 2903

原创 php生成总值固定随机数字数组

简介php代码生成数字数组,所有数字总和固定 private function _getRandomNumberArray($total, $times, $min, $max) { $data = array(); if ($min * $times > $total) { return array();

2018-04-30 17:27:14 2999

原创 php隐藏图片下载地址

简介有时根据图片url却不能下载图片。用php是如何实现的?方法1 public function test() { $img = ""; echo $img; $this->autoRender = false; }方法2 public function hoge2() {

2018-04-30 16:44:36 495

原创 ubuntu 18.04启动页面背景替换

简介本文主要介绍如何替换ubuntu 18.04下启动页面的背景。方法准备一个背景壁纸复制图片到/usr/share/backgrounds/目录下sudo cp 背景壁纸 /usr/share/backgrounds/编辑配置文件/etc/alternatives/gdm3.css# 默认#lockDialogGroup {

2018-04-30 16:39:28 9803 2

原创 [超入门]使用docker做mysql主从复制实验

简介本文主要介绍如何使用docker快速搭建实验环境,熟悉mysql主从复制配置。环境docker 17.12.1-cedocker-compose 1.19.0docker-compose.yml一个主数据库一个从数据库主从直连version: '2'services: database-master: build:

2018-03-26 16:29:47 286

原创 php7下pdo的各种fetch模式速度比较

简介本文主要介绍通过压测数据来检验php7下pdo的各种fetch模式性能。准备一张5000条以上数据的表(批量数据生成)测试用代码<?php// ***************需替换***************$pdo = new PDO('mysql:host=127.0.0.1;dbname=test_db;port=33062', 'root', 'pass

2018-03-25 23:02:52 3484

原创 mysql测试数据批量插入

简介场景1:测试sql服务器性能时需要单表100万以上数据时场景2:业务测试数据1000个账号每个账号有5个商品当我们遇到以上场景时,如何快速造数据?原理利用select的交叉连接(cross join)。如果不带WHERE条件子句,它将会返回被连接的两个表的笛卡尔积,返回结果的行数等于两个表行数的乘积;需要预先准备好表和样本数据造出10万,100万,1000万个用

2018-03-25 22:45:42 3303 1

原创 Ubuntu下emacs中文输入法(fcitx)设置

简介在ubuntu下直接安装emacs, fcitx时,运行emacs切换不了输入法,即不能输入中文。本文主要讲解如何用最少的命令即可在系统中使用fcitx来输入中文。配置/etc/environment文件中追加export LC_CTYPE="zh_CN.UTF-8"locale配置sudo locale-gen重启查看原文:https://www.

2018-03-25 10:48:21 1871

原创 Ubuntu系统命令随机数/字符串生成

简介使用Ubuntu系统自带命令快速生成随机数代码# 生成含有数字和大小写字母的6位数字符串cat /dev/urandom | LC_CTYPE=C tr -dc '0-9a-zA-Z' | fold -w 6 | head -n 1# 生成纯数字的8位数字cat /dev/urandom | LC_CTYPE=C tr -dc '0-9' | fold -w 8 | h

2018-03-14 22:25:35 1748

原创 多个组织用户git commit时如何区分邮箱提交

简介作为一个码农通常会拥有github,公司的gitlab/gerrit或个人搭建的gitlab等两个及两个账号。公司提交代码时,通常是用公司的邮箱和用户名提交代码。而像github这种我们又希望用个人邮箱和昵称来提交。当然你可以为每个项目单独本地配置user.email和user.name信息。但组织的git仓库越来越多时,这种方式就显得繁琐多了。下面主要就是讲解如何为一个组织全局配置一个单

2018-02-23 23:32:51 1203

原创 java调用系统命令Demo

java调用系统命令范例import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;public class SystemCommandCall { public static void main(String[] args) throws Exception

2018-02-13 11:22:03 445

原创 git比较多个文件在两个分支下的差异

简介一般工作中,我们每次代码测试通过后,代码需要合并到master分支,并将master分支的代码发布到线上。在合并回master过程,如果涉及到多团队并行开发时,可能会遇到代码合并冲突。在修复冲突过程中,可能将别人的代码误删或自己的代码被别人误删。这时我们如何快速判断,master分支上包含了本次开发功能的所有代码?本文主要介绍如何通过管道命令,快速地找出本次需求中开发过的文件在master

2018-02-12 17:00:27 16337

原创 php类名和方法名重名时发生了什么?

简介本文主要罗列些例子,看看当php类名和函数名重名时,php是如何处理的例子<?phpclass TestObject{ public $subject; private $message = 'test' . PHP_EOL; public function testObject() { echo $this->message

2018-02-09 00:23:26 3880

原创 php环境中各种hash算法速度比较

简介本文主要介绍在php环境下,php本身所集成的各种hash(哈希)算法速度比较环境php7测试代码<?php// 测试数据$data = "hello";// 各算法循环次数$loop = 100000;$results = [];// hash算法foreach (hash_algos() as $algo) { $total = 0;

2018-01-28 21:56:24 2309

原创 使用python的pyplot绘制函数

简介本文主要介绍如何通过pyplot来绘制函数图。主要绘制函数如下:- 一元一次函数- 一元二次函数- 指数函数- 自然对数函数- 正弦函数一元一次函数效果图代码import matplotlib.pyplot as pltimport numpy as npx = np.arange(0, 10, 0.1)y = x * 2plt.title("

2018-01-04 20:50:52 77761 2

原创 ubuntu下解决matplotlib生成图片中文乱码

简介本文主要介绍如何在ubuntu下解决matplotlib生成图片中文乱码问题。如下图解决思路准备中文字体matplotlib指定字体为中文字体清空matplotlib使配置生效准备中文字体下载中文ttf文件,也可以从windows操作系统里复制。 如 黑体(点击下载)双击安装终端下运行命令fc-list :lang=zh-cn,查看中文字体对应的配置名。如

2018-01-04 11:19:51 6081 2

原创 使用python生成ppt

简介本文主要介绍如何通过python生成ppt文件,以及借助ppt模板来生成ppt环境python 3python-pptx安装pip3 install python-pptx将文字输出到ppt效果图代码from pptx import Presentation# 创建幻灯片 ------prs = Presentation()title_

2018-01-03 21:28:51 45301 4

原创 js绘制中国地图

简介本文主要介绍如何利用d3.js绘制中国地图效果图用到的数据china.geojson代码引用相关依赖 html部分 程序主体部分 var svg = d3.select("svg"); var projection = d3.geoMercator() .center([107, 31]

2017-12-21 20:36:33 7564

原创 纯css样式按钮

简介本文主要介绍如何用css定制一个简单的按钮组成部分html按钮代码无操作时按钮样式鼠标经过时按钮样式鼠标点击时按钮样式html发送无操作时按钮样式 .contact_button { display: block; background: #aacf53; /* 绿色 */

2017-12-15 15:53:38 729

原创 python3中使用GeoIP来查找IP信息

简介本文介绍使用GeoIP来查找IP信息环境python3geoip2GeoIP数据库下载wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.mmdb.gzgunzip GeoLite2-Country.mmdb.gzwget http://geolite.maxmind.

2017-12-14 22:51:05 3959 1

原创 php回调函数使用范例

简介本文主要介绍php回调函数使用一个简单的匿名函数$a = 5;$b = 4;function () use ($a, $b) { return ($a * $b);}运行call_user_func(function() use($a,$b){ return($a*$b); })//结果为20给匿名函数的结果x100倍function x

2017-12-14 22:25:15 1964

原创 使用python按长宽比缩放图片

简介使用python按图片固定长宽比缩放图片到指定图片大小,空白部分填充为黑色。代码# -*- coding: utf-8 -*-from PIL import Imageclass image_aspect(): def __init__(self, image_file, aspect_width, aspect_height): self.i

2017-12-07 22:02:42 6057 2

原创 python简单debug方法

简介本文主要介绍通过pdb lib 实现在python中debug代码示例import pdbpdb.set_trace()for i in range(10): print(i)运行中> /home/mingfeng/python_debug.py(6)()-> print(i)(Pdb) n //n为可用命令0debug时可用命令

2017-12-07 21:05:26 6311

原创 python线程范例

简介python线程学习与使用示例from threading import Threadfrom threading import Barrierfrom time import sleepdef function01(barrier): print('START function01 !') barrier.wait() for i in rang

2017-12-07 09:18:42 176

原创 python常用collections lib介绍

简介本文主要介绍python3下collections lib。主要lib如下:- Counter- defaultdict- deque- OrderedDict- namedtuple- ChainMapCounter计算出现次数>>> import collections>>> collections.Counter([1,1,2,3,4,4,4,5])C

2017-12-06 17:01:33 158

原创 [ubuntu]fcitx内存占用过高问题解决

简介本文主要介绍ubuntu系统启动时,由于fcitx程序cpu/内存占用过多,导致启动变慢时,如何解决此类问题。fcitx运行内存大于2G时?造成此类现象是,最新的fcitx安装时,会默认安装CloudPinyin。而不幸的问题就在这里,该模块会访问google服务器。然后就会不停地请求,不停地超时,再不停地请求,然后就没有然后了解决办法1将google服务器切换为百度服务

2017-12-02 17:16:35 3021 1

原创 Git commit消息中附带jira_id/issue_id

简介在查询git log时,如何知道commit是对应哪一期的需求?手动在commit信息中,填写jira_id是一个可行的办法,但一期的需求往往由多个commit,如果每个commit中都填写一次jira_id的话,那明显不是程序员的范了。一般公司里都用到JIRA 或 Redmine等工具。当开发需求/解决bug时都有对应的jira_id或issue_id。本文主要演示如何让git c

2017-11-30 16:16:12 9940

原创 使用git管理emacs配置文件

简介使用github管理emacs配置文件详细步骤在github上创建.emacs.d仓库现有的.emacs.d目录重命名,及仓库clone$ mv .emacs.d .emacs.d.org$ git clone git@github.com:private-account/.emacs.d.git将现有(重命名后)的.emacs.d目录下文件,移回``.em

2017-11-27 17:18:28 647

原创 逗逼程序员的内存炸弹(python)

简介用python实现简易的大量内存占用程序环境python 2.7代码main.py#!/usr/bin/pythonimport timehuge_items = range(108000000)while True: print('sleep.') time.sleep(60)运行python2 main.py结果

2017-11-27 15:45:27 1605

空空如也

空空如也

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

TA关注的人

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