<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[boyhailong的专栏]]></title><description><![CDATA[努力前进的孩子]]></description><link>https://blog.youkuaiyun.com/boyhailong</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; boyhailong]]></copyright><item><title><![CDATA[C++ class内存分布]]></title><link>https://blog.youkuaiyun.com/boyhailong/article/details/109013533</link><guid>https://blog.youkuaiyun.com/boyhailong/article/details/109013533</guid><author>boyhailong</author><pubDate>Sun, 11 Oct 2020 16:35:35 +0800</pubDate><description><![CDATA[class A
{
 public:
  void test(){}
 private:
  int a;
  double b;
};

class B
{
 private:
  double a;
  int b;
};

这段代码在linux编译：
g++ mem_test.cc -fdump-class-hierarchy

输出：
Class A
 size=16 align=8
 base size=16 b...]]></description><category></category></item><item><title><![CDATA[asio非boos版本使用]]></title><link>https://blog.youkuaiyun.com/boyhailong/article/details/108262371</link><guid>https://blog.youkuaiyun.com/boyhailong/article/details/108262371</guid><author>boyhailong</author><pubDate>Thu, 27 Aug 2020 16:53:47 +0800</pubDate><description><![CDATA[下载最新版 non_boost

linux下./configure --without-boost

make &amp;&amp; make install

然后就可以使用了。

测试代码：


  1 #include "asio.hpp"
  2 #include &lt;iostream&gt;
  3 #include &lt;vector&gt;
  4 
  5 class TcpServer
  6 {
  7   public:
  8     TcpServer(int threa.]]></description><category></category></item><item><title><![CDATA[mongodb源码分析]]></title><link>https://blog.youkuaiyun.com/boyhailong/article/details/107222984</link><guid>https://blog.youkuaiyun.com/boyhailong/article/details/107222984</guid><author>boyhailong</author><pubDate>Thu, 09 Jul 2020 12:16:14 +0800</pubDate><description><![CDATA[github上下载代码到本地，首先找到程序入口main：

在mongod.cpp


#if defined(_WIN32)
// In Windows, wmain() is an alternate entry point for main(), and receives the same parameters
// as main() but encoded in Windows Unicode (UTF-16); "wide" 16-bit wchar_t characters.  The
// ]]></description><category></category></item><item><title><![CDATA[java获取mysql表元信息]]></title><link>https://blog.youkuaiyun.com/boyhailong/article/details/53005930</link><guid>https://blog.youkuaiyun.com/boyhailong/article/details/53005930</guid><author>boyhailong</author><pubDate>Wed, 02 Nov 2016 11:02:03 +0800</pubDate><description><![CDATA[package com.ioctest.example;

import java.sql.DriverManager;
import java.awt.List;
import java.sql.Connection;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.LinkedList;
impor]]></description><category></category></item><item><title><![CDATA[爬取外卖超人数据]]></title><link>https://blog.youkuaiyun.com/boyhailong/article/details/51298867</link><guid>https://blog.youkuaiyun.com/boyhailong/article/details/51298867</guid><author>boyhailong</author><pubDate>Mon, 02 May 2016 22:47:21 +0800</pubDate><description><![CDATA[首先选择地区，获得这个地区所有菜品分类；然后获取所有餐厅名字：
import requests
import bs4

url = "http://waimaichaoren.com/restaurants/21886761/"
resp = requests.get(url)
soup = bs4.BeautifulSoup(resp.text)
##get all
mydivs = soup]]></description><category></category></item><item><title><![CDATA[Django-blog开源]]></title><link>https://blog.youkuaiyun.com/boyhailong/article/details/50434945</link><guid>https://blog.youkuaiyun.com/boyhailong/article/details/50434945</guid><author>boyhailong</author><pubDate>Wed, 30 Dec 2015 15:29:12 +0800</pubDate><description><![CDATA[在github上写了个基于django的博客程序
django-blog

