MIT6.S081操作系统学习记录
基于xv6(Unix-like)系统进行学习,希望在做Lab的过程中能对操作系统的实现有更深入的理解。
SpringCloud体系下的微服务应用技术
微服务的目的是将一个单体应用按照业务拆分成不同的服务,以实现代码的高内聚、低耦合特性,利于开发与维护。需要注意的是,SpringCloud并不直接等于微服务,还有很多组件需要我们去学习。
macOS为PDF添加满屏水印方法
添加水印可以保护知识产权,本文基于PhotoShop和mac系统中的自动操作工具,给PDF文件打上满屏水印,再也不用为付费水印发愁了!
记录一次MySQL数据库被攻击的经历,并开启日志进行预防
数据库安全是很容易被忽视的问题,因为在平时的dev环境中我们无法遇到被攻击的情况。本文记录一次云数据库被攻击的情况,并进行思考和总结。
NAS搭建方案总结,并在Windows10上安装群晖DSM系统
在局域网中搭建一个NAS可以使我们跨设备和用户共享文件资源。本文总结了一些常见的方案和问题,最后介绍了如何在Windows10主机上安装群晖DSM6.1x系统。
区块链应用技术
浅看一下区块链的大概原理,部分内容以比特币为例。
使用网络抓包工具(Wireshark/Fiddler/Charles等),对电脑或手机设备进行流量监听
前言:网络课需要完成一个抓包的实验,了解到Fiddler可以抓取HTTP和HTTPS协议(或者Charles),Wireshark可以抓取TCP/DNS等协议,除此之外还用到了Kali进行ARP欺骗,对电脑端、iOS端(利用rvictl工具)或安卓端(利用tcpdump工具)进行抓包。下面是遇到的问题和一些总结。
抓包前,需要先了解下OSI与TCP/IP模型。
1. 工具介绍
1.1 Fiddler
该软件可以实现对PC端或手机端中HTTP/HTTPS的流量抓取,需要进行一定配置
Fiddler配置参考:
https://blog.csdn.net/weixin_40608713/article/details/114873070
然后在iPhone上访问网页,Fiddler软件就可以抓取到HTTP/HTTPS流量了。
如果获取到的Web视图有乱码,需要win+r,输入regedit进入注册表,然后访问:HKEY_CURRENT_USER\Software\Microsoft\Fiddler2,在这里添加字符串值,键名为HeaderEncoding 键值为GBK。
最后,配置规则 ...
Xcode中对C++/Swift代码进行格式化
一. 前言
使用Xcode IDE进行C++/swift相关代码的编写,系统默认的 ctri + i 快捷键格式化代码功能有限,只能处理缩进,无法处理语句中的空格等。对于C++,建议安装clang-format插件。对于Swift,建议安装XCFormat实现代码的美化功能。
二. 安装
clang-format 安装过程
12345678# 安装 clang-formatbrew install clang-format# 查看安装的版本clang-format --version# 查看安装位置(重要)whereis clang-format # 我的输出:clang-format: /opt/homebrew/bin/clang-format
XCFormat 安装过程
打开Xcode,在菜单中进入Xcode Extensions,找到XCFormat进行安装。
XCFormat安装完成后,直接看本文第四部分即可。
三. clang-format配置
cmd+空格键,搜索Automator.app,进入自动操作应用:
脚本内容如下:
12export PATH=/opt ...
MacBook M1 Pro 使用经验
前言
纠结了很久新出的MacBook Air M2,但是将配置拉到16+512后价格太贵,感觉没有Pro划算,于是在第三方购入MacBook Pro 14寸(2021)笔记本(M1 Pro芯片)。
终端相关
使用代理
1export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890
使用文本编辑器打开
12# -a后的参数指定应用open -a TextEdit /Users/xxx/.jupyter/jupyter_notebook_config.py
查看能耗
1sudo powermetrics
应用程序已损坏
1sudo xattr -r -d com.apple.quarantine 路径
查看睡眠情况
123pmset -gpmset -g assertionspmset -g log | grep DarkWake
查看硬盘写入情况
12brew search smartmontoolssmartctl -a disk0 ...
Java常用设计模式总结
前言:设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。由四人帮(GOF:Gang of Four)创建。
一. 设计模式简介
设计模式基本要素
模式名称、问题、解决方案、效果
创建型模式
单例模式、工厂模式、抽象工厂模式、建造者模式、原型模式
结构型模式
适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式
行为型模式
模板方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式
二. OOP七大原则
开闭原则
对扩展开放,对修改关闭。目的:降低维护带来的新风险。
里氏替换原则
子类可以扩展父类的方法,但不可以重写父类的方法。目的:防止继承泛滥。
依赖倒置原则
面向接口编程,不要面向实现编程。目的:有利于代码结构的升级扩展。
单一职责原则
一个类只干一件事。目的:便于理解。
...