终端实战

本文主要介绍终端和 shell 的一些基本概念,并着重介绍了 zsh - 目前最强大方便的 shell 以及它的配置,希望可以提高我们码农的工作效率。

[阅读全文]
 |   

推荐算法深入浅出之逻辑回归

谈及机器学习或推荐算法,不得不提入门级的逻辑回归算法。但我们真的掌握逻辑回归了么?不妨回答一下以下问题:

  1. 逻辑回归的代价函数以及公式推导?
  2. 批量梯度下降和随机梯度下降的差异?
  3. 样本太大,导致特征编码耗时太长怎么办?
  4. 如何优化随机梯度下降使得算法又快又准?

如果你对上述问题心里没底不妨读下这篇文章。本文分为四个部分,第一部分介绍逻辑回归算法的推导过程,以便理解算法背后的理论基础;第二部分介绍逻辑回归的实现细节 ,包含特征散列的技巧以及学习率自适应,使得算法能够支撑更大的数据集。第三部分简单的安利一波逻辑回归的工业级实现工具 Vowpal Wabbit,最后一部分分享一些在学习逻辑回归过程中的思考。

[阅读全文]
 |   

C程序编程四步走

任何一个 C 程序代码到生成一个可执行文件都需要四步,分别是预处理 Pre-processing ,编译 Compiling ,汇编 Assembling 和链接 Link ,这里借助 Gcc 工具来探究这四步分别做了什么事,起到什么样的作用。本文使用的测试代码是经典入门程序 “Hello World!"。

[阅读全文]
 |   
C   GCC  

Nginx部署多应用

当拥有一个服务器后,发现有众多的应用想要部署在这个服务器上,而且想要为每个应用创建一个独有的二级域名,比如个人博客- blog.haojunyu.com,比如个人项目页面- pro.haojunyu.com等等,反正就是想要将自己所折腾的一切都放到这个服务器上,一方面算是给自己这么长时间在应用开发上的成果做个展示,另一方面是提醒自己不要再重复的造轮子,毕竟青春有限,还有很多其他的事情值得去尝试。这个以 Nginx 部署两个 Python 的 Web 框架 Django 和 Flask 为例。

[阅读全文]
 |   

Python项目的虚拟环境

在开发 Python 项目时,首先要确定使用的 Python 版本,目前默认是 3.7(Python 2.7 已经在 2020 年停止支持了,但是需要维护的项目中肯定有不少基于 Python 2.x 版本的),其次会根据项目的需求来选择特定版本的第三方库(一般都会选择最新版本的,除非不同库之间有冲突)。但是使用 pip 安装第三方库时默认都会安装到 Python3 的 site-packages 目录中,一旦不同项目中的第三方库版本出现冲突时,就比较难处理了。所以我们需要对不同的项目开辟独立干净的空间进行开发部署,此时就需要 Python 的虚拟环境了。本文将介绍 virtualenv 和 pipenv 两种途径构建虚拟环境,但是 pipenv 的方式更值得推广

[阅读全文]
 |