-
把JS代码生成字节码,用字节码技术保护NodeJS源码
所属栏目:[优化] 日期:2019-10-31 热度:196
现在很后端服务都是用NodeJS开发的,比如网站后台、游戏服务器、应用服务等等。但NodeJS的后端,有一个弊端,常让人心里不踏实:JS的代码,代码是透明公开的,很容易被他人COPY,很容易自己开发产品就泄漏了,甚至是很快出现雷同产品。 这里介绍一种NodeJS[详细]
-
初创公司技术困境:弹性部署与详尽测试
所属栏目:[优化] 日期:2019-10-31 热度:91
作为一家初创公司,构建软件要坚持创新,要有吸引力和竞争力。因为,市场在不断变化,新的需求也在不断出现。 从软件角度来说,要保持这样的优势就意味着必须尽可能缩短文档和开发阶段所占的时间。当然,保持软件的弹性也很重要,提供优秀的服务是 Algolia[详细]
-
你的Java并发程序Bug,100%是这几个原因造成的
所属栏目:[优化] 日期:2019-10-31 热度:72
可见性问题 可见性是指一个线程对共享变量进行了修改,其他线程能够立马看到该共享变量更新后的值,这视乎是一个合情合理的要求,但是在多线程的情况下,可能就要让你失望了,由于每个 CPU 都有自己的缓存,每个线程使用的可能是不同的 CPU ,这就会出现数[详细]
-
JavaScript冒泡排序与选择排序
所属栏目:[优化] 日期:2019-10-31 热度:151
算法与数据结构构成了程序,数据结构用于实现数据的表示、存储、管理,算法通过使用数据完成一定的业务逻辑与操作,最终实现了程序的功能。因此算法在编程中的重要性是不言而喻的。很多复杂的算法都是借助最基本的算法实现的。本文主要选取经典排序算法中[详细]
-
Java 中常见的几个陷阱,你没有遇到几个?
所属栏目:[优化] 日期:2019-10-31 热度:153
概述 java 中有很多,新手经常遇到的陷阱,本文主要包含 自动装箱与拆箱 不可变的String 内存泄漏 自增类型使用 使用 ==进行对象比较 double 类型计算 不可变的String Java String类是不可变的(不可修改)。这是因为String对象被缓存在String池中。字符串引[详细]
-
茶余饭后聊聊 Vue3.0 响应式数据那些事儿
所属栏目:[优化] 日期:2019-10-31 热度:68
别再更新了,实在是学不动了这句话道出了多少前端开发者的心声,不幸的是 Vue 的作者在国庆区间发布了 Vue3.0 的 pre-Aplha 版本,这意味着 Vue3.0 快要和我们见面了。既来之则安之,扶我起来我要开始讲了。Vue3.0 为了达到更快、更[详细]
-
Redis优化高并发下的秒杀性能
所属栏目:[优化] 日期:2019-10-31 热度:108
本文内容 使用Redis优化高并发场景下的接口性能 数据库乐观锁 随着双11的临近,各种促销活动开始变得热门起来,比较主流的有秒杀、抢优惠券、拼团等等。 涉及到高并发争抢同一个资源的主要场景有秒杀和抢优惠券。 前提 活动规则 奖品数量有限,比如100个[详细]
-
作为高级Java,你应该了解的Linux知识
所属栏目:[优化] 日期:2019-10-31 热度:127
Linux命令好像还真不少,根本原因就是软件多,也有像ag这样的命令想替代grep,但大多数命令古老而坚挺。不是因为这些软件设计的有多好,原因是一些软件最开始入驻了系统,时间久了,就变成了一种约定,这种习惯改变代价太大,就像把所有键盘的L和F换一下一[详细]
-
来吧,说说你眼中的微服务
所属栏目:[优化] 日期:2019-10-31 热度:163
微服务划分模式 虽然服务是逐步被拆分出来的,随着业务的演进,在某一时刻,可能需要我们重新审视服务划分得是否合理。本节向大家推荐两种服务划分的方法,首先介绍如何选择服务划分的方法。 基于业务复杂度选择服务划分方法 根据业务复杂度划分服务,如图[详细]
-
线程、多线程和线程池,我终于把这些全部搞懂了
所属栏目:[优化] 日期:2019-10-31 热度:154
1、开启线程的三种方式? 1)继承Thread类,重写run()方法,在run()方法体中编写要完成的任务 new Thread().start(); 2)实现Runnable接口,实现run()方法 new Thread(new MyRunnable()).start(); 3)实现Callable接口MyCallable类,实现call()方法,使用Futur[详细]
-
天气变冷了,给父母制作一个天气提醒小助手
所属栏目:[优化] 日期:2019-10-29 热度:155
最近天气变冷了,和父母聊天中得知,他们查看每天的天气预报不太方便,我记得小时候,每晚 19:30 左右,一家人都要守在电视机旁边收听第二天的天气情况。 如今,对于我们年轻人来说,获取天气情况很方便,但是对于我们不擅长用手机的父母来说,还是很吃力[详细]
-
硬核!Rust异步编程方式重大升级:新版Tokio如何提升10倍性能详解
所属栏目:[优化] 日期:2019-10-29 热度:116
协程或者绿色线程是近年来经常讨论的话题。Tokio作为Rust上协程调度器实现的典型代表,其设计和实现都有其特色。本文是Tokio团队在新版本调度器发布后,对其设计和实现的经验做的总结,十分值得一读。 Tokio作为 Rust 语言的异步运行时,我们一直在为它的[详细]
-
BIO和NIO了解多少呢?一起从实践角度重新理解下吧
所属栏目:[优化] 日期:2019-10-28 热度:56
01 前言 这段时间自己在看一些Java中BIO和NIO之类的东西,看了很多博客,发现各种关于NIO的概念说的天花乱坠头头是道,可以说是非常的完整,但是整个看下来之后,自己对NIO还是一知半解的状态,所以这篇文章不会提到很多的概念,而是站在一个实践的角度,[详细]
-
详解Python远程控制模块:Paramiko概念、方法及七大案例
所属栏目:[优化] 日期:2019-10-28 热度:58
概述 ssh是一个协议,OpenSSH是其中一个开源实现,paramiko是Python的一个库,实现了SSHv2协议(底层使用cryptography)。 有了Paramiko以后,我们就可以在Python代码中直接使用SSH协议对远程服务器执行操作,而不是通过ssh命令对远程服务器进行操作。今天主[详细]
-
Python 3.8 究竟要不要升级?用过之后的小哥这样说
所属栏目:[优化] 日期:2019-10-28 热度:138
本文转自雷锋网,如需转载请至雷锋网官网申请授权。 距 Python 3.8 稳定版正式发布已经过去了小半个月,不少 Python 常驻用户已经将 Python 更新到了 3.8 版本,也有一些朋友担心代码运行兼容性等问题,依然坚挺在 Python3.7 中。 那么,究竟要不要更新到[详细]
-
16种迹象代表您的IT架构需要“大修”
所属栏目:[优化] 日期:2019-10-28 热度:91
如今,技术正飞速发展。虽然我们都希望拥有最新、最好的服务,但考虑到成本这一现实因素,小规模企业往往难以实现升级。但如果您的企业还在沿用几年前设计的IT架构,并先后经历过无数轮补丁修复与调整,那下定决心重新设计或者全盘替换,可能反而会节约下[详细]
-
为什么我喜欢 JavaScript 可选链
所属栏目:[优化] 日期:2019-10-28 热度:119
很多 JavaScript 的特性极大地改变了你的编码方式。从 ES2015 及更高版本开始,对我的代码影响较大的功能是解构、箭头函数、类和模块系统。 截至2019年8月,一项新提案可选链(optional chaining)进入了第3阶段,将是一个很好的改进。可选的链接更改了从深[详细]
-
Java 中的四种引用
所属栏目:[优化] 日期:2019-10-28 热度:199
之前我们提到过 GC,但当 Java 中引用的对象越来越多,会导致内存空间不足,最终会产生错误 OutOfMemoryError,并让应用程序终止。那为什么 GC 在此时不能多收集一些对象呢?这就和今天说的引用类型有关了。 首先,从 JDK1.2 开始,对象的引用被划分为4种级[详细]
-
闲鱼上哪些商品抢手?Python 分析后告诉你
所属栏目:[优化] 日期:2019-10-28 热度:79
1.目标场景 经常看到有朋友在闲鱼卖些小东西又或是自己擅长的一些技能,都能为他们带来不错的 睡后收入。 闲鱼上大量的商品,很难精准判断哪些受欢迎,哪些好卖;一个个录入数据去做数据分析,浪费时间的同时,效率也极其的低效。 本篇文章的目的是利用 Pyt[详细]
-
这个奇葩的语言,代码写完后连作者自己都看不懂了!
所属栏目:[优化] 日期:2019-10-28 热度:144
周末的Hello World咖啡馆依然热闹非凡,Java,Python,Lisp等一伙人坐在一起谈笑风生。这时候Java注意到门口来了一个面色阴郁的老头儿,在咖啡馆门口徘徊着,似乎不愿意进来。 Java上去询问, 老头儿说他叫Forth,被主人设计成了一幅古怪的模样,现在没有[详细]
-
编程大神进阶之路:Python技巧小贴士
所属栏目:[优化] 日期:2019-10-28 热度:199
介绍 Python 炫酷功能(例如,变量解包,偏函数,枚举可迭代对象等)的文章层出不穷。但是还有很多 Python 的编程小技巧鲜被提及。因此,本文会试着介绍一些其它文章没有提到的小技巧,这些小技巧也是我平时会用到的的。让我们一探究竟吧! 整理字符串输入 整[详细]
-
GitHub标星6200:一种字体,变成千姿百态艺术字,设计师馋哭了
所属栏目:[优化] 日期:2019-10-28 热度:75
本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。 这个字体叫Leon Sans,表面看去平平无奇。 但事实上,它并不是普通的字体,体内蕴藏着魔力。 Leon Sans最特别的地方在于,字体是由代码构成的。有了这些代码,它可以随意变身。 比如,[详细]
-
报告:JavaScript 成为最受欢迎的开发技术
所属栏目:[优化] 日期:2019-10-28 热度:54
根据SDTimes报道,Pluralsight 科技公司公布自己的 Technology Index,JavaScript位居榜首。 Pluralsight,是美国的一家面向软件开发者的在线教育课程服务商,成立于 2004 年,该公司网站平台上已经积累了 3000+ 个课程,并且每天还有所增加,学员广泛分布[详细]
-
「量子霸权」真的来了:谷歌论文正式在《自然》杂志发表
所属栏目:[优化] 日期:2019-10-28 热度:136
谷歌认为,它已找到了一条开发容错量子计算机的出路。 谷歌的研究人员今天在《自然》杂志上发表了量子计算方面的最新成果,展示了其新的Sycamore处理器如何在短短200秒内运行需要全球最庞大的超级计算机耗时10000年才能完成的测试计算。 关于该论文的消息[详细]
-
小姐姐的Python隐藏技巧合集,推特2400赞,代码可以直接跑
所属栏目:[优化] 日期:2019-10-28 热度:115
本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。 常常发资源的英伟达工程师小姐姐Chip Huyen,又发了一套Python隐藏功能合集。 里面都是她从前没发现,或者从前不太敢用的机器学习技巧,有notebook可以直接跑。 合集名叫python-is-coo[详细]
