201811-15 神经网络的基本工作原理 看过很多博客、文章,东一榔头西一棒子的,总觉得没有一个系列的文章把问题从头到尾说清楚,找东西很困难。有的博客、文章的质量还不算很理想,似是而非,或者重点不明确,或者直接把别人的博客抄袭过来......种种不靠谱,让小白们学习起来很困难,增加了学习曲线的陡峭程度。当然也有很多博主非常非常负责任,文章质量很高,只是连续度不够,正看得过瘾的时候,没有后续章节了。从本文开始,我们试图用一系列博客,讲解现代神经... 继续阅读 >
201805-30 从Chrome源码看WebSocket WebSocket是为了解决双向通信的问题,因为一方面HTTP的设计是单向的,只能是一边发另一边收。而另一方面,HTTP等都是建立在TCP连接之上的,HTTP请求完就会把TCP给关了,而TCP连接本身就是一个长连接吗,只要连接双方不断关闭连接它就会一直连接态,所以有必要再搞一个WebSocket的东西吗?我们可以考虑一下,如果不搞WebSocket怎么实现长连接:(1)HTTP有一个keep-alive的字段,这个字段的作用是复用TCP连接,可以让一... 继续阅读 >
201802-10 了解NodeJS看这一篇就够了 摘要:这篇文章适合对Node一无所知或了解不多的初学者阅读。全面但不深入地讲了包括http模块、express、mongodb和RESTfulAPI等知识点。如果你是前端开发工作者,那么对你来说,基于NodeJS编写web程序已经不是什么新闻了。而不管是NodeJS还是web程序都非常依赖JavaScript这门语言。首先,我们要认识到一点:Node并不是银弹。也就是说,它不是所有项目的最佳解决方案。任何人都可以基于Node创建一个服务器,但是这需要你... 继续阅读 >
201802-05 WebSocket协议深入探究 一、内容概览WebSocket的出现,使得浏览器具备了实时双向通信的能力。本文由浅入深,介绍了WebSocket如何建立连接、交换数据的细节,以及数据帧的格式。此外,还简要介绍了针对WebSocket的安全攻击,以及协议是如何抵御类似攻击的。二、什么是WebSocketHTML5开始提供的一种浏览器与服务器进行全双工通讯的网络技术,属于应用层协议。它基于TCP传输协议,并复用HTTP的握手通道。对大部分web开发者来说,上面这段... 继续阅读 >
201801-23 WebSocket 详解 WebSocket出现前构建网络应用的过程中,我们经常需要与服务器进行持续的通讯以保持双方信息的同步。通常这种持久通讯在不刷新页面的情况下进行,消耗一定的内存资源常驻后台,并且对于用户不可见。在WebSocket出现之前,我们有一下解决方案:传统轮询(TraditionalPolling)当前Web应用中较常见的一种持续通信方式,通常采取setInterval或者setTimeout实现。例如如果我们想要定时获取并刷新页面上的数据,可... 继续阅读 >
201801-16 关于真正理解Node.js事件循环你需要了解的一切 Node.js是一个基于事件的平台。这意味着Node中发生的任何事情都是对于事件的响应。传入Node的数据处理要经历一层层嵌套的回调。这一流程相对于开发者被抽象出来,由一个叫做libuv的库处理,就是libuv为我们提供了事件循环机制。事件循环也许是Node中最容易被误解的概念。我为Dynatrace工作,这是一家性能监控服务商。在我们解决事件循环监控这一问题时,我们付出了很多努力去正确理解我们正在监测的部分。这篇文章... 继续阅读 >
201712-15 管理 Node.js 进程从未如此优雅 说到Node.js的进程模型,脑子里第一个闪现的可能是Cluster模块,亦或是Master/Worker进程模型,在长期的使用过程中,我们逐渐发现,这样在应用的开发早晚会有局限性,除了不够优雅之外,每次增减进程或者自定义进程都会产生不可预知的问题。在一些特定的场景下,我们甚至在Master下面加入了一个Agent进程用来运行一些中间件SDK。在这些修修补补的过程中,传统的进程间通信,数据交换都变的困难,甚至Wor... 继续阅读 >
201709-05 掌握 Node.js 中的 async/await 你会在本文中学到如何使用async函数(async/await)来简化回调,以及基于Promise的Node.js应用。异步语言结构已经在其它语言中存在好一阵了,比如C#的async/await,Kotlin的协程(Coroutine)以及Go中的Goroutine。随着Node.js8的发布,期待已久的异步函数功能终于来临。在本教程结束的时候,你应该可以回答下面的问题:Node.js中的async/await是自发明面包切片以来最美好的事情吗?Node中的... 继续阅读 >
201706-20 Node.js Color 模块实现入门浅析 Node.js中有不少常用的Color模块,例如chalk、colors.js、cli-color等,通过这些模块我们输出各种带颜色、方面区分或者更酷的日志以及CLI工具提示。那么今天带大家简单了解一下Color模块的实现。ANSIescapecode与前端上对元素内的文字加上了CSS修饰一样。terminal中输出的文字包含颜色也是因为文字的数据跟随了颜色描述的数据。而要了解terminal上的颜色,首先需要了解ANSIescapecod... 继续阅读 >
201702-14 10个技巧,让你在 2017 年成为更好的Node开发者 摘要:在2012年,我加入了Storify并开始使用Node作为我的主要语言。从那以后,我从未回首过去并觉得我错过了Python,Ruby,Java以及PHP,这些在过去10年里,我在web开发过程中使用的语言。下面我将列出10条建议,这些建议可以帮助你在2017年成为一个更好的Node开发者。其中一些建议是我在日常实践中所学到的,另一些是从那些写了最流行的Node和npm模块的人们身上学到的。下面是我们将要介绍的内容:在2012年,我加入... 继续阅读 >
201612-29 PHP开发不可忽略这3点 最近发现很多的PHP程序员,尤其是学习还不是很久的,都不知道PHP的精华所在。Perl当年如何在商界出名?其强大的正则表达式。而PHP呢?他是一门从Unix下发展起来的语言,当然也就继承了Perl的很多特点,同时C的优点都有。快速、简洁、明了,尤其是C程序员,PHP是至爱。这里,我想来写一篇PHP的变量、数组应用技巧和PHP的正则表达式、PHP的模板应用。1、变量、数组的应用技巧(1)很多人用得不多的数组函数。foreach、list、each。分... 继续阅读 >
201610-13 加速iOS开发的28个第三方库 1: AFNetworking -网络请求AFNetworkingisadelightfulnetworkinglibraryforiOSandMacOSX类似库有 Alamofire2: AsyncDisplayKit -异步加载UISmoothasynchronoususerinterfacesforiOSapps类似库有 Componentkit3: Aspects -RuntimeDelightful,simplelibraryforaspectorientedprogramming4: Charts -图表绘制BeautifulchartsforiOS/tvOS/... 继续阅读 >
201610-11 Android开发套路收集整理与讨论 以下做法纯属个人习惯,欢迎讨论:DinitView()与updateView()通常,我会添加一个initView()方法来初始化所有的View对象,在这个方法的具体实现中,可能会有两种不同的细微差别。第一种是仅仅做findViewById()就好了,也就是仅仅是去找到每一个View对象,而不去给它们设置属性,比如setText()之类的。另一种则是在findViewById()后,顺便给它们设置初始值。我更倾向于第一种做法,因为如果你在initView()方法中给View设置一些属... 继续阅读 >
201610-11 Yii2.0实现微信公众号后台开发 本文内容较多,包括微信接入、获取微信用户信息、微信支付、JSSDK配置参数获取等部分。如果读者对微信开发没有一个主观上的认识,那么建议读者先研读微信公众平台开发者文档,然后再阅读本文,效果更佳!另外本文的分章节版本可以在八宝粥的博客找到。接入微信Yii2后台配置1.在app/config/params.php中配置token参数return[//微信接入'wechat'=>['token'=>'yourtoken',... 继续阅读 >
201609-29 微信小程序开发:Flex布局 微信小程序页面布局方式采用的是Flex布局。Flex布局,是W3c在2009年提出的一种新的方案,可以简便,完整,响应式的实现各种页面布局。Flex布局提供了元素在容器中的对齐,方向以及顺序,甚至他们可以是动态的或者不确定的大小的。Flex布局的主要特征是能够调整其子元素在不同的屏幕大小中能够用最适合的方法填充合适的空间。flex布局Flex布局的特点:任意方向的伸缩,向左,向右,向下,向上在样式层可以... 继续阅读 >
201609-29 不需内测账号,带你体验微信小程序完整开发过程 微信小程序还没正式发布就已经迅速成为大家讨论的焦点,那么大家可能觉得只有收到内测邀请才能体验小程序的开发流程,其实不然,大家都可以体验,下面就带大家一起了解。下载微信Web开发者工具首先,微信给我们提供了它自己的小程序集成开发工具,只需要到这个页面下载即可:下载完成后,打开开发者工具,会有一个扫码登录界面。用你的微信扫码就可以登录进来了,然后开发者工具会帮我们创建一个默认工程,项目的文件结构... 继续阅读 >