论如何进行小程序自定义组件的单元测试 (www.alloyteam.com)
自从小程序自定义组件和 npm 功能面世之后,组件化和开源思想逐步开始萌芽了。我们可以将一些通用的部件,如自定义导航栏之类的封装到一个自定义组件中,然后借由 npm 平台开源出去给其他开发者使用,这样可以省去很多劳动。相信各位开发老爷们应该或多或少都有过使用开源包的经历,但是在使用前,这个开源包得能赢取我们的信任,一个很重要的指标就是单元测试通过率和覆盖率。

但是因为小程序独特的运行环境和不完全开源的基础款,使得对小程序自定义组件的单元测试稍微有点困难。目前市面上无论是 vue 还是 react,这些组件化框架都有一套完善的单元测试解决方案,但是对于小程序自定义组件来说却寥寥无几,因此这个工具集—— miniprogram-simulate 便应运而生了。
by @技术头条 2019-01-01 20:22 分享 查看详情
Styled Components:让样式也成为组件 (www.alloyteam.com)
为了应对越来越复杂的web应用,组件化应运而生,React、Vue等组件化框架使我们的程序更简单更加可维护。在一个组件内会将结构、样式和逻辑写在一起,虽然这违背了关注点分离的原则,但是这有利于组件间的隔离。为了顺应组件化的潮流,人们开始考虑使用JS上编写CSS,styled components就是其中一种解决方案。styled components是一个React第三方库,作用是可以将样式写成组件的形式,实现在JS上编写CSS。
by @技术头条 2019-01-01 20:21 分享 查看详情
可扩展的运营后台架构设计 (www.sunhaojie.com)
说起来运营后台,大家首先想到的就是增删改查,给公司内部人使用,出错了不要紧,等等想法。真的是这样吗?运营管理后台,是公司员工处理非常规操作,边界问题的工具,如果运营后台做的不够好,这些问题会向后反馈到程序员,程序员往往会采用修改代码,使用脚本,甚至直接操作数据库的手段处理问题。这个过程中会大大增加沟通成本,出错的概率,同时也会影响用户体验。
by @技术头条 2019-01-01 20:17 分享 查看详情
如何获取 MySQL innodb 的 B+tree 的高度 (www.bo56.com)
MySQL 的 innodb 引擎之所以使用 B+tree 来存储索引,就是想尽量减少数据查询时磁盘 IO 次数。树的高度直接影响了查询的性能。一般树的高度在 3~4 层较为适宜。数据库分表的目的也是为了控制树的高度。那么如何获取树的高度呢?下面使用一个示例来说明如何获取树的高度。
by @技术头条 2019-01-01 20:14 分享 查看详情
深度 | 朴素贝叶斯模型算法研究与实例分析 (www.52nlp.cn)
朴素贝叶斯模型是机器学习常用的模型算法之一,其在文本分类方面简单易行,且取得不错的分类效果。所以很受欢迎,对于朴素贝叶斯的学习,本文首先介绍理论知识即朴素贝叶斯相关概念和公式推导,为了加深理解,采用一个维基百科上面性别分类例子进行形式化描述。然后通过编程实现朴素贝叶斯分类算法,并在屏蔽社区言论、垃圾邮件、个人广告中获取区域倾向等几个方面进行应用,包括创建数据集、数据预处理、词集模型和词袋模型、朴素贝叶斯模型训练和优化等。然后结合复旦大学新闻语料进行朴素贝叶斯的应用。最后,大家熟悉其原理和实现之后,采用机器学习sklearn包进行实现和优化。由于篇幅较长,采用理论理解、案例实现、sklearn优化三个部分进行学习。
by @技术头条 2019-01-01 20:14 分享 查看详情
实现 | 朴素贝叶斯模型算法研究与实例分析 (www.52nlp.cn)
朴素贝叶斯模型是机器学习常用的模型算法之一,其在文本分类方面简单易行,且取得不错的分类效果。所以很受欢迎,对于朴素贝叶斯的学习,本文首先介绍理论知识即朴素贝叶斯相关概念和公式推导,为了加深理解,采用一个维基百科上面性别分类例子进行形式化描述。然后通过编程实现朴素贝叶斯分类算法,并在屏蔽社区言论、垃圾邮件、个人广告中获取区域倾向等几个方面进行应用,包括创建数据集、数据预处理、词集模型和词袋模型、朴素贝叶斯模型训练和优化等。然后结合复旦大学新闻语料进行朴素贝叶斯的应用。最后,大家熟悉其原理和实现之后,采用机器学习sklearn包进行实现和优化。由于篇幅较长,采用理论理解、案例实现、sklearn优化三个部分进行学习。
by @技术头条 2019-01-01 20:13 分享 查看详情
理论 | 朴素贝叶斯模型算法研究与实例分析 (www.52nlp.cn)
朴素贝叶斯模型是机器学习常用的模型算法之一,其在文本分类方面简单易行,且取得不错的分类效果。所以很受欢迎,对于朴素贝叶斯的学习,本文首先介绍理论知识即朴素贝叶斯相关概念和公式推导,为了加深理解,采用一个维基百科上面性别分类例子进行形式化描述。然后通过编程实现朴素贝叶斯分类算法,并在屏蔽社区言论、垃圾邮件、个人广告中获取区域倾向等几个方面进行应用,包括创建数据集、数据预处理、词集模型和词袋模型、朴素贝叶斯模型训练和优化等。然后结合复旦大学新闻语料进行朴素贝叶斯的应用。最后,大家熟悉其原理和实现之后,采用机器学习sklearn包进行实现和优化。由于篇幅较长,采用理论理解、案例实现、sklearn优化三个部分进行学习。
by @技术头条 2019-01-01 20:13 分享 查看详情
[2分钟学个CSS小技巧] 用 CSS 实现一个宽高等比自适应容器 (www.css88.com)
不知道怎么起个标题能更加清楚的说清楚我的意图,那就打个比方吧:比如我们在手机端上方一张宽度 100% 的图片,我们如果不设置图片的高度,那么这个图片会根据图片的原始尺寸等比缩放。今天我们要讲的就是实现这么一个类似于图片等比缩放的容器。
by @技术头条 2019-01-01 20:07 分享 查看详情
一篇文章搞定ArrayList和LinkedList所有面试问题 (cmsblogs.com)
在面试中经常碰到:ArrayList和LinkedList的特点和区别?

