Liuli 使用教程

2C的目的是为了构建一个多源(公众号、RSS)、干净、个性化的阅读环境,如果你在公众号阅读体验下深切感受到对于广告的无奈,那么这个项目就是你需要的,一起看看怎么安装部署2C吧。 开始 2C项目对于一些基础环境是有一点要求的,为了尽可能减少开发者部署使用的复杂度(特别是非Python开……

阅读全文

Ruia异步爬虫框架——快速开始

基于Ruia快速实现一个以Hacker News为目标的爬虫 本文主要通过对Hacker News的爬取示例来展示如何使用Ruia,下图红框中的数据就是爬虫脚本需要爬取的目标: 开始前的准备工作: 确定已经安装Ruia:pip install ruia -U 确定可以访问Hacker News 第一步:定义 Item Item的目的是定……

阅读全文

简单图解OSI七层网络模型

翻译自Bradley Mitchell的《The Layers of the OSI Model Illustrated》 Open Systems Interconnection(OSI)定义了一个网络框架,其以层为单位实现了各种协议,同时会将控制权逐层传递。目前OSI主要作为教学工具被使用,其在概念上将计算机网络结构按逻辑顺序划分为7层。 较……

阅读全文

三分钟将文集转成在线电子书

下午对自己这几年写的一些博客做了些整理工作,整理完毕惊喜地发现,自己针对一些主题确实已经有了一些产出。 但是由于时间线的原因,一些主题文章的连贯性被破坏了,所以我有了将他们整理成在线电子书的想法。 题图就是我的最终成果,如果你也有类似需求,那你可以按照我的方法玩一玩。 要求 目前我可以产……

阅读全文

k8s学习之路.基础.[04.配置应用程序]

使用Docker部署应用程序时,一般常用的配置方式有: 配置内嵌 启动传参配置 环境变量 经过前面容器持久化存储的介绍,我们很容易能想到是以挂载卷的形式,比如: gitRepo hostPath NFS 再结合边车模式来进行配置文件的管控是可行的,然而有一种更加简便的方法能将配置数据置于Kubernetes的顶级资源对象中,……

阅读全文

设计模式——基于容器的分布式系统

20世纪80年代末至90年代初,面向对象编程思想给软件开发带来了一轮技术革新,就像润物细无声的春雨那般,向全世界的程序员们快速普及了模块化构建应用程序的方法,一直流行至今。 当下,我们可以看到类似的革新出现在了分布式系统开发,具体特点如下: 基于容器的微服务架构体系日益流行 容器天然隔……

阅读全文

k8s学习之路.基础.[03.容器持久化存储]

容器的本质是进程,对于进程,Linux系统有进程组的概念来将其组织在一起。在k8s里面,使用Pod这个逻辑概念来维护容器间的关系。 有了Pod后,我们的应用程序需要被创建和管理,这就引出了ReplicaSet和Deployment;然后需要将部署好的应用暴露给外部进行访问,Serv……

阅读全文

一站式机器学习云开发平台

本篇是关于自身在机器学习这块工作经验的思考总结 我希望构建一个机器学习云开发平台,目标在于解决以下问题: 团队协作:项目管理,技术&业务的共享如何体现在实际解决问题的过程中; 资源调度:数据处理、模型训练; 模块共享:低代码甚至无代码; 快速开发:快速试错、实践、测试、部署; 需求-……

阅读全文

梯度下降推导

以感知器为例,可以梯度下降来学习合适的权重和偏置: 假设有n个样本,第i次的实际输出为y,对于样本的预测输出可以表示为: $$ \bar{y}^i = w_1x_1^i+w_2x_2^i+…+w_nx_n^i+b $$ 任意一个样本的实际输出和预测输出单个样本的误差,可以使用MES表示: $$ e^i=\frac{1}{2}(y^i-\bar{y}^i)^{2} $$ 那么所有误差的和可以表示为: $$ \begin{aligned} E &= e^1+e^2+…+e^n \ &= \sum_{i=1}^ne^i \ &= \frac{1}{2}\sum_{i=1}^n(y^i-w^Tx^i)^2 \end{aligned} $$ 想象一下,当你从山顶往下……

阅读全文

k8s学习之路.基础.[02.概念介绍]

俗话说,磨刀不误砍柴工。上一章,我们成功搭建了k8s集群,接下来我们主要花时间了解一下k8s的相关概念,为后续掌握更高级的知识提前做好准备。 本文主要讲解以下四个概念: Pod Deployment Service Namespace 引入 让我们使用Deployment运行一个无状态应用来开启此章节吧,比如运行一个nginx Deployme……

阅读全文