Macos Configuration01 MacOS terminal 设置

Macos Configuration01 MacOS terminal 设置

Mac 的 Terminal 和 Ubuntu 的操作上较为相似,都是 Unix 的吧,但是要注意一下安全和软件管理库。

其他的参考资料: https://www.youtube.com/watch?v=RNqDkF17ogY&t=787s

Temrinal 终端

The default terminal is zsh, so we do not need to install zsh from scratch.

Brew

we install brew follow the official website settings :

1
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Iterm 2

After install brew we can install iterm 2 like this :

1
brew install iterm2 --cask

Then we download and config its’ setting in the preference menu. Or export the profile.

Those following settings are what i’m most concerned about, and because of the simple UI, we will not introduce too much.

  • Transparent
  • Snippets
  • Status line
  • Split windows

这将会是我们的主终端应用,后续会结合 fig 一起使用,这给我们提供了媲美,甚至超越 windows terminal 的使用体验。

Seems like 可以取代 tmux 来进行分屏


Whats DevOps?

Whats DevOps?

在一个庞大的组织架构中,CI/CD 和 Devops 的概念是避不开的,了解它的工作原理和概念能帮助我们更好的与他人进行协作。

CI/CD 介绍

这是一个用来描绘 CI/CD 的示意图,其描绘了 CI/CD 的工作流和各自的一些职责,接下来本文分别对两者进行介绍。

CI (Continuous integration) 持续集成

持续集成是面向开发者(Developer)的环节。从上述的图也可以看出,整体的流程如下:

Developer 基于给出的需求进行编码(code),完成 Feature 或者 Bug 修复后,提交(Commit)代码,然后平台会对这些需要(Merge Request)代码进行编译(Build),编译通过后,执行自动化的持续测试(Continuous Test),待测试通过后才会正式合并入主干。

也就是说,CI 工具在检测到代码变更后,自动对其执行编译和单元测试,验证其代码的正确性和可用性,以及是否适合与源代码进行集成,然后进行自动集成。

该流程有以下的优势:

  • 能够避免不同开发环境带来的不一致问题
  • 减少手动操作
  • 清晰的版本管理和控制
  • 降低人为操作的风险

Hexo Icarus 配置

Hexo Icarus 配置

本文的博客页面基于 Hexo)+Icarus 主题搭建,在使用过程中对该主题做了一些简单的配置,以适应自己的需求。这里介绍一下自己粗浅的方案。

十分推荐 Icarus 这个主题,功能支持十分全面而且作者的文档也较为详实,推荐大家去了解。

拓宽显示页面区域

include/style/base.styl 中定义了各种基本页面尺寸:

1
2
3
4
5
$gap ?= 64px
$tablet ?= 769px
$desktop ?= 1088px
$widescreen ?= 1280px
$fullhd ?= 1472px

可以在 include/style/responsive.styl 中定义 2 栏 3 栏情况下所使用的宽度:

1
2
3
4
5
6
7
8
+widescreen()
.is-3-column .container
max-width: $fullhd- $gap
width: $fullhd - $gap

.is-1-column .container, .is-2-column .container
max-width: $widescreen - 2 * $gap
width: $widescreen- 2 * $gap

Count_Min Sketch算法

Count_Min Sketch算法

本文介绍计算大规模数据流中的元素出现频次的方法 CMS,以及其简单改进Count-Mean-Min-Sketch

Intro & Scene

在大数据场景下,比如网页的 TopK 问题,爬虫的是否访问过的问题,都是一种出现频次相关的问题,那么在系统设计的时候,如何选择策略和数据结构去存储相关的数据是最高效合适的呢?


Python00 Conda 与 Pip

Python00 Conda 与 Pip

@Aikenhong 的旧笔记翻新完善 1.0

Python 的灵活和广泛应用场景来自于众多的第三方库,由于强大的可拓展性和众多的库,使得 Python 的使用简单灵活,且应用面极广。

