常见编程语言及工具

  • 有时间单独讲讲:vscode

  • python3\python2\pip3\pip2;考虑直接安装anaconda

    • Miniforge是一个开源的python发行版本,使用Miniforge替代Anaconda的理由可以概括如下:
      首先,Miniforge集成了Anaconda的核心工具:conda。conda是一个包和环境管理工具。因此,Miniforge替代Anaconda在使用习惯差别很小,迁移代价低。
      其次,Miniforge是由社区赞助、领导的,并且用GitHub托管所有的包,使用 conda-forge 作为(默认)下载channel,避开了Anaconda的收费repository。
      最后,Miniforge相比Anaconda更为灵活轻便。体积只有50多M,支持mamba,mamba支持多线程下载,包下载速度甚至超过Anaconda默认的conda。
      Miniforge的官方网址:https://conda-forge.com/miniforge
      Miniforge的Github托管地址:https://github.com/conda-forge/miniforge

    • 可能需要安装command line tools

  • go

  • node+npm

  • java,建议安装多java模式

办公辅助工具

  • 正则编辑器

    • cyrilbois/cyrilex: Regex tester (github.com),这个是比较好用的,有图形化,也能简单匹配;

      • image-20240625141826-petu8kk.png
    • 图形化

    • 多功能

      • RegExr: 学习、构建 和 测试 正则表达式 Test RegEx (regexr-cn.com)
      • 中文版:skys215/regexr-cn: RegExr 是一款用于测试和学习正则表达式的,基于 HTML/JS 的工具。 (github.com),这个是我个人比较喜欢的一款,很好看,功能也比较多,就是安装比较恶心;
        • 首先是安装node包管理,因为这个项目跑起来得老版node,所以,可以考虑使用nvm\n\fnm这种包管理,n最简单了,nvm是比较全面的,fnm好像是新的,rust写的,没用过;会推荐装nvm或者n,nvm是作者考虑使用的,源码里面有.nvmrc,明确了使用的node版本是v10.21.0;我安装的是n,图省事,很好装;

        • 如果是n的话,提前要装好最新的npmnode,直接官网下载就好了,很方便;然后npm install -g n,当然你很可能执行n latest安装最新版报错,因为n命令在/usr/local下面没有权限,该命令默认使用/usr/local作为root目录,官网给出了三种修复方法;

          • 参考官网:n - npm (npmjs.com)

            The default root location used when running n is /usr/local where a normal user does not have write permission. You may strike the same sort of permission error when using npm to install global modules, like the above command. You have three main options:

            1. change the ownership of the relevant directories to yourself (see below)

              1
              2
              3
              4
              5
              6
              7
              // make cache folder (if missing) and take ownership
              sudo mkdir -p /usr/local/n
              sudo chown -R $(whoami) /usr/local/n
              // make sure the required folders exist (safe to execute even if they already exist)
              sudo mkdir -p /usr/local/bin /usr/local/lib /usr/local/include /usr/local/share
              // take ownership of Node.js install destination folders
              sudo chown -R $(whoami) /usr/local/bin /usr/local/lib /usr/local/include /usr/local/share
            2. tell n to use a custom location where you do have write permissions (see N_PREFIX)

              1
              2
              3
              // 写到./zshrc或者./bash_profile里面,然后source ~/.zshrc
              export N_PREFIX=/usr/local/multi_nodes
              export PATH=$N_PREFIX/bin:$PATH

              然后执行sudo chown -R $(whoami) $N_PREFIX

            3. put sudo in front of the command to run it as super user

              不推荐;

        • 通过n v10.21.0安装老版本,然后在目录下npm install,成功后,接着安装gulp,npm install --global gulp-cli

        • 启动的话,建议首先,cd ./regexr/node_modules/gulp-cli/bin,然后执行n use 10.21.0 gulp.js,可以看到在localhost和$HOST的3000端口,服务成功启动;

          • 使用 n use xxxx命令可以不更改全局的node而使用低版本node启动该服务,这就很虚浮!

          • 我喜欢创建快捷命令来打开和关闭服务

            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            13
            14
            15
            16
            17
            18
            19
            20
            21
            22
            23
            # start.sh文件内容
            #!/bin/bash
            gulpdir=/path-to-regexr/regexr/node_modules/gulp-cli/bin
            cd $gulpdir
            pwd
            n use 10.21.0 ./gulp.js &

            # stop.sh文件内容
            #!/bin/bash
            # 根据关键词筛选 PID 列表
            pids=$(ps -ef | grep gulp | grep -v grep | awk '{print $2}')
            filtered_pids=($(echo "$pids" | tr "\n" " "))
            echo $filtered_pids
            # 终止筛选出的进程
            for pid in $filtered_pids; do
            echo 'now kill:'.$pid
            kill "$pid"
            done

            # ./zshrc文件配置
            alias regexr='source /path-to-regexr/regexr/start.sh'
            alias regexr-kill='source /path-to-regexr/regexr/stop.sh'
            # then, source ~/.zshrc
        • 如果不希望对外暴露服务(那肯定不希望),修改这个文件——gulpfile.js或者是gulpfile.label.js,修改BrowserSync控制的服务配置

          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          // tasks
          // change there
          gulp.task("serve", () => {
          browser({
          server: { baseDir: "./deploy/" },
          port: 12345, // 修改端口
          listen: 'localhost' // 关闭对外服务
          });
          });

          //或者修改这个部分,但是我没找到在哪插入这个参数;
          // For use in electron development
          const bs = require('browser-sync');
          bs.init({
          localOnly: true
          });

          image

  • Beyond Compare

  • iTerm+zsh

  • markdown工具:MarkText,其实vscode下面有平替,我感觉配合vscode会更好用,有时间再讲讲吧

  • 远程:Microsoft Remote Desktop

  • v2ray:for wall!

  • draw.io:比起processOn,这个我觉得更好用

  • iStat Menus:去吾爱找找,做电脑监控和日历挺好用;

  • NightOwl: 猫头鹰,控制电脑日夜显示的,我现在也不咋用了

小工具

  • 压缩工具:MacZip、keka

    • (KekaBetterZip 具有压缩时排除 __MACOSX 与.DS_Store 等文件的功能),对于没有自动删除隐藏文件的压缩包,可以使用如下方式

      • 打开 macOS 自带的自动化软件自动操作(Automator), 创建一个快速操作,内容如下

      • image

      • 代码如下:

        • # 循环处理选择的多个文件
          for f in "$@"
          do
              # 获取文件类型,以确保是 Zip 压缩文件
              fileType=$(file -bI "$f")
              if [[ $fileType =~ "application/zip*" ]]; then
                  # 删除 __MACOSX 与 .DS_Store 文件
                  zip -d "$f" \*__MACOSX\*  || true
                  zip -d "$f" \*.DS_Store\* || true
              fi
          done
          
  • 截图工具:Xnip

  • 事项管理:滴答清单(真的挺好用的)

  • 快捷键:超级右键Lite

  • 视频播放:IINA

  • 色素工具:Pixeur

摸鱼小工具

  • 字体修复

    • mac-microsoft的微软雅黑,加粗会有问题,网上找个能用的替换下
  • 字体美化:霞鹜文楷,真的很漂亮!

    • ps,顺带说下手机换字体,华为手机字体更换是比较麻烦一点(真反感这种捞钱手段),建议用转换过的下面找个:
  • 房屋设计软件

    • 非常好上手哈哈哈,挺有意思的:Sweet Home 3D
  • 音乐转换软件:将ncm文件转换为mp3或者flac文件,DDDD