自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(542)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

翻译 Thinking in States

Thinking in StatesNiclas Nilsson PEOPLE IN THE REAL WORLD HAVE A WEIRD RELATIONSHIP WITH STATE. This morning, I stopped by the local store to prepare for another day of con- verting caffeine to code.

2015-07-11 07:24:14 1233

翻译 Testing Is the Engineering Rigor of Software Development

Test for Required Behavior, Not Incidental BehaviorKevlin Henney A COMMON PITFALL IN TESTING is to assume that exactly what an imple- mentation does is precisely what you want to test for. At first gl

2015-07-11 07:23:08 1188

翻译 Test While You Sleep (and over Weekends)

Test While You Sleep (and over Weekends)Rajith AttapattuRELAX. I am not referring to offshore development centers, overtime on week- ends, or working the night shift. Rather, I want to draw your attent

2015-07-10 13:53:36 1029

翻译 Test Precisely and Concretely

Test Precisely and ConcretelyKevlin Henney IT IS IMPORTANT TO TEST for the desired, essential behavior of a unit of code, rather than for the incidental behavior of its particular implementation. But

2015-07-10 13:52:52 1029

原创 iOS开发 - CoreLocation地理定位

简介在移动互联网时代,移动app能解决用户的很多生活琐事,比如 导航:去任意陌生的地方 周边:找餐馆、找酒店、找银行、找电影院在上述应用中,都用到了地图和定位功能,在iOS开发中,要想加入这2大功能,必须基于2个框架进行开发 Map Kit :用于地图展示 Core Location :用于地理定位2个热门专业术语 LBS :Location Based Service SoLoMo :

2015-07-09 11:36:49 2769

原创 Objective-C - NSObject常用方法

NSObject常用方法//用来判断对象中是否实现了某个方法(被封装在一个selector的对象里传递) -(BOOL) respondsToSelector: selector //用来判断对象中是否实现了某个方法. 和上面一个不同之处在于, 前面这个方法可以用在实例上,而此方法用在类上. +(BOOL) instancesRespondToSelector: selector -(id)

2015-07-07 15:14:29 1490

翻译 Test for Required Behavior, Not Incidental Behavior

Test for Required Behavior, Not Incidental BehaviorKevlin Henney A COMMON PITFALL IN TESTING is to assume that exactly what an imple- mentation does is precisely what you want to test for. At first gl

2015-07-07 15:07:33 883

翻译 Take Advantage of Code Analysis Tools

Take Advantage of Code Analysis ToolsSarah Mount THE VALUE OF TESTING is something that is drummed into software devel- opers from the early stages of their programming journey. In recent years, the r

2015-07-01 09:48:00 1117

翻译 Step Back and Automate, Automate, Automate

Step Back and Automate, Automate, AutomateCay HorstmannI WORKED WITH PROGRAMMERS WHO, when asked to produce a count of the lines of code in a module, pasted the files into a word processor and used its

2015-06-16 09:01:03 1322

翻译 Start from Yes

Start from YesAlex MillerRECENTLY, I WAS AT A GROCERY STORE, searching high and low for “edam- ame” (which I only vaguely knew was some kind of a vegetable). I wasn’t sure whether this was something I’

2015-06-16 09:00:20 1436

翻译 The Single Responsibility Principle

The Single Responsibility PrincipleRobert C. Martin (Uncle Bob)ONE OF THE MOST FOUNDATIONAL PRINCIPLES OF GOOD DESIGN IS: Gather together those things that change for the same reason, and separate tho

2015-06-11 08:58:36 1485

翻译 Simplicity Comes from Reduction

Simplicity Comes from ReductionPaul W. Homer“DO IT AGAIN…,” my boss told me as his finger pressed hard on the Delete key. I watched the computer screen with an all-too-familiar sinking feeling, as my c

2015-06-11 08:57:31 1437

翻译 Resist the Temptation of the Singleton Pattern

Resist the Temptation of the Singleton PatternSam SaaristeTHE SiNGLETON PATTERN SOLVES MANY OF YOUR PROBLEMS. You know that you only need a single instance. You have a guarantee that this instance is i

2015-06-06 08:07:45 1798

翻译 The Road to Performance Is Littered with Dirty Code Bombs

The Road to Performance Is Littered with Dirty Code BombsKirk PepperdineMORE OFTEN THAN NOT, performance tuning a system requires you to alter code. When we need to alter code, every chunk that is over

2015-06-06 08:07:08 1566

原创 iOS开发 -NSUserDefaults 轻量级快速存储

