自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

午夜飞行

记录与分享

  • 博客(132)
  • 资源 (7)
  • 收藏
  • 关注

原创 几张截图

2015-07-07 23:25:40 510

原创 libco协程

libco协程框架协程简介协程简称用户态线程,是在线程下自己实现的切换的用户态程序切换。实现方式大致分为以下方式:使用glibc ucontext 使用汇编实现 c 语言 switch-case c setjmp longjmplibco协程切换使用汇编实现, 支持独立栈(128k大小)和共享栈(写时拷贝)模式。支持hook socket族函数来完成网络自动协程的框架包装。...

2018-11-23 16:49:01 573 1

翻译 zmq的内部结构

介绍:本文介绍了ZMQ的一些概述,但不会涉及到一些细节,因为随着版本的更新,实现的细节也不一样,而且很多代码是为了兼容不同的操作系统和编译器的,如果需要知道其中的细节,还是要看源码。全局状态:在库里使用全局变量看起来是一件搬起石头砸自己的脚的事情。一开始一切正常,直到一个全局变量被可执行文件链接两次(见下图),就会发生一些奇怪的错误和崩溃。为了防止这种事情发生,zmq没有使用全局变量,相反,...

2018-11-23 16:46:21 1373

原创 zmq源码阅读笔记之基础数据结构

