- 博客(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件事
2015-05-05
装了mac 的fiddler,电脑配置就被修改了
2015-06-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人