自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

陈思宇个人主页 欢迎大家讨论学习

剑气之所在,草木皆利刃

  • 博客(119)
  • 资源 (11)
  • 收藏
  • 关注

原创 我对一个好的产品经理的理解

我认为一个好的产品经理应该具备以下几项能力。(1)判断力,要挖掘用户的真实需求,通过市场分析以及数据分析真实掌握用户的痛点,进行针对性的产品设计。(2)执行力,在需求出来以后,应该快速做出原型,需求文档,与技术,设计沟通,跟进整个产品快速落地,测试上线并交付。(3)学习能力,互联网时代技术各方面日新月异,作为产品经理必须跟上这个时代的步伐,否则就会被淘汰。(4)沟通能力和演讲能力,...

2019-01-02 18:05:55 1192

原创 一份“优雅”的需求文档是如何书写

我认为一份需求文档应包含一下几部分即可:(1)修订历史(说明修订时间以及修订人员)(2)产品概况(其中可以包括背景,产品结束,以及使用场景)(3)产品架构(4)全局说明(包含每一个操作页面,以及页面逻辑和交互逻辑)这样即可“优雅”地说明全部问题,以下实例:XX需求说明书1.修订历史日期 版本 说明 作者 2016-11-02 3.3.2...

2019-01-02 10:58:50 1104

原创 需求分析关键是在做什么?

产品经理最多的就是需求分析,从客户那边获取需求后,分析需求的可行性、通用性以及实现方案,然后写需求说明书,画原型,跟开发讲解需求。其实需求分析的主要流程是这样的:首先接到一个项目的时候,应该先去分析这个项目有什么干系人,干系人的特点,以及业务背景和行业背景,方便后续的沟通。接下来就是和需求方进行用户访谈,详细了解业务,启用引导式的方法尽可能多地挖掘对方的需求,同时作出会议纪要和对方确认。之后就...

2019-01-02 18:16:51 1647

原创 iOS类重要的两个方法 load 和 initialize

load:当类被引用进程序的时候会执行这个函数。在一个程序开始运行之前(在main函数开始执行之前),在库开始被程序加载,load函数就会开始被执行。我们开发的程序都可以认为是一个库,但是库又不会独立存在(我们的程序还会引用其他库,也可能被其他函数引用),所以库的初始化顺序可以如下:1初始化我们引用的库2执行我们自己库的Objective-C的load函数3执行C++和

2016-12-20 20:31:18 1986

原创 iOS添加圆角好方法