1,arrayzmq实现了一套自己的数组,数组内部用一个std::vector <T*>  来保存数据  template <typename T, int ID = 0> class array_t    {    private:        typedef array_item_t <ID> item_t;    public:...

2018-11-23 16:45:22 443

原创 zmq源码阅读笔记之网络消息与命令

 mailboxmailbox是线程之间用于收发命令的类定义如下 class mailbox_t : public i_mailbox    {    public:        mailbox_t ();        ~mailbox_t ();        fd_t get_fd () const;        void send (const command_t ...

2018-11-23 16:44:27 1429

原创 c++ json与protobuf 转换

/* * data: 2018-04-14 * author: cc509a * email: * protocol buffer and json convert each other * support array ,enum*/#ifndef MYLIB_JSON_2_PB# define MYLIB_JSON_2_PB#include "jso...

2018-11-23 16:42:22 8566

转载 node schedule 使用

安装 npm install node-schedule使用方法1:确定时间    例如:2014年2月14日,15:40执行    var schedule = require("node-schedule");    var date = new Date(2014,2,14,15,40,0);    var j = schedule.sched

2015-08-27 12:11:50 890

原创 第一个之出现一次的字符

第一行输入数字T,表示有T行字符,然后输入T个字符,输出结果为T行,每行输出滴T个字符的里第一个只出现一次的字符例如;输入2abcabcdtestoneline输出ds一下为AC代码,思路为哈希统计#include#include#includeusing namespace std;int main () { int t;

2015-08-13 16:05:12 724

原创 lintcode Binary Search

For a given sorted array (ascending order) and a target number, find the first index of this number in O(log n) time complexity.If the target number does not exist in the array, return -1.

2015-08-03 18:09:35 653

原创 lintcode Recover Rotated Sorted Array

Given a rotated sorted array, recover it to sorted array in-place.Have you met this question in a real interview? YesExample[4, 5, 1, 2, 3] -> [1, 2, 3, 4, 5]Challenge

2015-08-03 17:31:35 663

原创 基于引用计数的智能指针

编程语言中实现自动垃圾回收机制方式有好几种,常见的有标记清除,引用计数,分代回收等。C++需要手动管理垃圾,可以自己实现一个智能指针。最简单的是引用计数的思路template class SmartPointer { T* obj; unsigned int* count; SmartPointer(T* ptr) { obj = ptr;

2015-07-30 21:18:17 616

原创 常见IO模型

阻塞IO模型阻塞IO是最通用的IO,使用这种IO接受数据时,在数据没有到来之前程序会一直等待。非阻塞IO当把套接字设置成非阻塞IO时,则对于每次请求,内核都不会阻塞,会立即返回。当没有数据时,会返回一个错误。IO复用使用IO复用的可以在等待的时候假如超时时间,当超时时间没有到达的时候情况与阻塞IO是一样的,当时间到达,但是没有数据是,系统会自动返回,不在等待。s

2015-07-30 21:01:16 575

转载 modle factory

interface InterfaceFactory { /** * @param string $name * @return mixed */ public static function create($name);}modelclass ModelFactory implements InterfaceFactory{ pr

2015-07-27 14:00:27 487

转载 template

class TemplateLoader{ protected $_tplDir = 'templates/'; private $_mapVars = array(); public function __construct($options = array()) { foreach ($options as $k => $v) {

2015-07-27 13:57:26 334

原创 string 简单实现

namespace ss{ class string { friend ostream& operator <<(ostream&, const string&); char *_str; public: string():_str(new char[1]){ _str[0] = '\0'; }

2015-07-24 16:03:57 586

原创 c++vector简单实现

const int DEFAULT_CAP = 3;template class vector { // int capacity; T* _data; int _size; public: //const vector ():capacity(DEFAULT_CAP),_size(0),_data(new T[capacity])

2015-07-24 15:15:28 757

原创 LintCode 字符串转化成正数(atoi)

困难 转换字符串到整数15%通过实现atoi这个函数,将一个字符串转换为整数。如果没有合法的整数,返回0。如果整数超出了32位整数的范围,返回INT_MAX(2147483647)如果是正整数,或者INT_MIN(-2147483648)如果是负整数。您在真实的面试中是否遇到过这个题? Yes样例"10" =>10"-

2015-07-16 17:59:46 1504

原创 LintCode 最近公共祖先

中等 最近公共祖先查看运行结果 34%通过给定一棵二叉树,找到两个节点的最近公共父节点(LCA)。最近公共祖先是两个节点的公共的祖先节点且具有最大深度。您在真实的面试中是否遇到过这个题? Yes样例对于下面这棵二叉树 4 / \3 7 / \ 5 6LCA(3,

2015-07-16 16:42:49 828

原创 LintCode 第K大元素

中等 第k大元素查看运行结果 19%通过在数组中找到第k大的元素您在真实的面试中是否遇到过这个题? Yes样例给出数组[9,3,2,4,8],第三大的元素是4给出数组 [1,2,3,4,5],第一大的元素是5,第二大的元素是4,第三大的元素是3,以此类推注意你可以交换数组中的

2015-07-15 22:50:34 1837

原创 LintCode 丑数

中等 丑数查看运行结果 20%通过设计一个算法,找出只含素因子3,5,7 的第 k 大的数。符合条件的数如:3,5,7,9,15......您在真实的面试中是否遇到过这个题? Yes样例如果k=4, 返回 9挑战要求时间复杂度为O(nlogn)或者O(n)class Soluti

2015-07-09 14:50:37 1193

原创 LintCode 带最小值操作的栈

实现一个带有取最小值min方法的栈,min方法将返回当前栈中的最小值。你实现的栈将支持push,pop 和 min 操作,所有操作要求都在O(1)时间内完成。您在真实的面试中是否遇到过这个题? Yes样例如下操作:push(1),pop(),push(2),push(3),min(), push(1),min() 返回 1,2,1用了两个st

2015-07-09 13:39:46 2449

原创 LintCode复制带随机指针的链表

中等 复制带随机指针的链表查看运行结果 27%通过给出一个链表,每个节点包含一个额外增加的随机指针可以指向链表中的任何节点或空的节点。返回一个深拷贝的链表。 用了一个哈希表,空间换取时间/** * Definition for singly-linked list with a random pointer. *

2015-07-09 12:52:01 1330

原创 TCP Retransmission

When the sending side sees a duplicate ACK, it knows that the other side must have received a packet out of order, which suggests that an earlier packet might have been lost.Since it is also p

2015-07-08 14:48:43 12026

原创 LintCode 二叉树的层次遍历 II

中等 二叉树的层次遍历 II查看运行结果 42%通过给出一棵二叉树,返回其节点值从底向上的层次序遍历(按从叶节点所在层到根节点所在的层遍历,然后逐层从左往右遍历)您在真实的面试中是否遇到过这个题? Yes样例给出一棵二叉树 {3,9,20,#,#,15,7}, 3 / \ 9 20 /

2015-07-06 14:45:11 1185

原创 LintCode 二叉树的层次遍历

中等 二叉树的层次遍历查看运行结果 33%通过给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问)您在真实的面试中是否遇到过这个题? Yes样例给出一棵二叉树 {3,9,20,#,#,15,7},    3   / \  9  20    /  \   15   7返回它的

2015-07-06 14:38:58 2192 1

原创 LintCode比较字符串

容易 比较字符串27%通过比较两个字符串A和B,确定A中是否包含B中所有的字符。字符串A和B中的字符都是 大写字母您在真实的面试中是否遇到过这个题? Yes样例给出 A = "ABCD" B = "ACD",返回 true给出 A = "ABCD" B = "AABC", 返回 false

2015-07-03 22:11:58 632

原创 LinCode落单的数

容易 落单的数查看运行结果 60%通过给出2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。您在真实的面试中是否遇到过这个题? Yes样例给出 [1,2,2,1,3,4,3],返回 4挑战一次遍历,常数级的额外空间复杂度位运算class Solut

2015-07-03 15:58:20 968

原创 TCP closing a connection

client closes socket:clientSocket.close();step1 :client sends TCP FIN control segment to serverstep2: Server receives FIN,replies with ACK. Closes connection,sends FIN.time wait 30

2015-07-02 17:07:54 757

原创 TCP Three-Way handshake

initialize TCP variables:sequence numbersbuffers,flow control infoClient: connection initiatorSocket clientSocket = new Socket("hostname","portnumber");Server: contacted by clientS

2015-07-02 17:05:45 142

原创 LintCode 子树

容易 子树19%通过有两个不同大小的二进制树: T1 有上百万的节点; T2 有好几百的节点。请设计一种算法,判定 T2 是否为 T1的子树。您在真实的面试中是否遇到过这个题? Yes样例下面的例子中 T2 是 T1 的子树: 1 3 / \

2015-07-02 10:26:30 1478

原创 LintCode 用递归打印数字

中等 用递归打印数字24%通过用递归的方法找到从1到最大的N位整数。您在真实的面试中是否遇到过这个题? Yes样例给出 N = 1, 返回[1,2,3,4,5,6,7,8,9].给出 N = 2, 返回[1,2,3,4,5,6,7,8,9,10,11,...,99].用字符串模拟数字clas

2015-07-02 10:08:39 1259 2

原创 LintCode 寻找缺失的数

中等 寻找缺失的数查看运行结果 32%通过给出一个包含 0 .. N 中 N 个数的序列,找出0 .. N 中没有出现在序列中的那个数。您在真实的面试中是否遇到过这个题? Yes样例N = 4 且序列为 [0, 1, 3] 时,缺失的数为2。class Solution {public: /**

2015-07-01 22:22:44 1125

原创 LintCode 字符串查找

字符串查找(又称查找子字符串),是字符串操作中一个很有用的函数。你的任务是实现这个函数。对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。如果不存在,则返回 -1。样例如果 source = "source" 和 target = "target",返回 -1

2015-07-01 16:01:24 1591

原创 Lintcode 将整数A转换为B

样例如把31转换为14,需要改变2个bit位。(31)10=(11111)2(14)10=(01110)2贴代码class Solution {public: /** *@param a, b: Two integer *return: An integer */ int bitSwapRequired(int a, int

2015-07-01 15:17:35 1297 2

原创 LintCode 二叉树的遍历 (非递归)

前序:class Solution {public: /** * @param root: The root of binary tree. * @return: Preorder in vector which contains node values. */ vector preorderTraversal(TreeNode *root) {

2015-07-01 14:48:55 629 1

原创 TCP header

端口号用来区别applicationsequence Number 用在滑动窗口协议,区别是否是要接收的第一个data str 在整个 str 的编号acknowledgement number 告诉对方这个number之前我都收到了SYN (FLAG) 1 :  建联线,一般是第一个封包 FIN(finish) 1: 代表结束连线ACK : 1 代表acknowledge

2015-07-01 14:23:34 990

原创 TCP buffer

Tcp有以下特点Reliableconnection orientedbyte-stream service要处理flow control:要有一个机制控制传送不要让buffer溢出congestion control:involves preventing too much data from being injected into the network,t

2015-07-01 10:55:39 1248

转载 14.04麒麟为/检查磁盘时发生严重错误的解决方法

我写过一篇叫做 如何硬盘装麒麟系统 的经验,介绍了如何不使用优盘的情况下使用wubi.exe程序在WindowsXP上安装14.04版麒麟系统,但是运行系统之后发现,此种方法会在启动时提示 为/检查磁盘时发生严重错误 ,并且无法进入系统。折腾了半天,终于找到解决方法。请阅读下文。工具原料麒麟系统 14.04 (Ubuntu 14.04)临时更改引导参数进入系统进

2015-06-30 23:27:57 596

原创 udp协议

UDP是一种simple demultiplexer因为传输层之下的网络层,提供的也是不可靠的传输,也就是UDP用不可靠的服务来提供不可靠的服务那么为什么还需要UDP呢?因为网络层提供的端对端是 host to host ,即根据每个IP做到IP SOUCRE 对 iP source 而UDP做的就是在此基础上做到 process to process 即 demultiple

2015-06-30 17:00:51 389

原创 Lintcode快速幂

计算an % b,其中a,b和n都是32位的整数。例如 231 % 3 = 2例如 1001000 % 1000 = 0这题要考虑输入的a,b是否为负数,结果是否溢出,是否超时,这里用到了分治递归class Solution {public: /* * @param a, b, n: 32bit integers * @return:

2015-06-27 20:17:15 741

js贪吃蛇源码

纯 javascript网页贪吃蛇源码下载 几百行 源码不多,有注释,浏览器打开可运行

2018-11-23

2017阿里技术年度精选(下)

2017 年,在技术发展的历史上,一定是个特别的一年:柯洁与 AlphaGo 的惊世大战,无人咖啡店开放体验,AI 设计师“鲁班”横空出 世、三年投入千亿的达摩院正式成立...... 技术前进的脚步,比我们想象中更快。同样在今年,阿里技术公众号,正 式迎来了第 35 万位关注者,也有幸发布过数篇 10w+ 乃至百万阅读的文章。 PS:本想借此搞个联谊活动,瞅瞅后台性别比例 9:1,又默默放弃了。 有读者留言告诉我们,每天早上坐公交车上班,看阿里技术推送的文

2018-11-22

考研函数图像

考研函数图像 考研函数图像 考研函数图像 考研函数图像 考研函数图像

2011-12-11

简单的DIV+CSS布局示例

简单的DIV+CSS布局示例

2011-12-11

数据库课设//php+mysql/药房仓库管理系统

在config.php中设置用户名密码,在mysql中建立数据库medicine,导入sql文件,可以运行

2011-07-11

javascript网页贪吃蛇源码下载

javascript网页贪吃蛇源码下载 源码不多,有注释

2010-04-13

空空如也

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

TA关注的人

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