自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 mybatis generator xml提示错误 - URI is not registered 解决

解决方法: 鼠标点击红色字,然后Intellij出现小红灯,选择Fetch external resource即可解决

2017-01-30 11:13:31 4190 8

原创 2017年1月29日 iOS开发技巧 - Size Class与iOS 8多屏幕适配(一)

0. 背景:在iOS开发中,Auto Layout(自动布局)能解决大部分的屏幕适配问题。 但是当iPhone 6和iPhone 6 Plus发布以后, Auto Layout已经不能解决复杂的屏幕适配问题了,因此, 在iOS 8以后苹果推出了Size Class, 它是基于Auto Layout技术的。 1. Size Class的开启和使用与Auto L

2017-01-29 11:08:19 602

原创 Core Java - 流(Stream) - 字节流和字符流(一)

0. 概述:Java中基于流的I/O构建在4个抽象类之上, 其中2个是字节流,另外2个是字符流。字节流:InputStream / OutputStream当操作字节或其它二进制对象时,应当使用字节流。 字符流:Reader / Writer当操作字符或字符串时,应当使用字符流。 1. InputStreamI

2016-12-02 17:26:26 286

原创 Hadoop学习-生态体系(ecosystem)概览

0. 大背景全球No.1搜索引擎公司谷歌(Google)面临每天海量搜索引擎数据的问题,经过长时间的实践积累,谷歌形成了自己的大数据框架,但是并没有开源,而是发表了一篇论文,阐述了自己的思想,在论文中提到了MapReduce的方法。这篇论文,被Doug Cutting也就是后来的Hadoop之父所关注,引起了他极大的兴趣。因为,这个时候,他正在致力于一个项目,该项目

2016-12-02 13:31:05 422

原创 JAX-RS(基于Jersey) + Spring 4.x + MyBatis构建REST服务架构

