自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 7年iOS架构师-- 告诉你坚持写博客对我们有什么好处

1.今天来谈谈,写博客对我的益处,说起写博客,其实我写博客的时间不长,也就10来个月时间;2.之前工作的时候,看到同事每天晚上写博客,当时觉得很奇怪,就觉得写这个东西,非常浪费时间,3.自己知道的好的技术或者是好的技术解决思路,如果分享出去,不是被别人学去了吗等等一系列问题.1.等写了一段时间博客时,慢慢发现,其实之前的担心的完全没必要,你会的东西,精通的知识,即使分享出去,2.别...

2018-10-16 11:59:01 263

转载 6年iOS架构师告诉你程序员到底有没有前途?

前言:1,早上到公司,看昨天晚上QQ群里的内容,有人在问做iOS程序员怎么样。马上就有人跳出来告诉他程序员又苦、又累,要求又高、赚得也不比人多,而且30岁以后肯定失业那一套。对程序员的前途,自己有自己的想法,但这没什么好说的,而且每个人都有适合本人的路,也不想拿自己的想法来影响别人,可是今天实在实在是忍无可忍了,有一种不吐不快的感觉。2,首先,我说的可能过了些,但还是要说,现在中国不学无术...

2018-10-16 11:58:30 668

原创 6年iOS开发,自述通往 架构师的四条路线,(值得收藏)

前言:我用了6年的时间,一步一步走到了现在,中途也有了解过其他的技术,也想过要转其他的语言,但是最后还是坚持下来走iOS这条路,希望我的经历可以帮助到后来的人,要是觉得对你有帮助的话,可以点赞关注一下。导读:1、架构师应不应该写代码2、为什么别人的系统总是那么烂3、成为架构师最困难的门槛是什么?4、如何更高效的学习?作为一个开发者,有一个学习的氛围跟一个交流圈子特别重...

2018-10-16 11:50:05 350

原创 30K程序员的简述:如何成为高级开发人员

这篇文章适用于所有在这个行业已经有了几年时间后想要在职业生涯中取得突破的开发人员,编程人员和程序员(或者你可能刚刚开始,但希望你能看到你的路径)。本文适合那些有着简单愿望的人:你想成为一名高级开发人员,并希望在你的领域中脱颖而出。在阅读完这篇文章后,您将获得一组具有最佳资源列表的路径,供您升级并成为高级开发人员。免责声明:与生活中的所有事物一样,您可以随时设定自己的路径。尽管这不是唯一的方法,...

2018-10-16 11:44:39 340

原创 2018第一波iOS经典笔试题(现场实拍)

序言 作为一个开发者,眼里不仅仅只存在于那一行又一行的代码,更还有那诗和远方。注明:面试是对自我审视的一种过程,面试题和iOS程序员本身技术水平没任何关联,无论你能否全部答出,都不要对自己产生任何正面或消极的评价!1、什么是kvo和kvc?2、kvo的缺陷?3、Swfit和Objective-C的联系,Swift比Objective-C有什么优势?4、举例说明Swfit...

2018-10-16 11:43:09 184

转载 iOS 面试总结(上市公司·BAT·)

序言:今年2月中下旬因为个人原因,换了一份工作,3月初期间面试了有3,4家,基本都是D轮或者刚刚上市的公司,也有上榜的BAT,也从他们的面试笔试中看到了自己的一些不足,于是就想写出来和大家分享一下,如果能帮到正在面试的小伙伴更好。从面试题中,其实可以看到一些行业的发展,以及总体人才需求是怎样的了。做为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群638302...

2018-10-16 11:41:13 292

转载 2018 一份有点难的iOS面试题(7年iOS开发)

序言:之前一时兴致在本站上出过一份iOS的中级面试题,引起一些关注,不少同学表示对”隐藏关卡“感兴趣。升级版iOS面试题来了,目测难倒90%iOS程序员,目测一大波程序员撸着袖子在靠近。每道题都不难,对知识广度有要求,请摸着良心回答,不要百度。声明:这份面试题和iOS程序员本身技术水平没任何关联,无论你能否全部答出,都不要对自己产生任何正面或消极的评价,权当做闲暇之余的消遣。其实做为...

2018-10-16 11:38:38 291

