Mac OS开发者常用笔记

macOS Recovery mode

如何进入回复模式?

Intel 芯片架构 重启,在Mac启动或听到启动铃声后立即按住Command + R键

MI/M2芯片架构 关机,按住触控 ID(电源按钮)几秒钟,直到看到“加载启动选项”

Disable System Integrity Protection Temporarily

禁用系统完整性保护,用来解决开发时候操作系统文件提示operation not permitted问题

1.按上文操作进入macOS Recovery mode

2.进入系统后,下拉顶部栏工具,打开终端,输入csrutil disable (禁用),按照提示输入用户名和密码,重启系统。

3.为了安全,敏感操作之后,建议csrutil enable (启用) 保护模式。否则可能导致app store上的某些ios应用(非dmg)无法使用

ubuntu音乐播放器

QQ音乐

下载页面:https://y.qq.com/download/download.html

shell安装脚本 https://github.com/yangliuan/ubuntu-start/blob/main/include/linuxqq.sh

网易云音乐

下载页面 https://music.163.com/#/download (页面上没有了ubuntu的下载项)

下载地址 https://d1.music.126.net/dmusic/netease-cloud-music_1.2.1_amd64_ubuntu_20190428.deb

shell安装脚本https://github.com/yangliuan/ubuntu-start/blob/main/include/neteasy_cloud_music.sh

Lollypop

有漂亮的界面和直观的用户体验。支持音频标签编辑、歌词显示和艺术家图片显示等功能

安装(可以从商店安装)

sudo apt-get install lollypop

Rhythmbox

ubuntu默认音乐播放器

https://wiki.gnome.org/Apps/Rhythmbox

安装 (可以从商店安装)

sudo apt install rhythmbox

如何修改mp3文件的元数据,如专辑名称,歌手名称

使用命令行工具 “id3v2″(需要安装):

a. 打开终端。
b. 安装 id3v2 工具:sudo apt-get install id3v2
c. 进入包含要编辑的 MP3 文件的目录:cd /path/to/mp3/files
d. 使用以下命令来修改元数据:

修改专辑名称:id3v2 –album “新专辑名称” 文件名.mp3
修改歌手名称:id3v2 –artist “新歌手名称” 文件名.mp3
e. 替换 “新专辑名称” 和 “新歌手名称” 为你想要的实际名称,将 “文件名.mp3” 替换为要编辑的 MP3 文件的实际文件名。

使用图形界面工具 “EasyTAG”(需要安装):

a. 打开终端。
b. 安装 EasyTAG 工具:sudo apt-get install easytag
c. 运行 EasyTAG:easytag
d. 在 EasyTAG 窗口中,打开要编辑的 MP3 文件。
e. 找到并编辑专辑名称和歌手名称字段。
f. 保存修改后的文件。