0. 大背景众所周知,REST架构已经成为现代服务端的趋势。很多公司,已经采用REST作为App, H5以及其它客户端的服务端架构。 1. 什么是JAX-RS?JAX-RS是JAVA EE6 引入的一个新技术。 JAX-RS即Java API for RESTful Web Services,是一个Java 编程语言的应用程序接口,支持按照表述性状态转移(R

2016-11-24 19:19:27 1006

原创 Objective-C编程 - 关于Block的要点

1. 首先,我们快速过一下,什么是Block?Block是一段代码,它在OC中以^开头,可以有返回值,和参数列表,但就是没有名字。所以,你可以把它认为是匿名函数。事实上,它和Swift中的闭包(Closure)是一样的。或者,学过.NET的童鞋知道委托吧,它和委托也差不多概念。都是可以在一个方法中传入它,作为参数的方法。 无参无返回值的Blo

2016-11-19 09:52:41 241

原创 Spring开发 - 通过实现ApplicationContextAware在Servlet中调用注解的Service

用过Spring MVC的人都知道,我们如何在Controller中注入Service,可以使用@Resource注解的方法。有时候,实际在项目的过程中,我们需要在某个Servlet中使用Service, 但是由于Spring MVC中的Servlet都是由DispatcherServlet统一管理的,因此,像Controller方式的注解方式注入在普通的Servlet中是行不通的

2016-11-17 13:40:18 304

原创 Android开发利器 - Charles + Genymotion 调试网络应用程序

Charles默认是不监听Genymotion模拟器的网络动态的。需要进行以下设置:1. 打开你的Genymotion模拟器2. 设置 -> Wifi -> 长按你的当前的网络连接3. 选择 “修改网络”4. 勾选 “显示高级选项”5. 选择 “代理设置 -> 手动”6. 设置你的代理服务器为: 10.0.3.2 (这是Genymotion为

2016-11-16 20:26:12 273

原创 Swift语言精要-闭包(Closure)

闭包(Closure)这个概念如果没学过Swift的人应该也不会陌生。学过Javascript的朋友应该知道,在Javascript中我们经常会讨论闭包,很多前端工程师的面试题也会问到什么是闭包。那么,什么是闭包呢?让我们看下在Javascript中闭包的解释:Closures are functions that have access to vari

2016-11-15 14:40:18 632

原创 大型网站架构 - 1.架构的演变过程

1. 第一阶段:单服务器架构这一阶段是我们的起步阶段,比如我们创业的时候刚购买了一台云主机。在这一阶段,为了节约成本,我们将所有的应用程序,数据库,文件全部放在这台服务器上。然后,CPU或者内存的成本在开发阶段也使用最小能接受的成本,然后开始我们的服务器开发之路。 2. 第二阶段:应用服务和数据服务分离随着网站的第一次上线,我们的网站如果运营得不错的

2016-11-12 22:23:39 216

原创 Redis开发 - 1. 认识redis

1. 什么是Redis?Redis is a very fast non-relational database that stores a mapping of keys to five different types of values.(Redis是一种速度非常快的非关系型数据库,NoSql的一种,它存储着以键值对为形式的数据,值的类型5种。)Redis是Remote

2016-11-05 19:34:42 210

原创 Objective-C编程 - 1. 浅谈内存分配

Objective-C语言的对象类型都必须用指针,对象所占的内存是在堆(heap)上分配的。NSString也必须在堆上分配,因此必须用指针。NSString *someString = @"here is the string";NSString *anotherString = someString;上面例子的内存分布图如下:

2016-11-05 15:33:25 244

原创 Java并发编程 - 基本概念

在开始我们的并发编程前,我们必须预热一下,一些基本概念必须了解。1. 同步(Synchronous) / 异步(Asynchronous)同步和异步都指一次方法调用。同步:方法开始后,调用者必须等到该方法调用结束返回后,才能继续后续的操作。异步:异步方法有点像发送一个消息传递,开始后方法调用会立即返回,调用者可以马上         进行后续的操作。

2016-11-04 19:39:27 242

原创 IntelliJ IDEA + Maven创建Java Web项目

1. Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里也强调下,尽量使用此类工具进行项目构建, 它可以管理项目的整个生命周期。    可以通过其命令做所有相关的工作,其常用命令如下:     - mvn compile     - mvn test     - mvn clean     - mvn package

2016-09-20 10:51:18 266

翻译 iOS编程(双语版)-视图-Autolayout代码初步

一谈到Autolayout,初学者肯定想到的是IB中使用拖拽啊,pin啊各种鼠标操作来进行添加各种约束。今天我们要聊得是如何利用代码来添加视图间的约束。我们来看一个例子:(Objective-C代码)UIView* v1 = [[UIView alloc] initWithFrame:CGRectMake(100, 111, 132, 194)];v1.bac

2016-07-26 16:42:10 320

翻译 iOS编程(双语版) - 视图 - Transform(转换)

视图有一个transform属性,它描述了应该如何绘制该视图。该属性是CGAffineTransform结构体,它代表了3 x 3的变换矩阵(线性代数)。下面的代码让两个矩形视图旋转45度(Objective-C代码)UIView* v1 = [[UIView alloc] initWithFrame:CGRectMake(113, 111, 132, 194)];

2016-07-26 11:27:23 249

翻译 iOS编程(双语版)-视图-Frame/Bounds/Center

1. Frame每个视图都有一个frame属性,它是CGRect结构,它描述了视图所在的矩形在其父视图中的位置。(屏幕坐标系默认的原点在左上角,x轴向右伸展,y轴向下伸展)设置frame通常通过视图的指定初始化器initWithFrame下面来看个例子,该例子初始化了3个相互叠加的矩形区域(Objective-C代码)UIView* v1 = [[U

2016-07-26 10:14:28 213

原创 Swift语言精要 - 浅谈代理模式(Delegate)

在iOS编程中,我们经常谈到代理代理,也就是delegate,那么什么是代理呢?我们来看一下cocoa对它的描述:Delegation is Cocoa’s term for passing off some responsibilities of an object to another顾名思义:代理是把职责从一个对象传到另一个对象。其实,如果编写过Jav

2016-06-30 17:56:26 339

原创 Swift语言精要 - Dictionary(字典)

字典以键值对的形式存储数据。键不能重复,但是值可以重复。基本语法用例:var states : Dictionary = ["CA" : "California"]var states : [String : String] = ["CA" : "California"]也可以使用类型推断的方式:var states = ["CA" : "Californ

2016-06-30 17:24:29 203

原创 python网络爬虫 - 如何伪装逃过反爬虫程序

有的时候,我们本来写得好好的爬虫代码,之前还运行得Ok, 一下子突然报错了。报错信息如下:Http 800 Internal internet error这是因为你的对象网站设置了反爬虫程序,如果用现有的爬虫代码,会被拒绝。 之前正常的爬虫代码如下:from urllib.request import urlopen...html = urlop

2016-06-09 17:35:35 433

原创 Python小任务 - 如何编写指定时间执行的Python小程序

我们在平时的工作中经常会遇到这样的需求,需要再某个时间点执行一段程序逻辑。那么,在python中我们是怎么做的呢?下面看代码:waitDesignatedTimeToRun.pyimport time, datetimestartTime = datetime.datetime(2016, 6, 8, 16, 45, 0)print('Program not

2016-06-08 16:51:53 5072 2

原创 如何在onCreate方法中获取视图的宽度和高度

你可以通过视图的getWidth()和getHeight()来获取视图的宽度和高度。但是,可能会让你失望的是,如果你直接在onCreate方法内调用这两个函数,你会的到0。为什么呢?这是因为,当onCreate被调用的时候,视图的内容正在被LayoutInflater来填充xml布局。这个过程会填充布局,但是暂时不会设置视图的大小。那么视图到底什么时候获得自

2016-05-28 17:23:08 531

翻译 Swift语言精要 - 序列化和反序列化

在swift中你可以把一个对象转换成为数据,你所要做的就是首先,你需要让对象实现NSObject和NSCoding协议。其次,实现以下两个方法:  encodeWithCoder  init(coder aDecoder: NSCoder)  // 一个带NSCoder参数的初始化器例子代码:class SerializableObject : NS

2016-05-23 14:10:18 340

原创 Swift语言精要 - 浅谈结构体(Struct)

CGRect, CGSize, CGPoint这些是 。String, Int, Array, Dictionary这些我们经常用的也是结构体(Struct)。 那么结构体(Struct)到底是什么呢?学过C语言的朋友一定知道它是什么,在这里我就不多说了,你懂的。我想说的重要的事情是,你必须搞清楚Struct和类的区别,在Swift中这点特别重要。 

2016-04-29 09:52:55 319

翻译 iOS应用程序状态图

理解应用的状态对于我们开发iOS大有裨益。当前应用所处什么状态,什么促使它在各个状态间进行过渡,你的代码又是如何唤醒这些过渡,等等等等。先请看下图:1. 当应用出于非运行状态时,它处于图中的"Not Running"状态,它不执行任何代码,也不消耗任何内存。2. 用户启动应用后,进入"Active"状态。在该状态下,应用在手机

2016-04-26 10:02:05 319

翻译 Java开发 - 异常 - 使用throws

如果一个方法可能会产生异常,我们需要用throws关键字给它标注会抛出什么异常,这样就可以在方法调用的时候捕获它。代码如下:package corejava8.exceptions;public class ThrowsDemo { static void throwOne() throws IllegalAccessException { System.out.

2016-04-21 11:33:28 299

翻译 Java开发 - 异常 - 抛出异常

问题: 如何抛出一个系统异常并且捕获它代码如下:public class ThrowDemo { static void demoproc() { try { throw new NullPointerException("demo"); } catch (NullPointerException e) { System.out.println("Caught

2016-04-21 11:22:53 282

原创 iOS开发点滴 - 如何通过Segue写代码传递数据从一个ViewController到另一个ViewController(Swift代码)

1. 拖线按住Control键,用鼠标从源控制器的某个控件开始,拖动到目的控制器 2. 选择弹出类型并设置Segue Identifier在弹出的对话框中,选择“Selection Segue->Show”见下图设置Segue Identifier3. 在目的视图控制器中设置接收桩

2016-04-13 11:45:43 797

原创 Android开发点滴 - 实现层级式导航(API 16+)

在Jelly Bean(API 16)以前,为了实现顶部的导航菜单,程序员们不得不手工写代码,神马在OnCreate啊,神马onOptionsItemSelected啊,但是,现在一切都是浮云了。你需要做的只是在AndroidManifest中增加那么一小句话,指定父Activity就好了。我们来看下代码:...<activity android:name

2016-04-12 14:54:08 443

原创 iOS开发点滴 - 关闭键盘

有时候系统显示的键盘会挡住视图中某些重要的控件,这个时候当用户按下换行键,就应该取消UITextField对象的第一响应(First Responder)状态而关闭键盘。1. 首先,视图控制器必须遵守UITextFieldDelegate协议@interface XXViewController ()2. 然后,需要再视图控制器中实现textFieldShoul

2016-04-08 10:18:26 282

原创 利用PyMysql访问windows下的MySql数据库

1. 下载PyMysql并且安装下载地址下载zip包后解压到目录,进入该目录,执行以下命令安装python setup.py install2. 编写一个简单的数据库访问程序simple_mysql.pyimport pymysqlconn = pymysql.connect(host='127.0.0.1', user='root

2016-04-03 11:28:57 417

原创 iOS界面篇 - bounds和frame的相同和区别

相同点:他们都是CGRect类型,且拥有属性origin(x, y),  size(weight, height) 不同点:bounds是你画的视图的边界,和父视图没有半毛钱关系frames则一定是相对于父视图而言的在通常情况下他们是相似的,但是特殊情况,比如旋转的时候,他们就不一样了广说太抽象了还是用实际图形来表达一下吧

2016-04-02 16:19:11 240

原创 Swift语言精要 - Operator(运算符重载)

运算符重载Swift的这一语言特性或许应该启发于C++class Vector2D { var x : Float = 0.0 var y : Float = 0.0 init (x : Float, y: Float) { self.x = x self.y = y } func +(left : Vecto

2016-04-02 13:05:16 241

空空如也

空空如也

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

TA关注的人

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