如何正确缓存按需创建的记录 (www.liaoxuefeng.com)
缓存是提高程序运行速度的重要手段。一般来说,缓存操作,总是比数据库操作快上一两个数量级,因此,不变化的数据,能缓存就缓存,可以大大减少数据库的查询压力。

本文讨论的是对于按需创建的数据库记录,如何实现缓存?
by @技术头条 2019-01-01 19:47 分享 查看详情
k8s微服务架构实战系列 (www.sunhaojie.com)
介绍了kubernates,以及在k8s平台上各种组件(mysql, redis,rabbitmq),应用部署(java, js, vue)等项目,以及在开开发运维过程中jenkins,harbor,elk等环境的部署流程,以及系统的监控报警Prometheus系统(书写中)
by @互联网开发孙豪杰 2018-12-28 20:33 分享 查看详情
社交短视频游戏的品效合一设定 (mp.weixin.qq.com)
为了解決拍摄动机较少的问题,设计设法挖掘更多的场景以及融入更多的趣味,透过场景的教育以及趣味性的加持,让用户有够多理由开启相机并且生产內容。
by @追风老妇 2018-12-27 10:34 分享 查看详情
带你彻底看懂React Native和Android原生控件之间的映射关系 (mp.weixin.qq.com)
带你彻底看懂React Native和Android原生控件之间的映射关系
by @SELECT-FROMALL 2018-12-27 09:16 分享 查看详情
12 条实用的 zypper 命令范例 (linux.cn)
zypper 是 Suse Linux 系统的包和补丁管理器,你可以根据下面的 12 条附带输出示例的实用范例来学习 zypper 命令的使用。

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

不带参数的 zypper 命令将列出所有可用的选项,这比参考详细的 man 手册要容易上手得多。
by @技术头条 2018-12-26 23:39 分享 查看详情
Java Map的正确使用方式 (www.liaoxuefeng.com)
正确使用Map,只需要正确实现hashCode()和equals()就行了吗?

恐怕还不行。

确切地说,如果使用的是HashMap,那么只需要正确实现hashCode()和equals()就够了。

但是,如果换成TreeMap,正确实现hashCode()和equals(),结果并不一定正确。
by @技术头条 2018-12-26 23:28 分享 查看详情
Xmas!送你Flutter Animation小星星! (mp.weixin.qq.com)
Flutter已经出了一段时间了,你有没有了解体验过?
越来越多的新框架,新技术,有没有觉得来不及学那么多,还愿意接触新事物吗?
别的不多说,来看一下Flutter做的动画效果,就当作Xmas的烟花吧!
by @乔治mononoke 2018-12-25 11:24 分享 查看详情
前端开发 2018 回顾及 2019 展望 (www.css88.com)
前端发展的世界发展迅速。非常快。本文将回顾2018年最重要的前端新闻,值得关注的事件和 JavaScript 趋势。
by @技术头条 2018-12-25 10:01 分享 查看详情
数据科学家的命令行技巧 (linux.cn)
对于许多数据科学家来说,数据操作从始至终就是 Pandas 或 Tidyverse。从理论上讲,这样做没有任何问题。毕竟,这就是这些工具存在的原因。然而,对于像分隔符转换这样的简单任务,这些工具是大材小用了。

立志掌握命令行应该在每个开发人员的学习清单上,特别是数据科学家。学习 shell 的来龙去脉将无可否认地提高你的生产力。除此之外,命令行还是计算领域的一个重要历史课程。例如,awk —— 一种数据驱动的脚本语言。1977 年,在 Brain Kernighan(即传奇的 K&R 书中 K)的帮助下,awk 首次出现。今天,大约五十年过去了,awk 仍然活跃在每年新出版的书里面。因此,可以安全地假设对命令行魔法的付出不会很快贬值。
by @技术头条 2018-12-25 10:00 分享 查看详情
使用 gorilla/mux 进行 HTTP 请求路由和验证 (linux.cn)
gorilla/mux 包以直观的 API 提供了 HTTP 请求路由、验证和其它服务。

