教程

CentOS 7 关闭透明大页

小柊 发表于 2019年04月30日 23时34分19秒

序、扯淡

上个月的笔者还在博客里吐槽工作忙没空写干货,本以为四月会好些,结果鬼知道四月依旧是工作满满,不得不感叹笔者平时广积德,现在正被修来的“福报”簇拥着呢。

浏览内容

Docker容器端口映射后突然无法连接的问题排查

小柊 发表于 2018年11月05日 23时30分13秒

一、背景

一般需要对外提供服务的Docker容器,我们在启动时后使用-p命令将对外访问端口暴露给外部,例如启动Docker Registry,我们将5000端口映射出来供外部访问:

 

但最近碰到一个非常奇怪的情况:研发组里一个CentOS 7测试环境里部署有Docker Registry,并对外暴露了端口。启动容器后一段时间内都是可以正常工作的,但在不定时间间隔后,外部主机就会出现无法从仓库中拉取镜像的情况,提示TimeOut:

浏览内容

CentOS Nginx官方yum源

小柊 发表于 2018年10月10日 23时35分22秒

一、背景

不知道为什么,现在上网搜 CentOS 安装 nginx 的教程,很多文章都会告诉你先安装 epel 源,然后就可以用 yum 安装 nginx 了。

其实 nginx 在自己官网的文档中是提供了自己的官方yum源地址的,只不过不是特别明显就是了。

官网源和 epel 源提供的 nginx 里,我个人更偏向官方源。因为 epel 源是 Fedora 负责维护的,所以用 epel 源安装的 nginx 跟官方源或者直接编译安装的 nginx 在一些细节部分会有一些不同,比如 epel 源里的 nginx 装完之后默认的测试页是“Welcome to nginx on Fedora!”,另外在配置文件上面也有些许不同,反正用起来不是特别舒服。

浏览内容

CentOS7 源码编译Python 3

小柊 发表于 2018年09月05日 00时00分46秒

序、扯淡

之前一直把CentOS7源码编译安装Python 3的命令放在钉钉的石墨文档里,并不准备把这个当作一篇博客单独放出来的。但最近要源码编译Python 3的次数实在是太多了,而且每次打开石墨文档的速度实在是太——慢——了——(还不如我的博客快),所以决定把CentOS源码编译安装Python 3的命令放到博客里来,以后需要用的时候就直接翻博客算了。

 

注:本文在2019年4月30日被重新编辑

浏览内容

C# 拓展方法

小柊 发表于 2018年07月31日 22时41分25秒

一、序

拓展方法是C# 3.0中添加的一个新特性,虽然C# 3.0的推出已经过去很久了,但我还是想把这个拓展方法单独提出来和大伙讲讲——因为它真的真的太棒了!

虽然C#的拓展方法可能在您日常开发中很少会需要自己去写拓展方法,但您在日常的开发工作中,一定会多多少少用到一些库提供的拓展方法,因为有很多库的功能就是基于拓展方法提供的,比如说像.net自带的System.Linq命名空间下,提供的一系列关于集合查询的方法,以及Polly中Policy的定义等也会使用到拓展方法。可见拓展方法已经深深的融入到我们的开发生活中。

浏览内容

WordPress获得经过阿里云CDN服务的访客真实IP

小柊 发表于 2018年06月30日 23时48分08秒

一、背景

也记不得是去年阿里云搞的哪个活动了,反正笔者我在那会儿参加了一个CDN优惠购流量的活动,现在每个月都有20G的CDN流量包会充值进来。

毕竟自己也是花了钱的,不用就太可惜了。所以我把自己几个主要对外的网站都接入了阿里云的CDN服务。

不过在用了一段时间之后发现了一个问题,那就是后台看不到提交评论的用户IP了。

浏览内容

C# 如何像Python一样使用推导式?

小柊 发表于 2018年05月01日 21时51分20秒

序、扯淡

现在我做.net这块并不多,因为现在上班的公司不用.net。为了混口饭吃,就转去做Python开发了。

我一直觉得换一门主力开发语言并不是一件非常困难的事情,因为我认为编程语言只是思想的一种具体表达方式,用于构成一个程序的肉身,而一个程序里最重要的灵魂,是具体的编程思想、算法和设计模式组成的。

所以我也是这么和身边的人这么“传教”的,虽说语言本身也很重要,但算法设计模式等等千万别落下,各个语言自带的语法糖其实都可以用代码实现,万变不离其宗。

 

扯得有些远了,这次的题目主要是因为有个学弟,在我转到Python之后,也跟着转到Python来了。有次谈天的时候我表示不希望他到时候C#半桶水叮当不说,到时候Python也是这样。C#除了国内的就业前景相比之下并不是特别好以外,就语言本身素质来说还是非常不错的,用了这么久的Python,貌似只有Python里的列表切片和负索引(例如-1表示列表倒数第一位元素)以外,没有C#做不到的。

然后这个学弟就给我举反例了:

 

当时因为算是上班时间摸鱼,所以就只是去翻了一下System.Linq命名空间下面的拓展方法,发现没有什么类似的拓展方法后,也就以为C#里的确没有这种写法,后来就没再去注意。

 

最近两天又突然记起这件事情,仔细琢磨了一下,发现自己当时怕是智障了:都想到去翻System.Linq命名空间了,怎么就想不起直接用LINQ呢?

浏览内容

CentOS 7 删除无用的旧内核

小柊 发表于 2018年04月27日 23时20分24秒

少说废话一句话系列:

执行命令:

 

去自动筛选并删除当前无用的系统内核版本。

 

序、扯淡

最近真的是忙到爆炸,其实手里有几个非常有意思的议题,但无奈因为忙的不行不能专门展开来写个博客。所以这次也是为了每月一水而开的教程。

 

一、背景

不知道各位有没有注意过这么个问题,CentOS系统用的久了,随着我们的日常更新,每次启动时启动项就会慢慢多起来,就像下面这样:

 

这是个什么情况呢?

浏览内容

CentOS 7 Yum离线下载安装软件包

小柊 发表于 2018年02月19日 19时21分23秒

一、背景

yum是Fedora 22-、RedHat以及CentOS系统中默认使用的一款软件包管理器。使用yum命令我们可以非常轻松的为系统安装各种软件包。

由于系统自带源中的软件包往往收录不全面或更新并不即时,所以例如Nginx,MySQL,MongoDB、Docker等有名的程序都会创建自己的软件源,我们只需添加他们的源即可在yum中找到并安装最新的版本了。

不过这种非官方自建源,往往会因为服务器在国外,且国内没有镜像服务器,导致下载速度非常不稳定,比如MySQL官方源在国内最高速度一般只有200-300KB/s,最低甚至只有几B/s。

所以现在就有这么一个想法,能不能把yum在线安装时下载的文件离线保存在本地,到时候需要安装的时候直接拿着之前离线保存的安装包直接安装,这样在可以联网的电脑上安装需要的程序包时就可以省去从网上下载程序包的时间,另外也可以给不能联网的电脑安装程序包了。

浏览内容

Asp.net Core中使用GDI+绘图

小柊 发表于 2018年01月01日 00时00分03秒

一、扯淡

光阴荏苒,日月如梭。转眼2017年就这么过去了。在这2017年里本人遇见了很多人,遇到了很多事。如果要从其中挑出一件最遗憾的事情,那大概就是.net Core 2.0居然不支持System.Drawing命名空间。

浏览内容