个人认为这个问题的回答应该分成这几部分:
1、介绍ArrayList底层实现
2、介绍LinkedList底层实现
3、两者个适用于哪些场合

本文也是按照上面这几部分组织的。
by @技术头条 2019-01-01 20:03 分享 查看详情
如何在 Linux 上对驱动器进行分区和格式化 (linux.cn)
这里有所有你想知道的关于设置存储器而又不敢问的一切。

在大多数的计算机系统上,Linux 或者是其它,当你插入一个 USB 设备时,你会注意到一个提示驱动器存在的警告。如果该驱动器已经按你想要的进行分区和格式化,你只需要你的计算机在文件管理器或桌面上的某个地方列出驱动器。这是一个简单的要求,而且通常计算机都能满足。

然而,有时候,驱动器并没有按你想要的方式进行格式化。对于这些,你必须知道如何查找准备连接到您计算机上的存储设备。
by @技术头条 2019-01-01 20:02 分享 查看详情
提高 Linux 的网络浏览器安全性的 5 个建议 (linux.cn)
这些简单的步骤可以大大提高您的在线安全性。

如果你使用 Linux 桌面但从来不使用网络浏览器,那你算得上是百里挑一。网络浏览器是绝大多数人最常用的工具之一,无论是工作、娱乐、看新闻、社交、理财,对网络浏览器的依赖都比本地应用要多得多。因此,我们需要知道如何使用网络浏览器才是安全的。一直以来都有不法的犯罪分子以及他们建立的网页试图窃取私密的信息。正是由于我们需要通过网络浏览器收发大量的敏感信息,安全性就更是至关重要。

对于用户来说,需要采取什么措施呢?在下文中,我会提出一些基本的建议,让你的重要数据不会被他人轻易窃取。尽管我用于演示的是 Firefox 网络浏览器,但其中大部分建议在任何一种网络浏览器当中都可以适用。
by @技术头条 2019-01-01 20:02 分享 查看详情
杀了个回马枪,还是说说position:sticky吧 (www.zhangxinxu.com)
position:sticky早有耳闻也有所了解,后来,Chrome放弃了对其支持,我也就不关心这个声明了,今天偶然发现,卧槽,Chrome什么时候杀了个回马枪,居然又支持了。眼瞅着,各个浏览器纷纷立了山头,要必要关心关心position:sticky了,不要被人留下厚此薄彼的口舌。结果一关心,竟然发现,sticky定位要比预想的更强大,更有趣……
by @技术头条 2019-01-01 20:00 分享 查看详情
localStorage 使用指南-你所不知道的 localStorage (www.css88.com)
相信大家对于本地存储的 localStorage 和 sessionStorage 对象已经非常熟悉了。那么首先花点小篇幅稍微回顾一下。

