IT技术博客大学习 共学习 共进步

技术文章精选

低噪声、高可扫读;标题、摘要、来源、标签一目了然。

最新文章

采集自各技术站点的近期文章。

IT Linux/ 2018-07-04 23:41:26 / 浏览 2,300

10 条加速 Ubuntu Linux 的杀手级技巧

一些实际的加速 Ubuntu Linux 的技巧。 这里的技巧对于大多数版本的 Ubuntu 是有效的,也可以应用于 Linux Mint 以及其他的基于 Ubuntu 的发行版。 也许你经历过使用 Ubuntu 一段时间后系统开始运行缓慢的情况。 在这篇文章里,我们将看到几项调整以及使 Ubuntu 运行更快的窍门。 在我们了解如何提升 Ubuntu 的总体系统表现之前,首先让我们思考为什么系统逐渐变慢。这个问题可能有很多原因。也许你有一台只有基础配置的简陋的电脑;也许你安装了一些在启动时即耗尽资源的应用。事实上原因无穷无尽。 这里我列出一些能够帮助你稍微加速 Ubuntu 的小调整。也有一些你能够采用以获取一个更流畅、有所提升的系统表现的经验。你可以选择遵循全部或部分的建议。将各项调整一点一点的结合就能给你一个更流畅、更迅捷快速的 Ubuntu。

IT 用户研究/ 2018-07-04 12:06:56 / 浏览 2,280

用户模型之三户模型

三户模型最早是在增强型电信运营图(Enhanced Telecom Operations Map,eTOM)中提出,在电信行业中得到广泛使用。 三户指客户(Customer)、用户(User)和账户(Account)。eTOM 引入是电信行业营销模型转向“以客户为中心”的理念而产生的成果。围绕客户建立用户和账户。这三个是相互关联的实体,这种关联只是一个归属和映射的关系,而三个实体本身是相互独立的,分别是体现完全不同的几个域的信息,客户是体现了社会域的信息,用户体现了业务域的信息,账户体现的是资金域的信息。

IT 算法/ 2018-07-04 10:46:03 / 浏览 3,240

密度聚类算法之OPTICS

在前面介绍的DBSCAN算法中,有两个初始参数Eps(邻域半径)和minPts(Eps邻域最小点数)需要手动设置,并且聚类的结果对这两个参数的取值非常敏感,不同的取值将产生不同的聚类结果。为了克服DBSCAN算法这一缺点,提出了OPTICS算法(Ordering Points to identify the clustering structure),翻译过来就是,对点排序以此来确定簇结构。 OPTICS是对DBSCAN的一个扩展算法。该算法可以让算法对半径Eps不再敏感。只要确定minPts的值,半径Eps的轻微变化,并不会影响聚类结果。OPTICS并不显示的产生结果类簇,而是为聚类分析生成一个增广的簇排序(比如,以可达距离为纵轴,样本点输出次序为横轴的坐标图),这个排序代表了各样本点基于密度的聚类结构。它包含的信息等价于从一个广泛的参数设置所获得的基于密度的聚类,换句话说,从这个排序中可以得到基于任何参数Eps和minPts的DBSCAN算法的聚类结果。

IT Linux/ 2018-07-04 10:43:05 / 浏览 2,380

用这样的 Vi 配置来保存和组织你的笔记

用 vi 来管理 wiki 来记录你的笔记,这听起来不像是一个符合常规的主意,但当你的日常工作都会用到 vi , 那它是有意义的。 作为一个软件开发人员,使用同编码一样的工具来写笔记会更加简单。我想将我的笔记变成一种编辑器命令,无论我在哪里,都能够用管理我代码的方法来管理我的笔记。这便是我创建一个基于 vi 的环境来搭建我自己的知识库的原因。简单概括起来,我在笔记本电脑上用 vi 插件 Viwiki 来本地管理我的 wiki。用 Git 来进行版本控制(以保留一个中心化的更新版本),并用 GitLab 来进行在线修改(例如在我的手机上)。

IT 安全/ 2018-07-04 10:05:16 / 浏览 2,660

密码学及公钥基础设施入门

学习密码学背后的基本概念,主要是保密性、完整性和身份认证。 安全通信正快速成为当今互联网的规范。从 2018 年 7 月起,Google Chrome 将对全部使用 HTTP 传输(而不是 HTTPS 传输)的站点开始显示“不安全”警告。虽然密码学已经逐渐变广为人知,但其本身并没有变得更容易理解。Let's Encrypt 设计并实现了一套令人惊叹的解决方案,可以提供免费安全证书和周期性续签;但如果不了解底层概念和缺陷,你也不过是加入了类似“货物崇拜cargo cult”的技术崇拜的程序员大军。

IT Linux/ 2018-07-03 14:24:46 / 浏览 1,480

如何在 Linux 中的特定时间运行命令

