cat writebug.cn/history

一个开发者的技术博客。

bash进制转换

  1. 在let命令和 $(( 表达式 ))中,支持 前缀为0的八进制数, 支持前缀是0x的十六进制数字, 支持2到64进制,使用[base#]n表示, base是2到 …

在Linux下交换Ctrl与大写锁定键

备注: 不要在虚拟机里交换按键

  1. GNOME3 用户可以使用Tweaks工具交换大写锁定和Ctrl键。
启动 Tweaks 程序。
从左侧菜单中选择 “Keyboard & Mouse”。
单击 “Additional …

java入门精粹

第一章 java开发入门

  1. java类只支持单继承,但接口之间支持多继承。
  2. jdk包括java编译器,java运行时,java文档工具,java打包工具等。
  3. jdk安 …

Tcl 和 expect教程

expect

expect是用于命令行自动化交互的程序,相当于命令行版本的按键精灵。可以用来输入密码,操作程序。

  • expect基于Tcl/Tk实现,在expect …

rsync基本使用方法

rsync介绍

rsync是快速和通用的远程和本地文件同步工具。

支持通过远程shell或者rsnyc守护进程进行同步。经常用作备份和镜像的 …

文件同步工具对比

  1. FreeFileSync # 操作非常简单,图形化界面方式使用,支持Windows, Linux,Mac, 支持sftp,ftp协议

  2. Syncthing # 支持多客户端一起同步,p2p,支持大多数操作系统,支持 …

gdb的基本使用方法

获取进程的coredump (内核转储)

启用内核转储

功能 命令
查看coredump功能是否有效 ulimitulimit -c
开启内核转储 ulimit -c unlimited
设置coredump大小上限 ulimit …

debian11-bullseye install cgit

apt update
apt install cgit
dpkg --status cgit
# install Recommends
apt install apache2 python3-docutils python3-markdown python3-pygments

cd /etc/apache2/conf-enabled
ln -s ../conf-available/cgit.conf git.conf

cd /etc/apache2/mods-enabled
ln -s ../mods-available/cgi.load cgi.load

systemctl restart apache2


# cp -r /usr/share/git-core/templates ~/git-template
# cd ~/git-template …

raspberry-debian10-selenium测试

测试环境 Raspbian GNU/Linux 10 (buster)

经过搜索发现firefox的geckodriver官方不支持arm. 所以只能选择chromium浏览器.

安装依赖

sudo apt install python3-selenium
sudo apt install python3-pyvirtualdisplay # 由于raspberry没 …

raspberry-debian10-selenium-har测试

nohup ./browsermob-proxy --port 9090 &

from browsermobproxy import Server

server = Server("/data/.workspace/selenium/browsermob-proxy-2.1.4/bin/browsermob-proxy", options={"port":9090})
server.start()
proxy = server.create_proxy()


from pyvirtualdisplay import Display
from selenium import webdriver

display = Display(visible=0, size=(1024, 768))
display.start() # 开启虚拟GUI …

Flatpak vs Snap

Flatpak vs. Snap

Flatpak may have been in works since 2007 as glick, it’s not the only player in the Linux world. Canonical is the one that created waves with the announcement of Click, that later evolved into Snap.

There is a healthy competition between the two projects and …

面试中我经常问的问题

C++

  1. 说说C++的类型转换和使用场景。
  2. 什么是抽象类。怎么定义。
  3. 说说C++的新特性。
  4. C 和 C++ struct区别?
  5. volatile作用, 是否具有原子性?
  6. 如何禁 …