摘要:
当我们使用C的库函数读取文件时,会有文本模式和二进制模式两种读取模式。一些传输数据的协议比如TFTP、FTP也有文本和二进制模式的区分。既可以使用文本模式也可以使用二进制模式时,尽量使用二进制模式。文本模式和二进制模式读取文件时,差别主要是在回车换行的处理上,不同系统对回车换行的处理不一致。CR:Carriage Return,0X0D,“/r”LF:Line Feed,0X0A,“/n”Dos和windows采用回车+换行(CR+LG)表示下一行UNIX采用换行符(LF)表示下一行MAC机采用回车符(CR)表示下一行Unix、Linux的C的库函数处理文件时不区分文本和二进制,但是Windo 阅读全文
摘要:
编者按:2008年8月4日,StackOverflow 网友 Bert F 发帖提问:哪本最具影响力的书,是每个程序员都应该读的?“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本, 你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。”很多程序员响应,他们在推荐时也写下自己的评语。 以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 10的书。其实除了前10本之外,推荐数前30左右的书籍都算经典,笔者整理编译这个问答贴,同时摘译部分推荐人的评语。下面就按照各本书的推荐数排列。1、《代码大全》 史蒂夫·迈克康奈尔推荐数:1684“ 阅读全文
摘要:
Android 资源(resource)学习小结运用Android SDK进行UI开发时,虽然也可以使用纯代码来完成,但是那种方法对我这种刚学习Android对API还不懂的人来说,能进行类似VB、MFC一样图形化开发自然是最合适不过的。幸好Android也提供了这种方式,在Android工程文件中专门有个res目录用于存放资源,该目录下的资源可以进行可视化的编辑,编写好的资源通过AAPT(Android AssetPackaging Tool)工具自动生成gen目录下的R.java资源索引文件,之后在Java代码和XML资源文件中就可以利用索引来调用资源了。Android提供了如此便利的资源 阅读全文
摘要:
很简单,在startActivity后,调用overridePendingTransition方法,例如,实现淡入淡出的效果如下:view plainIntent i =newIntent(StartActivity.this,MainTab.class);StartActivity.this.startActivity(i);overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);由左向右滑入的效果改变一下参数即可,view plainoverridePendingTransition(android 阅读全文
摘要:
在res/drawable文件夹新增一个文件,此文件设置了图片的触发状态,你可以设置 state_pressed,state_checked,state_pressed,state_selected,state_focused,state_enabled 等几个状态:android:state_pressedBoolean. "true" if this item should be used when the object is pressed (such as when a button is touched/clicked); "false" if 阅读全文
摘要:
你是否曾在检查代码时碰到一条在你看来多余的注释?在代码中使用注释的目的是提升代码的可读性,以让那些非原始代码开发者能更好地理解它们。我甄别出5类让我不胜其扰的注释及5类生成它们的程序员。我希望读过本篇之后,你不会与他们一样坠入同一条河流。作为一项挑战,你不妨把写这5类注释的程序员与5类程序员[英文]作一下匹配。1. 骄傲型程序员01publicclassProgram02{03staticvoidMain(string[] args)04{05string message ="Hello World!";// 07/24/2010 Bob06Console.WriteLin 阅读全文
摘要:
转自:http://my.oschina.net/zhangqingcai/blog/30348写过Android程序的都知道Activity中有一个名称叫onCreate的方法。该方法是在Activity创建时被系统调用,是一个Activity生命周期的开始。可是有一点容易被忽视,就是onCreate方法的参数saveInstallState。因为在一般的程序开发中,很少用到这个参数。onCreate方法的完整定义如下:public void onCreate(Bundle saveInstallState){super.onCreate(saveInstallState);}从上面的代码可 阅读全文
摘要:
说到字符编码,不得不说ASCII码的简史。计算机一开始发明的时候是用来解决数字计算的问题,后来人们发现,计算机还可以做更多的事,例如文本处理。但由于计算机只识“数”,因此人们必须告诉计算机哪个数字来代表哪个特定字符,例如65代表字母‘A’,66代表字母‘B’,以此类推。但是计算机之间字符-数字的对应关系必须得一致,否则就会造成同一段数字在不同计算机上显示出来的字符不一样。因此美国国家标准协会ANSI制定了一个标准,规定了常用字符的集合以及每个字符对应的编号,这就是ASCII字符集(Character Set),也称ASCII码。当时的计算机普遍使用8比特字节作为最小的存储和处理单元,加之当时用 阅读全文
摘要:
你是否被人问过这样一个经典的面试问题,“五年内你对自己有什么规划?”当被问到时,我的脑子里总会回放一段1984年《Twisted Sister》里的一个视频片段。我想让你告诉我说——不,这样更好,站起来,对着全班说–你今后打算干什么?你想当摇滚明星,这很自然!或者至少要成为一名明星级程序员。这种问题一般不会得到一个很严肃的回答——就像另外一个毫无新意且充满压抑的问题,“你最大的弱点是什么?”弱点是有时候太过摇滚,可能会伤着无辜的旁观者。但我却不这么想,我认为这是一些比较严肃的问题,值得我们认真的思考一下。并不是给面试官做好事,而是为你自己的将来。“五年内你对自己有什么规划?”,这个问题通常会招 阅读全文
摘要:
布局文件是:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" ><Bu 阅读全文
摘要:
1、如果是windows7,那么"开始-->所有程序-->Android SDK Tools-->右键SDK Manager-->以管理员身份运行(A)"2、在SDK Manager窗口中,Tools-->Options...-->打开Settings 1) 在Misc下选中Force https://...sources to be fetched using http://...(原来默认使用https,现在强制使用http)3、打开hosts文件:Windows在C:\WINDOWS\system32\drivers\etc目录下, 阅读全文
摘要:
起步本章介绍开始使用 Git 前的相关知识。我们会先了解一些版本控制工具的历史背景,然后试着让 Git 在你的系统上跑起来,直到最后配置好,可以正常开始开发工作。读完本章,你就会明白为什么 Git 会如此流行,为什么你应该立即开始使用它。1.1 关于版本控制什么是版本控制?我真的需要吗?版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。在本书所展示的例子中,我们仅对保存着软件源代码的文本文件作版本控制管理,但实际上,你可以对任何类型的文件进行版本控制。如果你是位图形或网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本(这或许是你非常渴望拥有的功能)。采用版本 阅读全文
摘要:
自从sina微博oauth2出来以后, 第三方集成开发简单了很多. Oauth2不像oauth1一样需要后台httpclient请求那么麻烦, 一切都可以在前台使用ajax实现了. 很多人觉得蹊跷, 对于一个第三方应用, 如何不走后台,而在前台使用ajax, 来获取access token? 又如何向sina发起get或post请求? 这其中最难解决的问题当属跨域问题. 这篇文章将彻底解决这些疑问.OAuthOAuth为一种授权认证机制. 它牵扯到服务提供方(sina weibo), 用户, 第三方应用(比如糗事百科). 第三方应用想方便用户可以在它的应用里面直接访问自己的weibo信息,还可 阅读全文
摘要:
本文由 OSChina 译自7 Python Libraries you should know about在我多年的 Python 编程经历以及在 Github 上的探索漫游过程中,我发掘到一些很不错的 Python 开发包,这些包大大简化了开发过程,而本文就是为了向大家推荐这些开发包。请注意我特别排除了像SQLAlchemy和Flask这样的库,因为其实在太优秀了,无需多提。下面开始:1.PyQuery(with lxml)安装方法 pip install pyqueryPython 解析 HTML 时最经常被推荐的是Beautiful Soup,而且它的确也表现很好。提供良好的 Pyth 阅读全文
摘要:
代码审查(Code Review)是软件开发中常用的手段,和QA测试相比,它更容易发现和架构以及时序相关等较难发现的问题,还可以帮助团队成员提高编程技能,统一编程风格等。1. 代码审查要求团队有良好的文化团队需要认识到代码审查是为了提高整个团队的能力,而不是针对个体设置的检查“关卡”。“A的代码有个bug被B发现,所以A能力不行,B能力更好”,这一类的陷阱很容易被扩散从而影响团队内部的协作,因此需要避免。另外,代码审查本身可以提高开发者的能力,让其从自身犯过的错误中学习,从他人的思路中学习。如果开发者对这个流程有抵触或者反感,这个目的就达不到。2. 谨慎的使用审查中问题的发现率作为考评标准在代 阅读全文
摘要:
导语:一般都通过什么途径,在北京有什么找书的地方推荐?如果是通过网络,比如豆瓣,各位又是怎么利用豆瓣找书的?假如说想读互联网方面的书,大家有什么找书的方法可以推荐?张佳玮我有一个很狡猾的主意:找个自己喜欢的作者,然后从他的书里挖他喜欢提到的人。比如,我第一次知道卡尔维诺、奥威尔、马尔库塞、杜拉斯这些名字,是我小时候读王小波时看到的。比如,我第一次知道胡安 鲁尔福、科塔萨尔,都是打马尔克斯那儿知道的。我第一次知道菲茨杰拉德、钱德勒和卡佛,是从村上春树那儿。我知道有些作者特别慷慨,会把自己的宝库敞开。你去读中国诸家《文论》、《诗话》里被夸的名字——随便举些,比如《诚斋诗话》、《随园诗话》、《人间词 阅读全文
摘要:
我们每天都在使用互联网,我们电脑上的数据是怎么样通过互联网传输到到另外的一台电脑上的呢?把自己的理解写一下,可能有很多细节还没有能的很清楚!希望在以后可以使之更加的完善!有不对的地方还请指正. 我们知道现在的互联网中使用的TCP/IP协议是基于,OSI(开放系统互联)的七层参考模型的,(虽然不是完全符合)从上到下分别为 应用层 表示层 会话层 传输层 网络层 数据链路层和物理层。其中数据链路层又可是分为两个子层分别为逻辑链路控制层(Logic Link Control,LLC )和介质访问控制层((Media Access Control,MAC )也就是平常说的MAC层。LLC对两个节点中的 阅读全文
摘要:
网上搜索了一下,总结了如下答案. 1.二层交换机自身的MAC地址是可有可无的.二层交换机可分为"可网管"和"不可网管"两种类型,对于"可网管"的交换机,我们可以对其进行参数配置;而"不可网管"交换机,则不能对其进行配置.因为二层交换机只是用来转发数据帧,不对帧进行拆封打包,所以对转发数据来说,自身的MAC地址是无用的.但是有时候我们需要对交换机进行配置管理,这也就是说我们需要与交换机进行通信,此时它就需要一个MAC地址,相应此时的交换机就相当于平时通信的一台主机功能而已. 2.二层交换机如果有MAC地址的话,也有可 阅读全文
摘要:
周末天气不好,只能宅在家里,于是就顺便看了一下Go语言,觉得比较有意思,所以写篇文章介绍一下。我想写一篇你可以在乘坐地铁或公交车上下班时就可以初步了解一门语言的文章。所以,下面的文章主要是以代码和注释为主。只需要你对C语言,Unix,Python有一点基础,我相信你会在30分钟左右读完并对Go语言有一些初步了解的。Hello World文件名 hello.go1234567package main //声明本文件的package名import "fmt" //import语言的fmt库——用于输出func main() {fmt.Println("hello wo 阅读全文
摘要:
导语:某些习惯对你的人品无伤大雅,然而,作为员工,它们却会对你产生相当负面的影响,有时甚至还会害得你丢掉工作。人非圣贤,谁还没有几个坏习惯呢,比如爱拖延、喜八卦或是不守时等等,这些习惯对你的人品无伤大雅,然而,作为员工,它们却会对你产生相当负面的影响,有时甚至还会害得你丢掉工作。以下就是能令你丢掉饭碗的14种坏习惯:1、拖延症。“拖沓会严重干扰你的工作进程,”布鲁克斯说:“如果你信奉‘拖到最后才能做到最好’,或是习惯于不拖到截止前几天(或是几小时)绝不开始动手做事的话, 你很有可能没意识到这样的工作方式对同事有着怎样的影响”,如果因你的拖沓而导致别人也不得不跟着你在最后一分钟拼命赶工的话,你就 阅读全文