IOS提供了一个轻量级的快速数据存储方式:NSUserDefaults; 程序运行的时候从用户默认的数据库中读取程序的设置,同时NSUserDefaults的缓存避免了在每次读取数据时候都打开用户默认数据库的操作,所有数据都放在内存中,读写速度很快。NSUserDefaults是一个单例,在整个程序中只有一个实例对象,他可以用于数据的永久保存,而且简单实用,这是它可以让数据自由传递的一个前提,也是

2015-06-04 18:00:55 2399

翻译 Reinvent the Wheel Often

Reinvent the Wheel OftenJason P. SageJust use something that exists—it’s silly to reinvent the wheel…. HAVE YOU EVER HEARD THiS OR SOME VARiATiON THEREOF? Sure you have! Every developer and student pr

2015-06-04 10:23:51 1523

翻译 Read the Humanities

Read the HumanitiesKeith BraithwaiteiN ALL BUT THE SMALLEST DEVELOPMENT PROjECT, people work with people. In all but the most abstracted field of research, people write software for people to support t

2015-06-04 10:23:02 1444

原创 iOS开发 -"ASI"使用实例

ASI#import "ViewController.h"#import "ASIHTTPRequest.h"@interface HMViewController () <ASIHTTPRequestDelegate>@property (nonatomic, strong) ASIHTTPRequest *request;@end@implementation HMViewControll

2015-06-01 10:21:46 2479

原创 iOS开发 - HTTP终结者 "ASI"

ASI全称是ASIHTTPRequest,外号“HTTP终结者”,功能十分强大 基于底层的CFNetwork框架,运行效率很高 可惜作者早已停止更新,有一些潜在的BUG无人去解决 很多公司的旧项目里面都残留着它的身影,以前的很多iOS项目都是ASI + SBJson 会不会用ASI,可以算是检验是否为老牌iOS程序员的标准之一ASI的github地址 https://github.com/

2015-06-01 10:05:28 2763 2

翻译 Read Code

Read CodeKarianne BergWE PROGRAMMERS ARE WEiRD CREATURES. We love writing code. But when it comes to reading it, we usually shy away. After all, writing code is so much more fun, and reading code is ha

2015-05-30 08:51:54 2165 1

翻译 Put the Mouse Down and Step Away from the Keyboard

Put the Mouse Down and Step Away from the KeyboardBurk HufnagelYOU’VE BEEN FOCUSED FOR HOURS on some gnarly problem, and there’s no solution in sight. So you get up to stretch your legs or to hit the v

2015-05-30 08:51:18 1944 1

翻译 Put Everything Under Version Control

Put Everything Under Version ControlDiomidis SpinellisPUT EVERYTHiNG iN ALL YOUR PROjECTS UNDER VERSiON CONTROL. The resources you need are there: free tools like Subversion, Git, Mercurial, and CVS;

2015-05-29 09:52:28 1747

翻译 The Professional Programmer

The Professional ProgrammerRobert C. Martin (Uncle Bob)WHAT iS A PROFESSiONAL PROGRAMMER? The single most important trait of a professional programmer is personal responsibility. Professional programm

2015-05-29 09:51:54 1610

原创 iOS开发 - 最常用控件 UITableView详解

UITableView掌握点设置UITableView的dataSource、delegate UITableView多组数据和单组数据的展示 UITableViewCell的常见属性 UITableView的性能优化(cell的循环利用) 自定义Cell如何展示数据UITableView需要一个数据源(dataSource)来显示数据 UITableView会向数据源查询一共有多少行数据

2015-05-27 13:58:20 2905 3

翻译 Prevent Errors

Prevent ErrorsGiles ColborneERROR MESSAGES are the most critical interactions between the user and the rest of the system. They happen when communication between the user and the system is near the bre

2015-05-27 13:15:31 1541

翻译 Prefer Domain- Specific Types to Primitive Types

Prefer Domain- Specific Types to Primitive TypesEinar LandreON SEPTEMBER 23, 1999, the $327.6 million Mars Climate Orbiter was lost while entering orbit around Mars due to a software error back on Eart

2015-05-27 13:14:34 1688

翻译 Own (and Refactor) the Build

Own (and Refactor) the BuildSteve BerczukiT iS NOT UNCOMMON for teams that are otherwise highly disciplined about coding practices to neglect build scripts, either out of a belief that they are merely

2015-05-24 08:40:31 1676

翻译 Pair Program and Feel the Flow

Pair Program and Feel the FlowGudny Hauknes, Kari Røssland, and Ann Katrin GagnatiMAGiNE THAT YOU ARE TOTALLY ABSORBED by what you are doing— focused, dedicated, and involved. You may have lost track o

2015-05-24 08:39:49 1449

翻译 Only the Code Tells the Truth