欢迎star ]]></description><category></category></item><item><title><![CDATA[使用UITouch隐藏UITextField/UITextView输入键盘的方法-iOS开发]]></title><link>https://blog.youkuaiyun.com/boyhailong/article/details/50246639</link><guid>https://blog.youkuaiyun.com/boyhailong/article/details/50246639</guid><author>boyhailong</author><pubDate>Thu, 10 Dec 2015 10:52:26 +0800</pubDate><description><![CDATA[很多朋友一直为如何实现点击UITextField控件之外便隐藏键盘的问题烦恼，
之前自己一直用的方法是把一个透明的，与当前view大小相同的按钮放在最底层，再捕获它的消息，进行resignFirstResponder操作，之后每个界面都这么做，非常繁琐。今天学习UITouch时发现一个一劳永逸的方法，将下面的代码放入相应的UIViewController实现代码中，便可以实现UITextFiel]]></description><category></category></item><item><title><![CDATA[iOS编程笔记1]]></title><link>https://blog.youkuaiyun.com/boyhailong/article/details/50232675</link><guid>https://blog.youkuaiyun.com/boyhailong/article/details/50232675</guid><author>boyhailong</author><pubDate>Wed, 09 Dec 2015 15:39:19 +0800</pubDate><description><![CDATA[1.1
讲解了如何用xcode建立新工程，书中讲的是xcode5.0.而现在最新的xcode都7.2了。的确没有empty app可建立了，需要建立single view app。
因为ios9.0后支持本机不需要开发者账号进行调试，非常方便，在自己机子上运行，没手动写一行代码的工程，是一个白板。
1.2
MVC学习
View 视图 即用户可见的对象。
Model 负责存储数据。
C]]></description><category></category></item><item><title><![CDATA[golfing interface学习]]></title><link>https://blog.youkuaiyun.com/boyhailong/article/details/49734915</link><guid>https://blog.youkuaiyun.com/boyhailong/article/details/49734915</guid><author>boyhailong</author><pubDate>Mon, 09 Nov 2015 09:51:19 +0800</pubDate><description><![CDATA[golfing的interface比较像C++里的纯虚函数一样，不过因为golfing没有class的概念，都是struct,struct里只有纯数据，没有function；
但可以type (receiver) fund这样来定义实现类似C++里的class function 可以直接用 点 来访问
下面一个例子讲了这些知识点：
package main

import (
	"fmt"
]]></description><category></category></item><item><title><![CDATA[python爬虫抽取武侠小说]]></title><link>https://blog.youkuaiyun.com/boyhailong/article/details/49100135</link><guid>https://blog.youkuaiyun.com/boyhailong/article/details/49100135</guid><author>boyhailong</author><pubDate>Tue, 13 Oct 2015 16:14:17 +0800</pubDate><description><![CDATA[这几天在手机上看《蜀山剑侠传》 看到一半 突然让付费，还是自己抓取文字嘛
就模仿着做了个简单的抽取：
__author__ = 'allen'

import urllib
import urllib2
import re
from bs4 import BeautifulSoup

import sys
print sys.getdefaultencoding()
reload(sys)
s]]></description><category></category></item><item><title><![CDATA[gevent tcp server&client]]></title><link>https://blog.youkuaiyun.com/boyhailong/article/details/47983085</link><guid>https://blog.youkuaiyun.com/boyhailong/article/details/47983085</guid><author>boyhailong</author><pubDate>Tue, 25 Aug 2015 20:42:12 +0800</pubDate><description><![CDATA[server:
from gevent import socket
from gevent.server import StreamServer

def handle_echo(sock, address):
    print('get new cliet', address)

server = StreamServer(
    ('', 1234), handle_echo)

pri]]></description><category></category></item><item><title><![CDATA[python读取leveldb数据]]></title><link>https://blog.youkuaiyun.com/boyhailong/article/details/47420313</link><guid>https://blog.youkuaiyun.com/boyhailong/article/details/47420313</guid><author>boyhailong</author><pubDate>Tue, 11 Aug 2015 14:59:10 +0800</pubDate><description><![CDATA[import sys
import leveldb
def read_data():
	if len(sys.argv) < 2:
		print "pls input leveldb dir"
		return -1
	db = leveldb.LevelDB(sys.argv[1])
	for k in db.RangeIter(include_value = False):
			print]]></description><category></category></item><item><title><![CDATA[优化的python生产者消费者实现]]></title><link>https://blog.youkuaiyun.com/boyhailong/article/details/47365987</link><guid>https://blog.youkuaiyun.com/boyhailong/article/details/47365987</guid><author>boyhailong</author><pubDate>Sun, 09 Aug 2015 00:53:16 +0800</pubDate><description><![CDATA[哈哈 放我的github得了 代码在那里：git@github.com:boyxiaolong/py-con-pro.git