Kid3: Kid3 是一个跨平台的开源音乐标签编辑器,支持多种音频文件格式(包括 MP3、FLAC、AAC、WMA 等)。官方网站(https://kid3.kde.org/)

AI工具笔记

chatgpt

https://chat.openai.com/

https://platform.openai.com/account/api-keys

chatgpt mirror

https://chatgptmirror.com/

通义千问

https://tongyi.aliyun.com/

文心一言

https://yiyan.baidu.com/welcome

Bard

https://bard.google.com/?hl=en

虚拟账号短信注册

https://sms-activate.org/

购买ChatgptPlus

https://5best1s.com/%E5%BC%80%E9%80%9A%E8%AE%A2%E9%98%85%E8%B4%AD%E4%B9%B0chatgpt-plus/

基于chatgpt的编辑器

https://www.cursor.so/

https://github.com/Helixform/CodeCursor vscode插件

浏览器插件

https://github.com/josStorer/chatGPTBox

解决GPT报错,反复刷新页面,油猴脚本

https://gitee.com/ZnMaYun/happy-free-chat-gpt/

客户端

mac github.com/vincelwt/chatgpt-mac

app.pandagpt.io
另外一个利用AI来解读pdf文件的网站。和之前介绍的chatgpt不同的是可以对照pdf原文阅。不过实测速度较慢,而且点查找按钮会停止响应

https://github.com/chidiwilliams/buzz

可以在本地计算机上离线将音频转成文本,或者对视频生成字幕,基于OpenAI的Whisper模型。

主要功能包括:
* 从麦克风实时转录和翻译成文本
* 从音频和视频文件生成 TXT、SRT 和 VTT
* 支持 Whisper 、 Whisper.cpp 、与 Whisper 兼容的 Hugging Face 模型和 OpenAI Whisper API
* 适用于 Mac、Windows 和 Linux

怎么把一个超长内容喂给 ChatGPT,以 PDF 为例,以下都是纯 JS 开源工具推荐:

1. github.com/mozilla/pdf.js 能够比较好地解析 pdf 文件,但是解析出来可能是图片?看 2

2. github.com/naptha/tesseract.js 能够识别包括汉语等 100 种语言,拿到所有的文本,但内容分批可能出现错误截断?看 3

3. github.com/yanyiwu/nodejieba 结巴分词,避免将长内容分段的时候,错误截断短语或单词,完成了内容的分批之后看 4

4. github.com/openai/openai-node OpenAI 的 API 工具包,利用它将内容分批喂投给 ChatGPT

在将问题提交给 ChatGPT 之前,可以使用 embeddings 将问题与文档中的各个片段进行比较。基于余弦相似度或其他相似度度量,选择与问题最相关的片段进行处理。这样可以减少无关文本的干扰,提高 ChatGPT 回答问题的准确性。

:可以试试 chatdoc.com ,可以溯源,可以在PDF里选表格和文本针对性的提问

有人借助GPT-4,在没有JavaScript和3D游戏编程经验的情况下,一点点做除了一个 3D 太空赛跑游戏。最终效果看视频

twitter.com/ammaar/status/1637592014446551040

推荐视频:如何使用AI画图工具Midjourney生成Logo,很详细,尤其是如何借助prompt来生成想要的Logo

🔗 www.youtube.com/watch?v=HXh7b_ZND_M

https://www.ebaqdesign.com/blog/midjourney-logo-design?continueFlag=a9adaf9fc01778e2eb9d31292c8b63c9

https://gpt.level06.com/?continueFlag=a9adaf9fc01778e2eb9d31292c8b63c9

分享一个用GPT4查文献的方法。
之前大家都吐槽Chatgpt会给生成假文献,我也遇到过这个问题,就不用他查了。但是今天邻座韩国同学跟我说他最近一直用gpt查文献,他避免上述问题的方式就是加一个简单的限制:can be found on google scholar, with more than xxx citations
试了一下,挺管用的 ​​​

推荐 GitHub 上一个开源项目:Shell GPT。

该工具直接在命令行中集成了 ChatGPT,通过它,可以帮助你快速编写 shell 命令、代码片段编写、Git 提交信息、文档、注释等内容。

用法主要有以下几种:

– 获取某个任务的执行指令;
– 直接转换时间、距离、重量、温度等单位;
– 在命令行终端搜索 shell 用法;
– 自动生成代码并存储;
– 在命令行跟 ChatGPT 对话,并迭代优化。

GitHub:github.com/TheR1D/shell_gpt

与其它 ChatGPT 应用一样,Shell GPT 在使用前,你需要先自行配置好 OpenAI API Key

人工智能提示课

https://learnprompting.org/zh-Hans/docs/intro

ChatGPT 中文调教指南

https://github.com/PlexPt/awesome-chatgpt-prompts-zh

机器幻觉

什么是机器幻觉?

ChatGPT:机器幻觉是指由计算机程序或机器学习算法产生的虚假感知或错误结果。这些幻觉可能是由于算法中的缺陷、数据偏差或错误,或者是由于算法未能正确理解复杂的语境或情境。机器幻觉可能会导致错误的决策或预测,因此需要对算法进行不断的优化和调整以减少这种幻觉的出现。机器幻觉的研究也是人工智能领域中一个重要的课题,研究人员通过深入分析机器幻觉的原因和特征,努力提高机器学习算法的鲁棒性和智能性。

有什么方法可以帮我确认,你给我的答案不是机器幻觉?

ChatGPT:作为一名 AI 语言模型,我的回答是由预先训练好的算法生成的。虽然我的回答是基于已有的知识和经验,但是也无法保证完全没有机器幻觉的情况。为了确认我的回答,你可以采取以下方法:

  1. 对我的回答进行反复的阅读,确保它符合常识和逻辑。如果我的回答包含一些不合理的内容或矛盾之处,可能是机器幻觉的结果。
  2. 搜寻其他来源的信息,以便进行比较和验证。如果我的回答与其他来源的信息不一致,可能需要进一步研究和验证。
  3. 向其他人寻求建议或意见。如果你认为我的回答可能存在机器幻觉,可以寻求其他人的意见和建议,以便进行确认和验证。

请注意,我的回答是基于我所知道的信息和技能,可能存在不完善或错误的情况。因此,你需要对我的回答进行适当的评估和判断。

https://www.bilibili.com/video/BV16c41157iK/?spm_id_from=333.999.0.0&vd_source=161c4503364159edc690958e99016a1d

编译安装PHP

本文以centos stream 9和php8.1为例,描述编译思路

Unix 系统下的安装 核心配置选项列表

安装编译需要的工具和依赖

如何确定需要的依赖,看一下你要用的php扩展,需要那些系统组件和组件对应的系统库

可以查看扩展库归类 ,找到安装/配置说明可以查看详细说明,举例说明 GD库 配置参数详细说明

使用dnf或yum install xxx安装

#编译器相关工具
deltarpm gcc gcc-c++ make cmake autoconf bison re2c 
#基础库
glibc glibc-devel glib2 glib2-devel
#网络和数据库相关
curl curl-devel libcurl libcurl-devel sqlite-devel sqlite-devel libsqlite3x-devel
#文本字符数据格式
oniguruma oniguruma-devel libxml2 libxml2-devel libxslt libxslt-devel libtidy-devel libtidy libicu-devel 
#图片格式 字体
gd-devel
freetype freetype-devel libjpeg libjpeg-devel libjpeg-turbo libjpeg-turbo-devel libpng libpng-devel libtiff-dev libgif-dev libwebp-devel
#文件解压缩
 zlib zlib-devel libzip-devel  bzip2 bzip2-devel
#数学和加密
openssl openssl-devel libmcrypt libmcrypt-devel mhash mhash-devel mcrypt libargon2 libsodium

手动编译安装

有些库没有系统二进制包,不能直接使用命令安装需要下载来,或者版本太低达不到php的要求,需要手动编译安装

libiconv libargon2 libsodium

依赖说明

deltarpm 一种rpm包,优化了体积

bison 是一种通用目的的分析器生成器

re2c 一个将正则表达式转化成基于C语言标识的预处理器

oniguruma 正则表达式库,使用–enable-mbstring需要安装

freetype 可移植的字体引擎,它提供统一的接口来访问多种字体格式文件 –with-freetype

libicu  Unicode 支持、软件国际化编码 –enable-intl 开启intl扩展

libxml2 xml操作库 –enable-xml 开启

libxslt 是一种样式转换标记语言,可以将XML资料档转换为另外的XML或其它格式 –with-xsl

libtidy 处理html的一种扩展 –with-tidy 很少用

libiconv 字符编码转换库 启用–with-iconv

查看编译选项

./configure --help

创建用户和组

id -g www >/dev/null 2>&1
[ $? -ne 0 ] && groupadd www
id -u www >/dev/null 2>&1
[ $? -ne 0 ] && useradd -g www -M -s /sbin/nologin www

常用的编译参数选项,来自oneinstack脚本,php8.1.sh安装源码

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc \
    --with-config-file-scan-dir=/usr/local/php/etc/php.d \
    --with-fpm-user=www --with-fpm-group=www --enable-fpm --disable-fileinfo \
    --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd \
    --with-iconv --with-freetype --with-jpeg --with-zlib \
    --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-exif \
    --enable-sysvsem --with-curl --enable-mbregex \
    --enable-mbstring --with-password-argon2 --with-sodium=/usr/local --enable-gd --with-openssl \
    --with-mhash --enable-pcntl --enable-sockets --enable-ftp --enable-intl --with-xsl \
    --with-gettext --with-zip=/usr/local --enable-soap --disable-debug
#防止libiconv导致的报错
make ZEND_EXTRA_LIBS="-L/usr/local/libiconv/lib/ -liconv"
make install

如上启用了fpm,mysqli,mysqland,iconv,gd,xml,bcmath,shmop,exif,sysvsem,curl,mbstring,Password hashing,mhash,openssl,pcntl,sockets,ftp,intl,xsl,gettext,zip,soap

根据项目实际需求来启用需要的参数,比如,项目用cli框架swoole或者workman之类的可以不启用fpm

nginx系服务器笔记

nginx

官方文档

tengine

官方文档

nginx 一个fork,针对高性能负载网站做了优化,但是更新维护比较慢,跟不上nginx版本

openrestry

官方文档 官方博客 组件

是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。可以操作数据库。

OpenResty 用在 API 网关的开发上。如Orange、Kong、APISIX,他们都是实时、高性能的 API 网关,提供负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能。

 LuaJIT VM 嵌入到 Nginx 中,实现了 OpenResty 这个高性能服务端解决方案

区别

Nginx|OpenResty|Tengine–到底该爱谁

实用总结

如果不用lua模块,首先nginx官方版本.

nginx泛域名案例

nginx优化大文件下载

nginx安全指南

nginx常用功能配置

nginx反向代理负载均衡

ubuntu内核相关配置

Ubuntu 18.04 LTS以上版本 修改Limit(打开文件数)

文件 /etc/security/limits.conf
* soft nofile 1024000
* hard nofile 1024000
* soft nproc 1024000
* hard nproc 1024000
root soft nofile 1024000
root hard nofile 1024000
root soft nproc 1024000
root hard nproc 1024000

文件 /etc/systemd/user.conf
DefaultLimitNOFILE=1024000

文件 /etc/systemd/system.conf
DefaultLimitNOFILE=1024000

LBS相关应用总结

根据ip获取位置机构信息

geoip

https://github.com/Loyalsoldier/geoip

本项目每周四自动生成 GeoIP 文件,同时提供命令行界面(CLI)供用户自行定制 GeoIP 文件,包括但不限于 V2Ray dat 格式路由规则文件 geoip.dat 和 MaxMind mmdb 格式文件 Country.mmdb

https://github.com/Hackl0us/GeoIP2-CN

小巧精悍、准确、实用 GeoIP2 数据库

https://github.com/maxmind/GeoIP2-php

geoip2 php sdk

https://github.com/Torann/laravel-geoip/tree/master/src

geoip laravel 扩展包

geoip2数据库官方下载地址

相关文章

深入浅出 Symfony2 – 结合 MongoDB 开发 LBS 应用

电子围栏

DIY台式机

计划配置一台和笔记本相同(相近)型号配置的台式机

目前笔记本型号:Vivobook_ASUSLaptop M7600QE

MB (main board):ASUSTeK COMPUTER

制造商: ASUSTeK COMPUTER INC.
产品名称: Vivobook_ASUSLaptop M7600QE_M7600QE
版本: 1.0
序列号: N1N0CX03A800017
UUID: 9299a24f-4296-0d43-9578-44845ede2179
唤醒类型: 电源开关
SKU编号:
系列: Vivobook

句柄 0x0002, DMI类型 2, 15字节
主板信息
制造商: ASUSTeK COMPUTER INC.
产品名称: M7600QE
版本: 1.0
序列号: N101NBCX000766MB
资产标签: ATN12345678901234567

CPU:AMD® Ryzen 9 5900hx with radeon graphics × 16

架构:x86_64
CPU运行模式:32位,64位
地址大小:48位物理地址,48位虚拟地址
字节顺序:小端模式
CPU数量:16
在线CPU列表:0-15
厂商ID:AuthenticAMD
型号名称:AMD Ryzen 9 5900HX with Radeon Graphics
CPU系列:25
型号:80
每核心线程数:2
每个物理核心的核心数:8
插槽数量:1
步进:0
频率增强:已启用
CPU最大频率:4679.2959 MHz
CPU最小频率:1200.0000 MHz
BogoMIPS:6587.45
标志位:fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd cppc arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip pku ospke vaes vpclmulqdq rdpid overflow_recov succor smca fsrm
虚拟化功能:AMD-V
缓存:
L1d缓存:256 KiB(8个实例)
L1i缓存:256 KiB(8个实例)
L2缓存:4 MiB(8个实例)
L3缓存:16 MiB(1个实例)
NUMA(非一致性存储访问):
NUMA节点数:1
NUMA节点0的CPU:0-15
安全漏洞:
Itlb多重命中:不受影响
L1tf漏洞:不受影响
Mds漏洞:不受影响
Meltdown漏洞:不受影响
Mmio陈旧数据:不受影响
Retbleed漏洞:不受影响
Spec store bypass漏洞:通过prctl禁用了推测存储旁路
Spectre v1漏洞:通过用户空间拷贝/swapgs屏障和__user指针的清理来缓解
Spectre v2漏洞:通过Retpolines、IBPB条件、IBRS_FW、STIBP始终开启、RSB填充、PBRSB-eIBRS不受影响
Srbds漏洞:不受影响
Tsx async abort漏洞:不受影响

Disk:三星

Disk model: HFM512GD3JX013N                         
Disk model: SSD 970 EVO 500G

Mem: 美光科技 DDR4 8GB x 2

Set: 无
定位器: DIMM 0
插槽位置: P0 通道 A
类型: DDR4
类型详情: 同步非缓冲 (未注册)
速度: 3200 MT/s
制造商: Micron Technology
序列号: 00000000
资产标签: 未指定
零件编号: 4ATF1G64HZ-3G2E1
等级: 1
配置的内存速度: 3200 MT/s
最低电压: 1.2 V
最高电压: 1.2 V
配置的电压: 1.2 V
内存技术: DRAM
内存操作模式能力: 揮發性存储器
固件版本: 未知
模块制造商ID: 插槽 1,十六进制 0x2C
模块产品ID: 未知
内存子系统控制器制造商ID: 未知
内存子系统控制器产品ID: 未知
非易失性大小: 无
易失性大小: 8 GB

GPU: NVIDIA GeForce RTX 3050 Ti Mobile & Advanced Micro Devices, Inc.

*-独立显卡
描述: 3D 控制器
产品: GA107M [GeForce RTX 3050 Ti Mobile]
制造商: NVIDIA Corporation
物理标识: 0
总线信息: pci@0000:01:00.0
逻辑名称: /dev/fb0
版本: a1
宽度: 64 位
频率: 33MHz
功能: 电源管理、MSI、PCI Express、总线主控、ROM、帧缓冲
配置信息: 深度=32 驱动程序=nvidia 延迟=0 分辨率=2560x1600 可视颜色=truecolor 水平分辨率=2560 垂直分辨率=1600
资源: iomemory:fe0-fdf iomemory:ff0-fef IRQ:91 内存:fb000000-fbffffff 内存:fe00000000-feffffffff 内存:ff00000000-ff01ffffff I/O端口:e000(大小=128) 内存:fc000000-fc07ffff
*-CPU核显
描述: VGA 兼容控制器
产品: Cezanne
制造商: Advanced Micro Devices, Inc. [AMD/ATI]
物理标识: 0
总线信息: pci@0000:04:00.0
逻辑名称: /dev/fb0
版本: c4
宽度: 64 位
频率: 33MHz
功能: 电源管理、PCI Express、MSI-X、VGA 控制器、总线主控、帧缓冲
配置信息: 深度=32 驱动程序=amdgpu 延迟=0 分辨率=3840,2160
资源: iomemory:ff0-fef IRQ:50 内存:ff10000000-ff1fffffff 内存:ff20000000-ff201fffff I/O端口:d000(大小=256) 内存:fc500000-fc57ffff

台式装机注意事项

CPU选择

AMD R7 5800x3d

接口:AMD AM4|不支持核显|105W

京东 2099

主板选择

(ASUS)TUF GAMING B550M-PLUS WIFI II 重炮手

CPU接口 AMD AM4|DDR4 3800,4000 x4|wifi6 最大网络速度2500M|SATA x4|M.2(NVMe)x2|支持PCIE4.0 & 1个PCI Express x1 & 2个 PCI Express x16|电源接口24+8|版型M-ATX 24.4cm x 24.4cm

京东 829

显卡选择

微星(MSI)魔龙Z GeForce RTX 3060 GAMING Z TRIO 12G 超频版 

显存容量:12GB |电源接口8pin x 2 |三风扇| 尺寸 长324mm;宽140mm;高57mm|HDMI,DP|建议电源 550W以上|Cuda 3584 1777MHz

京东 2299

七彩虹(Colorful) iGame GeForce RTX 3060 Advanced OC 12G L 1867MHz GDDR6

显存容量:12GB |电源接口8pin x 2 |三风扇| 尺寸 315.5 131 52 |HDMI,DP|建议电源 550W以上|Cuda 3584 1777MHz

京东 2399

微星(MSI)魔龙 GeForce RTX 4060 Ti GAMING X TRIO 8G 

显存GB| Cuda 4352 2670MHz|电源8pin x 1

三风扇,尺寸338 141 52|双风扇,尺寸247 130 42

京东 3598 3298

内存选择

美商海盗船(USCORSAIR)32GB(16G×2)套装 DDR4 3600 台式机内存条

京东 539

硬盘选择

三星(SAMSUNG)1TB SSD固态硬盘 M.2接口(NVMe协议PCIe 4.0 x4) 980 PRO (MZ-V8P1T0BW)

京东 549

散热器

水冷

利民(Thermalright)Frozen Magic 360冰封幻境一体式水冷散热器C12风扇多平台ARGB冷头 支持LGA1700|散热器尺寸397x120x27 |电源接口4pin|散热器高度52mm

京东 469

电源

硬件配置:首先要考虑你计划使用的硬件配置,包括主板、处理器、显卡、内存、存储设备等。不同的硬件配置对电源功率的需求有所不同。查阅各硬件组件的功耗规格,以了解它们的功率需求。主板(MB)功率+CPU功率+GPU功率+内存(Mem)功率+硬盘(Disk)功率+散热器功率

余量:为了确保电源的稳定性和可靠性,建议选择功率略高于实际需求的电源。保持一定的功率余量可以应对未来可能的升级或添加其他设备的情况。

80 PLUS认证:考虑选择具有80 PLUS认证的电源。80 PLUS认证是一项标准,用于衡量电源的能效水平。认证级别包括80 PLUS、80 PLUS Bronze、80 PLUS Silver、80 PLUS Gold、80 PLUS Platinum和80 PLUS Titanium,其中Titanium级别是效率最高的

品牌和质量:选择知名品牌的电源,这样更有保障质量和可靠性

先马(SAMA)ONCALL 750W 台式电脑主机箱电源 全模组/80PLUS金牌/台系电容/宽幅/节能温控/额定功率750W

支持3060 4060ti|长140mm;宽150mm;高86mm

京东 599

先马(SAMA)白金1200W 台式电脑机箱电源 80PLUS白金认证/全电压/固态电容/12cm风扇/全模组线材/额定1200W

支持4090,RX 6950 XT,更高功率显卡|长187.8mm;宽145.7mm;高86mm

京东 1099

机箱

主板型号要和机箱匹配,ATX,MATX, ITX三种,机箱尺寸

CPU散热器风扇高度

是否支持水冷位,128/240/280/360,水冷风扇厚度限制(冷排体积),水冷头高度(冷头体积)

电源体积限制,有电源仓的机箱,要注意,一般选择标准ATX电源 140 ,150,86

显卡体积限制,一般限制长度

硬盘位数量

理想价位300~700

品牌 乔思伯, 先马

主板+CPU 3000, 先开2000左右,内存+固态 1000左右 电源+机箱 1500左右 ,散热器500左右

Web音视频开发

Web音视频入门系列——音视频基础知识

Web 视频播放的那些事儿

音视频播放过程中的问题解决(播放质量优化)

Media container formats

HDR和SDR的区别

关于H.264的码率,720P、1080P输出比特率设置

mp4视频转换格式,使用H.264编码,比特率512-1024可以比较好的在大小和画面质量上取得平衡。其他编码或使用自动比特率,将导致mp4视频在页面中只有声音,没有画面。

文件的扩展名

MIME类型

容器格式

编码方式

视频基础概念

分辨率

1280×720 (720p) 1920×1080 (1080p) 2560×1440(2k) 3840×2160 (4k)

帧率

25fps,30fps,60fps

比特率(码率)

比特率是单位时间播放连续的媒体如压缩后的音频或视频的比特数量。

在这个意义上讲,它相当于术语数字带宽消耗量,或吞吐量。比特率规定使用“比特每秒”(bit/s或bps)为单位,经常和国际单位制词头关联在一起,如“千”(kbit/s或kbps),“兆”(百万)(Mbit/s或Mbps),“吉”(Gbit/s或Gbps)和“太”(Tbit/s或Tbps)
虽然经常作为“速度”的参考,比特率并不测量“‘距离’/时间”,而是被传输或者被处理的“‘二进制码数量’/时间”,所以应该把它和传播速度区分开来,传播速度依赖于传输的介质并且有通常的物理意义

视频格式&编码格式

MP4、AVI、WebM、MOV、WMV、RMVB、FLV

AVCH.264,H.265 VP8,VP9

音频基础概念

采样率

比特率(码率)

音频编码&&音频格式

MP3 AAC WAV FLAC

PHP XML操作FAQ

加载h5标签报错

Tag xxx invalid in Entity

$html_dom = new DOMDocument();
//关闭h5标签可能的报错
libxml_use_internal_errors(true);
$html_dom->loadHTML($html5);

DOMDocument 保存 xml时中文出现乱码

$html_dom = new DOMDocument();
$html_dom->loadHTML('<?xml encoding="UTF-8">'.$html);

PHP的DOM内部是utf8机制的,在loadHTML时,是通过检查字符中meta的charset来设置编码的,如果没有charset,就当iso8859进行处理了,而这种情况下进行saveXML时,输出来的却是utf8,所以就看到乱码了.

对不包含<meta>标签和<body>标签的富文本字符串处理特别有用