原创 2018 一份有点难的iOS面试题(5年iOS开发)

序言:之前一时兴致在本站上出过一份iOS的中级面试题,引起一些关注,不少同学表示对”隐藏关卡“感兴趣。升级版iOS面试题来了,目测难倒90%iOS程序员,目测一大波程序员撸着袖子在靠近。每道题都不难,对知识广度有要求,请摸着良心回答,不要百度。声明:这份面试题和iOS程序员本身技术水平没任何关联,无论你能否全部答出,都不要对自己产生任何正面或消极的评价,权当做闲暇之余的消遣。其实做为...

2018-10-16 11:37:55 733

原创 2018 iOS实习生是如何拿到阿里腾讯百度头条美团Offer的【面试总结】

面试基本已经结束了,目前已拿头条、百度、腾讯offer,现在可以好好来写写总结了,关于面试题,可能没那么多时间来总结答案,有什么需要讨论的地方欢迎大家指教。主要记录一下我的准备过程,和面试的一些总结,希望能帮助到正在面试或者将要面试的同学吧。准备阶段我其实从寒假前就有一点准备,不过也仅仅是过了一下基础,然后寒假去搜狐实习了。在公司一边上班一边复习(请不要举报我),系统的看书是必须的,操作系...

2018-10-16 11:36:14 701

原创 1-4年的iOS开发者,如何写一份成功的简历尤为重要!

简历石沉大海,面试杳无音信,最可怕是转正前一天被开除,这些都不是事!接下来带你看看,正儿八经的简历怎么写!基础信息稚嫩的写法1、不要用百度文库中的表格模板,直接填写简历,很拘束很古板,尽管很多学校的职业规划大赛都是这个模板,但是在路边喝咖啡,在咖啡厅喝咖啡,是两个概念!2、一般不用写政治身份、身体状况、特长、邮政编码、个人网站、家庭住址,基础信息不看这些!尤其是家庭住址,你如果...

2018-10-16 11:34:56 274

原创 SpringMVC入门之十一:跨重定向请求传递数据

通常,当我们处理完POST请求之后,出于安全的考虑(防止用户刷新或后退而重新执行危险的POST请求),会将请求重定向,在前面,我们借助了“redirect:”来实现这一功能。”redirect:”前缀能够让重定向功能变得非常简单,但是Spring为重定向功能还提供了一些其他的辅助功能。具体来讲,正在发起重定向功能的方法该如何发送数据给重定向的目标方法呢?一般来讲,当一个处理器方法完成之后,该方法所...

2018-10-10 12:13:19 126

原创 SpringMVC入门之六:使用Thymeleaf作为视图

尽管JSP已经存在了很长的时间,并且在JavaWeb服务器中无处不在,但是它却存在一些缺陷。JSP最明显的问题在于它看起来像HTML或XML,但它事实上并不是。强大的JSP标签库带来了不错的渲染效果,但是这些标签会使页面变得非常混乱。在Web浏览器或HTML编辑器中查看未经渲染的JSP模板并不是一件愉快的事,它的页面会变得非常混乱,结果也是不完整的。同时,JSP规范是与Servlet规范紧密耦合的...

2018-10-10 12:11:52 371

原创 SpringMVC入门之八:使用Apache Tiles视图定义布局

当我们需要在页面上添加一些通用元素,比如添加包含站点Logo的头部、使用样式并在底部展现版权信息。我们不会在Spittr应用中的每个JSP都进行这样的修改,而是借助Apache Tiles来为模板实现一些通用且可重用的布局。Apache Tiles是一种布局引擎,定义适用于所有页面的通用页面布局。SpringMVC以视图解析器的形式为Apache Tiles提供了支持,这个视图解析器能够将逻辑视...

2018-10-10 12:11:01 141

原创 SpringMVC入门之二:配置及启用SpringMVC(基于JAVA配置)

为了方便理解和简化无关细节,我们要使用最简单的方式来配置SpringMVC:所要实现的功能仅限于运行我们所创建的控制器。配置DispatcherServlet DispatcherServlet是SpringMVC的核心。在这里请求会第一次接触到框架,它要负责将请求路由到其他的组件之中。配置DispatcherServlet的传统方式是在web.xml文件中配置,这个文件也会放到应用的war...

2018-10-10 12:07:51 169