一般我们都能想到通过layer来添加圆角,其实那是比较消耗性能的,尤其是列表cell里面控件使用下面是一种比较好的方法UIGraphicsBeginImageContextWithOptions(image.size, NO, image.scale); [[UIBezierPath bezierPathWithRoundedRect:RECT cornerRadius:RADI

2016-12-15 09:22:01 421

原创 weak和assign的区别

weak和assign都是引用计算不变,两个的差别在于,weak用于object type,就是指针类型,而assign用于简单的数据类型,如int BOOL 等。assign看起来跟weak一样,其实不能混用的,assign的变量在释放后并不设置为nil(和weak不同),当你再去引用时候就会发生错误,崩溃,EXC_BAD_ACCESS.

2016-12-14 16:50:29 965

原创 NSSting由中文转换为拼音字符串的正确做法

最近做项目的时候需要用到这个功能,网上比较修行的第三方框架,已经在iOS10中转换失败,以下是一种成功的做法,有更好的方法可以提出- (NSString *) phonetic:(NSString*)sourceString {NSMutableString *source = [sourceString mutableCopy];CFStringTransform((__bridge

2016-12-14 16:01:51 700

原创 __weak 与 __block的区别理解

__weak 与 __block的区别理解__block对象在block中是可以被修改、重新赋值的如果局部变量是数组或者指针的时候只复制这个指针,两个指针指

2016-12-14 09:22:39 461

原创 iOS用copy修饰Block

Block的三个类型:1._NSConcreteGlobalBlock,全局的静态block,不会访问外部的变量。就是说如果你的block没有调用其他的外部变量,那你的block类型就是这种。2._NSConcreteMallocBlock 保存在堆中的 block,当引用计数为 0 时会被销毁。3._NSConcreteStackBlock 保存在栈中的 bl

2016-12-12 14:57:05 1523

原创 MethodSwizzling

利用OC的Runtime原理,我们可以实现MethodSwizzling把一个我们未知其实现原理的方法进行扩展或者替换掉+ (void)load{// 源方法--原始的方法// 目的方法--我们自己实现的,用来替换源方法 static dispatch_once_t onceToken; // MethodSwizzling代码只需要在类加载时调用一次,并且需要线程

2016-12-04 16:42:08 497

原创 使用自制.a静态库报错Unknown class XXViewController in Interface Builder file的解决方法

这个报错其实一般是与你的资源文件IB文件无关,在你需要使用到这个库的Target的”Build Setting”–>“Other Link Flags”中加上 -all_load 和 -ObjC 这两个标识编译立刻通过

2016-11-24 10:25:53 480

原创 iOS类别可以扩展类的属性

一般来说类目用于扩展类的方法,不可以扩展属性,但是通过runtime是可以实现类属性的扩展/** button的name */@property (nonatomic,copy) NSString *name;static void *strKey = &strKey;- (void)setName:(NSString *)name{ objc_setAssociatedOb

2016-11-20 15:33:52 1143

原创 iOS KVO的运用理解

KVO,即key-value-observing,利用一个key来找到某个属性并监听其值得改变。Key-value observing is a mechanism that allows objects to be notified of changes to specified properties of other objects.具体操作如下://让对象b监听对象a的name属

2016-11-17 09:52:36 455

原创 iOS KVC运用理解

KVC也就是key-value-coding,即键值编码,通常是用来给某一个对象的属性进行赋值特点是可以对类的私有属性进行赋值[p setValue:@100 forKeyPath:@"weight"];另外可以在字典构建模型中,简化操作- (instancetype)initWithDict:(NSDictionary *)dict{ if (self = [super

2016-11-17 09:16:30 539

原创 Cocoapods 需更换源,taobao Gems 源已停止维护

gem sources --remove http://ruby.taobao.org/gem sources -a https://gems.ruby-china.org/即可正常运作,最新源由腾讯云提供服务

2016-11-11 09:22:12 3476

原创 mac os 10.11 安装Cocoapods失败解决方案

最近出现的错误如下ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/xcodeproj具体解决方法:sudo gem install -n /usr/local/bin cocoapods

2016-11-10 16:15:58 625

原创 iOS10:CallKit的黑名单以及标示号码功能实践

CallKit 这个开发框架,是在iOS10新增开放,提供了很多关于IOS电话功能权限,其中可以进行电话号码的标示以及黑名单拦截功能创建这个功能的流程如下

2016-11-09 20:56:51 2649

转载 Cornerstone详细操作

1、⾸首先打开Cornerstone2、然后如下图所⽰示:3、选择对应的仓库,如下图所⽰示4、然后Import完成之后,就把本地的⽂文件提交到SVN服务器上了,如下图所⽰示,另外如果你想要使⽤用SVN进⾏行版本控制的话,那么需要把服务器上的⽂文件Check Out到本地,

2016-11-09 11:26:22 471

原创 关于NSURLSession内存泄露解决方案

前些天,在使用NSURLSession的时候发生了严重的内存泄露问题,主要是使用Xcode里面的Leak工具发现的,然后查看网上解决方法说,必须加入以下代码- (void)dealloc { [self.session invalidateAndCancel]; } 查看Leak,解决未果,经试验,必须在使用Session后立即将其解放,才能解决问题

2016-11-09 09:39:59 2861

原创 iOS球形旋转动画

CGPathRef aPath; aPath = CGPathCreateWithEllipseInRect(CGRectMake(0, 0, 200, 200), NULL); [CATransaction begin]; CAKeyframeAnimation * arcAnimation = [CAKeyframeAnimation animatio

2016-11-07 11:01:39 2217

原创 iOS 旋转动画

CABasicAnimation* rotationAnimation; rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"]; rotationAnimation.toValue = [NSNumber numberWithFloat: M_PI * 2.0 ];

2016-11-07 10:39:35 275

原创 CALayer的阴影添加以及抖动效果构建

#define angle2Radian(angle) ((angle)/180.0*M_PI) CALayer *cyanLayer = [CALayer layer]; cyanLayer.frame=CGRectMake(100, 100, 200, 200); cyanLayer.backgroundColor=[UIColor redColor].CGColor;

2016-11-07 10:28:58 694

原创 OC效率最高的排序方法

//////////处理数组////////// NSArray *arrayM = @[@"1",@"2",@"3",@"4"]; for (id obj in arrayM) { NSLog(@"%@",obj); } //////////处理字典////////// NSDictionary *dictM = @{@"1":@"one

2016-11-05 17:24:00 843

原创 iOS应用上下出现黑边解决方法

老项目运行时会出现上下有黑边的情况只需要new file- 创建一个lacunch的sb,并选择为启动页面即可

2016-11-03 14:28:51 2108

原创 Xcode8运行swift项目报错解决方法

swift的更新,导致旧的swift项目会有报错,报错如下解决方法如下:1.将swift language verson属性值设为NO2.根据上面报错的提示,即(edit->convert->to current....)进行转化,注意:选择3.0转换,之前我选择2.3依然出错3.转换完依然有错误一般为方法名称在swift新版本已变更,跟随变更即可

2016-11-03 14:18:23 1996

原创 OpenGLES下进行渲染

在OpenGLES下进行滤镜的渲染可以提高效率。如果需要实时查看多个滤镜动态渲染的效果,使用OpenGLES是一个好的选择@interface ViewController ()@property (nonatomic, strong) GLKView *glkView; // 渲染用的buffer视图@property (nonatomic, strong) CIFi

2016-11-03 10:16:27 1177

原创 CoreImage滤镜的组合

•不同的滤镜可以组合在一起使用。•可以动态的修改滤镜组合中单个滤镜的参数来实现一种动态调整的效果。 // 0. 导入CIImage图片 CIImage *ciImage = [[CIImage alloc] initWithImage:[UIImage imageNamed:@"demo"]]; // 1. 创建出Filter滤镜 CIFilter *

2016-11-03 09:17:14 315

原创 CoreImage 使用

•CoreImage是苹果公司为了简化图片处理的难度而开发出来的类库。•随着iOS版本升级以及硬件性能的不断提升,CoreImage将支持越来越多的滤镜。•大部分的滤镜都很容易使用。// 0. 导入CIImage图片 CIImage *ciImage = [[CIImage alloc] initWithImage:[UIImage imageNamed:@"demo"

2016-11-02 16:04:42 330

原创 iOS - 中介者模式

中介者模式:用应该中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们的交互#import @class AbstractColleague;@protocol ColleagueDelegate @optional/** * colleague对象的交互 * * @param event Collea

2016-11-02 15:57:19 337

转载 IOS Layer 简析

第一部分:简介一、什么是CALayer     * 在iOS系统中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮、一个文本标签、一个文本输入框、一个图标等等,这些都是UIView。     * 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个层。     * 在创建UIView对象时,UIView内部会自动创建一个层(即CALayer对象)

2016-11-01 15:28:25 8551

原创 ios模拟器不弹出解决方法

在xcode6中, 模拟器中的键盘和电脑的键盘可以进行绑定or解除绑定,打开模拟器,在最上面的菜单栏中,选择hardware,然后选择keyboards,有三个选项, 依次都勾选就行了。(注意:第三个选项在点击之后,实际已勾上了,但显示未勾上,但实际已经奏效了,这可能是xcode6的一个显示上的bug)

2015-05-27 09:36:17 4242 1

原创 Spring技术(4)持久层

2013-03-17 10:01:07 1048

原创 Spring技术(3)AOP

2013-03-15 10:58:54 800

原创 Spring技术(2)bean注入

2013-03-10 20:02:13 760

原创 Spring技术(1)

2013-03-06 14:43:26 463

原创 使用JSON与JQuery实现Ajax

无刷新登录

2013-02-16 09:08:56 592

原创 JQuery技术(3)

jquery事件动画效果

2013-01-20 08:58:25 716

原创 JQuery技术(2)

2013-01-15 10:52:35 574

原创 JQuery技术(1)

它是一个javascript库选择器

2013-01-14 16:59:54 713

原创 Struts2框架(七)

数据校验

2013-01-13 09:24:40 615

jquery手册

jquery手册

2013-01-14

jquery 插件

jquery 插件 dreamwreaer适用

2013-01-14

软件设计师题目

软件设计师 2012

2013-01-14

数据库实验报告

数据库实验报告 供大家选用

2013-01-14

jsp中TextArea可视化编辑器ckEditor

jsp中TextArea可视化编辑器ckEditor,可以使jsp的文本框编程好像Word的可视化编辑器,详情请看我的csdn博客介绍

2012-08-29

jsp的可视化文本编辑器CKeditor

jsp的可视化文本编辑器CKeditor 可以将jsp中的TextArea变成好像word一样操作 详细使用方法可以看我的csdn博客

2012-08-29

jsp中实现文件上传的第三方组件(二)

jsp中使用第三方组件实现文件上传 详细使用方法可见我博客

2012-08-29

jsp中实现文件上传的第三方组件

jsp中使用第三方组件实现文件上传 详细使用方法可见我博客

2012-08-29

Oracle的jdbc驱动包

Oracle的jdbc驱动包 ,用于开发java web项目

2012-08-28

C语言课程设计通讯录

C语言课程设计通讯录 供大家参考 欢迎大家来下载

2011-10-04

空空如也

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

TA关注的人

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