201702-24 iOS从入门到精通 一、iPhone机型适配设备型号屏幕尺寸iPhone4/4S320*480iPhone5/5C/5S320*568iPhone6/6S/7375*667iPhone6Plus/6SPlus/7Plus414*736机型适配二、mian()函数的作用(1)创建了一个自动释放池。(2)调用UIApplicationMain()函数。... 继续阅读 >
201702-23 全面解析 Javascript - this 为什么要写这篇文章?我之前在阿里面试,以及其它公司面试的时候曾经被问到过这个问题,所以想要分享给大家,如果你能清楚地知道下面this七种情况的区别,能跟面试官解释清楚,无疑是一个大大的加分项,理解完这篇文章,面试官再怎么问你this都不怕了。谈及Javascript中的this,竟然让人觉得头疼,它不像Java,C++中的this指向调用this的该对象。在函数中this到底取何值,是在函数真正被调用执... 继续阅读 >
201702-23 你知道怎么用原生 JS 设置样式么 用JS来动态设置CSS样式,常见的有以下几种1.直接设置style的属性某些情况用这个设置!important值无效如果属性有'-'号,就写成驼峰的形式(如textAlign) 如果想保留-号,就中括号的形式 element.style['text-align']='100px';element.style.height='100px';2.直接设置属性(只能用于某些属性,相关样式会自动识别)element.setAttribute('height',100);element.setAttribute('height... 继续阅读 >
201702-23 2017前端开发者必学清单 前端生态系统高速发展,我们把时间花费在尝试新技术并在网上讨论它们。我并非指不该如此,但也许我们可以放缓脚步,去多关注下那些变化不大的东西。这些东西能很大程度改善工作质量,提升工作价值,帮我们去理解新的工具。这篇文章里有我自己过往的经验也有新年的计划,同时也希望能收到你们的反馈。学习如何编写可读的代码我们大多数的工作不是写新代码,而是维护既有的代码。这也就意味着你读代码的时间要远多于... 继续阅读 >
201702-23 35 个 Java 代码性能优化总结 前言代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可... 继续阅读 >
201702-23 成就伟大程序员所要具备的10个特质,你命中没 世上程序员千千万,可称得上“伟大的”无二三。所以很多程序员心中都有疑问“伟大的程序员都有哪些特质,怎样才能成为一个伟大的程序员呢?”。首先,一个伟大的程序员肯定要是技能满点的,技术问题即使不是分分钟解决,也会在思考之后成功解锁。其次,一个伟大的程序员绝对不是只会机械的编写代码,他还有各种软实力傍身。下面我们就详细来看一下伟大程序员身具的十大特质。1.广泛涉猎,博闻强记编程这件事是... 继续阅读 >
201702-23 面试中要注意的 3 个 JavaScript 问题 JavaScript是所有现代浏览器的官方语言。因此,各种语言的开发者面试中都会遇到JavaScript问题。本文不讲最新的JavaScript库,通用开发实践,或任何新的ES6函数。而是讲讲面试中经常出现的3个JavaScript问题。我问过这些问题,我的朋友说他们也问。当然不是说你在准备JavaScript面试时只要学习这3个问题——你还有很多途径去更好的准备即将到来的面试——但面试官很有可能通过下面3个... 继续阅读 >
201702-22 使用 LVS 实现负载均衡原理及安装配置详解 负载均衡集群是loadbalance集群的简写,翻译成中文就是负载均衡集群。常用的负载均衡开源软件有nginx、lvs、haproxy,商业的硬件负载均衡设备F5、Netscale。这里主要是学习LVS并对其进行了详细的总结记录。一、负载均衡LVS基本介绍LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分发到DirectorServer上,然后它把用户的请求根据设置好的调度算法,智能均衡地分发到后端真正服务器(realserver)上。... 继续阅读 >
201702-22 关于ES6中的Maps你需要知道的那些事 JavaScriptES6引入了一个新的数据结构,叫做maps。Maps是设计用来代替使用ObjectLiteral进行键值对存储的数据结构,它需要键值唯一,并且为循环提供了很多可用的方法。 使用Objectliterals作为“Maps”Objectliterals是JavaScript中最基础的功能了,没有之一。创建一个Map只需要以下这样简单的代码:varmap={"key1":"value1","key2":"value2"}map.key1;//=="value1"很多情... 继续阅读 >
201702-22 JAVA 常用集合内部机制原理 对于常用的集合大家都不陌生,但是深入到内部原理可能都是一知半解,通过阅读源码理解如下。ArrayListArrayList内部就是一个默认大小为10的动态对象数组容器,每当add一个新数据的时候,如果大于原来的容器大小,则会通过Arrays.copyOf把容器大小增加到原来的1.5倍,以此类推。当可以预知数据大小,可以通过initialCapacity来默认设置动态数据的大小,减少扩容带来的资源消耗。时间复杂度:get()-直接读取... 继续阅读 >
201702-22 作为 Android 开发者必须了解的 Gradle 知识 在Android开发中,很多时候我们不需要修改*.gradle文件太多,我们添加依赖、修改targetcompile、最低支持APIlevel,或者修改签名配置和build类型。其它更复杂一些逻辑,我们最后可能就是从StackOverflow中copy了一些自己也不太懂的代码。本文中我们将一步一步介绍Android工程中用到的gradle文件及其背后的原理。1.Groovy1.1语法Gradle文件其实是用Groovy脚本写的,我们都会写java,所以入门Groovy非常简单。... 继续阅读 >
201702-18 你可能不知道 Google 最近的「小动作」 了解我的人知道,我是一名不折不扣的G粉,一直在关注Google,最近Google有一些小动作,可能很多人不太了解,借这个机会,给大家普及下。而且断断续续有人问我一些这样的问题,比如:Android的前景怎么样?我想学习编程,到底学什么更好呢?移动互联网已经走下坡路了,下一个风口是什么呢?对于Google的一些动作,我有一些思考以及自己的看法,分享给你们,很可能看完之后以上问题就有答案了。PWA... 继续阅读 >
201702-18 10 年学到的编程经验总结 我作为一个web开发者的旅程始于2000年,那时我还只有21岁,我依然可以清楚地记得那些日子里激荡在我内心的感觉。如果一定要找一个词来形容的话,我觉得那是——愉悦。我不需要担忧时间、最后期限和轻重缓急,也不需要担心生产力。我所要关心的只有一件事,那就是学习,尽可能多和尽可能快地学习。我急急忙忙地前进不是因为时间期限这些事情,仅仅是因为这让我感觉良好,让我觉得有趣。学习如何构建东西,发现一个全新的... 继续阅读 >
201702-17 21 步助你成为成功的 Web 开发者 随着Web开发行业的蓬勃发展,很多人都在问这个问题:我怎样才能成为一个Web开发者?我认为不应该这么问,而应该问:我怎样才能成为一个成功的Web开发者?这是一个很重要的问题,因为世界上那么多的Web开发者,但他们之中有多少是成功的呢?这篇文章的目标是使你的思想,知识和技能能够脱颖而出,为你成就成功的Web开发职业生涯——不管你是公司职员还是自由职业者。本文面向飞主体是有抱负的Web开发... 继续阅读 >
201702-17 40个Java集合面试问题和答案 1.Java集合框架是什么?说出一些集合框架的优点?每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。它还包括在Java并发包中,阻塞接口以及它们的实现。集合框架的部分优点如下:(1)使用核心集合类降低开发成本,而非实现我们自... 继续阅读 >
201702-17 CSS通用数据类型 CSS中属性的值有着许多种格式。为了让用户代理(即浏览器)能够识别一个值是否有效,则需要确认该值是否符合该类值支持的格式的其中一种。这些属性值所支持的格式叫做数据类型,在规范中用<this>的形式标识。CSS中存在两种数据类型——特定数据类型和通用数据类型。特定数据类型只与一个单独的属性或某一类属性有关联。例如,<transform-function>这一数据类型仅仅只能用作transform属性的值。相反的,通用数据类... 继续阅读 >
201702-14 git 代码合并 在Git中,gitmerge和gitrebase都是用来将一个分支的修改并入另一个分支,只不过方式不同。在日常工作中基本都会有一个工作主分支,一般我们会新建一个新的分支开始我们的工作,以免影响主分支。我们假设以下的情景来说明代码合并。小李需要开发FeatureA,因此他在项目主分支的基础上新建了一个FeatureA的分支开始了他的工作,在他工作的同时,同事修复了两个bug,并且都合入了主分支,于是代码分支变成了下面这... 继续阅读 >
201702-14 10个技巧,让你在 2017 年成为更好的Node开发者 摘要:在2012年,我加入了Storify并开始使用Node作为我的主要语言。从那以后,我从未回首过去并觉得我错过了Python,Ruby,Java以及PHP,这些在过去10年里,我在web开发过程中使用的语言。下面我将列出10条建议,这些建议可以帮助你在2017年成为一个更好的Node开发者。其中一些建议是我在日常实践中所学到的,另一些是从那些写了最流行的Node和npm模块的人们身上学到的。下面是我们将要介绍的内容:在2012年,我加入... 继续阅读 >
201702-14 PHP与Node.js:一个史诗般开发者的分享 两个老朋友之间最终以战斗的方式分开,这是经典的好莱坞情节,通常,摩擦开始于一个人对另一个人的说话不感兴趣时。在编程语言这部电影中,Node.js的引入使得朋友轻易地变成了怨恨对手:PHP和JavaScript,两个合作伙伴曾经一起统治互联网,但现在却彼此分开。过去的合作关系很简单。JavaScript处理浏览器上的细节,而PHP管理80端口和MySQL之间的所有服务器端任务。这是一个幸福的联盟,支持互联网的许多关键部分。... 继续阅读 >
201702-14 2017年值得学习的3个CSS特性 随着新的一年到来,我们有一整套新的东西要开始学习。虽然今年的新特性有很多,但有3个新的特性是最令我激动不已的。1.FeatureQueries前段时间,我写过关于FeatureQueries的一篇文章,叫“我最想要的CSS特性之一”。好了,现在它已经出现在这里了。它支持除了IE浏览器之外的所有主流浏览器(包括OperaMini)。FeatureQueries,使用这个@supports规则,允许我们包含CSS在一个条件块,但只有当前用户客户端支... 继续阅读 >
201702-13 我的编程经历与我所热爱的游戏服务端开发 嗨,大家好,我是风雅,有一段时间没写博客了,其实我在持续进步中,每天都成长很快,这段时间有很多次想写博客的想法,但都因为当时的状态更想敲一些代码或是看一些书而没有立马去写博客总结,后来再想去写时,灵感过了,也写不出什么东西了。所以这次,借着最近的一些想法和成长,我知道我必须得留下点什么了,感谢我身边很多和我一样对技术执着的人,在过年期间依旧不断给自己充电,让我在这个技术氛围里过年也没有停止过... 继续阅读 >
201702-13 阿里面试回来,想和Java程序员谈一谈 引言其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来。LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容基本上忘得一干二净,所以写这篇文章其实是很有难度的。但是,最近问LZ的人实在是太多了,为了避免重复回答,给自己省点力气,干脆就在这里统一回复了。其实之前LZ写过一篇文章,但是那篇文章更多的是在... 继续阅读 >
201702-13 多种负载均衡算法及其Java代码实现 首先给大家介绍下什么是负载均衡(来自百科)负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡,英文名称为LoadBalance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。本文讲述的是"将... 继续阅读 >
201702-13 IT男首次遭遇高科技诈骗,回顾整个过程,令人防不胜防! 微博网友@越来越老的来来 发布了一条长微博,详细讲述了一个骗局,骗局设计的天衣无缝,博主研究生学历,IT行业,即使这样,也差点被骗。这是一个刚刚出现的高科技骗局,每个环节设计的让人无法不信,很多网友看完后,都说被惊出一身冷汗。背景:男主,研究生文化,IT行业,自认为头脑比较清晰,常年浏览网上新闻,熟悉各种网络金融骗局,包括今天所遭遇的骗局。目标:和大家分享出来,主要是在徐玉玉遭遇网... 继续阅读 >