Only the Code Tells the TruthPeter SommerladTHE ULTiMATE SEMANTiCS OF A PROGRAM is given by the running code. If this is in binary form only, it will be a difficult read! The source code should, howeve

2015-05-23 08:29:13 1180 1

翻译 One Binary

One BinarySteve Freemani’VE SEEN SEVERAL PROjECTS where the build rewrites some part of the code to generate a custom binary for each target environment. This always makes things more complicated than

2015-05-23 08:28:10 1060

原创 iOS开发 - UIPageControl实现分页图片轮播器

分页相关属性只要将UIScrollView的pageEnabled属性设置为YES,UIScrollView会被分割成多个独立页面,里面的内容就能进行分页展示一般会配合UIPageControl增强分页效果,UIPageControl常用属性如下 一共有多少页@property(nonatomic) NSInteger numberOfPages;当前显示的页码@property(nonato

2015-05-22 09:31:25 3639

原创 iOS开发 -UIScrollView详解

UIScrollView移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限 当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容 普通的UIView不具备滚动功能,不能显示过多的内容 UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容举例:手机上的“设置”、其他示例程序UIScrollView的用法将

2015-05-22 09:19:27 3034 4

原创 News of the Weird: Testers Are Your Friends

News of the Weird: Testers Are Your FriendsBurk HufnagelWHETHER THEY CALL THEMSELVES Quality Assurance or Quality Con- trol, many programmers call them Trouble. In my experience, programmers often have

2015-05-22 09:03:42 1119

原创 Missing Opportunities for Polymorphism

Missing Opportunities for PolymorphismKirk Pepperdine POLYMORPHiSM iS ONE OF THE GRAND iDEAS that is fundamental to OO. The word, taken from Greek, means many (poly) forms (morph). In the con- text of

2015-05-22 09:02:10 1025

翻译 A Message to the Future

A Message to the FutureLinda RisingMAYBE iT’S BECAUSE MOST OF THEM ARE SMART PEOPLE, but in all the years I’ve taught and worked side by side with programmers, it seems that most of them thought that s

2015-05-21 09:35:57 1208

翻译 Message Passing Leads to Better Scalability in Parallel Systems

Message Passing Leads to Better Scalability in Parallel SystemsRussel WinderPROGRAMMERS ARE TAUGHT from the very outset of their study of computing that concurrency—and especially parallelism, a specia

2015-05-21 09:35:15 1051

原创 iOS开发 - 文件压缩与解压缩

第三方解压缩框架——SSZipArchive下载地址:https://github.com/samsoffes/ssziparchive 注意:需要引入libz.dylib框架 // UnzippingNSString *zipPath = @"path_to_your_zip_file";NSString *destinationPath =@"path_to_the_folder_wher

2015-05-21 09:27:44 7697

原创 iOS开发 - 封装文件上传工具类

文件上传的步骤1.设置请求头 * 目的:告诉服务器请求体里面的内容并非普通的参数,而是包含了文件参数[request setValue:@"multipart/form-data; boundary=maljob" forHTTPHeaderField:@"Content-Type"];2.设置请求体 * 作用:存放参数(文件参数和非文件参数) 1> 非文件参数[body appendData

2015-05-21 09:10:01 3766

原创 Linux - 可视化菜单界面设计

优化屏幕刷新问题 刷新多个窗体需要一些繁琐,在一个慢速的链接上,屏幕的绘制相当的慢 目标就是要尽量减少要在屏幕上的绘制的字符数基本函数int wnoutrefresh(WINDOW *window_ptr);决定哪些字符需要发送到屏幕,但是并不实际的发送int doupdate(void);向终端发送实际的改变说明 如果只是简单地调用wnoutrefresh,其后立即调用doupdat

2015-05-20 09:50:54 6764

原创 Linux - curses函数库

curses库基本概念控制字符输入/输出的格式 termios缺点,转义处理 curses优点 提供与终端无关的字符处理方式 可以管理键盘 支持多窗体管理curses vs. ncurses源文件包含头文件curses.h编译时加 –lcurses选项gcc program.c −o program −lcursesgcc −I/usr/include/ncurses progra

2015-05-20 09:31:21 2443

架构师应该知道的97件事

The O’Reilly logo is a registered trademark of O’Reilly Media, Inc. 97 Things Every Software Architect Should Know and related trade dress are trademarks of O’Reilly Media, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are clarified as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publishers and au- thors assume no responsibility for errors and omissions, or for damages resulting from the use of the information contained herein.

2015-05-05

BaseJava笔记

培训期间的所有java阶段笔记,可以帮助快速入门,和复习找工作之用....

2014-12-09

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

TA关注的人

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