
学习笔记
文章平均质量分 83
peixun123
这个作者很懒,什么都没留下…
展开
-
计算机程序的构造和解释
创建一个有理数(define (make-rat n d) (cons n d)) #定义一个分数(define (number x) (car x)) #number获取一个分数的分子部分(define (denom x) (cdr x)) #denom获取一个分数的分母部分 打...原创 2017-02-15 18:02:31 · 255 阅读 · 0 评论 -
UNIX网络编程 套接字选项
影响套接字选项的函数getsockop 和 setsockop函数fcntlioctl getsockopt 和 setsockopt//其中sockfd必须指向一个打开套接字描述符,level(级别)指定系统中解释选项的代码或//为通/用套接字代码,或为某个特定于协议的代码,optval是一个指向某个变量(*optval)//的指针,setsock...原创 2015-11-17 12:38:21 · 270 阅读 · 0 评论 -
UNIX网络编程 I/O复用 select和poll函数
................原创 2015-11-17 12:14:38 · 102 阅读 · 0 评论 -
UNIX网络编程 TCP客户/服务器程序示例
...............原创 2015-11-17 12:13:46 · 123 阅读 · 0 评论 -
UNIX网络编程 基本TCP套接字编程
一段打印客户端的ip和端口,并返回一段当前时间的代码,客户端通过telnet就可以连接了#include <stdio.h>#include <stdlib.h>#include <netinet/in.h>#include <unistd.h>#include <fcntl.h>#includ...原创 2015-11-04 21:23:31 · 121 阅读 · 0 评论 -
UNIX网络编程 套接字编程介绍
打印当前机器是小头派还是大头派类型注意,如果没有加这两个头文件#include <stdio.h>#include <stdlib.h>编译时候会报 警告:隐式声明与内建函数‘printf’不兼容 这个错误编译: gcc -o byteorder byteorder.c#include <stdio.h&...原创 2015-11-02 20:19:24 · 85 阅读 · 0 评论 -
大型网站系统与java中间件
第一章 分布式系统介绍为什么要有分布式系统?1.升级单机处理能力的性价比越来越低2.单机处理能力存在瓶颈3.处于稳定性和可用性的考虑 线程与进程的执行模式1.互不通信的多线程模式2.基于共享容器协同的多线程模式3.通过事件协同的多线程模式4.多进程模式 网络通讯BIO,NIO,AIO 从单机到分布式引入负载均衡,DNS...原创 2015-08-30 12:46:34 · 160 阅读 · 0 评论 -
UNIX环境高级编程 高级进程间通讯
相关函数列表//下面函数用来创建一对无命名的,相互连接的UNIX域套接字#include <sys/socket.h>int socketpair(int domain, int type, int protocol, int sockfd[2]);//sockaddr_un结构体如下struct sockaddr_un { sa_fa...原创 2014-09-27 17:37:08 · 132 阅读 · 0 评论 -
UNIX环境高级编程 网络IPC:套接字
相关函数列表//创建一个套接字#include <sys/socket.h>int socket(int domain, int type, int protocol);//套接字是双向的,采用下面函数来禁止一个套接字的I/O#include <sys/socket.h>int shutdown(int sockfd, int h...原创 2014-09-27 17:36:29 · 133 阅读 · 0 评论 -
UNIX环境高级编程 进程间通讯
相关函数列表//管道#include <unistd.h>int pipe(int fd[2]);//标准I/O库提供了两个函数,实现的操作是创建一个管道fork一个子进程关闭未//使用的管道端,执行一个shell运行命令,然后等待命令终止//type类似fopen函数,有"r","w"或者"rw"等#include <stdio....原创 2014-09-27 17:35:52 · 174 阅读 · 0 评论 -
UNIX环境高级编程 高级I/O
相关函数列表//调用open函数时指定O_NONBLOCK参数即可打开非阻塞I/O//记录锁#include <fcntl.h>int fcntl(int fd, int cmd, ... /* struct flock *flockptr */ );//锁记录的 flock结构体struct flock { short l_t...原创 2014-09-27 17:35:17 · 237 阅读 · 0 评论 -
UNIX环境高级编程 守护进程
相关函数列表//syslog函数#include <syslog.h>void openlog(const char *ident, int option, int facility);void syslog(int priority, const char *format,...);void closelog(void);int setl...原创 2014-09-24 12:17:19 · 179 阅读 · 0 评论 -
UNIX环境高级编程 线程控制
相关函数列表//线程属性,pthread_attr_t结构体保护的就是操作系统实现支持的所有线程属性//下面所有函数都是是成功返回0,否则返回错误编号#include <pthread.h>int pthread_attr_init(pthread_attr_t *attr);int pthread_attr_destroy(pthread_attr...原创 2014-09-23 22:28:50 · 176 阅读 · 0 评论 -
UNIX环境高级编程 线程
相关函数列表//对两个线程ID进行比较//若相等返回非0数值,否则返回0#include <pthread.h>int pthread_equal(pthread_t tid1, pthread_t tid2);//获得线程自身的ID#include <pthread.h>pthread_t pthread_self(void...原创 2014-09-16 12:29:24 · 122 阅读 · 0 评论 -
UNIX网络编程 基本UDP套接字编程
..............原创 2015-11-24 20:05:28 · 131 阅读 · 0 评论 -
UNIX网络编程 名字与地址转换
..............原创 2015-11-24 20:12:20 · 131 阅读 · 0 评论 -
UNIX网络编程 守护进程和inetd超级服务器
守护进程(daemon)是在后台运行且不与任何控制终端关联的进程。启动守护进程的方法1)在系统启动阶段,许多守护进程由系统初始化脚本启动,这些脚本通常位于/etc/目录或者以/etc/rc开头的某个 目录汇总。有若干个网络服务器通常从这些脚本启动:inetd超级服务器2)许多网络服务器由inetd超级服务器启动。inetd自身由一个脚本启动。inetd监听网络请求(...原创 2015-11-24 20:37:19 · 239 阅读 · 0 评论 -
破坏之王
不同阶段DDos攻击事件的特点时期使用者目的时机目标探索期黑客个体兴趣和炫耀随意随意工具化政治宗教商业组织勒索竞争报复精确精确武器化国家网络战精确精确普及化群体组织表达主张受外部事件触发相关范围 知名僵尸网络1.ZeroAccess...原创 2016-03-30 21:44:44 · 232 阅读 · 0 评论 -
Hadoop技术内幕 深入解析MapReduce架构设计与实现原理
Hadoop的一些重大改进1.append,HDFS支持追加写功能2.HDFS RAID在HDFS之上构建了一个新的分布式文件系统,可以用更少副本保持可用性3.Symlink 让HDFS支持符号链接4.Security 知道blockId就可以绕过namenode会有安全问题5.MRv1和MRv26.NameNode Federation,一个namenode会有...原创 2017-05-03 15:14:50 · 442 阅读 · 0 评论 -
MySql Innodb存储引擎--表
表,页,段,记录页的格式分析 .......原创 2017-04-27 11:26:40 · 145 阅读 · 0 评论 -
MySql Innodb存储引擎--备份和优化
备份的目的做灾难恢复:对损坏的数据进行恢复和还原需求改变:因需求改变而需要把数据还原到改变以前测试:测试新功能是否可用 备份需要考虑的问题可以容忍丢失多长时间的数据;恢复数据要在多长时间内完; 恢复的时候是否需要持续提供服务;恢复的对象,是整个库,多个表,还是单个库,单个表。 备份的类型1、根据是否需要数据库离线冷备(cold back...原创 2017-04-24 17:07:28 · 327 阅读 · 0 评论 -
MySql Innodb存储引擎--锁和事务
lock和latch的比较latch 一般称为闩锁(轻量级的锁) 因为其要求锁定的时间非常短,若迟勋时间长,则应用性能非常差,在InnoDB存储引擎中,latch有可以分为mutex(互斥锁)和rwlock(读写锁)其目的用来保证并发线程操作临界资源的正确性,并且没有死锁检测的机制 lock的对象是事务,用来锁定的是数据库中的UI想,如表、页、行。并且一般lock对象仅...原创 2017-04-21 17:20:27 · 334 阅读 · 0 评论 -
linux shell脚本攻略
第一章 小试牛刀echo 后面可以直接跟内容,或者用单引号和双引号1.单引号中的变量不会被解析,比如echo '$aa' 结构就是 $aa2.不带引号时,echo hello;hello 的第二个hello会被当做命令执行echo -n 忽略换行echo -e 输出的内容会被转移 printf %-5s 打印字符串,- 表示左对齐,不到5位的用空格替...原创 2014-11-21 19:15:03 · 710 阅读 · 0 评论 -
UNIX网络编程 密钥管理套接字
...原创 2015-12-09 13:28:30 · 185 阅读 · 0 评论 -
UNIX网络编程 路由套接字
..原创 2015-12-09 13:27:55 · 95 阅读 · 0 评论 -
UNIX网络编程 ioctl操作
..............原创 2015-12-09 13:25:58 · 118 阅读 · 0 评论 -
UNIX网络编程 非阻塞式I/O
.......原创 2015-12-09 13:25:22 · 129 阅读 · 0 评论 -
UNIX网络编程 高级IO函数
套接字超时在设计套接字的IO操作上设置超时的方法有以下三种1)调用alarm,它在指定超时期慢时产生SIGALRM信号。这个方法设计信号处理,而信号处理在不同实现上 存在差异,而且可能干扰进程中现有的alram调用2)在select中阻塞等待I/O(select有内置的时间限制),以此代替直接阻塞在read或者write调用上3)使用交心的SO_RCVTIMEO...原创 2015-12-02 15:13:11 · 204 阅读 · 0 评论 -
MySql Innodb存储引擎--文件和索引
MySql架构图 MySql文件类型参数文件,启动时候需要的参数日志文件,二进制文件(bin log),慢查询日志,查询日志,错误日志,重做日志(undo log)socket文件,使用域socket连接时候用的pid文件,进程的pid文件表结构文件,存储表结构的定义存储引擎文件,存放最终数据的 参数查询和修改...原创 2017-03-27 18:03:41 · 561 阅读 · 0 评论 -
MySql Innodb存储引擎--架构和引擎介绍
Mysql架构图1 Connectors指的是不同语言中与SQL的交互 2 Management Serveices & Utilities: 系统管理和控制工具 3 Connection Pool: 连接池。管理缓冲用户连接,线程处理等需要缓存的需求 4 SQL Interface: SQL接口。接受用户的SQL命令,并且返回用户需要查...原创 2017-03-23 10:40:56 · 323 阅读 · 0 评论 -
UNIX环境高级编程 信号
相关函数列表//系统信号机制最简单的接口是signal函数#include <signal.h>void (*signal(int signo, void (*func)(int))) (int);//kill可以将信号发送给进程或进程组,raise允许进程向自身发送信号#include <signal.h>int kill(pi...原创 2014-09-16 12:26:25 · 174 阅读 · 0 评论 -
UNIX环境高级编程 进程关系
相关函数列表//返回调用进程的进程组ID#include <unistd.h>pid_t getpgrp(void);pid_t getpgid(pid_t pid);//getpgid(0) 等于 getpgrp()//创建一个新会话#include <unistd.h>pid_t setsid(void);pi...原创 2014-09-14 15:04:43 · 159 阅读 · 0 评论 -
C语法总结 基础语法和编写大型程序
源文件和头文件源文件的扩展名是 .c 结尾,每个源文件包含函数和变量定义,其中一个源文件包含main()函数多个源文件可以共享一些变量和函数,通过#include指令包含进来,这种包含的文件就是 头文件,扩展名是.h//用于引入c语言自身的系统头文件#include <文件名>//用于引进自定义的头文件//不要在自定义的头文件中使用尖括号,系...原创 2014-07-14 22:33:26 · 187 阅读 · 0 评论 -
可能与不可能的边界 P/NP问题趣史
第一章 金券 假如我们想在数以万计的巧克力中找到一张含有金券的巧克力需要怎么做?(一共有5张金券) 有大量的时间,请大量的人,大量的金钱(买下非常非常多的巧克力),然后人工筛选 Mary的公司定制了一个计划,需要从她的家乡出发,然后经过48个州,并像这些州推销木锥,为了节省开支,需要定制一个路线,即启动为Mary的家乡,然后经过48个州,距离最短。其实这个计算相...原创 2014-02-23 20:35:41 · 366 阅读 · 0 评论 -
C语法总结 底层设计和声明
位运算符使用底层技术进行一些位操作,可以编写加密,视频程序,以及需要高速执行或高效利用空间的程序非常有用。但是过度依赖底层操作会导致程序丧失可移植性。如果一定要使用尽量将操作限定在特定的模块中而不要分散在各处。符号含义<<左移位>>右移位~按位求反&按位与^按位异或|按...原创 2014-07-08 23:14:06 · 153 阅读 · 0 评论 -
C语法总结 结构联合枚举
结构//结构变量的声明struct { int number; char name[NAME_LEN+1]; int on_hand;} part1, part2;//初始化struct { int number; char name[NAME_LEN+1]; int on_hand;} part1 ...原创 2014-07-06 17:39:37 · 235 阅读 · 0 评论 -
C语法总结 数组和指针
数组#define N 10int a[N];for(int i=0;i<N;i++) { a[i] = 0;}//初始化,没有被初始化到的数组下标就被设置为0int a[10] = {1,2,3,4,5};//等价于int a[10] = {1,2,3,4,5,0,0,0,0,0};//也可以写成入如下形式相当于把整个数组全部赋值...原创 2014-07-01 21:48:56 · 208 阅读 · 0 评论 -
C语法总结 预处理器
预处理器可以在编译前处理C程序//include 指令告诉预处理器打开一个特定的文件#include <stdio.h>//用define 指令定义了一个宏,用来代表其他东西的名字#define PI 3.14//可以用 / 符号换行#define DISK_CAPACITY (SIDES * ...原创 2014-06-29 11:30:08 · 131 阅读 · 0 评论 -
HBase实战
[b][size=medium]第一章 HBase介绍[/size][/b]HBase是一种数据库:Hadoop数据库。它经常被描述为一种稀疏的、分布式的、持久化的、多维有序的映射,它基于行键(row key)、列键(column key)和时间戳(timestamp)建立索引。HBase基于BigTable联机事务处理(OLTP)尽快的返回响应结果联机分析处理(OLAP)抓取...原创 2013-08-24 21:28:53 · 177 阅读 · 0 评论 -
HBase管理指南
hadoop master web端口 50070 hadoop slave web端口 50075 hbase master web端口 60010 通讯端口 60000hbase regionserver web端口 60030 通讯端口 60020hbase rest web端口 8085 ...原创 2013-08-03 17:10:17 · 193 阅读 · 0 评论