-
iOS objc_msgSend尾调用优化机制
所属栏目:[优化] 日期:2019-03-26 热度:200
副标题#e# 本文基于Objective-C对象的消息传递机制,详细分析OC对 objc_msgSend 的尾调用优化方式。 1. 什么是尾调用? 尾调用( TailCall):某个函数的最后一步仅仅只是调用了一个函数(可以是自身,可以是另一个函数)。 QiShare提醒:注意 仅仅 两个字。 尾[详细]
-
基于iOS的Wireshark抓包实践
所属栏目:[优化] 日期:2019-03-26 热度:185
副标题#e# 接上篇《基于iOS的Charles抓包实践》,Charles是很强大的网络请求抓包工具,常用于抓包HTTP/HTTPS请求。而作者在做IoT项目时,智能硬件配网协议是基于TCP/UDP或者蓝牙的,需要用Wireshark进行抓包调试。 本文基于作者在项目中抓包iPhone和智能硬[详细]
-
史上最全Python面向对象编程
所属栏目:[优化] 日期:2019-03-26 热度:69
副标题#e# 面向对象编程和函数式编程(面向过程编程)都是程序设计的方法,不过稍有区别。 面向过程编程: 1. 导入各种外部库 2. 设计各种全局变量 3. 写一个函数完成某个功能 4. 写一个函数完成某个功能 5. 写一个函数完成某个功能 6. 写一个函数完成某个功[详细]
-
11道面试中不常见却一定会问到Python题解析
所属栏目:[优化] 日期:2019-03-26 热度:69
副标题#e# Python面试题解析 编者按: 恰逢金三银四招聘季,很多朋友都在忙着跳槽找工作,不断的面试我们知道网上有非常多面试题的解析,但是其中往往是前几年的老题了。 为了帮助小伙伴们能够在Python工作面试中脱颖而出,再此特别奉上2019年11道最新Pytho[详细]
-
性能优化篇---Webpack构建代码质量压缩
所属栏目:[优化] 日期:2019-03-26 热度:99
副标题#e# Webpack构建速度优化基本优化完毕,接下来考虑的就是:线上代码质量的优化,即如何使用webpack构建出高质量的代码 Webpack构建流程:初始化配置参数 - 绑定事件钩子回调 - 确定Entry逐一遍历 - 使用loader编译文件 - 输出文件 提纲 本次优化构建[详细]
-
JS 引擎 V8 发布 v7.4,性能又大幅提高了
所属栏目:[优化] 日期:2019-03-26 热度:81
JavaScript 引擎 V8发布了 7.4 版本,目前处于 beta 阶段,正式版将于几个星期后与 Chrome 74 Stable 一起发布。 此版本带来了一些新特性,并极大提升了性能。 JIT-less V8 V8 现在不需要运行时分配可执行内存就可以执行JavaScript,关于这个新特性的具体[详细]
-
有哪一种编程语言比其他的更安全吗?
所属栏目:[优化] 日期:2019-03-26 热度:100
近日开源安全公司 WhiteSource 针对编程语言的安全性做了一份报告,这份报告提出了一个新问题 有哪一种编程语言比其他的更安全吗? 编程语言之争,是开发者社区一直以来的热议问题,不过讨论的过程往往伴随着双方的愤怒及和谐的破损,不了了之。许多开发者[详细]
-
2019了,你还不会移动端真机调试?
所属栏目:[优化] 日期:2019-03-25 热度:174
副标题#e# 移动端调试困难 很多时候,我们在进行移动端开发时,都是先在PC端使用手机模拟器进行调试,没有问题后,我们才会在手机端的浏览器进行测试,这个时候,如果没有出现问题,皆大欢喜。但是一旦出现问题,我们就很难解决,因为缺乏可视化的界面。不[详细]
-
Python的ChatOps库:Opsdroid和Errbot
所属栏目:[优化] 日期:2019-03-25 热度:194
副标题#e# 学习一下 Python 世界里最广泛使用的 ChatOps 库:每个都能做什么,如何使用。 ChatOps 是基于会话导向而进行的开发。其思路是你可以编写能够对聊天窗口中的某些输入进行回复的可执行代码。作为一个开发者,你能够用 ChatOps 从 Slack 合并拉取请[详细]
-
“ID串行化”是如何保证消息顺序性的?
所属栏目:[优化] 日期:2019-03-25 热度:78
在《消息顺序性为何这么难?》中,介绍了一种为了保证所有群友展示的群消息时序都是一致的所使用的ID串行化的方法:让同一个群gid的所有消息落在同一台服务器上处理。 ID串行化是如何实现的呢? 1. 互联网高可用常见分层架构 客户端,反向代理层,接入层,服[详细]
-
必须要会的50个React面试题
所属栏目:[优化] 日期:2019-03-24 热度:171
副标题#e# 如果你是一位有抱负的前端程序员并准备面试,那么这篇文章很适合你。本文是你学习和面试 React 所需知识的完美指南。 JavaScript 工具缓慢而稳定地在市场中扎根,对 React 的需求呈指数级增长。选择合适的技术来开发应用或网站变得越来越有挑战性[详细]
-
Java 8中用法优雅的Stream,性能也优雅吗?
所属栏目:[优化] 日期:2019-03-22 热度:57
副标题#e# 之前的文章中我们介绍了Java 8中Stream相关的API,我们提到Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。 那么,Stream API的性能到底如何呢,代码整洁的背后是否意味着性能的损耗呢?本文我们对Stream API[详细]
-
90%的人说Python程序慢,5大神招让你的代码像赛车一样跑起来
所属栏目:[优化] 日期:2019-03-22 热度:141
很多人抱怨说自己写的Python代码跑的慢,尤其是当处理的数据集比较大的时候,其实稍微改动几行代码就可以让你的代码性能提高好几倍,不信一起来看下面这个5个小技巧。 1.for 循环 二者的性能差距有多大呢,一般我们用内置的timeit模块来量化比较: 把传统的[详细]
-
初学玩转C语言,这17个小项目收下不谢
所属栏目:[优化] 日期:2019-03-22 热度:145
C语言是我们大多数人的编程入门语言,对其也再熟悉不过了,不过很多初学者在学习的过程中难免会出现迷茫,比如:不知道C语言可以开发哪些项目,可以应用在哪些实际的开发中,这些迷茫也导致了我们在学习的过程中不知道如何学、学什么,所以,总结这个列表[详细]
-
一文学懂TypeScript的类型
所属栏目:[优化] 日期:2019-03-22 热度:94
副标题#e# 你将学到什么 阅读本文后,你应该能够理解以下代码的含义: interfaceArrayT{ concat(...items:ArrayT[]|T):T[]; reduceU( callback:(state:U,element:T,index:number,array:T[])=U, firstState?:U):U; } 如果你认为这段代码非常神秘 那么我同意[详细]
-
如何通俗易懂的向面试官解释什么是 RPC 框架
所属栏目:[优化] 日期:2019-03-22 热度:132
关于RPC 首先了解什么叫RPC,为什么要RPC,RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。 比如说[详细]
-
RedMonk 语言排行:Kotlin 上升 8 位,TS 快进前 10
所属栏目:[优化] 日期:2019-03-22 热度:56
知名软件行业分析公司 RedMonk 发布了 2019 年一季度编程语言排行榜。 RedMonk 编程语言排行榜通过追踪编程语言在 GitHub 和 Stack Overflow 上的代码使用情况与讨论数量,统计分析后进行排序,其旨在深入了解潜在的语言采用趋势。该榜单一年发布两次,这[详细]
-
你可能不太会用的10个Git命令
所属栏目:[优化] 日期:2019-03-22 热度:176
副标题#e# 如果你不熟悉基本的 git 命令,在阅读本文前可以先参考我之前写的关于 Git 工作流程的文章。 地址:https://towardsdatascience.com/learn-enough-git-to-be-useful-281561eef959 本文介绍了 10 个常见的命令以及它们的一些参数。每个命令都可以[详细]
-
涵盖15个领域,GitHub 优质开源 Python 项目大合集
所属栏目:[优化] 日期:2019-03-22 热度:119
人生苦短,我用 Python 随着人工智能、机器学习的热度不断升温,每个程序员多多少少都会写点 Python,那别人的 Python 是怎么用的?能用 Python 写出什么样的精彩项目呢? GitHub 中的 awesome 就又喜提一个新目录,Python 应用合集(awesome-python-appli[详细]
-
Web性能优化:理解及使用JavaScript缓存
所属栏目:[优化] 日期:2019-03-22 热度:95
副标题#e# 随着我们的应用程序的不断增长并开始进行复杂的计算时,对速度的需求越来越高(),所以流程的优化变得必不可少。 当我们忽略这个问题时,我们最终的程序需要花费大量时间并在执行期间消耗大量的系统资源。 缓存是一种优化技术,通过存储开销大的[详细]
-
“高薪”泡沫刺破:互联网人才的“冰与火之歌”
所属栏目:[优化] 日期:2019-03-21 热度:129
副标题#e# 这段时间,互联网巨头的中层们如履薄冰。腾讯手起刀落裁撤 10% 中层干部,在这之前,百度、京东、小米等公司在组织调整公告中,均提及了要提拔年轻员工的想法。高薪挖人泡沫挤出,这正在成为整个互联网行业的常态。市场不像以前,随便就能翻倍的[详细]
-
TypeScript 再次发布一个奇怪的版本:3.3.4000
所属栏目:[优化] 日期:2019-03-21 热度:127
TypeScript 刚刚发布了版本号有点特殊的3.3.4000 版本,不知道是否又是和上次TypeScript 3.3.3333一样,只是为了幽你一默。。 更新内容方面,按照发布公告,该版本修复的问题与3.3.3333版本相同,但去掉了先前发布到 npm 的非必要工件,该工件会影响使用 J[详细]
-
Java 12 / JDK 12 正式发布
所属栏目:[优化] 日期:2019-03-21 热度:158
自 2 月 7 日开始,Java/JDK 12 就进入了 RC 阶段。按照发布周期,美国当地时间 3 月 19 日, Java 12 正式发布了!Java 12 带来了一系列新特性,下边分别来看看: △ JDK 12 GA 发布 Shenandoah: A Low-Pause-Time Garbage Collector (Experimental) Shen[详细]
-
谷歌开源了一个项目,可为 C/C++ 库创建安全策略
所属栏目:[优化] 日期:2019-03-21 热度:82
近日,谷歌开源了Sandboxed API(沙箱式 API)。该项目用于在 Linux 系统上运行的 C/C++ 库,是谷歌公司内部多年来一直在数据中心使用的工具,可以帮助开发人员免受恶意用户的输入和漏洞利用。 沙箱是什么? 许多软件项目需要处理到外部数据,在安全方面会[详细]
-
PNG图片压缩原理解析--屌丝的眼泪
所属栏目:[优化] 日期:2019-03-21 热度:147
副标题#e# png??png的图片我们每天都在用,可是png到底是什么,它的压缩原理是什么? 很好,接下来我将会给大家一一阐述。 什么是PNG PNG的全称叫便携式网络图型(Portable Network Graphics)是目前最流行的网络传输和展示的图片格式,原因有如下几点:[详细]