顺便打广告]]></description><category></category></item><item><title><![CDATA[python thread学习]]></title><link>https://blog.youkuaiyun.com/boyhailong/article/details/47362151</link><guid>https://blog.youkuaiyun.com/boyhailong/article/details/47362151</guid><author>boyhailong</author><pubDate>Sat, 08 Aug 2015 21:06:24 +0800</pubDate><description><![CDATA[最近对python比较感兴趣，想对现有的项目移植到python上玩玩。 
对于多线程，看个例子：import time
import urllib2
def get_responses():
    urls = ['http://www.amazon.com', 'http://www.ebay.com', 'http://www.alibaba.com', 'http://www.reddit.]]></description><category></category></item><item><title><![CDATA[sql文件解析]]></title><link>https://blog.youkuaiyun.com/boyhailong/article/details/45937019</link><guid>https://blog.youkuaiyun.com/boyhailong/article/details/45937019</guid><author>boyhailong</author><pubDate>Sat, 23 May 2015 20:32:23 +0800</pubDate><description><![CDATA[最近自己想把sql文件包含的数据结构解析出来，用python解析，也算是学习python吧。
开始肯定写的比较naive：
原始的sql文件是：
/*
Navicat MySQL Data Transfer

Source Server         : 11
Source Server Version : 50515
Source Host           : 192.168.106]]></description><category></category></item><item><title><![CDATA[TCP协议笔记]]></title><link>https://blog.youkuaiyun.com/boyhailong/article/details/45639699</link><guid>https://blog.youkuaiyun.com/boyhailong/article/details/45639699</guid><author>boyhailong</author><pubDate>Mon, 11 May 2015 06:56:42 +0800</pubDate><description><![CDATA[欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来，用它写博客，将会带来全新的体验哦：
Markdown和扩展Markdown简洁的语法
代码块高亮
图片链接和图片上传
LaTex数学公式
UML序列图和流程图
离线写博客
导入导出Markdown文件
丰富的快捷键
快捷键
加粗    Ctrl + B 
斜体    Ctrl + I 
引用    Ctrl]]></description><category></category></item><item><title><![CDATA[初体验mac编程]]></title><link>https://blog.youkuaiyun.com/boyhailong/article/details/45458847</link><guid>https://blog.youkuaiyun.com/boyhailong/article/details/45458847</guid><author>boyhailong</author><pubDate>Sun, 03 May 2015 15:00:31 +0800</pubDate><description><![CDATA[前几天终于下决心买了一台mac air，的确有点贵，但拿回来用了几天，真心觉得爽啊。
迫不及待地开始尝试object－c编程，原来的一台thinkpad用来看电子书。这台用xcode编程。
xcode智能提示很贴心，几乎不费力。
之前对C++比较熟，现在突然写oc还是要看教程和google资料，比如写一个简单的类，并调用。
要新建一个.h and .m文件。
//
//  Circle.]]></description><category></category></item><item><title><![CDATA[libevent 学习]]></title><link>https://blog.youkuaiyun.com/boyhailong/article/details/45115147</link><guid>https://blog.youkuaiyun.com/boyhailong/article/details/45115147</guid><author>boyhailong</author><pubDate>Sat, 18 Apr 2015 18:15:16 +0800</pubDate><description><![CDATA[搜索了下往上的示例代码，写了个服务器 客户端 但还是有问题：
服务器的代码：
#include 
#include 
#include 

#ifndef WIN32
#include 
# ifdef _XOPEN_SOURCE_EXTENDED
#  include 
# endif
#include 
#endif

#include 
#include 
#include 
#incl]]></description><category></category></item><item><title><![CDATA[Thinkpad Edge E431无线驱动问题]]></title><link>https://blog.youkuaiyun.com/boyhailong/article/details/44921555</link><guid>https://blog.youkuaiyun.com/boyhailong/article/details/44921555</guid><author>boyhailong</author><pubDate>Tue, 07 Apr 2015 15:57:56 +0800</pubDate><description><![CDATA[搜索了半天 
sudo apt-get install linux-headers-generic build-essential dkms  
sudo apt-get install linux-source  
sudo apt-get install --reinstall bcmwl-kernel-source  
sudo modprobe wl]]></description><category></category></item><item><title><![CDATA[范围概率 用二分查找]]></title><link>https://blog.youkuaiyun.com/boyhailong/article/details/43562461</link><guid>https://blog.youkuaiyun.com/boyhailong/article/details/43562461</guid><author>boyhailong</author><pubDate>Fri, 06 Feb 2015 11:46:16 +0800</pubDate><description><![CDATA[游戏里经常用的概率算法，比如随机一个数，看它落在哪段。
这里涉及到随机数之后，看如何查找落在哪个段，可以用二分查找来优化：
#include 

using namespace std;

int binary_search_nearest(int* arr, int begin, int end, int val){
	if (!arr){
		return -1;
	}
	
	int mi]]></description><category></category></item></channel></rss>