但是不同库之间的相互依赖关系,对版本的不同要求等等因素,使得”环境配置”成为了开发者闻之变色的一词,对一个新的库和项目环境的配置尝尝会花去大量的时间,这可能也是 Docker、Venv(虚拟环境)必须存在的原因之一。

这里不对 Docker 及其相关技术,进行说明,会另开章节进行学习。

才疏学浅的本菜鸡希望从 python 开发者避不开的 conda 和 pip 出发介绍一下关于库安装的一些事情,以及这两个 CLI 的关系。


Windows Powershell 00 Install and Config

Windows Powershell 00 Install and Config

Update:@20230214

shift+右键: 在此处打开 powershell.

PowerShell ,这里的 PowerShell 和 windows 的已经不是同一个东西了,可能要更先进一些,通过 msi 进行安装,安装完后重启 terminal 就会自动的添加配置,后续的配置在这个 new shell 中进行会更好一些

Basic Setting

Setting & Cancel Proxy

设置代理如下:

1
2
3
netsh winhttp set proxy 127.0.0.1:8890
# 查看代理设置情况
netsh winhttp show proxy

取消代理设置使用:

1
netsh winhttp reset proxy

Bash Notebook 01

Bash Notebook 01

整理脚本编写的一些最基本语法,包括参数传递,赋值,循环等基本语句,方便后续的脚本编写和改动。

语句注释

单行注释:# ,多行注释:

1
2
3
4
:'
多行注释用冒号加单引号即可
'
echo 'legal'

命令行参数传递

命令行传递参数的方式极其简单,$1$9 可分别代表输入的 9 个参数,第 10 个参数则使用 ${10} 表示,可以将其赋予变量后便于使用。

一些特殊参数:

  1. $0 脚本本身的名称
  2. $# 输入参数的数量
  3. $$$$ 进程 ID
  4. $* | $@ 所有参数(从第一个开始
  5. $(PWD) | `pwd` 都能输出当前的工作路径

举个脚本例子如下:

1
2
3
4
5
6
7
8
9
10
11
12
# we accept args from commandline and print it to the screen
# define
args1=$1
args2=$2

# print
echo "using $ { } to get the value of val, what we receive is : ${args1} and ${args2}"
echo "$ can also show : $args1 and $args2"

# we can make those statement in a string, which may transfer to its value
echo "using $ / {} in a string can also get the value like $args1 and $args2"
echo 'using $ / {} in a string single quotes cannot get the value like $args1 and $args2'

Windows Configuration04 Dual-System-Ubuntu

Windows Configuration04 Dual-System-Ubuntu

该文介绍基于 Windows11 系统的双系统安装和删除,安装的双系统选择 Ubuntu(开发还是比较推荐使用 WSL2 即可)

Install Dual System

参考资料:全面解决各种问题 双系统安装 Windows+Ubuntu20.04双系统安装教程

1. 安装 u 盘制作

这里推荐 ventoy 来做启动盘,ventoy 可以同时将很多系统的镜像放到一个 u 盘中,最最重要的是:干净简洁,可以参考其官方文档来制作盘,制作后将镜像文件放到指定目录即可。

2. 硬盘分区

win+s 搜索创建并格式化分区,找一块空闲空间较大的硬盘,右键压缩卷,设定好预留给 Linux 的空间即可(记住该大小,方便后续辨认,可以将各个盘的大小拍照记录下来,安装的时候别把 windows 覆盖了)。

image.png

image.png

该预留的未分配空间,建议至少 30G 以上,如果需要开发和机器学习啥的话可以 50G、100G 以上。


Github Profile 个人主页

Github Profile 个人主页

Reference

本文介绍如何配置自己的 Github 的个人资料界面,同时会介绍相关美化个人资料的一些资源网站和项目,并简单介绍其用法。最终结果如下(还有许多优化的空间):

image.png


Nodejs、yarn、npm关系辨析