- 博客(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
1327
1
原创 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
6267
原创 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
480
原创 java实现简单的日志打印
实现原理:java.lang.Throwable类可以实时获取当前调用栈每一层调用的详细信息,包括文件名、类名、方法名和行号。示例代码:public class LocalLog { public static void log(String log){ StackTraceElement[] stacks = new Throwable().getStackTra...
2019-11-29 01:24:13
772
原创 pyhton中的yield关键字的作用
翻译自: https://stackoverflow.com/questions/231767/what-does-the-yield-keyword-do基本理解为了理解yield管自己的作用,你需要先理解什么是生成器(generators).理解生成器之前,需要先理解可迭代对象(iterables)可迭代对象(iterables)当你创建一个list对象时,你可以逐个成员去遍历,这种逐...
2019-11-28 15:00:33
373
原创 hashmap学习笔记
初始化:分配一个大小为2^n的数组空间,每个节点是一个链表存储:计算key对应的hashcode根据hashcode,计算出对应值在数组中的存放位置将key和value存到对应的数组位置,如果对应的位置已经存在元素,在链表上添加节点,如果节点数超过8,链表自动转换为红黑树的方式存储读取:根据key计算hashcode根据hashcode计算存放位置index根据index读...
2019-09-28 18:30:18
303
原创 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
1128
原创 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
2276
转载 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
473
原创 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
3425
原创 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
531
原创 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
654
原创 bash shell统计代码行数
命令:find . -name "*.py" |xargs cat |grep -v "^\s*$" | grep -v "^\s*#"|wc -l缺点:三引号包裹的多行注释识别不出来
2019-08-30 15:14:37
558
原创 使用rapidjson将pb文件转换为json格式
代码地址:https://github.com/wangflying/pb2json_convertor.git
2019-08-25 17:40:02
1516
原创 数独计算脚本(基本9X9)
https://github.com/wangflying/sudoku_cal.gitsudoku_cal简单数独计算procedure:遍历空节点:计算横排、竖排和九宫格集合的余集,若唯一值,填入当前节点若余集长度不为1: 遍历余集每一个值, 计算同一个九宫格中其他格子是否可以填入当前值,若否,当前值填入当前阶段,若是,继续循环author: Figo Wangd...
2019-08-25 14:47:46
2223
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
3804
原创 常见排序算法的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
134
原创 用冷备数据和主从同步机制迁移大数据量单点MySQL数据库
背景:历史服务数据库迁移,单点数据库,数据量约100G,其中业务60G数据为写入后不会改变的只读数据(历史运行结果,以天为单位保存90天),40G的数据为会持续更新的数据。数据库只有静态备份的sql 压缩文件。数据库开了bin-log设置,会记录binlog迁移难点:各个子业务数据库之间存在依赖,不能单个子业务逐个迁移,需要整体迁移;数据导入新数据库耗时严重(数据行数比较多,完整备份数据全部导...
2019-08-14 20:15:17
902
原创 使用nginx和uwsgi配置 diango 服务
安装uwsgi:pip install uwsgi安装nginx: yum install nginx使用uwsgi启动django服务
2019-07-30 21:15:17
198
原创 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
1366
原创 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
761
转载 python3 计算字符串md5
>>> import hashlib>>> a='111000'>>> b=hashlib.md5(a.encode('utf-8')).hexdigest()>>> b'a66d92cacbcb69c63a629611a1558195'
2019-05-27 20:40:59
5271
原创 pyhon 通过字符串加载执行函数
python的变量和函数名保存在与名字空间中,python执行代码时,会遍历局部名字空间、全局名字空间和内置名字空间来加载变量和函数。对于一个字符串,如果已知这个字符串是个函数名,并且知道其参数结构,我们可以直接去命名空间查找这个字符串对应的函数并调用, python的locals()和globals()函数为我们提供了局部和全局名字空间的加载方法, 这两个函数返回的结果可以像dict一样用ke...
2019-05-20 13:29:14
324
原创 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
4668
原创 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
10233
原创 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
445
原创 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
10827
转载 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
215
转载 使用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
1496
原创 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
15880
2
原创 c/c++可变参数
c语言支持在函数定义时,用"…"省略号代表可变参数列表,代码中最常见的可变参数的例子是printf参数,c++的可变参数继承自c。可变参数的参数列表在压栈时,同一组参数是按照从右向左的顺序,逐个由高地址向低地址压倒栈中。知道到最左边一个参数的地址、类型和右边每个参数的类型,就可以计算出每一个参数的地址,这是可变参数能够被识别的原因示例:#include <stdarg.h>#i...
2018-12-09 18:52:42
306
原创 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
221
原创 popen使用demo
#include <string>#include <iostream>#include <cstdlib>#include <cstdio>using namespace std;string cmdExecutor(const string cmd){ FILE * fp = popen(cmd.c_str(),"r");...
2018-11-12 21:55:14
789
原创 Tmux常用快捷键
TMUX常用快捷键ctrl+b % #左右分屏ctrl+b " #上下分屏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
983
原创 c 使用mkdir()函数创建路径
参考代码:#include<sys/stat.h>#include<iostream>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
18878
3
原创 c++ string startsWith endswith
模拟一下#include<string>#include<iostream>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
25363
1
原创 source insight 修改编辑页面字体
方式1:整体修改菜单栏选择 “options -> Document Options...”点击 “Screen Fonts...”选择需要的字体后确认方式2:特性修改菜单栏选择 “options -> style properties...”选择需要修改的style,比如“comment”,修改制定style的字体配置...
2018-06-07 11:17:19
961
原创 c++ 获取时间串
一个获取时间串的函数示例#include<string>#include<ctime>#include<iostream>#include<cstdio>using namespace std;string dayString(){ time_t now = time(0); cout<<ctime(...
2018-05-28 22:36:24
296
原创 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
2633
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人