-
“ID串行化”是如何保证消息顺序性的?
所属栏目:[优化] 日期:2019-03-28 热度:154
在《消息顺序性为何这么难?》中,介绍了一种为了保证所有群友展示的群消息时序都是一致的所使用的ID串行化的方法:让同一个群gid的所有消息落在同一台服务器上处理。 ID串行化是如何实现的呢? 1. 互联网高可用常见分层架构 客户端,反向代理层,接入层,服[详细]
-
JS框架对比,Angular还是Vue适宜才最好
所属栏目:[优化] 日期:2019-03-26 热度:177
副标题#e# 曾几何时,人人都在写前端框架,从网上搞点js脚本自己封装一下就可以搞成一个框架,然而除了用来吹牛外并没有什么egg用。后来有了Jqury出现了几乎一统江湖,但是也仅仅是昙花一现,没持续多久。最近这些年伴随着移动互联网的发展,Ajax技术,V8引[详细]
-
Web性能优化:理解及使用JavaScript缓存
所属栏目:[优化] 日期:2019-03-24 热度:137
副标题#e# 随着我们的应用程序的不断增长并开始进行复杂的计算时,对速度的需求越来越高(),所以流程的优化变得必不可少。 当我们忽略这个问题时,我们最终的程序需要花费大量时间并在执行期间消耗大量的系统资源。 缓存是一种优化技术,通过存储开销大的[详细]
-
涵盖15个领域,GitHub 优质开源 Python 项目大合集
所属栏目:[优化] 日期:2019-03-24 热度:51
人生苦短,我用 Python 随着人工智能、机器学习的热度不断升温,每个程序员多多少少都会写点 Python,那别人的 Python 是怎么用的?能用 Python 写出什么样的精彩项目呢? GitHub 中的 awesome 就又喜提一个新目录,Python 应用合集(awesome-python-appli[详细]
-
你可能不太会用的10个Git命令
所属栏目:[优化] 日期:2019-03-24 热度:198
副标题#e# 如果你不熟悉基本的 git 命令,在阅读本文前可以先参考我之前写的关于 Git 工作流程的文章。 地址:https://towardsdatascience.com/learn-enough-git-to-be-useful-281561eef959 本文介绍了 10 个常见的命令以及它们的一些参数。每个命令都可以[详细]
-
RedMonk 语言排行:Kotlin 上升 8 位,TS 快进前 10
所属栏目:[优化] 日期:2019-03-24 热度:131
知名软件行业分析公司 RedMonk 发布了 2019 年一季度编程语言排行榜。 RedMonk 编程语言排行榜通过追踪编程语言在 GitHub 和 Stack Overflow 上的代码使用情况与讨论数量,统计分析后进行排序,其旨在深入了解潜在的语言采用趋势。该榜单一年发布两次,这[详细]
-
如何通俗易懂的向面试官解释什么是 RPC 框架
所属栏目:[优化] 日期:2019-03-24 热度:148
关于RPC 首先了解什么叫RPC,为什么要RPC,RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。 比如说[详细]
-
一文学懂TypeScript的类型
所属栏目:[优化] 日期:2019-03-24 热度:116
副标题#e# 你将学到什么 阅读本文后,你应该能够理解以下代码的含义: interfaceArrayT{ concat(...items:ArrayT[]|T):T[]; reduceU( callback:(state:U,element:T,index:number,array:T[])=U, firstState?:U):U; } 如果你认为这段代码非常神秘 那么我同意[详细]
-
初学玩转C语言,这17个小项目收下不谢
所属栏目:[优化] 日期:2019-03-24 热度:157
C语言是我们大多数人的编程入门语言,对其也再熟悉不过了,不过很多初学者在学习的过程中难免会出现迷茫,比如:不知道C语言可以开发哪些项目,可以应用在哪些实际的开发中,这些迷茫也导致了我们在学习的过程中不知道如何学、学什么,所以,总结这个列表[详细]
-
90%的人说Python程序慢,5大神招让你的代码像赛车一样跑起来
所属栏目:[优化] 日期:2019-03-24 热度:175
很多人抱怨说自己写的Python代码跑的慢,尤其是当处理的数据集比较大的时候,其实稍微改动几行代码就可以让你的代码性能提高好几倍,不信一起来看下面这个5个小技巧。 1.for 循环 二者的性能差距有多大呢,一般我们用内置的timeit模块来量化比较: 把传统的[详细]
-
Java 8中用法优雅的Stream,性能也优雅吗?
所属栏目:[优化] 日期:2019-03-24 热度:103
副标题#e# 之前的文章中我们介绍了Java 8中Stream相关的API,我们提到Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。 那么,Stream API的性能到底如何呢,代码整洁的背后是否意味着性能的损耗呢?本文我们对Stream API[详细]
-
神秘的偶发服务超时,原因可能是那些坏邻居
所属栏目:[优化] 日期:2019-03-21 热度:191
1. 恶邻A君 唯品会在服务化体系改造的初期,一个对延时敏感的应用,偶然会发生一些超时,事发当时zabbix分钟级监控,dstat秒级监控的服务器指标都正常,应用,数据库,缓存,网络也正常,那这是为什么呢? 某天脑洞大开,把怀疑的目光投向了在后台运行日志[详细]
-
使用 Shell 构建多进程的 CommandlineFu 爬虫
所属栏目:[优化] 日期:2019-03-21 热度:190
CommandlineFu是一个记录脚本片段的网站,,每个片段都有对应的功能说明和对应的标签。我想要做的就是尝试用 shell 写一个多进程的爬虫把这些代码片段记录在一个 org 文件中。 参数定义 这个脚本需要能够通过 -n 参数指定并发的爬虫数(默认为 CPU 核的数[详细]
-
CSS 宣布支持三角函数,下一步是什么?
所属栏目:[优化] 日期:2019-03-21 热度:161
2 月底万维网联盟(W3C)CSS 工作组会议宣布了一项决议,批准在 CSS 标准中加入一批新函数,其中包括: 正弦函数- sin() 余弦函数 - cos() 正切函数- tan() 反余弦函数 - acos() 反正弦函数 - asin() 反正切函数 - atan() 使用两个参数x 和 y 的反正切函数[详细]
-
Web应用安全性: HTTP简介
所属栏目:[优化] 日期:2019-03-21 热度:196
副标题#e# HTTP是一个美好的东西:一个存在了20多年而没有太多变化的协议。 正如我们在前一篇文章中看到的,浏览器通过HTTP协议与web应用程序交互,这是我们深入研究这个主题的主要原因。如果用户在网站上输入他们的信用卡信息,攻击者就能在数据到达服务器[详细]
-
使用Shell构建多进程的CommandlineFu爬虫
所属栏目:[优化] 日期:2019-03-21 热度:196
CommandlineFu是一个记录脚本片段的网站,每个片段都有对应的功能说明和对应的标签。我想要做的就是尝试用 shell 写一个多进程的爬虫把这些代码片段记录在一个 org 文件中。 参数定义 这个脚本需要能够通过 -n 参数指定并发的爬虫数(默认为 CPU 核的数量[详细]
-
推荐 | Python七步捉虫法
所属栏目:[优化] 日期:2019-03-18 热度:58
副标题#e# 了解一些技巧助你减少代码查错时间。 在周五的下午三点钟(为什么是这个时间?因为事情总会在周五下午三点钟发生),你收到一条通知,客户发现你的软件出现一个错误。在有了初步的怀疑后,你联系运维,查看你的软件日志以了解发生了什么,因为你[详细]
-
前端开发者必备的Nginx知识
所属栏目:[优化] 日期:2019-03-18 热度:118
副标题#e# nginx在应用程序中的作用 解决跨域 请求过滤 配置gzip 负载均衡 静态资源服务器 nginx是一个高性能的HTTP和反向代理服务器,也是一个通用的TCP/UDP代理服务器,最初由俄罗斯人Igor Sysoev编写。 nginx现在几乎是众多大型网站的必用技术,大多数情[详细]
-
MySQL运维实战之PHP访问MySQL,你使用对了吗
所属栏目:[优化] 日期:2019-03-18 热度:126
副标题#e# 大家都知道,slow query系统做的好不好,直接决定了解决slow query的效率问题。 一个数据库管理平台,拥有一个好的slow query系统,基本上就拥有了解锁性能问题的钥匙。 但是今天主要分享的并不是平台,而是在平台中看到的奇葩指数五颗星的slow i[详细]
-
年后跳槽必看,这份书单让你分分钟拿下offer
所属栏目:[优化] 日期:2019-03-18 热度:52
许多初级开发者的梦想就是,有朝一日可以进入一家大型科技企业,说实话,要获得一份好工作绝非易事,你需要付出大量的努力,许多计算机专业的应届毕业生都想进谷歌、BAT这些大厂,但最终能被录取的寥寥无几 导致面试失败的最重要原因在于缺乏扎实的知识积[详细]
-
推荐这几款开发流程增强工具让您事半功倍
所属栏目:[优化] 日期:2019-03-18 热度:190
JRebel:热部署解决方案 Jrebel 可快速实现热部署,节省了大量重启时间,提高了个人开发效率。网上可搜索到破解版。 JRebel是一款JAVA虚拟机插件,它使得JAVA程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。JRebel使你能即[详细]
-
对于Visual Studio Code新版本,给程序员最佳修复建议
所属栏目:[优化] 日期:2019-03-18 热度:75
微软发布Visual Studio Code 1.32,工作区域、编辑器以及语言功能等都有更新,另外还增加了一些预览功能,让想要尝鲜的开发者使用并反[详细]
-
Web聊天工具的富文本输入框
所属栏目:[优化] 日期:2019-03-18 热度:75
副标题#e# 最近折腾 Websocket,打算开发一个聊天室应用练练手。在应用开发的过程中发现可以插入 emoji ,粘贴图片的富文本输入框其实蕴含着许多有趣的知识,于是便打算记录下来和大家分享。 仓库地址:chat-input-box 预览地址:https://codepen.io/jrainl[详细]
-
万维网之父展望Web未来30年发展:对解决三大难题持乐观态度
所属栏目:[优化] 日期:2019-03-18 热度:144
本周二万维网即将迎来30周岁生日,万维网之父蒂姆伯纳斯-李(Tim Berners-Lee)已经开始展望未来30年了。在庆祝万维网30岁生日的年度公开信中,伯纳斯-李并没有用太多的篇幅描述过去30年万维网所取得的成就,而是表达了对未来30年可以实现的目标表示乐观。[详细]
-
Web性能优化: 图片优化让网站大小减少62%
所属栏目:[优化] 日期:2019-03-10 热度:105
副标题#e# 这是 Web 性能优化的第二篇,上一篇在下面看点击查看: Web 性能优化: 使用 Webpack 分离数据的正确方法 图像是web上提供的最基本的内容类型之一。他们说一张图片胜过千言万语。但是如果你不小心的话,图片大小有时高达几十兆。 因此,虽然网络[详细]