SoC 时钟概念扫盲

前置概念 - 晶振。**压电效应,用来产生高精度振荡频率的一种电子器件** - RC 振荡器。电容可以充放电的特点,利用这一特性可以**输出振荡信号**。 Clock Source HSE(High Frequency Source external) 高速外部时钟:一般接晶振。一般在 4~24MHz。 HSI(High Frequency Source Internal)高速内部时钟: RC 振荡器产生的,……

如何在 IDE 中调试代码

实现一个功能,完成一段代码编写,能做到 bug free 的程度对于初学者来说是不太可能的事情。除非编码的内容极为简单,随着逻辑和增加和复杂度的增长,出错,未考虑到的逻辑的概率大大增加。所以调试代码是每个编程者都需要面对的问题。 为了避免“编程 5 分钟,调试 2 小时”,我们需要知道一些基本的调试代码的方法。 选择一个好的 IDE……

Python 代码质量工具介绍

目的 规范代码格式,提升代码质量 减少团队协作时理解成本 设置通用规范 CodeStyle PEP 8 是 Python 代码风格规范。它规定了类似行 长度 缩进 多行表达式 变量命名约定 等等 代码风格规范的目标都是在代码库中强制实施一致的标准,使代码的可读性更强、更易于维护。 虽然 PEP8 只是作为 Python 官方推荐的规范,但在实际上它已经成为最广泛认同的 Python 代码风格标准。……

Python Concurrent 模块探究

Python 如何执行并发任务 Python 中有 concurrent 模块用来作为对并行支持,目前,此包中只有一个模块: concurrent.futures —— 启动并行任务 concurrent.futures 模块提供异步执行回调高层接口。 里面有什么? 这个模块里面包含了什么?一个接口类/抽象类,两个不同的实现子类。 一个接口类/抽象类 concurrent.futures.Executor Executor 是一个抽象类,抽象类提供异步执行调用方法。要通过它的子类调用,而不是直接调用……

使用 Opencv 搭建图片识别应用

一个简单的识别图卡的任务。可以基本涵盖 opencv tutorial 里面使用的东西。 OpenCV 的文档详实丰富,如果觉得阅读官方文档比较吃力, OpenCV 4.0 中文文档 会对你非常有帮助。 一个简单的任务情景 我们有一些图卡需要被识别,在这里,我们稍微简单化一下情景: 有一面纯色的背景墙,图卡就像挂照片一样挂置在墙上,有一个 camera 对准这面墙壁, 那么现在我们如何……

Python 中如何进制转换

最近遇到一个情景: 需要通过串口向控制器发送控制命令,其中控制命令都是 16 进制的字符串,像这样 AA 1A 00 03 00 00 00 00 22 11 A2 42 0E 00 20 00 40 00 40 00 01 14 7B 40 97 BE,里面有一些字段是 int 转为 hex。 这里面涉及到在 Python 中的进制的转换,由于 Python 中的变量赋值不需要类型声明。所以需要一些自定义的函数来控制转换为指定长度的 hex。 进制……

编写一个小型静态网站生成器

blog-logo

转载自 Writing a small static site generator

如果你有写博客的习惯以及尝试过自建博客服务,想必会对 Hexo,Hugo 等生成静态页面的框架不陌生。

那么如何实现一个自己的静态网站生成器呢,本文用极其少量 Python 代码实现

目前大概有上百种用Python编写的静态站点生成器(还有更多其他语言编写的静态站点生成器)。

所以我决定写我自己的。

为什么?

好吧,我只是希望将博客从 Ghost 迁移,并且希望保持真正的简约性。

我决定使用GitHub Pages托管,因为他们最近宣布支持自定义域的SSL

……

备份与重装 Apt 软件包

作为基本在 Linux/Unix 环境下干活的来说,配环境就是家常便饭。 有时你需要把一台机器的环境在另外一台机器重新配置,这就很烦啊…... APT 软件包备份 使用 apt-clone 包就能备份系统上已安装软件列表 安装 apt-clone 1 sudo apt install apt-clone 备份 新建个文件夹保存备份文件,之后直接开始备份就好了 1 2 3 4 5 mkdir ~/mypackages sudo apt-clone clone ~/mypackages not installable: sogoupinyin, atom, lantern version mismatch: libwebkit2gtk-4.0-37, unattended-upgrades, liblouis-data, firefox-locale-en, ubuntu-release-upgrader-core, ubuntu-release-upgrader-gtk, gir1.2-webkit2-4.0, update-manager-core, firefox-locale-zh-hans, python3-louis, update-manager, python3-distupgrade, libjavascriptcoregtk-4.0-18, gir1.2-javascriptcoregtk-4.0, python3-update-manager,……

ranger 使用指南

ranger-preview

ranger is a console file manager with VI key bindings. It provides a minimalistic and nice curses interface with a view on the directory hierarchy. It ships with rifle, a file launcher that is good at automatically finding out which program to use for what file type.

Ranger是具有VI键绑定的控制台文件管理器。它提供了一个简单而美观的curses界面,并具有目录层次结构的视图。它带有rifle一个文件启动器,该文件启动器擅长自动找出要用于哪种文件类型的程序。

本文将介绍 ranger 的用法以及如何配置 ranger

特性

  • UTF-8支持(如果您的Python支持它)
  • 多列显示
  • 预览所选文件/目录
  • 常用文件操作(创建/ 更改权限 /复制/删除/ ...)
  • 一次重命名多个文件
  • 类似于VIM的控制台和热键
  • 自动确定文件类型并使用正确的程序运行它们
  • 退出ranger后更改外壳目录
  • 标签,书签,鼠标支持...
……

rysnc使用指南

img

本文来源自 rsync 用法教程 作者 阮一峰

rsync 是一个常用的 Linux 应用程序,用于文件同步。

它可以在本地计算机与远程计算机之间,或者两个本地目录之间同步文件(但不支持两台远程计算机之间的同步)。它也可以当作文件复制工具,替代cpmv命令。

……