2 abcdefhs

尚未进行身份认证

暂无相关描述

等级
博文 32
排名 36w+

iOS 从0到1搭建高可用App框架

最近在搭建新项目的iOS框架,一直在思考如何才能搭建出高可用App框架,能否避免后期因为代码质量问题的重构。以前接手过许多“烂代码”,架构松散,底层混乱,缺少规范,导致团队开发时代码风格迥异,清晰的项目结构和良好的代码规范是保证产品质量的关键,下面分享一下我的架构思路。架构图:架构图架构原则:易读性、易维护性、易扩展性。一、思考做好一件事,花在思考上

2017-07-21 10:45:32

程序员必知的 Python 陷阱与缺陷列表

我个人对陷阱的定义是这样的:代码看起来可以工作,但不是以你“想当然“”的方式。如果一段代码直接出错,抛出了异常,我不认为这是陷阱。比如,Python程序员应该都遇到过的“UnboundLocalError”,示例:Python12345678910111213141516171819>

2017-07-20 13:25:43

SpringBoot (一) :入门篇

什么是springbootSpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是springboot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,springboot整合了所有的框

2017-07-19 11:08:00

安卓当下最流行的吸顶效果的实现

开始逐渐领略到ItemDecoration的美~今天让我使用 ItemDecoration 来完成 可推动的悬浮导航栏的效果,最终实现的效果如下图:具体实现步骤如下:根据我前面的文章所讲的RecyclerView的基本使用,我们先来完成基本的recyclerView:第一步:布局里写一个RecyclerView第二步:实例化

2017-07-18 10:47:08

Emoji’s World, 一起实现Emoji

Emoji(絵文字 或えもじ;日语发音:[emodʑi])是日本无线通讯中所使用的视觉情感符号, 绘代表图形, 文字是图形本身的隐喻.用于输入者表达情感信息,如笑脸就代表开心

2017-07-17 14:16:59

“动次打次!”——用Web技术实现移动监测

本文将阐述如何通过Web技术实现简易的运动监测效果,并附上一些有意思的案例。移动侦测,英文翻译为“Motiondetectiontechnology”,一般也叫运动检测,常用于无人值守监控录像和自动报警。通过摄像头按照不同帧率采集得到的图像会被CPU按照一定算法进行计算和比较,当画面有变化时,如有人走过,镜头被移动,计算比较结果得出的数字会超过阈值并指示系统能自动作出相应的

2017-07-14 10:12:28

前后端分离后的前端时代

本文从前端开发的视角,聊一聊前后端分离之后的前端开发的那些事儿。阅读全文,大约需要8分钟。 什么是前后端分离要区分前端和后端,需要有个明确的界限。一般,用户可以直接看到的东西,都是属于前端的范畴,除了前端之外都属于后端了。你负责貌美如花,我负责赚钱养家在传统的像ASP,JSP和PHP等开发模式中,前端是处在一个混沌的状态中,可以说是没有独立的“

2017-07-13 10:54:21

React Loadable 介绍

React组件代码分割和加载当你的应用足够庞大时,把所有代码简单地打成一个bundle,启动时间会很长。你需要将app分割成几个bundle,按需加载。Asinglegiantbundlevs.multiplesmallerbundlesBrowserify 和Webpack 等工具可以很好地解决如何将一个大bundle分割的问题

2017-07-12 15:42:42

看 AspectJ 在 Android 中的强势插入

什么是AOPAOP是AspectOrientedProgramming的缩写,即『面向切面编程』。它和我们平时接触到的OOP都是编程的不同思想,OOP,即『面向对象编程』,它提倡的是将功能模块化,对象化,而AOP的思想,则不太一样,它提倡的是针对同一类问题的统一处理,当然,我们在实际编程过程中,不可能单纯的安装AOP或者OOP的思想来编程,很多时候,可能会混合多种编程思想,大家也不必要

2017-07-11 11:35:58

Android 资源与属性备忘单

几天前我偶然发现了我Android开发早期时制作的一份学习备忘单,是为理解如何处理Android资源和主题属性的语法而整理的。令人意外的是,我发现它对现在的我非常有用,因此决定整理成更适合博客的形式并分享给大家。知道我们今天要讨论的话题了,那么请看下面,通过xml布局设置一个view的background color的几种方法:

2017-07-10 16:17:40

谷歌官方详细介绍 AS 3.0 Canary 1

文/GoogleAndroid产品经理JamalEason借GoogleI/O2017的东风,AndroidStudio3.0今天就可以在我们的Canary发布渠道上下载。AndroidStudio是我们专为Android而构建的官方IDE,我们不断加大投入,改进该IDE。AndroidStudio中的功能集侧重于加快您的应用开发流并提供针对

2017-07-06 15:24:12

学习 Kotlin 的 20 个实用资源

