-
“ID串行化”是如何保证消息顺序性的?
所属栏目:[优化] 日期:2019-03-25 热度:163
在《消息顺序性为何这么难?》中,介绍了一种为了保证所有群友展示的群消息时序都是一致的所使用的ID串行化的方法:让同一个群gid的所有消息落在同一台服务器上处理。 ID串行化是如何实现的呢? 1. 互联网高可用常见分层架构 客户端,反向代理层,接入层,服[详细]
-
TypeScript 再次发布一个奇怪的版本:3.3.4000
所属栏目:[优化] 日期:2019-03-24 热度:68
TypeScript 刚刚发布了版本号有点特殊的3.3.4000 版本,不知道是否又是和上次TypeScript 3.3.3333一样,只是为了幽你一默。。 更新内容方面,按照发布公告,该版本修复的问题与3.3.3333版本相同,但去掉了先前发布到 npm 的非必要工件,该工件会影响使用 J[详细]
-
Java 12 / JDK 12 正式发布
所属栏目:[优化] 日期:2019-03-24 热度:84
自 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-24 热度:154
近日,谷歌开源了Sandboxed API(沙箱式 API)。该项目用于在 Linux 系统上运行的 C/C++ 库,是谷歌公司内部多年来一直在数据中心使用的工具,可以帮助开发人员免受恶意用户的输入和漏洞利用。 沙箱是什么? 许多软件项目需要处理到外部数据,在安全方面会[详细]
-
PNG图片压缩原理解析--屌丝的眼泪
所属栏目:[优化] 日期:2019-03-24 热度:52
png??png的图片我们每天都在用,可是png到底是什么,它的压缩原理是什么? 很好,接下来我将会给大家一一阐述。 什么是PNG PNG的全称叫便携式网络图型(Portable Network Graphics)是目前最流行的网络传输和展示的图片格式,原因有如下几点: 无损压缩[详细]
-
Vue服务端渲染实践 ——Web应用首屏耗时最优化方案
所属栏目:[优化] 日期:2019-03-24 热度:147
随着各大前端框架的诞生和演变,SPA开始流行,单页面应用的优势在于可以不重新加载整个页面的情况下,通过ajax和服务器通信,实现整个Web应用拒不更新,带来了极致的用户体验。然而,对于需要SEO、追求极致的首屏性能的应用,前端渲染的SPA是糟糕的。好在V[详细]
-
JS框架对比,Angular还是Vue适宜才最好
所属栏目:[优化] 日期:2019-03-23 热度:157
曾几何时,人人都在写前端框架,从网上搞点js脚本自己封装一下就可以搞成一个框架,然而除了用来吹牛外并没有什么egg用。后来有了Jqury出现了几乎一统江湖,但是也仅仅是昙花一现,没持续多久。最近这些年伴随着移动互联网的发展,Ajax技术,V8引擎和Node.[详细]
-
Java 8中用法优雅的Stream,性能也优雅吗?
所属栏目:[优化] 日期:2019-03-23 热度:86
之前的文章中我们介绍了Java 8中Stream相关的API,我们提到Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。 那么,Stream API的性能到底如何呢,代码整洁的背后是否意味着性能的损耗呢?本文我们对Stream API的性能一[详细]
-
90%的人说Python程序慢,5大神招让你的代码像赛车一样跑起来
所属栏目:[优化] 日期:2019-03-23 热度:141
很多人抱怨说自己写的Python代码跑的慢,尤其是当处理的数据集比较大的时候,其实稍微改动几行代码就可以让你的代码性能提高好几倍,不信一起来看下面这个5个小技巧。 1.for 循环 二者的性能差距有多大呢,一般我们用内置的timeit模块来量化比较: 把传统的[详细]
-
初学玩转C语言,这17个小项目收下不谢
所属栏目:[优化] 日期:2019-03-23 热度:78
C语言是我们大多数人的编程入门语言,对其也再熟悉不过了,不过很多初学者在学习的过程中难免会出现迷茫,比如:不知道C语言可以开发哪些项目,可以应用在哪些实际的开发中,这些迷茫也导致了我们在学习的过程中不知道如何学、学什么,所以,总结这个列表[详细]
-
一文学懂TypeScript的类型
所属栏目:[优化] 日期:2019-03-23 热度:86
你将学到什么 阅读本文后,你应该能够理解以下代码的含义: interfaceArrayT{ concat(...items:ArrayT[]|T):T[]; reduceU( callback:(state:U,element:T,index:number,array:T[])=U, firstState?:U):U; } 如果你认为这段代码非常神秘 那么我同意你的意见。[详细]
-
如何通俗易懂的向面试官解释什么是 RPC 框架
所属栏目:[优化] 日期:2019-03-23 热度:120
关于RPC 首先了解什么叫RPC,为什么要RPC,RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。 比如说[详细]
-
RedMonk 语言排行:Kotlin 上升 8 位,TS 快进前 10
所属栏目:[优化] 日期:2019-03-23 热度:85
知名软件行业分析公司 RedMonk 发布了 2019 年一季度编程语言排行榜。 RedMonk 编程语言排行榜通过追踪编程语言在 GitHub 和 Stack Overflow 上的代码使用情况与讨论数量,统计分析后进行排序,其旨在深入了解潜在的语言采用趋势。该榜单一年发布两次,这[详细]
-
你可能不太会用的10个Git命令
所属栏目:[优化] 日期:2019-03-23 热度:95
如果你不熟悉基本的 git 命令,在阅读本文前可以先参考我之前写的关于 Git 工作流程的文章。 地址:https://towardsdatascience.com/learn-enough-git-to-be-useful-281561eef959 本文介绍了 10 个常见的命令以及它们的一些参数。每个命令都可以链接到该命[详细]
-
涵盖15个领域,GitHub 优质开源 Python 项目大合集
所属栏目:[优化] 日期:2019-03-23 热度:193
人生苦短,我用 Python 随着人工智能、机器学习的热度不断升温,每个程序员多多少少都会写点 Python,那别人的 Python 是怎么用的?能用 Python 写出什么样的精彩项目呢? GitHub 中的 awesome 就又喜提一个新目录,Python 应用合集(awesome-python-appli[详细]
-
Web性能优化:理解及使用JavaScript缓存
所属栏目:[优化] 日期:2019-03-23 热度:50
随着我们的应用程序的不断增长并开始进行复杂的计算时,对速度的需求越来越高(),所以流程的优化变得必不可少。 当我们忽略这个问题时,我们最终的程序需要花费大量时间并在执行期间消耗大量的系统资源。 缓存是一种优化技术,通过存储开销大的函数执行[详细]
-
神秘的偶发服务超时,原因可能是那些坏邻居
所属栏目:[优化] 日期:2019-03-23 热度:114
1. 恶邻A君 唯品会在服务化体系改造的初期,一个对延时敏感的应用,偶然会发生一些超时,事发当时zabbix分钟级监控,dstat秒级监控的服务器指标都正常,应用,数据库,缓存,网络也正常,那这是为什么呢? 某天脑洞大开,把怀疑的目光投向了在后台运行日志[详细]
-
MySQL运维实战之PHP访问MySQL,你使用对了吗
所属栏目:[优化] 日期:2019-03-23 热度:62
大家都知道,slow query系统做的好不好,直接决定了解决slow query的效率问题。 一个数据库管理平台,拥有一个好的slow query系统,基本上就拥有了解锁性能问题的钥匙。 但是今天主要分享的并不是平台,而是在平台中看到的奇葩指数五颗星的slow issue。 好[详细]
-
前端开发者必备的Nginx知识
所属栏目:[优化] 日期:2019-03-23 热度:54
nginx在应用程序中的作用 解决跨域 请求过滤 配置gzip 负载均衡 静态资源服务器 nginx是一个高性能的HTTP和反向代理服务器,也是一个通用的TCP/UDP代理服务器,最初由俄罗斯人Igor Sysoev编写。 nginx现在几乎是众多大型网站的必用技术,大多数情况下,我[详细]
-
推荐这几款开发流程增强工具让您事半功倍
所属栏目:[优化] 日期:2019-03-23 热度:194
JRebel:热部署解决方案 Jrebel 可快速实现热部署,节省了大量重启时间,提高了个人开发效率。网上可搜索到破解版。 JRebel是一款JAVA虚拟机插件,它使得JAVA程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。JRebel使你能即[详细]
-
对于Visual Studio Code新版本,给程序员最佳修复建议
所属栏目:[优化] 日期:2019-03-23 热度:137
微软发布Visual Studio Code 1.32,工作区域、编辑器以及语言功能等都有更新,另外还增加了一些预览功能,让想要尝鲜的开发者使用并反[详细]
-
万维网之父展望Web未来30年发展:对解决三大难题持乐观态度
所属栏目:[优化] 日期:2019-03-23 热度:58
本周二万维网即将迎来30周岁生日,万维网之父蒂姆伯纳斯-李(Tim Berners-Lee)已经开始展望未来30年了。在庆祝万维网30岁生日的年度公开信中,伯纳斯-李并没有用太多的篇幅描述过去30年万维网所取得的成就,而是表达了对未来30年可以实现的目标表示乐观。[详细]
-
使用 Shell 构建多进程的 CommandlineFu 爬虫
所属栏目:[优化] 日期:2019-03-23 热度:103
CommandlineFu是一个记录脚本片段的网站,每个片段都有对应的功能说明和对应的标签。我想要做的就是尝试用 shell 写一个多进程的爬虫把这些代码片段记录在一个 org 文件中。 参数定义 这个脚本需要能够通过 -n 参数指定并发的爬虫数(默认为 CPU 核的数量[详细]
-
CSS 宣布支持三角函数,下一步是什么?
所属栏目:[优化] 日期:2019-03-23 热度:133
2 月底万维网联盟(W3C)CSS 工作组会议宣布了一项决议,批准在 CSS 标准中加入一批新函数,其中包括: 正弦函数- sin() 余弦函数 - cos() 正切函数- tan() 反余弦函数 - acos() 反正弦函数 - asin() 反正切函数 - atan() 使用两个参数x 和 y 的反正切函数[详细]
-
Web应用安全性: HTTP简介
所属栏目:[优化] 日期:2019-03-23 热度:69
HTTP是一个美好的东西:一个存在了20多年而没有太多变化的协议。 正如我们在前一篇文章中看到的,浏览器通过HTTP协议与web应用程序交互,这是我们深入研究这个主题的主要原因。如果用户在网站上输入他们的信用卡信息,攻击者就能在数据到达服务器之前拦截数[详细]