原创 SpringMVC入门之九:multipart文件上传

SpringMVC以multipart形式来上传文件。在编写控制器方法处理文件上传之前,我们必须要配置一个multipart解析器,通过它来告诉DispatcherServlet该如何读取multipart。DispatcherServlet并没有实现任何解析multipart请求数据的功能。它将该任务委托给了Spring中MultipartResolver策略接口的实现,通过这些实现类来解析...

2018-10-10 12:06:22 216

原创 SpringMVC入门之三:控制器&模型

在SpringMVC中,控制器只是方法上添加了@Controller注解的类,这个注解声明了他们所要处理的请求。下面是一个简单的小例子这个控制器要处理对“/”的请求,并渲染应用的首页,这可能是最简单的控制器了。@Controller是一个构造型的注解,它基于@Component注解,在这里,它的目的就是辅助实现组件扫描。因为HomeController带有@Controller注解,因此组...

2018-10-10 12:03:34 214

转载 SpringMVC入门之七:使用JSP作为视图

JSP作为JavaWeb应用程序的视图技术已经超过15年了,想在仍然是使用量最大的视图技术。视图解析器: InternalResourceViewResolver是最简单和最常用的JSP视图解析器。这种视图解析器遵循一种约定,会在视图名上添加前缀和后缀,进而确定一个Web应用中视图资源的物理路径。 视图位置 在通常的Web应用中,我们把JSP文件放到Web应用的WEB-INF目录下,防止对...

2018-10-10 12:02:25 1621

原创 SpringMVC入门之一:SpringMVC基本原理及请求过程概述

SpringMVC基于模型-视图-控制器(Model-View-Controller,MVC)模式实现,它能够帮助你构建像Spring框架那样灵活和松耦合的Web应用程序。第一站当请求离开浏览器①后,它的第一站是DispatcherServlet。DispatcherServlet作为前端控制器,负责把请求转发给特定的控制器。DispatcherServlet会查询一个或多个处理器映射②...

2018-10-10 12:01:34 156

原创 SpringMVC multipart文件上传详细教程之二:控制器的编写及异常处理

当客户端提交了multipart请求后,需要由控制器来接收文件,并保存,最后返回响应的信息。在该项目中的controller包下的UploadsController类承担了这项工作。UploadsController.java在该控制器中有两个方法:index():该方法返回项目首页,也即表单填写页面。 upload():该方法是处理文件上传请求的控制器方法。@RequestMappi...

2018-10-10 11:59:53 188

原创 SpringMVC multipart文件上传详细教程之一:项目概述及基本配置

该demo是关于SpringMVC mutipart文件上传的实例。程序基于Java配置,注解驱动。视图解析器为InternalResourceViewResolver,multipart解析器为StandardServletMultipartResolver,视图为JSP,版本管理工具为Maven,开发工具为IntelliJ IDEA。完整源码已经上传至Github,项目Repository地址...

2018-10-10 11:59:11 430

原创 Java设计模式之一——模板方法设计模式(Template Method)

设计原则:不要重复DRY(Don’t Repeat Yourself,不要复制自己) OAOO(Once and Only once,仅此一次):避免代码重复GOF给出的模板方法模式定义如下:Define the skeleton of an algorithm in an operation, deferring some steps to subclasses. Template...

2018-10-09 12:15:44 154

原创 Java设计模式之Singleton——四种不同的单例模式(Singleton)

单例模式(Singleton [?sglt?n])如果要保证系统里最多只能存在一个实例时,我们就需要单例模式。例如缓存池、数据库连接池等。实例一:最简单的单例模式因为JVM在加载类时,对于static属性的初始化只能由一个线程执行且仅执行一次,并且return操作是原子性的,所以,该方式是线程安全的。实例二:延迟创建的单例模式(出于性能等方面的考虑)延迟创建:在调用方法的时候创...

2018-10-09 12:15:00 118

原创 Java开发测试工具用法简略记录——Junit4 And EasyMock

Junit是Java中用于测试的一个单元库,其包含以下几项重要功能:设置@Test的 expected 、timeout等参数来测试异常和超时。忽略坏掉或不完整的测试,可以通过添加@Ignore注解来实现。固件是测试前和测试后必须执行的操作,通过注解@BeforeClass、@AfterClass、@Before、@After来实现。在类层次,有 @BeforeClass 和 @Aft...