有一天,我使用 rsync 将大文件传输到局域网上的另一个系统。由于它是非常大的文件,大约需要 20 分钟才能完成。我不想再等了,我也不想按 CTRL+C 来终止这个过程。我只是想知道在类 Unix 操作系统中是否有简单的方法可以在特定的时间运行一个命令,并且一旦超时就自动杀死它 —— 因此有了这篇文章。请继续阅读。

IT Linux/ 2018-07-03 14:22:53 / 浏览 1,180

Linux 文件系统详解

这篇教程将帮你快速了解 Linux 文件系统。 早在 1996 年,在真正理解文件系统的结构之前,我就学会了如何在我崭新的 Linux 上安装软件。这是一个问题,但对程序来说不是大问题,因为即使我不知道实际的可执行文件在哪里,它们也会神奇地工作。问题在于文档。 你知道,那时候,Linux 不是像今天这样直观、用户友好的系统。你必须读很多东西。你必须知道你的 CRT 显示器的扫描频率以及拨号调制解调器的噪音来龙去脉,以及其他数以百计的事情。 我很快就意识到我需要花一些时间来掌握目录的组织方式以及 /etc(不是用于“其它”文件),/usr(不是用于“用户”文件)和 /bin (不是“垃圾桶”)的意思。 本教程将帮助你比我当时更快地了解这些。

IT 用户研究/ 2018-07-03 14:20:49 / 浏览 1,920

用户调研之微软产品反应卡片

微软产品反应卡片Microsoft Reaction Card Method (Desirability Testing)是由微软公司的Joey Benedek和Trish Miner于2002年推出的一种测试“合意性”的方法。该方法主要用于检查设计或产品的情绪反应和合意性,通常应用在软件设计领域。

IT 算法/ 2018-06-28 12:09:18 / 浏览 3,180

聚类算法之ISODATA

ISODATA算法(Iterative Self Organizing Data Analysis Techniques Algorithm,迭代自组织数据分析方法)和K-Means算法是相似的算法,都是属于无监督的聚类分析方法,但是 在之前介绍的K-Means算法中,有两大缺陷: 1、K值需要预先设定; 2、随机的初始中心选择对计算结果和迭代次数有较大的影响;

IT Linux/ 2018-06-28 12:04:43 / 浏览 1,640

Linux 中一种友好的 find 替代工具

fd 命令提供了一种简单直白的搜索 Linux 文件系统的方式。 fd 是一个超快的,基于 Rust 的 Unix/Linux find 命令的替代品。它不提供所有 find 的强大功能。但是,它确实提供了足够的功能来覆盖你可能遇到的 80% 的情况。诸如良好的规划和方便的语法、彩色输出、智能大小写、正则表达式以及并行命令执行等特性使 fd 成为一个非常有能力的后继者。

IT Linux/ 2018-06-26 12:38:17 / 浏览 2,080

我正在运行的 Linux 是什么版本?

掌握这些快捷命令以找出你正在运行的 Linux 系统的内核版本和发行版。 “什么版本的 Linux ?”这个问题可能意味着两个不同的东西。严格地说,Linux 是内核,所以问题可以特指内核的版本号,或者 “Linux” 可以更通俗地用来指整个发行版,就像在 Fedora Linux 或 Ubuntu Linux 中一样。 两者都很重要,你可能需要知道其中一个或全部答案来修复系统中的问题。例如,了解已安装的内核版本可能有助于诊断带有专有驱动程序的问题,并且确定正在运行的发行版将帮助你快速确定是否应该使用 apt、 dnf、 yum 或其他命令来安装软件包。 以下内容将帮助你了解 Linux 内核的版本和/或系统上正在运行的 Linux 发行版是什么。

IT 算法/ 2018-06-26 12:36:07 / 浏览 2,700

K-Means算法之K值的选择

K-Means是一个超级简单的聚类方法,说他简单,主要原因是使用它时只需设置一个K值(设置需要将数据聚成几类)。但问题是,有时候我们拿到的数据根本不知道要分为几类,对于二维的数据,我们还能通过肉眼观察法进行确定,超过二维的数据怎么办?今天就一起来学习下。

IT Linux/ 2018-06-26 12:31:48 / 浏览 1,660

在 Linux 上复制和重命名文件

cp 和 mv 之外,在 Linux 上有更多的复制和重命名文件的命令。试试这些命令或许会惊艳到你,并能节省一些时间。 Linux 用户数十年来一直在使用简单的 cp 和 mv 命令来复制和重命名文件。这些命令是我们大多数人首先学到的,每天可能有数百万人在使用它们。但是还有其他技术、方便的方法和另外的命令,这些提供了一些独特的选项。 首先,我们来思考为什么你想要复制一个文件。你可能需要在另一个位置使用同一个文件,或者因为你要编辑该文件而需要一个副本,并且希望确保备有便利的备份以防万一需要恢复原始文件。这样做的显而易见的方式是使用像 cp myfile myfile-orig 这样的命令。 但是,如果你想复制大量的文件,那么这个策略可能就会变得很老。

IT 算法/ 2018-06-26 12:30:23 / 浏览 2,740

聚类算法之Mean Shift

