- 博客(248)
- 资源 (12)
- 收藏
- 关注
原创 SICP----MIT-Sheme 基本使用
1.命令行交互模式在交互式执行方式下,系统(启动后)将在一个窗口显示版本信息,最后是提示符:1 ]=>键入的程序代码将显示在提示符之后。此时系统执行 read-evaluation-print 循环(读入-求值-打印循环,REPL),可以键入符合 Scheme 语法要求的表达式(程序),要求系统对其求值。表达式中可以任意换行。一旦系统读到一个完整的表达式,就会对它求值(
2014-08-21 21:41:14 1970
原创 Linux程序设计学习笔记----网络通信编程API及其示例应用
图为面向连接的Socket通信的双方执行函数流程。使用TCP协议的通信双方实现数据通信的基本流程如下建立连接的步骤:1、首先服务器端需要以下工作:(1)调用socket()函数,建立Socket对象,指定通信协议。(2)调用bind()函数,将创建的Socket对象与当前主机的某一个IP地址和TCP端口绑定。(3)调用listen()函数。使
2014-08-20 22:02:09 2789
原创 软件设计工具----UML学习第零课
软件设计工具学习笔记相关信息课件来源于北京大学软件学院参考教材: 课程网站:http://www.icst.pku.edu.cn/course/uml/uml.html工具:Rose 2007学习计划:8月19日至9月6日开学笔记记录于此,并发表到CSDN博客和个人博客. 第零课----软件产品开发和软件建模什么是建模?模型是对现实系统的简化.建模是对现
2014-08-19 14:23:40 1607 3
原创 SICP----课程预备知识
1.说明性知识和过程性知识说明式知识(是什么) 有关事实和情况的说明 实例:饭店的菜肴介绍,包括配料成分、色香味说明、照片等 过程式知识(怎么做) 有关完成某件工作的一系列步骤(操作)的描述 实例:菜肴的烹制方法和过程,相关操作及执行顺序
2014-08-17 22:25:47 1668
原创 Linux程序设计学习笔记----网络编程之网络数据包拆封包与字节顺序大小端
网络数据包的封包与拆包过程如下:将数据从一台计算机通过一定的路径发送到另一台计算机。应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation),如下图所示:不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据包(packet),在链路层叫做帧(frame)。数据封装成帧后发到传输介质
2014-08-17 11:18:48 6129
原创 Linux程序设计学习笔记----Socket网络编程基础之TCP/IP协议簇
转载请注明出处: ,谢谢!内容提要本节主要学习网络通信基础,主要涉及的内容是:TCP/IP协议簇基础:两个模型IPv4协议基础:IP地址分类与表示,子网掩码等IP地址转换:点分十进制\二进制TCP/IP协议簇基础OSI模型我们知道计算机网络之中,有各种各样的设备,那么如何实现这些设备的通信呢?显然是通过标准的通讯协议,但是,整个网络连接的过程相当复杂,包
2014-08-16 17:26:00 2285
原创 Linux程序设计学习笔记----多线程编程线程同步机制之互斥量(锁)与读写锁
互斥锁通信机制基本原理互斥锁以排他方式防止共享数据被并发访问,互斥锁是一个二元变量,状态为开(0)和关(1),将某个共享资源与某个互斥锁逻辑上绑定之后,对该资源的访问操作如下:(1)在访问该资源之前需要首先申请互斥锁,如果锁处于开状态,则申请得到锁并立即上锁(关),防止其他进程访问资源,如果锁处于关,则默认阻塞等待.(2)只有锁定该互斥锁的进程才能释放该互斥锁.互斥量类型声
2014-08-15 09:39:48 2399
原创 Linux程序设计学习笔记----System V进程通信之消息队列
一个或多个进程可向消息队列写入消息,而一个或多个进程可从消息队列中读取消息,这种进程间通讯机制通常使用在客户/服务器模型中,客户向服务器发送请求消息,服务器读取消息并执行相应请求。在许多微内核结构的操作系统中,内核和各组件之间的基本通讯方式就是消息队列。例如,在 MINIX 操作系统中,内核、I/O 任务、服务器进程和用户进程之间就是通过消息队列实现通讯的。Linux中的消息可以被描述成在内核
2014-08-12 16:33:40 1695
原创 Linux程序设计学习笔记----System V进程通信(共享内存)
共享内存可以被描述成内存一个区域(段)的映射,这个区域可以被更多的进程所共享。这是IPC机制中最快的一种形式,因为它不需要中间环节,而是把信息直接从一个内存段映射到调用进程的地址空间。 一个段可以直接由一个进程创建,随后,可以有任意多的进程对其读和写。但是,一旦内存被共享之后,对共享内存的访问同步需要由其他 IPC 机制,例如信号量来实现。象所有的System V IPC 对象一样,Linux 对
2014-08-12 16:09:13 2293
原创 Linux程序设计学习笔记----System V进程间通信(信号量)
关于System VUnix System V,是Unix操作系统众多版本中的一支。它最初由AT&T开发,在1983年第一次发布,因此也被称为AT&T System V。一共发行了4个System V的主要版本:版本1、2、3和4。System V Release 4,或者称为SVR4,是最成功的版本,成为一些UNIX共同特性的源头,例如“SysV 初始化脚本”(/etc/init.d),用来
2014-08-11 19:36:27 3228
原创 LeetCode第七题,Reverse Integer
题目Reverse digits of an integer.Example1: x = 123, return 321Example2: x = -123, return -321click to show spoilers.Have you thought about this?Here are some good questions to ask
2014-08-08 23:06:37 1548
原创 Linux程序设计学习笔记----进程间通信——管道
转载请注明出处: http://blog.csdn.net/suool/article/details/38444149, 谢谢!进程通信概述在Linux系统中,进程是一个独立的资源管理单元,但是独立而不孤立,他们需要之间的通信,因此便需要一个进程间数据传递、异步、同步的机制,这个机制显然需要由OS来完成管理和维护。如下:1、同一主机进程间数据交互机制:无名管道(PIPE)
2014-08-08 21:35:05 3785
原创 Linux 程序设计学习笔记----进程管理与程序开发(下)
转载请注明出处:http://blog.csdn.net/suool/article/details/38419983,谢谢!进程管理及其控制创建进程fork()函数函数说明具体参见:http://pubs.opengroup.org/onlinepubs/009695399/functions/fork.html返回值:Upon successful completi
2014-08-07 20:59:33 1881
原创 Python yield 使用浅析 ----以裴波那契数列生成为例
您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ?我们先抛开 generator,以一个常见的编程题目来展示 yield 的概念。如何生成斐波那契數列斐波那契(Fibonacci)數列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到。用计算机程序输出斐波那契數列的前 N 个数是一
2014-08-06 14:05:09 3223
原创 LeetCode第六题,ZigZag Conversion
题目:The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)P A H NA
2014-08-06 12:15:24 2165
原创 Linux 程序设计学习笔记----终端及串口编程及实例应用
转载请注明出处,部分内容类源于网络。终端属性详解及设置属性为了控制终端正常工作,终端的属性包括输入属性、输出属性、控制属性、本地属性、线路规程属性以及控制字符。其在系统源代码的termios.h中定义(具体的说明文档http://pubs.opengroup.org/onlinepubs/7908799/xsh/termios.h.html),其结构体成员主要是Th
2014-08-05 16:59:07 4020 1
原创 LeetCode第五题,Longest Palindromic Substring
题目原文:Given a string S, find the longest palindromic substring in S. You may assume that the maximum length ofS is 1000, and there exists one unique longest palindromic substring.题意解析:最长回文子串。就是
2014-08-05 14:29:41 4768 1
原创 LeetCode第四题,Add Two Numbers
题目原文:You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it
2014-08-04 21:31:32 1522
原创 Linux 程序设计学习笔记----终端及串口编程基础之概念详解
转载请注明出处,谢谢!linux下的终端及串口的相关概念有:tty,控制台,虚拟终端,串口,console(控制台终端)详解部分内容整理于网络。终端/控制台终端和控制台都不是个人电脑的概念,而是多人共用的小型中型大型计算机上的概念.1.终端一台主机,连很多终端,终端为主机提供了人机接口,每个人都通过终端使用主机的资源. 终端有字符哑终端和图形终端两种.控制台
2014-08-04 17:58:14 2000
原创 LeetCode 第三题,Longest Substring Without Repeating Characters
题目:Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for "abcabcbb" is "abc", which the length is 3.
2014-08-03 20:38:44 10315 4
原创 标准C++中的string类的用法总结
做leetcode第三题字符串的题目时,顺便再次总结一下C++的string用法。要想使用标准C++中string类,必须要包含#include // 注意是,不是,带.h的是C语言中的头文件using std::string;using std::wstring;或using namespace std;下面你就可以使用string/wstring了,它们
2014-08-03 19:06:30 1719
原创 基础典型算法研究:合并有序数组
做leetcode第二题的时候,发现合并有序数组是一个很有意思的问题,于是,总结如下,部分内容来源于网络各位大神.第一种方法:合并调用sort.即是将两个数组合并在一个数组里面,然后对合并后的数组调用sort函数即可.class Solution: def getArray(self, A, B) : for item in B :
2014-08-02 18:30:02 1300
原创 LeetCode 第二题,Median of Two Sorted Arrays
题目再现There are two sorted arrays A and B of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).题意解析
2014-08-02 17:18:04 2757
原创 Linux 程序设计学习笔记----文件管理实例应用
一、使用ls -l 以排序方式输出目录信息1.需求以及知识点覆盖ls -l 命令根据后面的参数将列出某文件即目录下的基本信息。如果没有具体的目录或者文件,则列出当前目录下所有的非隐藏文件的信息,包括文件类型,文件权限,硬链接个数,拥有者。拥有者所在组,文件大小,文件更新时间等。such as :若没有指定的文件,则输出所有目录下的文件信息:所以,本应用要实现的基本功
2014-08-01 19:06:37 1869
原创 LeetCode 第一题,Two Sum
题目还原Two SumGiven an array of integers, find two numbers such that they add up to a specific target number.The function twoSum should return indices of the two numbers such that they add up t
2014-08-01 01:43:51 4475
原创 Linux 程序设计学习笔记----文件管理系统
本文部分整理自网络Linux下文件系统管理1.VFS文件系统概述linux采用VFS来管理文件系统,而且linux设计的原则之一就是everything is file。因此文件管理系统是linux设计最核心的体现。VFS的全称是Virtual File System (虚拟文件系统)。总体上说 Linux 下的文件系统主要可分为三大块:一是上层的文件系统的系统调用,二是虚
2014-07-31 11:20:19 2830 3
原创 C++基础学习教程(八)
引入在进行下一步的学习之前,我们需要厘清几个概念.RAII首先介绍一个编程习语,”RAII”(ResourceAcquisition Is Initialization,资源获取即为初始化),他描述了利用构造函数\析构函数,并在函数返回时自动析构的机制.简言之,RAII意为构造函数获取一种资源;打开一个文件,一个网络连接,或仅仅是从某I/O流中复制一些标志.这种获取是对象初始化的一部分
2014-07-30 14:47:22 3025
原创 Linux 程序设计学习笔记----ANSI C 文件I/O管理
问题引入文件的种类根据数据存储的方式不同,可以将文件分为文本文件和二进制文件.具体的区别和关系如下:文本文件与二进制文件在计算机文件系统中的物理存储都是二进制的,也就是在物理存储方面没有区别都是01码,这个没有异议,他们的区别主要在逻辑存储上,也就是编码上。文本文件格式存储时是将值作为字符然后存入其字符编码的二进制,文本文件用‘字符’作为单位来表示和存储数据,比如对于1这个值,
2014-07-25 23:42:23 3198
原创 C++基础学习教程(七)----类编写及类的两个特性解析--->多态&继承
类引入到目前为止我们所写的自定义类型都是关键字struct,从现在起我们将采用class方式定义类,这种方式对于学习过其他高级语言包括脚本(Such as Python)的人来说再熟悉不过了.但是在写之前我们还是需要比较一下用struct和class之间有什么区别.首先对于struct,在C兼容性方面很重要,尽管C++是有别于C的另一门语言,但许多程序还是必须与C交互,C++有两个重要
2014-07-25 16:09:56 2260
DrCom宽带神器[2014.3.18][最新版]支持所有5.2.0
2014-12-06
十六进制编辑器WinHex
2013-11-18
Hello Windows工程代码
2013-10-13
va_x_setup1827破解版(通用到vs2010)
2013-09-26
锐捷无线共享助手,完美版
2013-09-20
commons-logging .jar
2013-09-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人