自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(195)
  • 资源 (21)
  • 收藏
  • 关注

原创 macbook air 裸机 U盘 安装windows10

1、使用支持 uefi 的PE U盘开机按option键启动进入PE。我这里使用的是 BigBaiCai_UEFI_gw.exe,网上有BigBaiCai,DaBaiCai,WinBaicai的,也不知道哪个是山寨的,谷歌的第一条是BigBaiCai,用这个经过我测试能用。我用的是 win10 来制作 U盘 PE的,注意安装 BigBaiCai 到完成 U盘PE 制作之前,保持 win 10自...

2019-04-21 18:59:51 22603

转载 Understanding Python Class Instantiation

概要(纠正原文中代码的问题)def __call__(obj_type, *args, **kwargs): obj = obj_type.__new__(obj_type, *args, **kwargs) if obj is not None and isinstance(obj, obj_type): obj_type.__init__(obj, *ar...

2019-03-25 21:40:41 399

转载 SO_LINGER on Sockets On different platform

前边博客讨论了 socket 在 Linux 下的关闭场景,这篇文章实验了更多的平台,转载在这里。Cross-Platform Testing of SO_LINGERIntroductionIn this post we look at the effects of setting SO_LINGER on various different platforms. We assume...

2019-03-20 23:25:28 570

原创 Linux socket 关闭场景

测试环境 :[root@centos192.168.1.12 ~]# cat /etc/system-releaseCentOS release 6.9 (Final)工具:服务器 192.168.1.12 ipython Python 2.7.5客户端 192.168.1.119 Jupyter QtConsole python3.6.1测试经过:为了测试效果,将服务器...

2019-03-20 17:45:02 2166

原创 python 作用域总结

1、LEGB 规则。2、方法内部不能直接访问类属性,需要通过 self. 或者类名。python 里只有显示的 self,没有隐式的 this.类体和函数/方法体都是独立的作用域。类体的代码是生成类时执行;函数/方法体的代码是调用时才执行。上边代码调用时已经无法识别 x,x 属于 A 的作用域,而 A 的作用域与 f 的作用域相互独立。所以 f 中访问,需要加显示的写 A.x 或 s...

2018-12-07 22:36:44 376

原创 python 柯里化与偏函数

from functools import partialimport inspectdef f(x, y): return x + ya, b= 3, 4,g = partial(partial(f, a), b)() #偏函数def decorator_1(f): def decorator_2(x): def decorator_3(y): return f...

2018-12-06 18:42:41 497

转载 python给普通对象添加方法

内容来源 stack overflowMethod nought (0) - use the descriptor method, __get__Dotted lookups on functions call the __get__ method of the function with the instance, binding the object to the method and...

2018-12-06 16:30:52 542

原创 python 脚本退出

exit(),os._exit(),sys.exit() 都能退出当前脚本的执行。差别在于 os._exit() 直接退出;exit() 和 sys.exit() 会抛出异常。当然,如果不捕获异常,看起来的效果和 os._exit() 一样,不会有任何意外的信息,不过当然可以用来做一些清理的工作。try: for i in range(10): time.sleep(0.5) ...

2018-11-23 11:20:12 4798

原创 exe 文件添加大尺寸图标

工具:Restorator20181、使用 Restorator 打开 exe 文件,打开之后在左边的 Resource Tree 中,右键打开的 exe 文件,选择 Add Resource.2、弹出 Add Item 对话框中,类型选择 Icon,随便取一个名称。3、在 File Brower 文件管理器中打开保存 icon 的位置,将使用的 icon 拖动到左侧的 ico...

2018-11-08 12:56:26 1829

原创 windows 属性对话框编码问题 The filename, directory name, or volume label syntax is incorrect.

背景:用 go 写个小程序,涉及到文件的读写,右键要打开的文件,打开属性面板,从面板里复制文件的决定路径到notepad++当中,结果程序,运行,提醒 The filename, directory name, or volume label syntax is incorrect. 错误。小实验 ,新建一个文件,复制上边的绝对路径到 notepad++ 当中,然后将文件保存成 utf8 ...

2018-11-07 01:14:20 31096 2

原创 go 字符串总结

1、len 返回的是字符串的字节数。2,string 按utf8编码。range 迭代,每次跳过的是一个 utf8 字符,索引是该字符的起始字节,值是改字符对应的码点值(rune 类型)。获取码点值对应的字符,直接使用 string() 函数转换即可。3、string 类型和 []rune 类型之间可直接进行类型转换。func main() { s := "中国人" fmt.Pr...

2018-10-30 13:30:53 389

原创 python go 延迟调用的多个闭包捕获同一变量的问题

def mult(): return [lambda x : x * i for i in range(4)]for ele in mult(): print(ele(2))lambda 先捕获上下文环境中的变量构成可调用对象,真正的调用在后边显式的调用处。问题在于 lambda 捕获的是变量的引用(一个地址对应的内存),而不是捕获时,变量的值,实际上这个值在捕获之后可以被修改。所以实...

2018-10-26 22:01:32 460

原创 go 短声明与作用域

1、if,for,switch 的短声明和控制语句块({}包含部分),是嵌套的内外作用域(else if 是紧跟的 if 的内部作用域,并非相同的作用域);独立于外部作用域。func main() { x := 6 //1 if x:= 3; x > 4{ //2 fmt.Println("x is greater than", x) }else if x:= 5; ...

2018-10-21 00:40:23 516

转载 Go Range Loop Internals

原文在这里 Go Range Loop InternalsWhile they are very convenient, I always found Go's range loops a bit mystifying. I'm not alone in this: Now I could take these facts and try to remember them bu...

2018-10-16 00:03:41 376

原创 python 抽象基类

具体化抽象基类的两种方式:1、通过抽象基类 ABCMeta 的 register 方法注册。2、通过继承的方式。class Base(metaclass = ABCMeta): @classmethod def __subclasshook__(cls, subclass): if cls is Base: return True return NotImpleme...

2018-09-12 13:55:34 1130

原创 Linux IO 多路复用理解

1、复用的意思时不用每个进程/线程来操控单独的一个IO,只需一个进程/线程来操控多个IO.2、内核空间不能直接解引用用户态的指针。select 与 pollselect 传递 fd_set* 的指针,仍然需要将fd_set从用户态拷贝到内核态。poll 传递的 pollfd* 指针一样需要从用户态拷贝所有 pollfd 到内核态。( copy_from_user 方...

2018-09-08 18:38:24 9555 2

原创 TCP 带外数据传输 OOB 数据完全解析

带外数据说明TCP 的带外数据可传输一字节内容,实际上带外数据和其他数据是一起发送,一起接收。区别在于:对于发送端:发送带外数据,会将当前发送缓冲区待发送的 TCP 报文 header 设置 flag 的 URG 标志和紧急指针 Urgent pointer 的值,仅仅如此而已。带外数据的位置为该次发送带外数据调用的最后一个字节。对于接收端:接收端,则是读取接口的行为的差异...

2018-09-07 00:59:52 3118

转载 How TCP backlog works in Linux

原文地址 http://veithen.github.io/2014/01/01/how-tcp-backlog-works-in-linux.htmlWhen an application puts a socket into LISTEN state using the listen syscall, it needs to specify a backlog for that socke...

2018-09-05 13:35:58 361

转载 The method to epoll’s madness

原文地址 https://medium.com/@copyconstruct/the-method-to-epolls-madness-d9d2d6378642My previous post covered the fundamentals of file descriptors as well as some of the most commonly used forms on non-b...

2018-09-05 13:28:10 748

原创 iptables 端口转发

ssh 也能实现本机的端口转发,只不过原来的 1 条连接会变成 3 条。详情见前一篇 ssh 端口转发博文。而 iptables 的端口转发则是在内核进行。1、将本地的端口转发到本机端口将本机的 7777 端口转发到 6666 端口。iptables -t nat -A PREROUTING -p tcp --dport 7777 -j REDIRECT --to-port 6666...

2018-08-22 17:32:24 74763 6

原创 SSH 端口转发玩转

ssh 端口转发需要配置 /etc/ssh/sshd_config 中tcp转发选项为开启:AllowTcpForwarding yes默认是开启被注释掉的,可以去掉注释保存之后重启 sshd 服务。service sshd restart (systemctl restart sshd).否则,来连接时,会出现 channel 3: open failed: administrat...

2018-08-20 13:48:41 33723 4

原创 lsof: can't identify protocol 问题

socket 泄露

2018-07-18 15:42:28 1730

原创 python time datetime相互转换

 

2018-07-09 13:17:44 458

原创 firewall-cmd 下规则控制与现象

使用 nc -v 地址 端口号 连接服务器,返回:(tcp) failed: No route to host使用 ss -apn | grep 端口发现该端口确实处于侦听状态。在防火墙开放端口:firewall-cmd --zone=public --add-port=端口/tcp --permanent重启防火墙:systemctl restart firewalld...

2018-06-28 15:40:08 5209

原创 Mysql 编码修改与 pymysql 编码参数说明

show variables like 'character%'; 查看所有的编码:在配置文件 my.ini 中的 [mysqld] 章节下添加 character-set-server = utf8 改变 character_set_server 的编码,需要重启mysql服务生效。character_set_database 的编码的配置不在配置文件中,使用 alter database da...

2018-06-13 13:29:26 1408

转载 细说:Unicode, UTF-8, UTF-16, UTF-32, UCS-2, UCS-4 评注

原文在这里 https://www.cnblogs.com/malecrab/p/5300503.htmlUnicode编码点分为17个平面(plane),每个平面包含216(即65536)个码位(code point)。17个平面的码位可表示为从U+xx0000到U+xxFFFF,其中xx表示十六进制值从0016到1016,共计17个平面。2. UTF-32与UCS-4在Unicod...

2018-03-28 21:13:40 973

原创 GDB 编译安装 configure: error: no enhanced curses library found; disable TUI 问题

在使用GDB调试时,本想ctrl + x + a 打开 tui 模式,结果却没有响应。退出 GDB,带参数 gdb -tui 重启,提示 TUI mode is not allowed , 原来是编译安装gdb时,没有使能 tui 模式功能。重新编译安装一次,这次带上参数:./configure --enable-tui=yes --prefix=/root/gdb8.0但是却报错: config...

2018-03-07 14:22:06 3259

原创 Mycat 使用问题一则 通过mycat插入,却不能查询

游戏项目需要全球同服,做分布式架构。数据库需要分库,在使用 Mycat 中间件时,需要一个插入全局唯一id的问题,测试代码如下:import pymysqlimport datetimeimport randomimport socketimport timecon = pymysql.connect(host = "127.0.0.1", port = 8066, user = "r...

2018-02-10 12:21:45 8590 3

原创 Vmware 安装 Kali Linux /CentOS 问题集

1、Kali Linux 安装 VMwareTools之后, /mnt/hgfs 为空Kali Linux 安装 VMwareTools之后 /mnt/hgfs 目录为空 ,并且虚拟机选项设置里边也设置了共享路径,解决方法如下:编写脚本 mount-shared-folders.sh:#!/bin/bashvmware-hgfsclient | while read fold...

2018-02-08 00:19:37 6140 1

原创 Linux shell 命令参数分隔符

Linux 的参数的缺省参数是空白符。所以 echo hello          world 实际上是两个参数,hello 和 world 之间存在多个空白符。输出只有 echo 缺省的空格。如果需要作为一个参数,需要加上引号表示是一个整体字符串。所有的参数实际上都是字符串。shell 本身就是文本字节流处理。将一个命令的输出作为另一个命令的参数时,有三种写法。1、ls -la

2018-01-14 15:49:30 7010

原创 Linux crash 快速定位调用栈

一段测试代码发生非法内存访问,发生段错误收到 SIGSEGV 信号崩溃,通过如下几种方法快速的定位到崩溃前的调用栈。1、借助 valgrind 工具。valgrind ./test.out可看到 test.cpp 203 行调用了 std::string 的empty 函数,导致的奔溃。0x401E2B 是函数 CDropScopeConfig::initLineContext 的地址。可通过 a...

2017-12-27 20:35:13 5061

原创 VS 调试记录

项目中有类似于这样结构的一段代码,特此记录一下调试结果。class A{public: virtual void func() = 0;};class B :public A{ int b = 1;public: virtual void func() override { }};class C :public A{public: virtual void

2017-12-06 21:35:34 1654

原创 C++ 标准库中 string 使用的优化技术

往容器中添加元素,若是要使用移动语义,一样的使用 std::move.int main(){ std::string s{"hello world"}; std::cout << (int*)(s.c_str()) << "\n"; std::vector vec; vec.push_back(std::move(s)); std::cout <<

2017-12-06 13:21:01 2524

转载 free 命令结果详解

来自  https://foofish.net/linux-command-free.html数据为自己在 Linux 上的测试。free 的结果如下:要完全理解上面3行数据,先搞明白buffer和cache是什么。buffer:缓冲区将数据缓冲下来,解决速度慢和快的交接问题;速度快的需要通过缓冲区将数据一点一点传给速度慢的区域。例如:从内存中将数据

2017-11-29 13:34:30 2666

原创 git bash配置ssh 登录 Linux

1、首先在 Linux 服务器上生成公钥和私钥文件,默认的存放目录在~/.ssh下。ssh-keygen可以将密码留空,这样之后就可以免密码登录。2、将私钥文件拷贝到本机。scp root@192.168.1.168:/root/.ssh/id_rsa ~/.ssh这里最好将私钥文件放在 ~/.ssh 目录下,不然在使用 ssh 登录时,需要使用 -i 来指定私钥文件。3、公钥文件需要添加到服务器...

2017-11-28 07:15:29 13050 1

转载 C++惯用法:奇特的递归模板模式

using namespace std;templatestruct Base{ void Interface() { cout <<"come from Interface"<<endl; // 转换为子类指针,编译期将绑定至子类方法 static_cast(this)->Implementation(); } static void Sta

2017-11-07 15:42:56 1460

原创 C++ 内存对齐

struct Align{    char a[9];    int b = 0x44;    char c = 0x55;    double d;    char e = 0x66;};int main(){    std::cout << alignof(Align) << std::endl;    std::cout << offsetof(A

2017-11-04 22:26:14 1170

原创 远程登录 Windows 上 Mysql 配置

Mysql 自带的Mysql 数据库中的user 数据表,存储着各种用户的权限。::1 表示本机的 ipv6 地址,% 是通配符,表示任意的地址都可以。windows 上配置局域网其他 ip 可访问本机的 mysql:grant all privileges on *.* to 'myuser'@'hostname' identified by 'passwd' ;fl

2017-10-10 12:31:19 1901

原创 Mysql localhost 与 127.0.0.1的区别

收集自网络MySQL主机127.0.0.1与localhost区别:1、localhost也叫local ,正确的解释是:本地服务器127.0.0.1在windows等系统的正确解释是:本机地址(本机服务器)他们的解析通过本机的host文件,windows自动将localhost解析为127.0.0.1,所以其实在 Windows 上是没有区别的。

2017-08-01 10:51:03 2389

原创 python 操作数据库插入语句占位符问题

1,在 Python 中使用 sqlite3 连接数据库,插入语句的展位符为 "?"cur.execute("insert into user values(?,?,?)",(1,2,"zhang"))2、在 Python 中,使用 pymysql 连接 mysql 数据库,插入语句的占位符为 "%s"cursor.execute("insert into user values(%s

2017-08-01 01:20:58 12799 1

tmux_for_git-bash.zip

tmux_for_git-bash 来自 github,原始链接也许不能下载。tmux_for_git-bash 来自 github,原始链接也许不能下载。

2020-05-11

The Hacker’s Guide to Scaling Python

The Hacker's Guide to Scaling Python Julien Danjou The Hacker's Guide to Scaling Python Julien Danjou

2018-05-25

Mastering TensorFlow 1.x

Mastering TensorFlow 1.x Copyright 2018 Packt Publishing

2018-04-25

Deep Learning with TensorFlow 第二版

Deep Learning with TensorFlow Second Edition 2018 Packt Publishing

2018-04-18

With Open AI, TensorFlow and Keras Using Python

With Open AI, TensorFlow and Keras Using Python

2018-04-18

Discover the Mathematical Language of Data in Python

Discover the Mathematical Language of Data in Python

2018-04-18

Memory Dump Analysis Anthology, Volume 3 内存分析技术

Memory Dump Analysis Anthology 内存分析系列 缺少第四卷

2018-04-08

Memory Dump Analysis Anthology, Volume 5

Memory Dump Analysis Anthology, Volume 5 内存分析技术系列 缺少第四卷

2018-04-08

Memory Dump Analysis Anthology Volume 7

Memory Dump Analysis Anthology, Volume 7 内存分析技术系列

2018-04-08

Machine Learning with TensorFlow

Machine Learning with TensorFlow tensorflow 学习资料

2018-03-19

sourceInsight4 4084破解

sourceInsight4 4084破解

2017-03-05

sourceInsight4 2017最新版

sourceInsight4 支持代码折叠 支持代码折叠 支持代码折叠

2017-02-23

GNU二进制工具链介绍

GNU二进制工具链介绍

2017-02-19

VSPD虚拟串口软件

VSPD虚拟串口软件 vspd7.2.308.7

2016-12-09

securecrt注册机

securecrt注册机,支持最新8.0版本

2016-12-09

Ultra Edit

编辑器

2016-08-14

空空如也

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

TA关注的人

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