type
status
date
slug
summary
tags
category
icon
password
Formula
python学习进度(5%)😫
css学习进度🥱(5%)
js学习进度💤
mac无界面GUI应用已安装清单:
ExifTool、aria2c、spotdl、CopyQ、lux、MPV、MediaInfo、htop、wireshark、suricata、Tuxera、Nginx、ngrok、frp、python
1、课程资源:
Python-100-Days-master课程
css
2、工具
制作ico文件:
图片转字符
文字转字符
网络连接相关(tcpdump、lsof、Little Snitch 或 LuLu、Wireshark)
sudo lsof -i -n | grep battle
//使用lsof查询与battle有关的通信
sudo lsof -i :49403
//进一步查询
grep bnetgame /etc/services
//查询与bnetgame端口具体含义
htop
本地映射http
wireshark
suricata
fs_usage
macOS 自带的命令行工具,可以监控系统的文件系统 I/O,类似于 Windows 的 Process Monitor。可以用来追踪系统中文件、套接字、管道等的 I/O 活动。
使用方法:在终端中运行 sudo fs_usage。
DTrace
macOS 的强大系统跟踪工具,支持对各种系统级别事件(如进程、文件 I/O、网络活动等)进行实时跟踪。需要一定的脚本编写能力,适合高级用户。
可以在终端中使用 sudo dtrace 进行复杂的系统监控任务。
tcpdump
macOS 自带的命令行网络流量捕获工具,功能类似于 Wireshark,但不提供 GUI 界面。可以在终端中使用 sudo tcpdump 命令来抓取网络流量。
配合 Wireshark 可以用来进一步分析抓取的流量数据。
Tuxera
能够使mac m系列芯片也能读取ntfs格式的sd卡
部署Homebrew和ExifTool
aria2c和spotdl
在 OS X 上,使用Homebrew安装 CopyQ:
在macOS终端APP启动lux、exiftool、ping测试
SpotDL是一款能够免费下载spotify上音乐的终端脚本,OSX(macos)安装方法:
我的github主页:
备忘录
概念:属性、元素、组件、数组、父元素、子元素、样式、类名、渲染树、挂载
css中的return组件内写注释用’//‘是会被渲染的,正确写法是{/**/} //来自Css中文官网教程
使用条件判断语句‘md:’一般情况下得先存在着一个全局的值 //classnames=’md:text-sm’ 的正确书写应该是:classnames=’text-xl md:text-sm’
样式‘hover:underline’代表链接元素会在鼠标悬停时显示下划线
在MacOS上进入系统安全模式
Mac重启时按住锁屏键
在 Mac 上禁用系统完整性保护 (SIP)
进入安全模式之后通过终端输入代码csrutil disable
*如果已开启Root用户,则需要先将其关闭后再进入安全模式
恢复系统完整性保护 (SIP)
进入安全模式之后通过终端输入代码csrutil enable
启动拥有系统的最高权限的root,超级用户权限
root是macos的超级用户,拥有系统的最高权限,首次启用需要先为其设置密码。设置方法:打开【目录实用工具】并解锁然后在编辑菜单中选择启用root权限。使用方法:终端输入代码su root,然后键入刚才设置的密码c you
部署Homebrew和ExifTool、MPV
aria2c和spotdl
在macOS终端APP启动lux、exiftool、ping测试
SpotDL是一款能够免费下载spotify上音乐的终端脚本,OSX(macos)安装方法:
开启隐藏文件可见
M芯片系列MAC开启允许任何来源的应用程序
下载小红书无水印视频
绕过公证
1.打开终端,输入以下命令:
sudo xattr -rd com.apple.quarantine /Applications/xxxxxx.app
其中「xxxxxx.app」是你无法运行的程序的名称,如:「SPlayer.app」,然后按键盘的回车键(Enter),输入密码后按回车键即可完成!
2.复制以下命令粘贴到终端
sudo xattr -rd com.apple.quarantine
打开Finder(访达),点击左侧的 「 应用程序」,将应用拖进终端中,然后按键盘的回车键(Enter),输入密码后按回车键即可完成!
好了,再看一下是不是可以打开APP了!
如果还不行,那就需要对应用进行本地应用签名操作! 继续往下看:
应用签名
1.先安装Command Line Tools 工具,打开终端工具输入如下命令:
xcode-select --install
2.弹出安装窗口后选择继续安装,安装过程需要几分钟,请耐心等待。
3.打开终端工具输入并执行如下命令对应用签名:
sudo codesign --force --deep --sign - (应用路径)
注意:应用路径是「访达(Finder)->应用程序」找到应用将其拖进终端命令 - 的后面,然后按下回车键,输入macOS的密码然后按回车(输入过程中密码是不显示的,输入完密码直接按回车键即可!)
4.出现 「replacing existing signature」 提示即成功!
输入法输入声调拼音
Mac 默认的英文键盘长按元音字母也会弹出包含声调的选单,但是这个选单是给英语音标用的,以元音 a 为例,选择项中只有 â ,没有 ǎ 。
完整的支持四声调的拼音首先需要添加并选择输入源「ABC(扩展)」。输入时先输入声调,然后输入元音字母(先声调再元音),例如:
option + `
,再按 o,可得到 ò。1、2、3、4 声调分别对应的组合按键是:
option + a、e、v、 `
option + a,再按 a,可得到 ā。
option + e,再按 a,可得到 á。
option + v,再按 a,可得到 ǎ。
option + `,再按 a,可得到 à。
给「ü」添加声调略微麻烦一点,先键入「option + u」输入两点 ¨ 再键入 u,就能获得「 ü 」,然后将光标保持在「 ü 」后,按键「shift+option+A、E、V、~」添加声调,分别输出“ǖ、ǘ、ǚ、ǜ”。「shift+option+A、E、V、~」的添加声调的方式其实也可以用在给已经输入的元音添加拼音声调,操作方法也是将光标定位到需要添加的元音字母后,然后按对应的组合键。
感谢 @Roger Shen 的补充:其实 ü 的打法不需要这么麻烦,只需要按照之前的声调按键,即 option+a、e、v、~,然后再接着按 v 就会默认是 u 了。
python从0开始学习记录
常量是基本不可变量,例如123456,常量在书写时不需要添加‘’
变量是可定义量,以数字、下划线_和字母组成,数字不得作为开头
字符
=用于定义变量和赋予
==是等于号,用于比较运算
<=是小于等于,用于比较运算
!=是不等于
<是小于号,用于比较运算
/
x
+
%
\\
Ture
False
print
{}
[] #定向某个字符
()
‘’
: #切片,定义
and
or
not
if(如果;
.pop(删除;
.append(在末尾添加;
.insert(插入;
break(跳出循环
for(循环
while(满足条件终止
continue(跳过单次循环
in(在;例如for in是循环在
elif #
else if
的缩写,用于在之前的条件不满足时检查另一个条件。如果前面的if
语句不为真,那么程序将检查elif
后的条件else #语句用于在所有上述条件都不满足时执行的代码块。它是可选的,只能在条件语句的末尾使用一次
变量不需要双引号,只有常量才需要双引号
lsit是列表,符号为[]
a=[1,2,3]
元组是元组,符号为()
a=(2,3,4)
删除是pop,写作.pop(x)
a.pop(2)
append是在末尾添加,写作.append(字符)
a.append(4232)
insert是插入,写作.insert(字符,字符)
a.insert(1,2)
定向输出是[1]
定向范围输出是[1:3]
取模运算符是%,当两个数相除的时候,未被除尽的部分为余数,被除掉部分是商
布尔数只有两种数据类型,第一种是真(Ture)第二种是假(False)
练习
print(“hello word!”)
a1=“123”
print(a1)
a1=“123”
a1=“321”
print(a1)
a1="213"
a2=a1
print(a2)
a1="123"
print(f"i not {a1}")
print(f"{a1} not me")
print(f"{a1} and then tell me dont saty to you")
print(f’xxxx{xx[x]}’)中,f表示
print("i am made fucker youer dadly,\ndo you know the? \n i dont thing you know")
a=1+2
print(a)
a=10
b=3
print=(a%b)
a=2
b=3
print(a%b)
a=7
b=3
print(a//b)
a=12
b=11
print(a>b)
a1=100
a2=200
print(a1>a2)
逻辑运算and or not
print(1==1 or 2>3)
a1=True
a2=False
a3=a1 or a2
print(a3)
a1=70.1
a2=70.2
if a1 < a2:
print("haha")
das = 12
fasd = 32
das = 43
dasdas = (fasd > das) and (das < fasd)
print(dasdas)
字符画:
a=1
b=2
if(a>b):
print("Tre")
a=1
b=2
if(a<b):
print("Tre")
if(8 == 8 or 1 > 2):
print("yes")
a=1==1
b=2==2
c=a or b
print(c)
a=100
b=100 == 100
if a<101:
print("chaochu")
b=100 != 100
print(b)
a=100
b=100 == 100
if a<100:
print("chaochu")
b=100 != 100
print(b)
a=1
b=2
c=3
d=(a<b)and(c<b)
print("hh")
a=1
b=2
c=3
d=(a<b)and(c>b)
print(d)
men=("haha","enen")
print(men[1])
men=("1","2","3","4","5","6")
print(men[0])
print(men[2])
print(men[5])
a=[2,3,4,5,6]
print(a)
a=[2,3,4,5,6]
a.append (1)
print(a)
print(a[1:5])
a=[2,3,4,5,6]
a.append (1)
a.insert(1,55)
a.pop(2)
print(a)
print(a[1:5])
a={"1":"我的","2":'你的',"3":"他的"}
print(a["1"])
a=[1,2,3,4,5,6]
print(a[0])
print(a[1])
print(a[2])
print(a[3])
print(a[4])
for b in a:
print(b)
fruitlsit=["apple",'grape','cherry']
for fruit in fruitlsit[0:2]:
print(fruit)
studentage={"gary":14,"adam":13,"li":10,"zhang":20}
for key in studentage:
studentage[key]=16
print(studentage)
jdlist=[1,2,3,4,5,6,7]
a=0
for b in jdlist:
a=a+b
print(a)
list=[1,2,3,4,5,6,7]
a=0
for b in list:
a=a+1
print(f'第{a}名是{b}')
jdlist=[3,4,5,6,"-"]
jdlist.pop(4)
for mylist in jdlist:
if mylist > 3:
print(mylist)
helist=['a','f','g','t','y']
mylist=0
while mylist < 5:
print(helist[mylist])
mylist=mylist+1
nubwes=1
while nubwes<=33:
print(nubwes)
nubwes=nubwes+1
num=1
while num < 30:
if num % 2 == 1:
print(num)
num=num+1
mylist=[1,2,4,6,7,9]
for her in mylist:
if her > 7:
print(her)
break
hey=[1,4,2,6,2,5,6,7,22,1,4,6,]
for my in hey:
if my < 3:
continue
print(my)
coding: utf-8 -
import time
name = 12792
delay = int(24 * 60 * 60)
while name > 0:
print(name)
name=name - 1
time.sleep(delay)
print("倒计时结束")
coding: utf-8 -
import time
name = 12792
delay =1000
while name > 0:
print(name)
name = name - 1
time.sleep(delay/1000)
if name < 12788:
break
print("倒计时结束!")