Coder, Programmer, Developer, and Software Engineer

What is the difference among coder, programmer, developer, and software engineer?
Read more

Nvidia GPU Cloud

NGC全称为Nvidia GPU Cloud。提供了一组容器镜像,包装了基于GPU的各种软件框架作为运行环境,方便研发和生产使用;同时也提供各种pre-trained的深度学习模型,方便大家学习。
Read more

Git Idioms 2

上一篇文章讲了git revert和git reset。这一篇在记录一下git rebase的简单用法。有很多个场景可以使用git rebase来更好的提交代码。
Read more

Git Idioms 1

最近观察周围的同事使用git的方式,发现几乎所有人都是git add,git commit,git push, git pull, git merge几个命令打遍天下。
Read more

Python多进程开发

用Python有一段时间了,但是延续其他语言开发经验,用线程较多。然而Python自身GIL机制导致计算密集型的运算用多线程反而低效。故专门研究了一下Python多进程的开发,在这里分享一些心得。
Read more

Python包引用规则

python有package和module两种概念。package是一个文件夹(包含__init__.py文件的文件夹),module是一个文件。module中引用其他package和module时,通过语法import A或者from A import B完成。import的引用又可以分为绝对引用和相对引用两种:
Read more

Python的抽象类

面向对象语言大都支持抽象类:比如C#中的abstract关键字,C++的类方法的=0语法。python也支持面向对象编程范式。如何在Python中创建一个抽象类呢?答案是 ABCMeta(ABC = Abstract Base Class)。
Read more

Hugo语法高亮

Hugo是Go语言实现的静态网页生成器,常用来创建和管理博客。写技术博客,在页面中渲染代码是必不可少的需求。Hugo可以支持Server和Client两种方法进行代码的语法高亮处理: Update@2022 当前版本的Hugo已经使用Go内置的Chroma进行语法高亮处理。但是以下的旧方案依旧可以使用。
Read more

在循环中使用lambda

谈到函数式编程,必然会提到lambda。lambda使得高阶函数运算用起来得心应手。而谈到lambda就要提到闭包。闭包将lambda和它运行时依赖“环境”连接在一起。用一个简单python代码来描述lambda和闭包:
Read more

在Scrapy中使用cookie

Python有一个很出色的爬虫包scrapy,架构清晰,设计精巧,能想到的爬虫工具需要的定制化点都有对应的扩展机制。 大部分网站都使用cookie来记录访问用户的识别信息。每个请求都会把用户识别信息带回到服务器,帮助后台程序识别独立用户,这样可以进行鉴权,反爬,限流等很多的操作。所以对于爬虫来说,如何模拟和使用cookie“欺骗”服务器,是十分重要的一步。本文就介绍如何在scrapy中使用cookie技术。
Read more