自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Arbboter的专栏

time to go => 全栈式工程师

  • 博客(195)
  • 资源 (9)
  • 收藏
  • 关注

原创 C#程序配置使用示例

C#的App.Config使用示例

2023-03-10 15:08:07 266

原创 C#自定义标签编辑框

经常用到标签和输入框(如文本、下拉列表、富文本)的组合场景,但是一直没趁手的现成控件,于是自己封装了一个,泛型标签输入框:使用示例如下:

2022-11-28 09:40:49 608

原创 分享一个自动更新bing桌面壁纸的Python脚本

功能说明该脚本会自动获取当天的bing壁纸并保存到本地的文件夹,然后定时切换桌面壁纸。可将该脚本添加到系统计划任务中,每天定时启动,享受每天最新的桌面壁纸,参考启动命令:pythonw auto_change_desktop_image.py完整代码# coding: utf-8import requestsimport timeimport osimport random# 添加请求头g_headers = { 'User-Agent': 'Mozilla/5.0 (Wi

2021-06-02 15:14:39 609

原创 【CrackMe】1-爆破之Afkayas.1

【CrackMe】1-爆破之Afkayas.1目标程序来源:适合破解新手的160个crackme练手程序:2- Afkayas.1星级:★(容易)下载地址: http://pan.baidu.com/s/1xUWOY 密码: jbnq学习参考注:1、Win7系统对于模块和程序开启了随机初始地址的功能,会给分析带来很大的负担,所以不建议使用Win7进行分析。2、以上工具都是在52PoJie论坛下的原版程序,NOD32不报毒,个人承诺绝对不会进行任何和木马病毒相关内容。工具环境

2021-01-08 08:40:15 575

原创 # 【CrackMe】0-爆破之Acid burn

【CrackMe】0-爆破之Acid burn目标程序来源:适合破解新手的160个crackme练手程序:1- Acid burn星级:★(容易)下载地址: http://pan.baidu.com/s/1xUWOY 密码: jbnq学习参考- 反汇编练习之160个CrackMe之001注:1、Win7系统对于模块和程序开启了随机初始地址的功能,会给分析带来很大的负担,所以不建议使用Win7进行分析。2、以上工具都是在52PoJie论坛下的原版程序,NOD32不报毒,个人承诺绝对

2021-01-07 15:59:54 517

原创 C#多选下拉框实现

C#多选下拉框实现网上找了一圈,没有找到比较轻量好用的该种功能的控件,所以自己实现了一个。效果如如下:思路1.基于原生控件ComboBox和CheckedListBox来实现,其中ComboBox负责显示多选结果和提供下拉按钮,然后CheckedListBox负责提供下拉多选操作2.ComboBox设置为自绘,DropDownStyle为ComboBoxStyle.DropDown,下拉高度为1,属性代码设置代码参考如下:ComboBox = new ComboBox();ComboBox.

2020-11-27 15:59:03 13381 6

原创 ctypes结构体(Structure)通用格式化输出打印等

背景在使用python和c\c++混合编程的时候,我们通常使用python的ctypes方案,这时在编码过程中就免不了要与c的结构体struct打交道。在编码过程,尤其是调试中,我们有时需要便捷地查看或者日志打印结构体信息,如果我们按c的方式一个个结构体成员手工编码输出,这是比较复杂且费力的,因此有必要实现一种通用的结构体格式化输出的功能,便于查阅结构体对象信息。本文就是基于上述需求实现的一...

2019-10-26 14:20:48 5066

原创 微信红包算法代码实现

微信红包算法思考学习研究闲来无事,研究下微信的红包算法,也思考下可以实现的其他算法,略作记录。微信红包的随机算法不是在发红包时就算好的,而是用户在领取红包时实时计算出客户领取红包金额,因此红包的算法重点在于如何公平地算出领取人领取的红包金额。可以转换为问题:从资金为S、个数为N的红包池中公平地随机取一个随机数,要求保证每个人都可以领取到红包。总额随机法算法描述:假设当前红包池的金额为...