2018-10-09 12:14:19 126

原创 Java序列化——Serializable、Externalizable源码阅读与总结

序列化(Serialization):是将对象的状态信息转换为可以存储或传输的形式的过程。更通俗地讲,是将该对象字段和状态信息以字节流的方式输出到目的地。一是实现pojo对象的读写操作,将每个对象转换为字节流,而这些字节流可以被持久化到设备上,再次读取时会将字节流还原成对象。当我们希望某些数据能在程序停止运行后,还能继续存在。在程序再次执行时还能获取这些数据时,或者让其他的程序也能够利用这些数...

2018-10-09 12:13:24 376

原创 Java容器的简明归类总结及简单实例

Java的容器分为两类,分别是Collection和Map,先看例子:这里展示了Java容器类库中的两种主要类型,他们的区别在于容器中每个“槽”保存的元素个数。Collection在每个槽中只能保存一个元素。此类容器包括:List,它以特定的顺序保存一组元素;Set,元素不能重复;Queue,只允许在容器的一“端”插入对象,并从另一“端”移除对象。Map在每个槽内保存两个对象,即键和与之关联的...

2018-10-09 12:12:38 252

原创 Java多线程——线程间协作方式总结及使用示例

wait()提供了一种在任务之间对活动同步的方式。wait()使你可以等待某个条件发生变化,通常,这种条件将由另一个任务来改变。wait()会在等待外部世界发生变化的时候将任务挂起(而不是执行空循环,进行忙等待),并且只有在notify()或notifyAll()发生时,这个任务才会被唤醒并去检查所产生的变化。调用sleep()的时候锁没有被释放,调用yield()也属于这种情况。但是,当一个任...

2018-10-09 12:11:53 145

原创 Java中构造器内部使用多态方法导致的错误

编写构造器时有一条有效的准则:“用尽可能简单的方法使对象进入正常状态;如果可以的话,避免调用其他方法。”否则就可能出现下面的情况:Pen.draw()方法设计为将要被覆盖,这种覆盖是在Pencil中发生的。但是Pen的构造器会调用这个方法,结果导致了对Pencil.draw()的调用。这看起来似乎是我们的目的。但是如果看到输出结果,细心的人会很惊奇,我们会发现Pen的构造器调用draw()方法...

2018-10-09 12:10:58 149

原创 JavaWeb中点赞功能的实现及完整实例

1、功能描述:一个用户对同一文章只能点赞一次,第二次就是取消赞2、建立一个点赞表great,字段有文章ID(aid),点赞用户ID(uid)3、当有用户进行点赞行为时,使用aid和uid搜索点赞表。若有该记录,则表示用户已经点过赞,本次点击是取消点赞行为,故删除great表中的该条记录,同时将该文章的点赞数减1。 若无该记录,则表示用户是要点赞,故在great表中添加该记录,同时该文章的...

2018-10-09 12:09:30 7347 9

原创 JavaMail发送邮件简单实例及易错点分析

最近做一个项目时要用到邮件发送激活链接的功能,于是在网上搜了很多JavaMail邮件发送的资料,发现了一个很好的小实例:第一个类:MailSenderInfo.java第二个类:SimpleMailSender.java第三个类:MyAuthenticator.java第四个类:Main.javaPassword:“mailInfo.setPassword(“**“);//您的邮...

2018-10-09 12:08:44 293

原创 JavaI/O中使用readUTF()报java.io.EOFException暂时解决方案

练习JavaI/O时自己试着写demo,当使用RandomAccessFile的readUTF()方法时报java.io.EOFException。源码如下:DirList.javaa.txt文件内容如下:运行程序,输出结果如下:查看输出结果,并且与输出语句一一对应,发现英文没有问题,只有在遇到中文的时候报java.io.EOFException。跟踪错误,发现是在调用DataIn...

2018-10-09 12:05:22 957

转载 spring的两种声眀式事务

需要导入的包有:cglib-nodep-2.1_3.jarcom.springsource.org.aspectj.weaver-1.6.8.RELEASE.jarspring-aspects-3.2.0.RELEASE.jarspring-aop-3.2.0.RELEASE.jar1.使用基于注解的声眀式事务管理在spring的配置文件中加入以下代码:2.在service使用@...