在K-Means算法中,最终的聚类效果受初始的聚类中心的影响,K-Means++算法的提出,为选择较好的初始聚类中心提供了依据,但是算法中,聚类的类别个数k仍需事先制定,对于类别个数事先未知的数据集,K-Means和K-Means++将很难对其精确求解,对此,有一些改进的算法被提出来处理聚类个数k未知的情形。Mean Shift算法,又被称为均值漂移算法,与K-Means算法一样,都是基于聚类中心的聚类算法,不同的是,Mean Shift算法不需要事先制定类别个数k。 Mean Shift的概念最早是由Fukunage在1975年提出的,在后来由Yizong Cheng对其进行扩充,主要提出了两点的改进:定义了核函数,增加了权重系数。核函数的定义使得偏移值对偏移向量的贡献随之样本与被偏移点的距离的不同而不同。权重系数使得不同样本的权重不同。 Mean Shift算法在很多领域都有成功应用,例如图像平滑、图像分割、物体跟踪等,这些属于人工智能里面模式识别或计算机视觉的部分;另外也包括常规的聚类应用。

IT 奋斗/ 2018-06-26 12:28:57 / 浏览 1,440

我的阿里面试之路

最近有些朋友在面试阿里,加上 Java-Interview 项目的原因也有小伙伴和我讨论,近期也在负责部门的招牌,这让我想起年初那段长达三个月的奇葩面试经历。

IT Linux/ 2018-06-26 12:28:00 / 浏览 1,320

如何在命令行中整理数据

命令行审计不会影响数据库,因为它使用从数据库中释放的数据。 我兼职做数据审计。把我想象成一个校对者,校对的是数据表格而不是一页一页的文章。这些表是从关系数据库导出的,并且规模相当小:100,000 到 1,000,000条记录,50 到 200 个字段。 我从来没有见过没有错误的数据表。如你所能想到的,这种混乱并不局限于重复记录、拼写和格式错误以及放置在错误字段中的数据项。

IT PHP/ 2018-06-26 12:25:17 / 浏览 1,780

通过Twemproxy提升PHP/Redis的性能

Twemproxy 可以说是最古老的 Redis 代理软件了,一般来说,引入代理后性能会比没有引入代理时低一些,毕竟代理会导致一些额外的性能损耗,可是 Twemproxy 却会提升性能, 这主要得益于它的 Pipelining 功能可以实现打包请求,简单点说:当代理收到多个并发请求时,它会把这些请求打包成一个请求发送给后端服务器,从而减少不必要的 RTT。关于 Pipelining 本文不做过多讨论,实际上我想说的是它的另一个功能:连接池!下面看看如何通过 Twemproxy 提升 PHP/Redis 的性能。

IT 系统运维/ 2018-03-12 17:31:12 / 浏览 2,000

如何免费的让网站启用HTTPS

我把CoolShell变成https的安全访问了。我承认这件事有点晚了,因为之前的HTTP的问题也有网友告诉我,被国内的电信运营商在访问我的网站时加入了一些弹窗广告。另外,HTTP的网站在搜索引擎中的rank会更低。所以,这事早就应该干了。现在用HTTP访问CoolShell会被得到一个 301 的HTTPS的跳转。下面我分享一下启用HTTPS的过程。

IT 系统架构/ 2017-12-24 20:00:05 / 浏览 2,020

60 TB 数据:Facebook 是如何大规模使用 Apache Spark 的

Facebook 经常使用数据驱动的分析方法来做决策。在过去的几年,用户和产品的增长已经需要我们的分析工程师一次查询就要操作数十 TB 大小的数据集。我们的一些批量分析执行在古老的 Hive 平台( Apache Hive 由 Facebook 贡献于 2009 年)和 Corona 上——这是我们定制的 MapReduce 实现。Facebook 还不断增加其对 Presto 的用量,用于对几个包括 Hive 在内的内部数据存储的 ANSI-SQL 查询。我们也支持其他分析类型,比如图数据库处理(graph processing)和机器学习(Apache Giraph)和流(例如:Puma、Swift 和 Stylus)。

IT 系统架构/ 2017-12-24 19:54:15 / 浏览 2,580

浅谈《守望先锋》中的 ECS 构架

今天读了一篇 《守望先锋》架构设计与网络同步 。这是根据 GDC 2017 上的演讲 Overwatch Gameplay Architecture and Netcode 视频翻译而来的,所以并没有原文。由于是个一小时的演讲,不可能讲得面面俱到,所以理解起来有些困难,我反复读了三遍,然后把英文视频找来(订阅 GDC Vault 可以看,有版权)看了一遍,大致理解了 ECS 这个框架。写这篇 Blog 记录一下我对 ECS 的理解,结合我自己这些年做游戏开发的经验,可能并非等价于原演讲中的思想。 Entity Component System (ECS) 是一个 gameplay 层面的框架,它是建立在渲染引擎、物理引擎之上的,主要解决的问题是如何建立一个模型来处理游戏对象 (Game Object) 的更新操作。