localStorage 数据存储也是跨浏览器会话。localStorage 类似于sessionStorage。区别在于,数据存储在 localStorage 是无期限的,而当页面会话结束——也就是说当页面被关闭时,数据存储在 sessionStorage 会被清除 。
by @技术头条 2019-01-01 20:00 分享 查看详情
Redlock:Redis分布式锁最牛逼的实现 (cmsblogs.com)
在Redis的分布式环境中,我们假设有N个Redis master。这些节点完全互相独立,不存在主从复制或者其他集群协调机制。我们确保将在N个实例上使用与在Redis单实例下相同方法获取和释放锁。现在我们假设有5个Redis master节点,同时我们需要在5台服务器上面运行这些Redis实例,这样保证他们不会同时都宕掉。
by @技术头条 2019-01-01 19:52 分享 查看详情
Redisson实现Redis分布式锁的N种姿势 (cmsblogs.com)
前几天发的一篇文章《Redlock:Redis分布式锁最牛逼的实现》,引起了一些同学的讨论,也有一些同学提出了一些疑问,这是好事儿。本文在讲解如何使用Redisson实现Redis普通分布式锁,以及Redlock算法分布式锁的几种方式的同时,也附带解答这些同学的一些疑问。
by @技术头条 2019-01-01 19:51 分享 查看详情
CEO 的 Emacs 秘籍 (linux.cn)
几年前,不,是几十年前,我就在用 Emacs。不论是码代码、编写文档,还是管理邮件和日程,我都用这个编辑器,或者是说操作系统,而且我还乐此不疲。许多年过去了,我也转向了其他更新、更好的工具。结果,就连最基本的文件浏览,我都已经忘了在不用鼠标的情况下该怎么操作。大约三个月前,我意识到我在应用程序和计算机之间切换上耗费了大量的时间,于是我决定再次使用 Emacs。这是个很正确的决定,原因有以下几个。其中包括用 .emacs 和 Dropbox 来搭建一个良好的、可移植的环境的一些技巧。
by @技术头条 2019-01-01 19:49 分享 查看详情
快速解读GC日志 (cmsblogs.com)
本文是 Plumbr 发行的 Java垃圾收集指南 的部分内容。文中将介绍GC日志的输出格式, 以及如何解读GC日志, 从中提取有用的信息。
by @技术头条 2019-01-01 19:47 分享 查看详情
如何正确缓存按需创建的记录 (www.liaoxuefeng.com)
缓存是提高程序运行速度的重要手段。一般来说,缓存操作,总是比数据库操作快上一两个数量级,因此,不变化的数据,能缓存就缓存,可以大大减少数据库的查询压力。

本文讨论的是对于按需创建的数据库记录,如何实现缓存?
by @技术头条 2019-01-01 19:47 分享 查看详情
用于游戏开发的图形和音乐工具 (linux.cn)
要在三天内打造一个可玩的游戏,你需要一些快速而稳定的好工具。


在十月初,我们的俱乐部马歇尔大学的 Geeks and Gadgets 参加了首次 Open Jam,这是一个庆祝最佳开源工具的游戏 Jam。游戏 Jam 是一种活动,参与者以团队协作的方式来开发有趣的计算机游戏。Jam 一般都很短,仅有三天,并且非常累。Opensource.com 在八月下旬发布了 Open Jam 活动,足有 45 支游戏 进入到了竞赛中。
我们的俱乐部希望在我们的项目中创建和使用开放源码软件,所以 Open Jam 自然是我们想要参与的 Jam 了。我们提交的游戏是一个实验性的游戏,名为 Mark My Words。我们使用了多种自由和开放源码 (FOSS) 工具来开发它;在这篇文章中,我们将讨论一些我们使用的工具和我们注意到可能有潜在阻碍的地方。
音频工具
MilkyTracker
MilkyTr
by @技术头条 2019-01-01 19:46 分享 查看详情
12 条实用的 zypper 命令范例 (linux.cn)
zypper 是 Suse Linux 系统的包和补丁管理器,你可以根据下面的 12 条附带输出示例的实用范例来学习 zypper 命令的使用。

Suse Linux 使用 zypper 进行包管理,其是一个由 ZYpp 包管理引擎提供的包管理系统。在此篇文章中我们将分享 12 条附带输出示例的实用 zypper 命令,能帮助你处理日常的系统管理任务。

不带参数的 zypper 命令将列出所有可用的选项,这比参考详细的 man 手册要容易上手得多。
by @技术头条 2018-12-26 23:39 分享 查看详情