Go 网络库包括 http.ServeMux 结构类型,它支持 HTTP 请求多路复用(路由):Web 服务器将托管资源的 HTTP 请求与诸如 /sales4today 之类的 URI 路由到代码处理程序;处理程序在发送 HTTP 响应(通常是 HTML 页面)之前执行适当的逻辑。
by @技术头条 2018-12-25 10:00 分享 查看详情
KNN分类后的效果评估 (www.biaodianfu.com)
在机器学习领域,混淆矩阵(confusion matrix),又称为可能性表格或是错误矩阵。它是一种特定的矩阵用来呈现算法性能的可视化效果,通常是监督学习(非监督学习,通常用匹配矩阵:matching matrix)。其每一列代表预测值,每一行代表的是实际的类别。这个名字来源于它可以非常容易的表明多个类别是否有混淆(也就是一个class被预测成另一个class)。
by @技术头条 2018-12-24 23:59 分享 查看详情
CSS ::backdrop伪元素是干嘛用的? (www.zhangxinxu.com)
backdrop这个单词是背景幕布,就是戏曲表演后面的一块布。::backdrop伪元素就是控制需要视觉聚焦的元素后面的背景元素样式的。在web中哪些元素需要视觉聚焦呢?一个是HTML5 <video>视频元素,还有就是HTMl5.2 <dialog>元素,以及处于全屏状态下的普通元素。这些元素的背景样式均可以交给::backdrop伪元素进行控制。
by @技术头条 2018-12-24 23:57 分享 查看详情
用户、组及其它 Linux 特性 (linux.cn)
Linux 和其他类 Unix 操作系统依赖于用户组,而不是逐个为用户分配权限和特权。一个组就是你想象的那样:一群在某种程度上相关的用户。

到这个阶段,在看到如何操作目录或文件夹之后,但在让自己一头扎进文件之前,我们必须重新审视 权限、用户 和 组。幸运的是,有一个网站上已经有了一个优秀而全面的教程,讲到了权限,所以你应该去立刻阅读它。简而言之,你使用权限来确定谁可以对文件和目录执行操作,以及他们可以对每个文件和目录执行什么操作 —— 从中读取、写入、移动、擦除等等。

要尝试本教程涵盖的所有内容,你需要在系统上创建新用户。让我们实践起来,为每一个需要借用你电脑的人创建一个用户,我们称之为 guest 账户。

警告: 例如,如果你错误地删除了自己的用户和目录,那么创建用户,特别是删除用户以及主目录会严重损坏系统。
by @技术头条 2018-12-24 23:56 分享 查看详情
从天猫某活动视频不必要的3次请求说起 (www.zhangxinxu.com)
我们在移动端做H5开发的时候,有时候会用到MP4视频,对于一些酷效果,是性价比最高的方式。然而,很多前端开发在使用这些视频的时候没有注意,或者根本就不知道视频的某些信息的位置会影响浏览器的请求个数,从而影响网页性能。
by @技术头条 2018-12-24 23:55 分享 查看详情
量子计算的开源框架 Cirq 介绍 (linux.cn)
我们即将讨论的内容正如标题所示,本文通过使用 Cirq 的一个开源视角,尝试去了解我们已经在量子计算领域取得多大的成就,和该领域的发展方向,以加快科学和技术研究。

首先,我们将引领你进入量子计算的世界。在我们深入了解 Cirq 在未来的量子计算中扮演什么样的重要角色之前,我们将尽量向你解释其背后的基本概念。你最近可能听说过,在这个领域中有件重大新闻,就是 Cirq。在这篇开放科学栏目的文章中,我们将去尝试找出答案。

在我们开始了解量子计算之前,必须先去了解“量子”这个术语,量子是已知的 亚原子粒子 中最小的物质。
by @技术头条 2018-12-24 23:55 分享 查看详情
命令别名:定义自己的命令 (linux.cn)
命令别名Alias在 Linux shell 中指的是将一些太长或者太难记的多个命令组合起来,成为一个由用户自己构建的命令。

