自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(30)
  • 资源 (1)
  • 收藏
  • 关注

原创 Flask扩展之http客户端开发

Flask 被称为“微框架”。其中的“微”字不代表整个应用只能塞在一个 Python 文件内,也不代表 Flask 功能不强。它表示 Flask 的目标是保持核心简单而又可扩展。 它不会替使用者做决定,比如选用何种数据库,使用何种模板引擎等。Flask 通过扩展功能来增加它的功能。扩展之于 Flask,就像第三方库之于 Python,插件之于 Vscode。本文将介绍如何开发一个简单的 Flask 插件:HTTPClient,并将其发布到 Python 官方索引 Pypi(Python Package In

2021-03-18 01:17:00 2401

原创 版本控制之Git初探

作为一名程序员,肯定会将人生大部分的时光交给了 Github,这个戏称为全球最大的同性交友网站。Why?因为程序员需要版本控制系统(VCS)来对代码进行管理。这样程序员就可以跟踪项目的变化细节,将选定的文件回溯到之前某个状态,以及各个成员在多人协同项目中的代码贡献等。本文是对版本控制软件 Git 的初步探索,完全可以支持日常多人协同开发。简介版本控制系统版本控制系统(Version Control System)是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。它不仅可以用于软件源

2021-03-01 02:09:08 2944

原创 shell编程之系统进程监控

本文内容是根据网络上一篇博文使用shell脚本对linux系统和进程资源进行监控对其验证学习的总结。主要是通过常用的 shell 命令来对系统的运行状态进行监控,另一方面也是对学习的 shell 命令的实战。涉及的命令系统相关ps 查看当前系统中进程信息-u 指定所属用户vimstat 展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况文本处理grep 查找文件中匹配符号字符串的行-v 反向选择,用于剔除包含’某些字

2021-02-24 00:20:39 464

原创 shell编程之文件检索find

find 命令是用来搜索指定目录下面符合搜索选项的文件.它跟 awk, sed, grep 的区别是它搜索到的对象是文件,而后三者是文件里的字符或字符串.简介Linux 中 find 命令是用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。用法命令格式find path -option参数说明-name 'pattern' 根据名称来

2021-02-23 00:49:22 558

原创 shell编程之内容查找grep

GREP (Globally search a Regular Expression and Print,以正则表达式进行全局查找以及打印)是一种强大的文本搜索工具,它对匹配一个或多个正则表达式的文本进行搜索,并只输出匹配(或者不匹配)的行或文本。简介Unix 的 grep 家族包括 grep、egrep 和 fgrep。egrep 和 fgrep 的命令只跟 grep 有很小不同。egrep 是 grep 的扩展,支持更多的 re 元字符, fgrep 就是 fixed grep 或 fast gre

2021-02-21 23:51:13 461

原创 shell编程之软硬链接ln

在 Windows 里面我们经常通过快捷方式来创建链接以方便我们使用电脑。而 Linux 中有两种方式创建链接,分别为软链接和硬链接。下面我们就来详细说下二者的区别。定义ln (link file 的简称)是 GNU 核心工具包中的基本工具。该命令是为某个文件在另外一个位置建立一个同步链接。当我们需要在不同的目录用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,此时只需用 ln 创建对应文件的链接,不必重复的占用磁盘空间。命令格式# 硬链接(source只能是文件)ln so

2021-02-19 23:56:48 1541

原创 Python项目的虚拟环境

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

2021-02-19 00:57:30 635

原创 C程序编程四步走

任何一个 C 程序代码到生成一个可执行文件都需要四步,分别是预处理 Pre-processing ,编译 Compiling ,汇编 Assembling 和链接 Link ,这里借助 Gcc 工具来探究这四步分别做了什么事,起到什么样的作用。本文使用的测试代码是经典入门程序 “Hello World!”。测试环境为探究预处理,编译,汇编和链接的功能,我们在 Ubuntu 系统中使用 Gcc 编译器( version=4.8.4 ),用简单的也是最经典的入门程序 “Hello World!” 作为测试代

2021-02-11 00:38:15 4066

原创 Shell运行环境之sudo的环境

[shell运行环境之环境配置文件]({{<ref “2015-09-09-shell运行环境之环境配置文件.md”>}})讲解了 Shell 里面四个配置文件的作用域以及 Shell 的四种常用模式。在此基础上,我们进一步探究一下在用户切换过程中,运行环境的变化。在 Ubuntu 里,我们通常使用 sudo 来提权,使用 su 来切换用户,而这两种操作都会对终端运行环境产生影响。搞明白运行环境的变化,你将明白如何在终端中使用代理。简介我们经常在终端中使用 sudo 来提权–以普通用户的身份

2021-02-09 01:17:47 1259

原创 shell运行环境之环境配置文件

Shell运行环境之环境变量介绍了 Shell 运行环境中三种不同的环境变量–临时变量,用户变量和系统变量,除此之外还有 /etc/environment, /etc/profile 和 ~/.profile 作用域。这篇文章将主要围绕 Bash 这个 Shell来讲解环境配置文件,并结合 Shell 的四种模式来说明这些配置文件的作用域。简介我们知道 Linux 系统中有很多 Shell,像最常用的 Bash,不常用的 sh,zsh 等。而对于它们公共的变量我们不可能为每个 Shell 重复设置,所

2021-02-06 01:25:06 1726

原创 Shell运行环境之环境变量

在 Windows 系统中,我们经常需要设置环境变量,特别是安装完 Java JDK 之后。而在 Linux 里面也是需要对一些环境变量进行设置,比如 PATH (执行文件的路径),http_proxy(http 代理)等。本文主要介绍三种环境变量–临时变量,用户变量和系统变量,并对其作用的先后做一些验证。简介环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。它相当于给系统或用户应用程序设置的一些参数,具体起什么作用这和具体的环境变量相关。在 Win

2021-02-05 01:10:30 2059

原创 shell编程之文本处理工具sed初探

SED命令的功能同awk类似,差别在于,sed简单,对列处理的功能要差一些,awk的功能复杂,对列处理的功能比较强大,sed全称是:Stream EDitor.它主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作.特别强调一点, sed的操作对源文件不作修改.使用方法基本用法sed [-nei] 'command' filename参数说明-n 使用安静模式.只有经过处理的那一行才会被列出来.(一般情况,所有内容都会被列到屏幕上)-e 直接在指令列模式上进

2021-02-04 00:02:44 1230

原创 shell编程之文本处理工具awk初探

AWK 是一个强大的文本分析工具,相对于 grep 的查找,sed 的编辑,awk 在其对数据分析并生成报告时,显得尤为强大。简单来说 awk 就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。简介AWK 其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥有自己的语言: AWK 程序设计语言 , 三位创建者已将它正式定义为“样式扫描和处理语言”。它允许您创建简短的程序

2021-02-01 22:46:06 1321

原创 从零开始搭建HTTPS服务

搭建 HTTPS 服务的最初目的是为了开发微信小程序,因为 wx.request 只允许发起 HTTPS 请求,并且还必须和指定的域名进行网络通信。要从零开始搭建一个 HTTPS 的服务需要下面 4 个要素:域名,备案,云服务器,服务搭建。本文将分别介绍这四要素的具体要求。简介HTTPS (Hyper Text Transfer Protocol over SecureSocket Layer)叫超文本传输安全协议,是一种通过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用

2021-01-31 02:57:40 2574

原创 python基础篇之实用库

Python 的实用离不开其强大的库或框架的支持,像正则表达式,文件模块,命令行模块, Django 框架, sk-learning 工具箱等.这些都让 Python 能够非常方便的处理不同领域的问题。正则表达式初学 Python,对 Python 的文字处理能力有很深的印象,除了 str 对象自带的一些方法外,就是正则表达式这个强大的模块了。关于 Python 里面正则表达式的使用网上有很多博文,如 Python正则式学习笔记等,这里做一下自己的总结.基本使用match 方法import r

2021-01-28 23:54:46 1490

原创 python基础篇之基本语法和文件操作

在了解 Python 的基本概念和数据结构后, 再了解一下基本语法来将这些零件合理的组合起来,这样就可以用 Python 干一下复杂的任务了,再熟悉一下文件操作来扩展一下输入输出。基本语法条件语句代码演示score = 70if score > 100 : print 'the score is out of range.'elif score > 60 : print 'your score is from 60 to 100.'elif score >

2021-01-27 23:16:31 1581

原创 python基础篇之数据类型

Python 中有四个非常常用的数据类型,分别是字符串,列表,元组和字典。下面就来介绍这四个基本的数据类型。字符串Python 对字符串的处理是非常强的,所以掌握一些 Python 对字符串的基本操作是非常有必要的.字符串表示赋值str = 'hello'填字符串str = "%d little pigs come out or I'll %s and %s and %s" % (3, 'huff', 'puff', 'blow down')转换pi = 3.14prin

2021-01-27 00:31:46 1645

原创 系统架构设计师软考复盘

在大学时就听室友说他舅舅拿到了高级架构师的资质,是 IT 行业比较难拿的证书。当时只知道这个资质很牛逼。这两年公司倡导员工通过软件专业技术资格考试考取相关的资质,比如信息系统项目管理师,系统分析师,系统架构设计师。正因为如此,才有了去年(2020年)报考系统架构设计师这事,一方面本身的职业规划就是架构师的方向,另一方面也是想以考代学。随着今年成绩和分数线的相继公布,侥幸低分通过,所以写下这篇考后复盘,也算是对去年下半年的努力做个交代。软考职称的意义软考全称为计算机技术与软件专业技术资格(水平)考试。

2021-01-25 02:12:22 2190 2

原创 python基础篇之基本概念

python基础篇是以Google for Education上面的Google’s Python Class课程为主.这是一门非常适合初学者的课程.英文介绍Welcome to Google’s Python Class – this is a free class for people with a little bit of programming experience who want to learn Python. The class includes written materials,

2021-01-23 23:19:59 1773

原创 Vim配置之进阶篇

在上一篇博文Vim配置之入门篇中,只是大略介绍了 Vim 的基本配置以及几个常用的使用插件,但是在后面的使用中发现该配置的Vim并不是很好用,特别是 minibuffer,taglist,fileexplore 直接存在冲突,而且它的插件管理也比较麻烦。本篇博文主要就是解决这两个问题以及尝试一些更适合码农的插件。简介之前使用 Vim 的初衷一方面是其插件的强大,更主要的方面是适合装 13 。但是随着对 Vim 更多的了解,才发现Vim的强大还是有缘由的,从下面的评价足以看出:世界上只有三种编辑器,

2021-01-23 01:26:22 2076

原创 Vim配置之入门篇

正所谓“工欲善其事,必先利其器”,而作为一个专业的码农,怎么能不好好对待自己编程的利器-- VIM 编辑器呢!可能读者会说编程的利器不应该是各种语言的集成工具么?像编写 C/C++ 程序的 VS,Codeblock(跨平台)软件,像编写 Java 程序的 Eclipse(现在已经有支持 C/C++/Python 的插件),像编写 Python 程序的 PyCharm 等。这些人性化的开发集成环境功能强大,使用方便。不过成也在此,败也在此。本文将详细介绍Vim编辑器以及其基本入门级配置。简介正所谓“工欲善

2021-01-22 01:08:59 1921

原创 Go 源码阅读之 flag 包

Go 源码阅读系列是我的源码阅读笔记。因为本人的电脑上 Go 的版本是1.13.4,所以就选择了该版本作为学习的版本。为此我在 Github 上 Fork 了 Go 的源码,并创建了 study1.13.4 分支,来记录对于源码的个人理解或者说中文注释也行。每当阅读完一个包后都会进行一下小结,就像这篇是对flag包的总结整理。当然在整理的过程中发现 Go夜读系列视频,也让我受益颇多。简介文件结构运行测试总结接口转换能实现类似 C++ 中模板的功能函数 vs 方法new vs make指针

2021-01-20 22:56:09 1933

原创 一线城市买房反思

在一线城市,刚需需要买房,投资也需要买房。只要你有钱,有房票就可以一直买房,稳赚不赔。为啥要买房买房是为了刚需。无论是谈婚论嫁,还是共筑一个港湾,房子都为这些提供了物质基础。不用在乎房东的奇葩要求,也不用经历搬家的劳累。在自己家里可以随心所欲。买房是为了保值。看看外面的物价,看看周边的房价,这些都在涨,只有 RMB 在贬值。小时候 2 分钱就可以买个烧饼,现在一个烧饼得要 1.5 元。钱还是那个钱,但是已经没有那个价值了。把钱放在银行看它贬值,不如让它变成房子跟着现实一起涨。买房是为了投资。关注了叫

2021-01-20 01:22:55 2078

原创 云上开发之数据备份

2020年7月份时,Github 挂了。是的,你没有听错,背靠微软,坐拥 azure 的 Github 挂了。最近还看到近几年大火的 Docker 也开始限制 Docker 商业版及 Docker 的其它服务(像Docker Hub)对特定国家和公司的使用。这些都体现了数据备份的重要性,虽然上面的事件对我们小小个人影响不是很大,但覆巢之下,安有完卵。早点掌握数据备份的方法才能从容应对未来突发的“意外”。本文将介绍在 ECS 上搭建类 Github 服务 Gogs, 并且定期备份 ECS 上数据到 OSS上,

2021-01-19 23:13:01 2160 1

原创 深入浅出之ip2region实现

在移动互联网的应用中,经常需要根据用户的位置信息等做一些用户侧信息的统计分析。而要拿到用户的位置信息,一般有两个方法: GPS 定位的信息和用户 IP 地址。由于每个手机都不一定会打开 GPS,而且有时并不太需要太精确的位置(到城市这个级别即可),所以根据 IP 地址入手来分析用户位置是个不错的选择。 要做到这个功能得需要一个 IP 和地理位置的映射关系库,并依赖这个库启动一个 IP 转地理位置的服务。本文从需求入手,结合 Github 上拥有 8.4k 星的 ip2region 来分析映射关系库的设计以及

2021-01-19 00:00:20 2843

原创 推荐系统工程篇之搭建以图搜图服务

基于内容的召回在推荐系统中是比较常见的召回策略,常见有基于用户或物品的标签召回或者基于用户的年龄,地域等召回,一般该策略的实现是基于开源软件 Elasticseach 实现的。虽然召回的结果都比较合理,但是召回的新颖度,惊喜度等都比较低。比如通过标签“刘德华”进行召回,基本上召回的都是包含刘德华字眼的物品,不太可能召回出“黎明”,“张学友”等其他四大天王的物品。近年随着万物皆可 Embedding,特别是 word2vec,item2vec, graph2vec 等技术的成功应用,通过物品向量召回物品向量的

2021-01-18 23:49:40 2343

原创 掌握SSH这篇就够了

SSH 是每一台电脑的标准配置,Linux 就不必说了,连 windows 也从 2018 年开始自带 OpenSSH 了。它主要的用途是登陆到远程电脑中执行命令,在云开发的时代,它是每个程序每天都要用到的工具。本文将简单介绍一下它的原理,基本用法以及端口转发和动态转发等高阶用法。介绍SSH 叫安全外壳协议(Secure Shell),是一种加密的网络传输协议,可在不安全的网络中网络服务提供安全的传输环境。它通过在网络中创建安全隧道来实现 SSH 客户端和服务器之间的连接。最早的时候,互联网通信都是

2021-01-18 23:30:11 2325

原创 工程篇之搭建以图搜图服务

基于内容的召回在推荐系统中是比较常见的召回策略,常见有基于用户或物品的标签召回或者基于用户的年龄,地域等召回,一般该策略的实现是基于开源软件 Elasticseach 实现的。虽然召回的结果都比较合理,但是召回的新颖度,惊喜度等都比较低。比如通过标签“刘德华”进行召回,基本上召回的都是包含刘德华字眼的物品,不太可能召回出“黎明”,“张学友”等其他四大天王的物品。近年随着万物皆可 Embedding,特别是 word2vec,item2vec, graph2vec 等技术的成功应用,通过物品向量召回物品向量的

2021-01-16 11:28:26 505

原创 Docker镜像瘦身

Docker 是一个用于开发,交付和运行应用程序的开发平台。 它能够将应用程序和基础架构分开,保证开发,测试,部署的环境完全一致,从而达到快速交付的目的。 但是在实际项目中,会对项目中的模块或者服务进行细分,导致部署的镜像过多(50+ 个),过大(打包压缩后的镜像达 50G+),这给部署带来了不小的隐患,特别是私有化部署(通过移动介质拷贝镜像进行部署)。本文从多篇镜像瘦身的文章入手,并进行实践验证,结合官方的Dockerfile最佳实践 总结了镜像压缩的4种方法和日常实践的多个技巧。镜像构建构建方式

2021-01-16 00:21:04 2481

原创 终端Terminal实战

本文主要介绍终端和 shell 的一些基本概念,并着重介绍了 zsh - 目前最强大方便的 shell 以及它的配置,希望可以提高我们码农的工作效率。终端终端 Terminal 是一种用于与计算机进行交互的输入输出设备,它本身不提供运算处理功能。在大型机和小型机的时代,计算机是非常昂贵巨大的。通常计算机会被安置在单独的房间里,而操作计算机的人在另外的房间通过终端设备 TTY / CONSOLE 与计算机进行交互。现在由于个人电脑的普及,基本很难看到专门的终端设备。负责输入的键盘,负责输出的显示器,再加上

2021-01-15 01:10:55 2581

高斯滤镜.html

gimp学习 高斯滤镜 gimp学习 高斯滤镜 gimp学习 高斯滤镜 gimp学习 高斯滤镜

2013-06-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除