Macos中浏览器扩展的目录位置与扩展打包解包方法
写在前面
最近帮人下载浏览器的一个插件, 因为对方没办法访问google的插件中心, 那么就只能通过第三方扩展解压安装的方法了, 但是网上找了一圈都没有我用的浏览器的路径, 这就来总结一下路径的寻找方法吧, 以及推荐一个不错的视频嗅探插件.
环境:
MacOS 12.6
浏览器:Edge, Chromium
找打包路径
Windows的Chrome应用程序支持目录的路径都在:
C:\Users\USERNAME\AppData\Local\Google\Chrome\User Data\Default\Extensions
然而, MacOS的在:(Edge)
/Users/USERNAME/Library/Application Support/Microso...
阿里云服务器安装wireshark图形界面与远程连接配置(使用tigervnc)
写在前面
昨天折腾了一下透视HTTP协议这门课的实验环境, 通过阿里云的轻量应用服务器来完成了, 但是还差一步, 那就是wireshark的安装, 虽然通过apt安装好了, 但是打不开实在是烦人, 后来经过各种搜索, 我发现问题出在了tightvnc上, 这个vnc服务器对qt程序的支持不够好, 那么接下来就来配置一下tigervnc, 这里我还用上了xfce4桌面, 感觉比gnome要舒服一些.
tigervnc文档感觉不是很全, 但是用起来跟tightvnc一样顺手.
其viewer界面是FLTK开发的, 稍后可以学习一下源码.
我在Mac端使用了vnc-viewer, 但是不如tigervnc-viewer的给力, vnc-viewer需要一段时间的连接之后...
反转链表与链表的析构操作(c++)
写在前面
说一下反转链表的操作, 以及在生成链表之后的析构操作, 感觉这两点其实是可以联系起来记忆的.
反转链表
206. 反转链表 - 力扣(LeetCode);
一种trivial的方法当然是遍历存节点然后重新构建链表, 但是这是需要耗费$O(n)$空间的方法, 于是就有下面这种方法, 双指针记录后面未遍历的节点的方法.
class Solution {
public:
ListNode* reverseList(ListNode* head) {
ListNode *cur = head, *pre = nullptr;
while (cur) {
auto tmp = cur->next;
...
计算位1的个数方法总结
写在前面
之前介绍过一种计算整数二进制表示中位1个数的文章, 是介绍通过不断减去右移一位之后的值的方法来完成的, 后来发现还有一种更快更经典的方法, 下面来总结下.
191. 位1的个数 - 力扣(LeetCode);
各种思路
转换字符串
def calcbit1_v1(n):
return bin(n).count("1")
# return n.bit_count()
取最低位
def calcbit1_v2(n):
ans = 0
while n:
tmp = n & 1 # 取最末位
ans += tmp
n >>= 1 # 进位
return ans...
透视http协议课程实验环境配置(基于阿里云服务器ubuntu)
写在前面
最近看看罗剑锋老师的透视HTTP协议, 折腾一下实验环境.
本来是想用mac(arm)来做的, 无奈Openresty的一个lua扩展不给力, 本地编译之后依然不行(表现为服务器错误), 所以就只能借助Intel了, 当然老师也提供了一种思路: 借助dockerfile构建基于arm的镜像实验环境(实在是因为我电脑内存不行, 不然高低折腾一下).
那么下面就开始在阿里云服务器(Ubuntu x86_64)上构建实验环境了.
主要用到的就是:
Openresty (安装起来比较麻烦, 需要源码编译)
telnet (apt安装即可)
Firefox(或者chromium, Chrome, edge) apt安装
wireshark (apt安装, 但是打不开, 可...
C++11继承构造函数与委托构造函数详解
写在前面
看完了深入理解C++11的继承构造函数和委托构造函数部分, 更是对C++的新特性有了一些理解和认识, 下面来总结下.
测试环境:
MacOS arm64
clang 15.0.6 llvm(with brew)
继承构造
继承构造函数用于解决基类中含有多个构造函数而派生类需要使用这些继承下来的构造函数的情况, 通过using关键字来实现简洁的函数继承.
例1
在新特性发布之前, 只能像下面这样完成构造函数的继承.
#include <iostream>
using namespace std;
struct A {
A() { cout << "A::A()\n"; }
A(int i) { cout &l...
Test Jekyll Text Theme 1
Success Text.
{:.success}
Info Text.
{:.info}
Warning Text.
{:.warning}
Error Text.
{:.error}
会被Jekyll渲染成:
Success Text.
Info Text.
Warning Text.
Error Text.
`success`{:.success}
`info`{:.info}
`warning`{:.warning}
`error`{:.error}
会被Jekyll渲染成:
success
info
warning
error
共计 492 篇文章,62 页。
您是Zorch的第 个小伙伴
Hits