2019-10-11 16:17:07 7388

原创 libco协程示例-多协程任务代码(类似多线程)

libco协程示例-多协程任务代码(类似多线程)简介在我们平常的工作及测试过程中,涉及到多个任务并行工作时我们一般会考虑使用多线程方案,多线程的方案方便我们在同一个程序中并行执行多个任务,不仅可以一心多用,而且还可以有效地提升机器的使用效率。考虑到协程是一种更轻量级的多任务并行方案,因此我们在遇到允许使用多线程的时候不妨停下来想想,是不是可以使用协程替代线程,从而达到相同的效果。本文根据l...

2019-10-08 14:41:37 565

原创 libco源码学习解读

libco源码学习解读简介顺着上一篇文章示例,这里对文章中所涉及的函数及数据类型逐一进行深入分析,以期深入学习理解libco的实现原理,帮助我们加深对协程的理解,并帮助我们更加有效地使用libco协程库并排查问题。创建协程co_create该函数用于创建一个协程对象,其实现源码如下:int co_create(stCoRoutine_t** ppco, const stCoRoutine...

2019-09-26 16:16:01 591

原创 协程库libco学习使用入门示例

简介libco是微信后台大规模使用的c/c++协程库,2013年至今稳定运行在微信后台的数万台机器上。libco通过仅有的几个函数接口 co_create/co_resume/co_yield 再配合 co_poll,可以支持同步或者异步的写法,如线程库一样轻松。同时库里面提供了socket族函数的hook,使得后台逻辑服务几乎不用修改逻辑代码就可以完成异步化改造。libco是一个源码简洁而...

2019-09-25 17:32:09 6085 5

原创 Visual Studio 2019 + WSL + Linux(Ubuntu)程序配置开发

安装Visual Studio 2019在安装Visual Studio 2019时,需要勾选Linux开发环境选项,即勾选“使用C++的Linux开发”工具集,如下图所示:创建Linux类型项目启动已经安装好的Visual Studio 2019,创建新项目选择,如下图所示:项目新建完成后,IDE已经自动帮我们编写完成一个HelloWorld的程序代码。因为程序需要在Linux上编译...

2019-09-25 17:27:07 15464

原创 C++新语法特性

0. 背景最近在学习过程中,不小心就发现一些不认识的C++语法和技巧,一查才发现我的认知已落后许久,随着C++的发展,很多新奇的高级编程语言技巧都已经被C++吸纳,而我的认知还一直在c++98停滞不前,惭愧。本章收集了一些比较常见的场景和技巧,记录学习笔记,持续更新中…auto – C++11auto可以在声明变量的时候根据变量初始值的类型自动为此变量选择匹配的类型,类似的关键字还有decl...

2018-12-25 15:56:01 502

原创 C++11 异步编程示例-future

示例说明示例很简单,大致步骤为:调用异步函数async创建异步对象,返回结果为future类型合适的时候使用异步对象返回的future方法检测异步任务执行进度检测任务执行成功后,使用future的get方法获取异步任务执行结果代码示例:#include <future>#include <iostream>#include <string&...

2018-03-22 17:07:08 2498 3

原创 实用代码段整理

字符串截断 GBK编码的字符串,截取前n字节,且保证截取部分不包含半个汉字。std::string Substr(const std::string& strSrc, const size_t& nLen){ std::string strSub = strSrc.substr(0, nLen); if (strSub.length() &lt...

2016-11-28 19:26:48 684

原创 Python操作Oracle数据库简例和类封装

最近工作有接触到Oracle,发现很多地方用Python脚本去做的话,应该会方便很多,所以就想先学习下Python操作Oracle的基本方法。 考虑到Oracle的使用还有一个OracleClient的NetConfig的存在,我觉得连接起来就应该不是个简单的事情。 果然,网上找了几个连接方法,然后依葫芦却画了半天,却也不得一个瓢。 方法1:用户名,密码和监听分别作为参数conn=cx_Or

2016-10-28 09:58:08 8274 1

原创 memmove函数实现

背景memcpy是我们最常用的数据拷贝函数,一般使用不会有啥问题,但是当涉及到目标区域的数据和源数据有数据重叠的时候,可能就会产生我们意想不到的拷贝结果。究其原因,memcpy是通过从头至尾的顺序拷贝方式实现,所以如果拷贝一开始就导致源数据区的数据被破坏(修改),那么拷贝结果就并不是我们预想到的数据数据拷贝了。在什么样的情况下会导致memcpy失效呢?这就得追本溯源了,我们知道memcpy的实现方式

2016-09-23 16:51:59 1825 2

原创 STL之erase

STL 中 erase 的那些坑 STL 中 erase 的坑估计不少人都踩过, 自认为已经免疫了, 结果最近又踩了次坑, 于是怒发此文 大多人肯定都是从最简单的坑踩过来的:some_container a;for(iterator it = a.begin(); it != a.end(); ++it){ if(shouldDelete(it)) {

2016-05-05 17:48:23 1005

原创 文章标题

C++调用Python脚本#include <Python.h>class CPyCall{public: CPyCall() { Py_Initialize(); // 检查初始化是否成功 if (!Py_IsInitialized()) { MD_COMM_LOG_ERR(-1, "Py_

2016-04-27 10:09:36 679

原创 date之linux命令

日期转秒date -d "2015-08-15 00:23:12" "+%s" ==> 1439623392秒转日期date -d @1439623392 ==> Sat Aug 15 00:23:12 PDT 2015date -d @1439623392 "+%Y-%m-%d %H-%M-%S" ==> 2015-08-15 00-23-12显

2015-12-05 16:02:25 646

原创 Python小知识

无窗口运行程序:start pythonw xxx.py

2015-06-17 12:36:51 663 3

原创 网络基本功----五层协议

知识点汇总服务器Response客户端网页请求的详细数据传输过程1.需要传送的数据是网络服务器的HTML页面。2.应用协议HTTP报文头添加到HTML数据之前。报文头信息包括:服务器所使用的HTTP版本,以及表明它包含发给网络客户端信息的状态编码。3.HTTP应用层协议将HTML格式的网页数据发送给传输层。TCP传输层用于管理网络服务器和客户端之间的会话。4.IP信息添加到TCP

2015-06-06 14:48:40 1008

原创 Python抓取简书的热门文章

原理和上章获取段子一样,只不过是换了解析的内容。代码:#-*- coding: utf-8 -*-import urllib2import redef GetPageContent(page_url,heads): try: req = urllib2.Request(page_url,headers=heads) resp = urllib

2015-05-24 23:37:52 2307

原创 Python抓取段子的爬虫

1.需求按下回车键,显示一个段子,要求显示段子的作者、点赞数、评论数、顶等信息。2.段子网站地址:http://www.qiushibaike.com/hot/page/1,更换后面的数字可以获取不同页的段子,每页有10多条段子吧,因此爬虫从读取该网页并解析就好了。3.实现方式这里使用的Python库都是系统自带的,所以不需要安装额外的第三方库,

2015-05-24 01:22:31 2517 1

原创 SSH自动登录脚本

#!/usr/bin/expect -fset timeout 10set name [lindex $argv 0]set pwd [lindex $argv 1]set ip [lindex $argv 2] spawn ssh -l $name $ipexpect "password:" send "$pwd\r" interact

2015-04-27 09:56:50 1161

原创 职责链模式(Chain of Responsibility)

职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。

2015-04-16 18:50:23 1212

原创 装饰器模式(Decorator Pattern)

定义先给出比较正式的定义哈。装饰器一般的理解就是为了实现增强版的对象,而在面向对象的编程中,一般增强一个对象的方法就是:修改对象的类结构继承,构造一个继承于目标对象的类,然后再子类里面再把增强的功能加上显然,上面两种方法都是可以实现增强对象的功能的,但是根据面向对象编程的原则,修改显然是不可取得,至于继承,虽然也可以,但是一般基于增强功能的需求我们一般的做法是尽量使

2015-04-15 20:33:48 1264

转载 TCP和UDP 协议发送数据包的大小

概要描述在进行UDP编程的时候,我们最容易想到的问题就是,一次发送多少bytes好?当然,这个没有唯一答案,相对于不同的系统,不同的要求,其得到的答案是不一样的,这里仅对像ICQ一类的发送聊天消息的情况作分析,对于其他情况,或许也能得到一点帮助: 首先,我们知道,TCP/IP通常被认为是一个四层协议系统,包括链路层,网络层,传输层,应用层.UDP属于运输层,下面我们由下至上一步一步来看

2015-03-12 10:16:05 3102

原创 城市行--求网格中的可达路径数

今天遇到的一个题目,题目描述大概是这样的:有一个城市东西方向有四条平行且间距相同的道路,南北方向有六条平行且间距相同的街道,这几条道路横穿贯通整个城市,现有一个人从城市的最西南角想到城市的最东北角上去,且只往东或者往北方向走,求有多少种方案?当时画了下图,想到了用递归方法,不过因为时间问题没有深想,也想到了用穷举法,不过最后还是没有做出来。题中所述可转化为下图:也就

2015-03-07 21:59:43 3971

翻译 程序的启动和退出过程详解

Windows支持两种类型的应用程序。一种是基于图形用户界面(GUI)的应用程序,另一种是基于控制台用户界面(CUI)的应用程序。 基于G U I 的应用程序有一个图形前端程序。它能创建窗口,拥有菜单,可以通过对话框与用户打交道,并可使用所有的标准“Wi n d o w s ”组 件。Wi n d o w s 配备的所有应用程序附件(如Notepad 、Calculator 和WordPad ),

2015-03-06 11:09:44 4025

原创 IOS程序启动引导示例

摘要本章简述了IOS开发过程中程序第一次启动时的程序引导的示例,主要用到了UIScrollView作引导界面,使用NSUserDefaults相关键值判断程序是否第一次启动。主要技术判断是否第一次启动- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictio

2015-03-03 23:17:37 2888

原创 空指针调用成员函数

试分析一下代码的运行情况即输出:#include using namespace std;class A {public: int m; void print() { cout << "A\n"; } void B() { int sum = 0; for (int i=0; i<100; i++) { sum += i; }

2015-03-02 16:20:05 3217

原创 构造函数的异常处理

试分析推断下述代码的输出结果:#include #include #include using namespace std;void* operator new(size_t size){ printf("my new -> %u\n", size); return malloc(size);}void operator delete(void *p){ printf("

2015-03-02 10:32:41 6011

原创 从源代码到输出

本文研究的是一个经典的hello.c程序从产生到执行输出的过程。源代码是:#include int main(){ printf("Hello, world.\n"); return 0;}程序编译执行过程程序源代码经编译器编译链接后生成了操作系统可直接执行的可执行文件,该文件存储按照约定好的格式存储计算机可识别的低级机器指令,指示计算机如何运行。程序运行时,首先由程序加载器把程序从

2015-02-27 12:30:38 2978

原创 正则表达式学习

例子邮箱\S+@\S+\.\S+中文[\u4e00-\u9fa5]双字节字符[^\x00-\xff]空白行\n\s*\rURL[a-zA-z]+://[^\s]*电话号码\d{3}-\d{8}|\d{4}-\{7,8}QQ号[1-9][0-9]{4,}邮政编码[1-9]\d{5}(?!\d)身份证号码^(\d{6})(\d{4})(\d{2})(\d{2

2015-02-26 17:53:21 2294

原创 CSDN博客支持MarkDown编辑器了

真是良心做法啊。。。。

2015-02-09 19:33:00 3208

原创 Google地址

Google被封了,各种上不去,Google账户也没用了,真是悲伤。据传是因为IP地址被封了,所以找些没封的IP地址还是可以用Google的,下面是本人收集的一些地址,可用。* 64.233.167.165* 64.233.167.164* 64.233.167.163* 64.233.167.166* 173.194.72.31* 91.213.30.150直接在浏览器里面输入上述的IP

2015-02-09 19:21:29 3932

原创 公交余额查询(深圳通)

关于公交余额查询现在有一些公交卡支持网余额查询了,虽然支持的不多,但是不得不说,深圳通的余额还是很好查的。因为是匿名的公交卡,所以输入用户名、身份证之类的事没用的,需要输入的只是公交卡的号码即可。深圳通的余额查询网站是:深圳通网上查询,输入号码即可查询出卡的余额信息等,如下所示:还是很简单的,没有万恶的广告、没有万恶的验证码!!这篇文章讲得是如何根据这个网页编写自己的程序实

2015-02-04 23:31:45 6904

原创 C++开源库之Curl

关于Curl库curl 是一个利用URL语法在命令行方式下工作的文件传输工具。它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。curl不但提供了一个可执行的工具库,还提供了供程序开发的libcurl库,该库使用c语言编写,支持跨平台,libcurl的下载地址点这里。下载的安装包里面有个Project文件夹,该

2015-02-03 12:41:22 13770

原创 FAAC源码分析之faacEncEncode

FAAC编码代码流程图通用的AAC编码系统框图(偷来的图)对比可以发现,其实FAAC的编码和一般的AAC编码大致一致,主要包括心理声学模型处理部分和量化处理两部分,还包括一些优化处理的过程。实现的源码+注释:int FAACAPI faacEncEncode(faacEncHandle hEncoder, int32_t *inputBuffer, unsigned i

2015-01-31 11:41:54 7605

12306.image.model+model+label.zip

12306网站验证码识别需要使用到的资源数据,仅供学习研究使用。 需配合项目【https://github.com/arbboter/s12306】或开源[easy12306]使用。 感谢easy12306作者开源

2020-01-11

腾讯开源协程库libco-原理及应用.pdf

腾讯协程库libco的原理分析及实际应用,深入分析了libco的实现方法和数据结构,经典的文档,开源值得参考

2019-09-17

【hust】nmap使用练习

学会使用 nmap 和抓包工具的基本使用方法以及指令,利用 nmap 获取 目标主机的端口开放情况以及目标主机的操作系统类型,学会如何分析 namp 的 OS 指纹库,如何获取指纹数据库的来源

2015-04-27

Nmap使用及指纹库分析报告

掌握主机、端口扫描的原理 掌握 Nmap 扫描器的使用 掌握 Nmap 进行远程 OS 检测的原理

2015-04-27

使用ffmpeg转码pcm至aac格式

一个使用使用ffmpeg转码pcm至aac格式的完整工程,VS可打开直接编译运行的。 理论上! 介绍:http://blog.csdn.net/arbboter/article/details/43058363

2015-01-23

OBJECTIVE-C编程之道【IOS设计模式解析】

关于IOS的设计设计模式的一本书,是扫描版本的,不过清晰度还可以将就着。 自己加了目录书签的....

2015-01-12

ProcessCop

仿XueTr的进程模块做的一个关于进程信息的工具,练手用的,贴几张效果图纪念死去的某某某!

2014-09-13

DLL隐藏技术(抹链)

原理就是Load ,保存一份,Free,把备份的粘贴回来,就断链了,这样做的好处是方便。断链也是可以的。

2014-07-29

仿QQ聊天界面(源码)

仿QQ的聊天界面啦啦

2014-05-23

空空如也

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

TA关注的人

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