Conda

conda 使用指南 miniconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda 更改仓库地址: https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ conda init conda config --set auto_activate_base false 环境管理 conda create --name myenv python=3.9 conda activate myenv conda deactivate conda env list conda remove --name myenv --all 包管理 conda install requests conda list conda update requests conda update all conda list --explicit > a.txt conda install --file a.txt

Windows Gitlab Ci

命令行切换到 system 用户 Windows上默认gitlab-runner是以 system 用户运行的,如果要更改 ci 的运行配置,那就必须要以 system 用户来完成这些设置。

Try Toga

Toga 是一个跨平台的Python GUI库, 支持Android和iOS,有一些简单的控件。它不像kivy那么复杂,kivy要求我们去学习 一种新的脚

C++ Constexpr Static Instances

下面这个代码是无法编译通过的 class A { public: A(val) : val{val} {} static constexpr A a1{0}; private: int val; }; 不过稍加修改就可以了,参考这里 7.1.5p9 The constexpr specifier [dcl.constexpr] (n3337) A constexpr specifier used in an object declaration declares the object as const. Such an object shall have literal

Cargo Feature

cargo add 确实挺好用,但是某个crate到底有多少个feature呢,经常连文档都说得不是很清楚。 幸好我们有 cargo feature 可以列出某个crate的所有fea

Rust minimize

rust默认的release版仍然挺大的,其实还有改进空间,这里有介绍, 这里有官方文档。简单来说可以在cargo.toml中添加以下内容 strip =

Elm 的一点想法

Elm 之前在了解rust的ui时,碰巧了解到了Elm,yew和iced都说参考了它, 而它也标榜自己是 A delightful language for reliable web applications. 昨天终于还是没有忍住,在空闲的

Crypto++ Tips

编译安装 说到加密,首先想到的当然是 openssl,但是当我想用mingw64的clang++编译时,发现还需要perl,下载perl发现还是

Nsis

一般的编译成release之后,找个地方一扔就可以运行了。但是有些时候,我们需要在用户机器上执行个脚本, 然后还要创建几个快捷方式。搞一个安装

Python Watch File Changes

说到用Python监控文件夹的变化,大家都是推荐 watchdog, 但是我发现这个工具有的时候会误报,我这里误报之后会执行编译,影响比较大。 然

Qt Get Rid of Console Window

Qt程序cmake编译出来,运行时会弹出控制台窗口,有人说这样 add_executable(TargetName WIN32 main.cpp) 就不会有。但是好像没有什么作用。 这个方法是可以的, target_link_options(TargetName PRIVATE -mwindows)

Simple Http Server

调试时,简单的http服务,以前一直使用 python -m http.server 但是有些脚本需要cors头, python默认就不行了,还得自己写。不过,幸好还有rust的si

Rust Flume

“Do not communicate by sharing memory; instead, share memory by communicating.” flume 习惯了Go的channel,经常需要在不同的线程和异步任务中传数据。rust也有,同

体验 pyimgui

通过 egui 了解到了 imgui 这个库,这个库的想法是挺好的,很像我们在嵌入式系统中常用的界面显示方式, 即每隔一段时间,刷新下整个界面。没有状态同步,简单并

Python Windows Spawn and Forget Process

运行一个程序,然后忘记(Detach)它 Taken from here if 'nt' == os.name: p = subprocess.Popen( [sys.executable, '-c', cmd], close_fds=True, # close stdin/stdout/stderr on child creationflags=subprocess.DETACHED_PROCESS | subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.CREATE_NO_WINDOW, )