2018-09-30 12:18:24 118

原创 spring+junit4时用Junit单元测试遇到的bug:java.lang.ExceptionInInitializerError

一、详细错误日志:二、具体描述:由于第一次用spring+Junit4进行单元测试,对他们了解不够深入,出现这个bug时真的是手忙脚乱的,各种百度,各种尝试就是解决不了,网上好多方法都试了就是不行,现在想来不是网上的解决方法不行,而是我遇到的问题和他们不一样啊。网上说java.lang.ExceptionInInitializerError错误是在加载静态代码块时产生的等等等,但是在这个阶段...

2018-09-30 12:18:03 338

原创 rpm补丁文件和升级包制作教程

1.介绍在开始介绍之前,首先表达一个观点,一般不推荐使用root构建构建RPM包,尤其对RPM包构建不是很熟悉的用户,因为一些配置或者误操作可能会影响甚至破坏系统,造成一些不必要的损失。另外一点是使用普通用户基本可以满足构建大多数RPM包的要求。RPM包是一种优秀的软件包安装管理系统,而RPM源码包则是RPM包系统中重要的组成部分,是其他各种RPM包母体,其他种类的RPM包都是由RPM源 码包...

2018-09-30 12:16:41 515

转载 Python基础2

Python 流程控制一、条件判断语句?基本形式(注意不要少写了冒号:)if <条件判断1>:<执行1>elif <条件判断2>:<执行2>elif <条件判断3>:<执行3>else:<执行4>示例name?=?'1'if?name?=='2':prin

2018-09-30 12:12:26 101

原创 python 读写、创建 文件的方法(必看)

.python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r“c:\python”)检验给出的路径是否是一个文件:os.pa...

2018-09-30 12:12:02 859

原创 Python MySQLdb在Linux下的快速安装

1.最快速最简单方法(赶时间的话)可能遇到问题:原因:之前使用编译的方法进行安装,下的是1.2.3,但是用yum目前最高1.2.1,冲突解决方法:删除已经编译的文件再进行无错误,则表示成功了2.自己编译安装需要:A.gccB.setuptools解压执行 sudo easy_install.py [或者 python setup.py build &&amp...

2018-09-30 12:10:52 235

原创 MyBatis+MySQL 返回插入记录的主键ID

一、nginx基本配置二、nginx日志文件配置在nginx中conf中的nginx.conf有一段关于日志文件的配置三、制作按时间切割日志文件的脚本1.制作切割日志脚本cutlog.sh2.使用定时执行命令(1)crontab -e 进入编辑(2)输入 # 每天23:59定时执行cutlog.sh这个脚本(3)保存四、nginx的缓存配置浏览网页时,浏览器会把网页上的...

2018-09-30 12:10:26 250

原创 MNIST机器学习入门

MNIST机器学习入门这个教程的目标读者是对机器学习和TensorFlow都不太了解的新手。如果你已经了解MNIST和softmax回归(softmax regression)的相关知识,你可以阅读这个快速上手教程。当我们开始学习编程的时候,第一件事往往是学习打印”Hello World”。就好比编程入门有Hello World,机器学习入门有MNIST。MNIST是一个入门级的计算机...

2018-09-30 12:09:00 158

原创 Logistic回归简介

1、线性回归的主要思想就是通过历史数据拟合出一条直线,用这条直线对新的数据进行预测。(例如:位于线性函数两边的分别为A.B类)2、现实世界中的影响因素很多,因此我们需要使用多元线性函数来描述一个事件(结果)3、多元线性函数:研究二分类观察结果y与一些影响因素(x1,x2,x3,…,xn)之间关系的一种多变量分析方法,例如医学中根据病人的一些症状来判断它是否患有某种病。4、多元线性回归公...

2018-09-30 12:08:06 4749

原创 linux 下安装jdk8和Jetty9.4.6

Jdk1.8安装1.首先将jdk-8u131-linux-x64.tar.gz解压到需要安装的目录/data/java/中(1)进入data目录(2)下载jdk8 官方网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html(3)解压2.重命名3.然后设置环...

2018-09-30 12:07:07 720

空空如也

空空如也

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

TA关注的人

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