阅读小记3(《C编程专家》)】的更多相关文章

gets()不检查缓冲区空间.多余的字符将覆盖原来的栈的内容. fgets()的第二个參数说明最大读入的字符数. 假设这个參数值为n,那么fgets()就会读取最多n-1个字符或读完一个换行符为止.两个条件满足随意一个结束. fgets()读取到换行符,就会把它存到字符串里,而不是想gets()那样丢弃它. fgets()的第三个參数说明读哪个文件.从键盘上读数据时,能够使用stdin(代表standard input)作为參数. char line[512]; fgets(line, size…
近来在oschina上看到一个很火的java 即时通讯项目talent-aio,恰巧想了解一下这方面的东西,就阅读了一下项目的源码,这里对自己阅读源码后的一些心得体会做一下备忘,也希望能够对其他项目中需要用到即时通讯功能的人有所帮助. 1 talent-aio是什么 talent-aio是基于java aio(JSR 203 )实现的即时通讯框架.对比与NIO,JSR 203 习惯上称为 NIO.2,主要包括新的异步io机制.在talent-aio中,server与client的实现主要使用了A…
内容提要: 本书介绍的是黑客编程的基础技术,涉及用户层下的Windows编程和内核层下的Rootkit编程. 全书大纲: 第一篇 用户篇 平常计算机上使用的应用程序,都运行在用户层上,属于用户程序.在Windows系统上开发的用户程序,本质上是通过调用WIN32 API函数来实现程序功能的.WIN32 API是一些预先定义的函数,目的是提升开发人员的开发效率,无需访问源码或理解内部工作机制的细节. 与普通的用户程序一样,病毒木马也是通过调用WIN32 API函数来实现窃取用户数据的.实质上,它也…
目录 第一章 Java多线程技能 (待续...)…
1.\yii\base\object 设置了get/set属性...使用getName()获取属性名..构造函数中使用config初始化属性 2.\yii\base\Component 继承自Object额外拥有behaviors和events属性 get,会比object多查找自己的behaviors中的属性 set,on开通的会绑定事件,as开头的会添加行为,最后会查找所有的behaviors,并设置属性 __call 会调用所有behaviors中是否有该方法 event on 添加事件,…
high performance web sites 1,减少HTTP请求数 (1)图片加载使用image maps 或者 CSS Sprite (2)使用非http协议,如(ftp:, file: mailto: data:URL等,已被IE废弃) (3)合并css和js代码文件 2,使用内容分发网络(CDN:content delivery network) 当然使用cdn有优点也有缺点:成本高,不受控制,和其他客户竞争cdn带宽 3,增加expires头,控制缓存时间 (1)设置expir…
我们上一篇提到了talent-aio的四类Task:DecodeRunnable.HandlerRunnable.SendRunnable.CloseRunnable,并且分析了这些task的基类AbstractQueueRunnable.在这篇文章中,我们就来分析一下这几个task是如何相互协作来处理输入.输出数据以及客户端连接的. talent-aio 基础类介绍 在开始介绍前,我们需要先介绍几个talent-aio的基础类和接口,在处理输入输出的整个流程中,都需要用到它们.两个基础的类为:…
为何人人都这么着急? 信步走进任何一家书店,你会看到名为<如何在7天内学会Java>的书,还有各 种各样类似的书: 在几天内或几小时内学会Visual Basic, Windows, Internet等等,一眼望不到 尽头.我在Amazon 上做了如下的强力检索: pubdate: after 1992 and title: days and (title: learn or title: teach yourself) 得到了248个结果.前78个都是计算机类书籍(第79个是 Learn B…
作者 Peter Norvig 是计算机科学家,Google 的研究总监.在本文中,Peter Norvig会告诉你:为什么急功近利地学习软件开发技术是没效果滴? ================华丽的分割线================ 为啥都想速成? 随便逛一下书店,你会看到<7天自学Java>等诸如此类的N天甚至N小时学习Visual Basic.Windows.Internet的书.我用亚马逊网站的搜索功能,出版年份选1992年以后,书名关键词是:“天”.“自学”.“教你”,查到24…
本人是刚刚开始学习windows编程的,感觉看雪学院的大牛很NB.想找一些书籍来看学习学习,可是不知道看哪些书好.驱动,对菜鸟们来说真是一个很深奥的话题,所以 ,我找来了这篇文章供大家分享,以后大家发现什么好书就在楼下跟贴吧! 作者:Harry Meng 来源:互联网.也许我的阅读面过于狭小,书架里基本上都是Jeffrey Richter,Charles Petzold,侯捷老师以及潘爱民老师的书,这些书一直陪伴着我,并给我的编程工作带来了很大的帮助,希望我的推荐对你也有帮助. 现 在的计算机图…
当阅读各种和PHP相关的博客.Quora问题.Google+社区.资讯和杂 志的时候,经常会注意到在技术上出现两极分化的现象.问题均围绕在“我如何连接到一个MySQL数据库?”,或者是“我如何使得邮件系统能够每小时发送超 过一百万份电子邮件,在不引入一个新的服务器的前提下?”这样的范围内.       通过分析研究,可以根据对PHP的使用能力将应用者分为四类:初级.中级.专业和精英.   在极端情况下     使用PHP语言,初级者会学一些变量.include()包含文件.表单处理.还会学一些逻…
想要加强你的编程能力吗?想要提升你的 Java 编程技巧和效率吗? 不用担心.本文将会提供快速高效学习 Java 编程的 50 多个网站资源: 开始探索吧: 1.MKyong:许多开发者在这里可以找到带文字说明和图解的示例代码.这是一个探索各种框架的平台.不管是否用于商业使用,你都可以从这里下载免费的工具.前往 MKyong 2.Programmingbydoing:包含超过 100 篇文章,对具有争议的问题有数以百计地讨论,它是终极也是最佳的学习选择.前往 programbydoing 3.S…
为啥都想速成? 随便逛一下书店,你会看到<7天自学Java>等诸如此类的N天甚至N小时学习Visual Basic.Windows.Internet的书.我用亚马逊网站的搜索功能,出版年份选1992年以后,书名关键词是:“天”.“自学”.“教你”,查到248个结果,前78个是计算机类图书,第79个是<30天学孟加拉语>.我用“天”换成“小时”,结果更惊人,有多达253本书,前77本是计算机图书,第78是<24小时自学语法句式>.在前200名中,96%是计算机的书. 结论…
想要加强你的编程能力吗?想要提升你的 Java 编程技巧和效率吗? 不用担心.本文将会提供快速高效学习 Java 编程的 50 多个网站资源: 开始探索吧: 1.MKyong:许多开发者在这里可以找到带文字说明和图解的示例代码.这是一个探索各种框架的平台.不管是否用于商业使用,你都可以从这里下载免费的工具.前往 MKyong 2.Programmingbydoing:包含超过 100 篇文章,对具有争议的问题有数以百计地讨论,它是终极也是最佳的学习选择.前往 programbydoing 3.S…
每个人都想成为专家,但什么才是专家呢?这些年来,我见过两种被称为"专家"的人.专家一是指对语言中的每一个工具都了如指掌的人,而且无论是否有帮助,都一定要用好每一点.专家二也知道每一个语法,但他们对采用什么来解决问题比较挑剔,会考虑很多因素,包括与代码有关的和无关的. 你能猜猜我们想让哪位专家加入我们的团队吗?如果你说是专家二,那你猜对了.他们是专注于编写可读性好的 JavaScript 代码的开发人员,其他人可以理解和维护.他们能把复杂的事情简单化.但"可读性"很少…
深入了解下 go 中的 select 前言 1.栗子一 2.栗子二 3.栗子三 看下源码实现 1.不存在 case 2.select 中仅存在一个 case 3.select 中存在两个 case,其中一个是 default 发送值 接收值 4.多个 case 的场景 具体的实现逻辑 1.打乱 case 的顺序 2.找出已经 ready 的 case 3.case 都没 ready,且没有 default 4.唤醒后返回 channel 对应的 case 总结 参考 深入了解下 go 中的 se…
学习编程技术要点及方向亮点: 传统学习编程技术落后,应跟著潮流,要对业务聚焦处理.要Jar, 不要War:以小为主,以简为宝,集堆而成.去繁取简 Spring Boot,明日之春(future of Spring).集堆综合技术如 jHipster 是必然的软件开发途径前后端分离技术,跨域资源共享( CORS).提供Spring Boot1.3.6+Angular1.4.0UI-Route 0.40+Mongodb 2.6.3 CRUD学习程式例子.前言 一般大专的软件技术课程是这样的,有系统地…
花了一段时间看完了<UNIX编程艺术>,但不是看得特别仔细,尤其是后面作者通过对工具的讲解来阐述其设计思想,因为很多工具能未曾接触过,难免就会产生一些乏味的感觉.其实就像译者姜宏在译序里说的一样,本书并不是什么UNIX编程手册,而是对UNIX历史上众多成功经验和失败教训的一个总结.而且在读这本书的过程中,你会发现很多地方并没有什么绝对的对与错,我想这也是作者ESR的意图之一,让读者自己去思考,才能从中掌握一些技巧.相对来说,阅读这类描述编程思想的书籍比阅读充满代码的指导类书籍要困难一些,但也要…
本系列的博客是由本人在阅读<JavaScript DOM编程艺术>一书过程中做的总结.前面的偏理论部分都是书中原话,觉得有必要记录下来,方便自己翻阅,也希望能为读到本博客的人提供一些帮助,所以 如果您也看过这本书,希望不要喷小的"抄袭",其实我也懒得敲这些文字也想简单粗暴地上代码,但是只有实践没有理论不容易自己理解,为避免误导,该"抄"的地方还是要"抄"的,哈哈~~ 一.JavaScript的起源 JavaScript是Netscap…
阅读<Java并发编程实践>一书后整理的思维导图.…
免费的编程中文书籍索引 免费的编程中文书籍索引,欢迎投稿. 国外程序员在 stackoverflow 推荐的程序员必读书籍,中文版. stackoverflow 上的程序员应该阅读的非编程类书籍有哪些? 中文版 github 上的一个流行的编程书籍索引 中文版 感谢 @siberiawolf 使用 Bootstrap 开发了网页版,地址:http://siberiawolf.com/free_programming/index.html 参与交流 欢迎大家将珍藏已久的经典免费书籍共享出来,您可以…
<unix网络编程>一书中的代码并不是能直接运行,有时候需要结合各方面的知识来解决,大家在这本书的时候,一定要把代码都跑通,不难你会错过很多学习的机会! 1.问题描述 本人在阅读<UNIX网络编程>中,发现运行书中服务器端程序时,返回bind error:Address already in use! 服务器端代码如下: #include "unp.h" #include <time.h> int main(int argc, char **argv…
本文在 Java线程面试题 Top 50的基础上,对部分答案进行进行了整理和补充,问题答案主要来自<Java编程思想(第四版)>,<Java并发编程实战>和一些优秀的博客,当然还有我个人的拙见,添加部分大多用不同颜色进行了区别以方便阅读. 前言 不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题.Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎.大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发.调试.…
1.前言 标题虽然是为了解释有了 IP 地址,为什么还要用 MAC 地址,但是本文的重点在于理解为什么要有 IP 这样的东西.本文对读者的定位是知道 MAC 地址是什么,IP 地址是什么. (本文同步发布于:http://www.52im.net/thread-2067-1-1.html) 2.关于作者   翟志军,个人博客地址:https://showme.codes/,Github:https://github.com/zacker330.感谢作者的原创分享. 作者的另一篇<即时通讯安全篇(…
本文原作者:“水晶虾饺”,原文由“玉刚说”写作平台提供写作赞助,原文版权归“玉刚说”微信公众号所有,即时通讯网收录时有改动. 1.引言 好多小白初次接触即时通讯(比如:IM或者消息推送应用)时,总是不能理解Web短连接(就是最常见的HTTP通信了)跟长连接(主要指TCP.UDP协议实现的socket通信,当然HTML5里的Websocket协议也是长连接)的区别,导致写即时通讯这类系统代码时往往找不到最佳实践,搞的一脸蒙逼. 本篇我们先简单了解一下 TCP/IP,然后通过实现一个 echo 服务…
本文引用了自简书作者“涤生_Woo”的文章,内容有删减,感谢原作者的分享. 1.前言 HTTP(全称超文本传输协议,英文全称HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法. 对于移动端即时通讯(尤其IM应用)来说,现今主流的数据通信总结下来无外乎就是长连接+短连接的方式,而短连接在应用上讲就是本文将要介绍的HTTP协议的应用,而而正确地理解HTTP协…
作为业务开发人员,能够在工作中用到的技术其实不多.虽然平时老是说什么,多线程,并发,注入,攻击!但是在实际工作中,这些东西不见得用得上.因为,我们用的框架已经把这些事做掉了. 比如web开发,外面有大量的请求进来,按理说,我们应该考虑并发问题.但其实,spring接到请求,分配到controller之后,就已经是线程安全的了,所以我们要做的就是,从controller开始,到最后请求响应结束,保证线程安全即可. 多线程好像有很多东西需要注意,阅读<Java 多线程编程核心技术>后,做个总结,总…
前言:在阅读<Java多线程编程核心技术>过程中,对书中程序代码Thread.currentThread()与this的区别有点混淆,这里记录下来,加深印象与理解. 具体代码如下: public class MyThread09 extends Thread { public MyThread09() { System.out.println("MyThread09 Constructor begin"); System.out.println("Thread.c…
摘要:通过一次并发处理数据集的Java代码重构之旅,展示函数式编程如何使得代码更加精练. 难度:中级 基础知识 在开始之前,了解"高阶函数"和"泛型"这两个概念是必要的. 高阶函数就是接收函数参数的函数,能够根据传入的函数参数调节自己的行为.类似C语言中接收函数指针的函数.最经典的就是接收排序比较函数的排序函数.高阶函数不神秘哦!在Java8之前,就是那些可以接收回调接口作为参数的方法:在本文中,那么接收 Function, Consumer, Supplier 作…
  准备开发用数字证书 一般学习和开发调试场合,不会随便使用正式的SSL服务器证书的私钥.由于服务器验证对于SSL来说是必须的,SSL服务器端必须有拥有一个服务器 证书,即能够访问到证书的私钥.对于要求客户端验证的SSL,对客户端有着同样的要求,客户端需要拥有与自己声称的身份对应的数字证书. Windows SDK中有一个制作测试开发用的临时数字证书的命令行工具:makecert.exe.这一工具也被包含在Visual Studio中.打开SDK或者Visual Studio的命令行提示窗口,输…