可以通过 alias 命令来创建命令别名。在 alias 后面跟上想要创建的别名名称、一个等号(=),以及希望使用这个别名来执行的命令,这样一个命令别名就创建好了。举个例子,ls 命令在默认情况下是不会对输出的内容进行着色的,这样就不能让用户一眼分辨出目录、文件和连接了。对此,可以创建这样一个命令别名,在输出目录内容的时候为输出内容着色:
alias lc='ls --color=auto'

其中 lc 是自定义的命令别名,代表 “list with color” 的意思。在创建命令别名的时候,需要先确认使用的别名是不是已经有对应的命令了,如果有的话,原本的命令就会被覆盖掉了。注意,定义命令别名的时候,= 两端是没有空格的。当运行 lc 的时候,就相当于执行了 ls --color 命令。

此后,执行 lc 列出目录内容的时候,就会输出带有着色的内容了。

你可能会发现你在执行 ls 的时候,本来就是输出带有着色的内容。那是因为大部分 Linux 发行版都已经将 ls 设定为带有着色的命令别名了。
by @技术头条 2018-12-24 23:54 分享 查看详情
交易系统的消息服务如何保证100%可靠 (www.liaoxuefeng.com)
分布式应用中,消息系统被大量使用,主要原因有:
1、逻辑解耦:发送方和接收方不需要相互知道对方,一个只管发,一个只管收,大大简化了处理逻辑。
2、适配动态流量:如果发送方发送速度快于接收方的接收速度,消息系统就可以暂时将无法处理的消息缓存起来,让接收方慢慢处理。

没有消息系统时,发送方就不得不配合接收方降低处理速度,从而拖慢了整个系统的性能。
那么消息系统能保证消息100%可靠到达吗?

答案是否定的。

因为消息系统是网络调用,只要涉及到网络,就不可能100%可靠,因为通信双方不可能无限次给对方发ACK确认。
那么消息系统如何尽可能保证消息的可靠达到呢?
by @技术头条 2018-12-24 23:53 分享 查看详情
Java–读写锁的实现原理 (ifeve.com)
最近做的一个小项目中有这样的需求:整个项目有一份config.json保存着项目的一些配置,是存储在本地文件的一个资源,并且应用中存在读写(读>>写)更新问题。既然读写并发操作,那么就涉及到操作互斥,这里自然想到了读写锁,也顺便对自己读写锁方面的知识做个梳理。
by @技术头条 2018-12-24 23:52 分享 查看详情
什么样的代码是好读的? (cmsblogs.com)
代码是否好读,关键是要看我们的大脑是如何“解释执行”这些代码的,有哪些因素会影响我们大脑的“执行效率”。大体上有4个主要的原因使得代码不可读:

太多了或者太长了:当你的大脑需要同时跟踪N个变量,跟踪N行代码的逻辑,这个N越大,效率就越低。

不集中的逻辑:我们偏爱连续的,平铺直叙的而且独立的逻辑。有三个原因会使得逻辑分散:

编码风格:全局变量,SIMD intrinsics v.s. SPMD 风格 GPU 计算,回调 v.s. 协程

代码重用:为了重用代码,我们需要把多个执行路径合并成通用的一个

非功能性需求:它和功能性代码在空间上(源代码)和时间上(运行时)都是在一起的

所见非所得:如果运行的代码行为和源代码显著不同的话,我们就强迫自己去脑补这个转换过程。例如元编程,多线程共享内存等。

不熟悉的概念:我们使用文本的名字和引用把一个陌生概念链接到另外一个熟悉的概念上。如果这个链接不强,我们就会感觉这东西“不明白是啥玩意”

让我们一个个来谈谈。
by @技术头条 2018-12-24 23:51 分享 查看详情
CSS vector-effect与SVG stroke描边缩放 (www.zhangxinxu.com)
默认情况下,我们改变SVG图形尺寸,stroke描边宽度也会跟着一起变化。有时候,我们希望描边宽度一直不变,怎么办呢?可以试试使用vector-effect属性。
by @技术头条 2018-12-24 23:48 分享 查看详情