自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (1)
  • 收藏
  • 关注

原创 logging 日志同时输出到控制台(踩坑:python2 vs python3使用差异)

一段python3 生效的代码:import loggingfor handler in logging.root.handlers[:]: logging.root.removeHandler(handler)logging.basicConfig( level=logging.DEBUG, format="%(asctime)s-[%(levelname)s]-%(message)s", handlers=[ logging.FileHandler("log"), logging

2022-04-26 20:34:37 1222 1

原创 shell 判断路径是否存在是否为空

shell,路径管理

2022-04-18 21:38:34 457

原创 bash shell 判断环境变量不存在/为空

bash shell 判断环境变量不存在/为空判断环境变量不存在env | grep ^VERNAME=if test $? -ne 0;then echo "VAR VARNAME not exis in env "else echo "$VARNAME"fi判断环境变量为空或者不存在(可以判断普通变量,但是区分不了不存在和值为空)if test -z "$VARNAME";then echo "VARNAME is null string or VARNAME not

2021-01-08 18:10:10 5815

原创 mysql数据复制、导出、备份和主从同步

复制数据复制数据结构及数据mysql>create table new_table_name as select * from old_table_name;只复制结构mysql>create table new_tabe_name as select * from old_table_name where 1=2;或者mysql>create table...

2019-12-06 18:07:59 406

原创 java实现简单的日志打印

实现原理:java.lang.Throwable类可以实时获取当前调用栈每一层调用的详细信息,包括文件名、类名、方法名和行号。示例代码:public class LocalLog { public static void log(String log){ StackTraceElement[] stacks = new Throwable().getStackTra...

2019-11-29 01:24:13 701

原创 pyhton中的yield关键字的作用

翻译自: https://stackoverflow.com/questions/231767/what-does-the-yield-keyword-do基本理解为了理解yield管自己的作用,你需要先理解什么是生成器(generators).理解生成器之前,需要先理解可迭代对象(iterables)可迭代对象(iterables)当你创建一个list对象时,你可以逐个成员去遍历,这种逐...

2019-11-28 15:00:33 309

原创 hashmap学习笔记

初始化:分配一个大小为2^n的数组空间,每个节点是一个链表存储:计算key对应的hashcode根据hashcode,计算出对应值在数组中的存放位置将key和value存到对应的数组位置,如果对应的位置已经存在元素,在链表上添加节点,如果节点数超过8,链表自动转换为红黑树的方式存储读取:根据key计算hashcode根据hashcode计算存放位置index根据index读...

2019-09-28 18:30:18 220

原创 Linux PS1设置

Linux PS1参数可以设置bash命令行显示的提示符示例export PS1="\[\e[33;1m\][\u\[\e[31;1m\]@\[\e[33;1m\]\h \[\e[36;1m\]\W\[\e[32;1m\]]\[\e[34;1m\]\$ \[\e[0m\]"其中:\u : 显示用户名\h :显示机器名\W: 当前路径名,只显示一层, \w: 当前路径名,从用户跟路径...

2019-09-20 10:31:39 1053

原创 c代码画心

抄一段Milo大神画心的代码#include <stdio.h>int main() { for (float y = 1.5f; y > -1.5f; y -= 0.1f) { for (float x = -1.5f; x < 1.5f; x += 0.05f) { float a = x * x + y * y -...

2019-09-19 23:57:17 2179

转载 Linux查看使用swapfile的进程信息

超了一个脚本,原文:https://blog.csdn.net/m0_37886429/article/details/73826868test.shfor i in $(ls /proc | grep "^[0-9]" | awk '$0>100')do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/sm...

2019-09-18 22:49:31 390

原创 django model新增/更新数据

django model:class Poll(models.Model): name= models.CharField(max_length=255, unique=True, verbose_name='name') description = models.CharField(max_length=255, unique=True, verbose_name='descr...

2019-09-05 12:23:49 3338

原创 pyenv安装

pyenv时用来管理开发环境python版本的工具,配合virtualenv可以搭建完善的python虚拟环境安装:git clone https://github.com/pyenv/pyenv.git ~/.pyenv/echo 'export PATH=~/.pyenv/bin:$PATH' >> .bashrcecho 'export PYENV_ROOT=~/.pye...

2019-09-05 12:00:39 428

原创 redis 指定ip、持久化、主从复制和集群

Redis指定支持访问的ipredis支持限定网卡,不支持指定到某一个具体的ipbind 127.0.0.1 表示对本机运行访问;bind 0.0.0.0表示对所有的ip开放,但是对所有ip开发存在较大数据风险指定ip访问一般通过iptables实现,使用iptables限定特定ip可访问redis-server的端口redis持久化:Rdb快照模式配置:#vim /etc...

2019-09-04 13:10:47 589

原创 bash shell统计代码行数

命令:find . -name "*.py" |xargs cat |grep -v "^\s*$" | grep -v "^\s*#"|wc -l缺点:三引号包裹的多行注释识别不出来

2019-08-30 15:14:37 473

原创 使用rapidjson将pb文件转换为json格式

代码地址:https://github.com/wangflying/pb2json_convertor.git

2019-08-25 17:40:02 1416

原创 数独计算脚本(基本9X9)

https://github.com/wangflying/sudoku_cal.gitsudoku_cal简单数独计算procedure:遍历空节点:计算横排、竖排和九宫格集合的余集,若唯一值,填入当前节点若余集长度不为1: 遍历余集每一个值, 计算同一个九宫格中其他格子是否可以填入当前值,若否,当前值填入当前阶段,若是,继续循环author: Figo Wangd...

2019-08-25 14:47:46 2121 1

原创 shell脚本中使用sftp下载文件

示例代码:lftp -u username,password sftp://10.123.118.203:20030<<EOF1set xfer:clobber onlcd /data/tmp/ft_local/test/get /Test/fx_exchange_web/V3.0D00381/fx_exchange_web_V3.0D00381.zipbyEOF1说明...

2019-08-21 18:01:23 3442

原创 常见排序算法的python实现

class SortTools(): def __init__(self): pass def bubble_sort_one(self, src_list): list_len = len(src_list) for i in range(0, list_len-1): if ...

2019-08-18 16:34:40 89

原创 用冷备数据和主从同步机制迁移大数据量单点MySQL数据库

背景:历史服务数据库迁移,单点数据库,数据量约100G,其中业务60G数据为写入后不会改变的只读数据(历史运行结果,以天为单位保存90天),40G的数据为会持续更新的数据。数据库只有静态备份的sql 压缩文件。数据库开了bin-log设置,会记录binlog迁移难点:各个子业务数据库之间存在依赖,不能单个子业务逐个迁移,需要整体迁移;数据导入新数据库耗时严重(数据行数比较多,完整备份数据全部导...

2019-08-14 20:15:17 793

原创 使用nginx和uwsgi配置 diango 服务

安装uwsgi:pip install uwsgi安装nginx: yum install nginx使用uwsgi启动django服务

2019-07-30 21:15:17 157

原创 python/php/bash shell 实现 base64编码和解码

php<?php$in_src="TESTcftXian029okp123key";$en_out=base64_encode($in_src);echo "encoded str:";echo $en_out;echo "\n";$de_out=base64_decode($en_out);echo "decoded str:";echo $de_out;echo ...

2019-07-23 10:54:55 1222

原创 mysql db支持保存中文字符串

数据库字符集设置为utf-8mysql> alter database mydb character set utf8;mysql> alter database mydb collate utf8_general_ci;创建新数据库:mysql> create database mydb default character set utf8;...

2019-05-27 20:47:21 680

转载 python3 计算字符串md5

>>> import hashlib>>> a='111000'>>> b=hashlib.md5(a.encode('utf-8')).hexdigest()>>> b'a66d92cacbcb69c63a629611a1558195'

2019-05-27 20:40:59 4474

原创 pyhon 通过字符串加载执行函数

python的变量和函数名保存在与名字空间中,python执行代码时,会遍历局部名字空间、全局名字空间和内置名字空间来加载变量和函数。对于一个字符串,如果已知这个字符串是个函数名,并且知道其参数结构,我们可以直接去命名空间查找这个字符串对应的函数并调用, python的locals()和globals()函数为我们提供了局部和全局名字空间的加载方法, 这两个函数返回的结果可以像dict一样用ke...

2019-05-20 13:29:14 254

原创 jango model.obejcts.filter 查询指定字段

django model.obejcts.filter()查询指定字段model.obejcts.filter(key=value).values(‘field_name’)返回: [ { 'field_name': value1 }, { 'field_name':value2 } ]model.obejcts.filter(key=value)...

2019-04-30 11:53:53 4507

原创 python遍历字典dict

python3中:>>> d = {'x': 1, 'y': 2, 'z': 3}遍历keys>>> for k in d:... print(k)... print(d[key])... y3x3z3遍历keys,values>>> for k,v in d.items():... ...

2019-04-26 21:50:35 10137

原创 django添加一个middleware

示例代码:from django.utils.deprecation import MiddlewareMixinimport loggingimport jsonlogger = logging.getLogger('router')class resapp_middleware(MiddlewareMixin): def process_request(self...

2019-04-26 21:38:23 392

原创 python判断变量类型

1. isinstance()>>> x = isinstance("hello",(float,str,int,dict,list,tuple,bool))>>> xTrue>>> x=(1,2,3,4)>>> isinstance(x,dict)False>>> isinstanc...

2019-04-23 11:19:42 10706

转载 Django rest framework Serializers

转自:https://www.imooc.com/article/20443, 请阅读原文Serializers把querysets和model instances这些复杂的数据结构转化为native Python 以便于以json,xml或其它内容类型的形式render出去。类似于Django的 Form 和ModelForm Serializer和ModelSerializer...

2019-04-23 11:06:23 166

转载 使用graphviz和pycallgraph画python的函数调用图

安装graphvizsudo apt-get install graphviz安装pycallgraphsudo pip install pycallgraph命令行使用pycallgraph graphviz -o test.png -- ./test_python_file.py代码中使用from pycallgraph import PyCallGraphfrom pycal...

2019-02-21 17:24:09 1387

原创 openssl库实现rsa加解密之PEM_read_bio_RSAPublicKey和PEM_read_bio_RSA_PUBKEY

  项目需要,对c++代码中的几个用poenssl库实现的rsa加解密函数进行了整合。  rsa加密的public key格式有多种,常见的有两种,一种密钥头为‘-----BEGIN RSA PUBLIC KEY-----’,一种开头为‘-----BEGIN PUBLIC KEY-----’,二者分别对应rsa的PKCS#1和PKCS#8格式。  使用openssl库加载rsa的公钥时,使用的...

2019-02-19 20:35:27 15252 1

原创 c/c++可变参数

c语言支持在函数定义时,用"…"省略号代表可变参数列表,代码中最常见的可变参数的例子是printf参数,c++的可变参数继承自c。可变参数的参数列表在压栈时,同一组参数是按照从右向左的顺序,逐个由高地址向低地址压倒栈中。知道到最左边一个参数的地址、类型和右边每个参数的类型,就可以计算出每一个参数的地址,这是可变参数能够被识别的原因示例:#include &lt;stdarg.h&gt;#i...

2018-12-09 18:52:42 242

原创 How o replace a Text Node in a xml file with tinyXml

I have a problem like this:I want modify the name element int the xml file below from “jack” to “joff”, but have not found an available member function in tinyXml. I use “InsertEndChild()” or “LinkEn...

2018-12-02 20:49:50 191

原创 popen使用demo

#include &lt;string&gt;#include &lt;iostream&gt;#include &lt;cstdlib&gt;#include &lt;cstdio&gt;using namespace std;string cmdExecutor(const string cmd){ FILE * fp = popen(cmd.c_str(),"r");...

2018-11-12 21:55:14 734

原创 Tmux常用快捷键

TMUX常用快捷键ctrl+b % #左右分屏ctrl+b &quot; #上下分屏ctrl+b o #顺时针旋转切换工作分屏ctrl+b ctrl+o#顺时针旋转移动工作分屏ctrl+b space #分屏排列切换ctrl+b x #关掉当前分屏终端ctrl+b z #最大化/复原当前分屏(v1.8以后版本)ctrl+b c #新建窗口ct...

2018-10-11 15:54:28 862

原创 c 使用mkdir()函数创建路径

参考代码:#include&lt;sys/stat.h&gt;#include&lt;iostream&gt;using namespace std;int main(){ char* filepath = "/home/tt/test/"; mode_t mode = umask(0); mkdir(filename,0777); //do somet...

2018-06-24 17:20:21 18237 3

原创 c++ string startsWith endswith

模拟一下#include&lt;string&gt;#include&lt;iostream&gt;using namespace std;int startsWith(string s, string sub){ return s.find(sub)==0?1:0;}int endsWith(string s,string sub){ ret...

2018-06-14 21:02:39 24213 1

原创 source insight 修改编辑页面字体

方式1:整体修改菜单栏选择 “options -&gt; Document Options...”点击 “Screen Fonts...”选择需要的字体后确认方式2:特性修改菜单栏选择 “options -&gt; style properties...”选择需要修改的style,比如“comment”,修改制定style的字体配置...

2018-06-07 11:17:19 861

原创 c++ 获取时间串

一个获取时间串的函数示例#include&lt;string&gt;#include&lt;ctime&gt;#include&lt;iostream&gt;#include&lt;cstdio&gt;using namespace std;string dayString(){ time_t now = time(0); cout&lt;&lt;ctime(...

2018-05-28 22:36:24 231

原创 Java HttpsURLConnection忽略crt访问https链接

访问https时,需要验证ssl证书,使用HttpsURLConnection访问一个我们已经信任的https页面,需要跳过crt验证时,可以参考如下代码public static void main(String argv[]){ String urlStr = "https://github.com/Unknwon/go-fundamental-programming"

2018-02-04 18:09:23 2482

空空如也

空空如也

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

TA关注的人

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