Кotlin是在JavaVM上运行的现代编程语言,它的语法优雅,可与现有的Java库互操作。在2017年GoogleI/O中,Android团队宣布将Kotlin作为Android平台的官方编程语言。为了帮助你学习和了解Kotlin,本文整理出了Kotlin学习资源列表,当中没有任何付费课程或书籍,列表中的所有内容都是100%免费。(含外境资源

2017-07-04 14:54:32

使用 Docker 搭建 Java Web 运行环境

Docker是2014年最为火爆的技术之一,几乎所有的程序员都听说过它。Docker是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐步使用Docker来替换现有的虚拟化平台了。作为一名Java程序员,我们是时候一起把Docker学起来了!本文会对虚拟化技术与Docker容器技术做一个对比,然后引出一些Docker的

2017-06-30 14:43:58

接近假期,该去哪里

现在的学生,不管是高中毕业还是大学毕业,普遍的一点就是迷茫!迷茫什么呢?还不就是不知道自己该何去何从!作为一个曾经迷茫过的大学生来讲,迷茫期可以根据个人的情况有不同的时间段,我是从学校可以进行实习的实习期就开始签了三方协议以工作为由,一直待在家里,但是不知道自己该何去何从,想出去找事情做,不想从事自己的专业的时候,迷茫了,不知道自己该做什么,就跟刚进入城市,不知道自己做什么好!有的人说随便

2017-06-29 14:22:38

使用 IoC 反转控制的三种设计模式

对于许多开发人员来说,控制反演(IoC)都是一个模糊的概念,因为他们在现实世界中很少或没有被应用过。在最好的情况下,控制反演(IoC)可以加单的认为是等效于依赖注入(DI)。实际上,只有在翻转控制与依赖注入双方都只是反映翻转依赖管理控制的时候,才认为两者是等效的。虽然,依赖注入实际上是IoC的一种众所周知的形式。但是,事实上IoC却是一个相对更为广泛的软件设计范例,可以通过多种模式来进行实现。在本

2017-06-28 15:06:26

TThreadedSelectorServer 介绍及 Direct Memory OOM 分析

一、TThreadedSelectorServer线程模型:该服务会启动1个AcceptThread,2个SelectorThread(默认为2个,可设置),一个woker线程池(池的大小可设置),一个AcceptThread执行accept操作,将accept到的Transport交给SelectorThread线程,AcceptThread中有个balance均衡器

2017-06-27 14:15:17

如何实现一个Java Class 解析器,我们需要做的还有很多

最近在写一个私人项目,名字叫做ClassAnalyzer,ClassAnalyzer的目的是能让我们对JavaClass文件的设计与结构能够有一个深入的理解。主体框架与基本功能已经完成,还有一些细节功能日后再增加。实际上JDK已经提供了命令行工具javap来反编译Class文件,但本篇文章将阐明我实现解析器的思路。Class文件作为类或者接口信息的载体,每个Class文件都完整的

2017-06-26 17:00:53

无值和 NULL 值做出选择很简单

在关系型数据库的世界中,无值和NULL值的区别是什么?一直被这个问题困扰着,甚至在写TSQL脚本时,心有戚戚焉,害怕因为自己的一知半解,挖了坑,贻害后来人,于是,本着上下求索,不达通幽不罢休的决心(开个玩笑),遂有此文。学习过关系型数据库的伙伴都知道,NULL是指不确定的值,在数据库中绝对是噩梦的存在;而空值,一般对字符串类型而言,指没有任何值的字符串类型,为字符类型的变量设置为空值:se

2017-06-23 14:30:09

不再迷惑,无值和 NULL 值

在关系型数据库的世界中,无值和NULL值的区别是什么?一直被这个问题困扰着,甚至在写TSQL脚本时,心有戚戚焉,害怕因为自己的一知半解,挖了坑,贻害后来人,于是,本着上下求索,不达通幽不罢休的决心(开个玩笑),遂有此文。学习过关系型数据库的伙伴都知道,NULL是指不确定的值,在数据库中绝对是噩梦的存在;而空值,一般对字符串类型而言,指没有任何值的字符串类型,为字符类型的变量设置为空值:se

2017-06-22 14:28:23

浏览器的小改进让 Facebook 网站减少 60% 的网络请求

过去两年以来,Facebook网站一直与浏览器厂家合作来改善浏览器缓存性能。最近Chrome和Firefox推出的新功能,使其缓存性能对于我们以及整个Web而言都得到了显著提升。这些功能已让用户访问我们服务器静态资源的网络请求降低了60%,同时极大地改善了页面加载时间。(静态资源是那些需要服务器从磁盘读取的文件,而后仅仅提供它,而无需运行额外代码。)本文将详细介绍我们在Chrom

2017-06-21 11:24:20
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!