首页
关于我
友链
小程序
舔狗日记
小黑屋
音乐解锁
阿狸和桃子
Search
1
使用ESP8266完成校园网WEB认证
222 阅读
2
数字振镜XY2-100协议
200 阅读
3
windows11系统自带VPN连接不上群辉VPN服务器问题
192 阅读
4
将校园卡复制到小米手环
124 阅读
5
zynq调试网口所遇到的问题记录
98 阅读
技术
生活
登录
Search
标签搜索
qt
mqtt
FreeRTOS
stm32
iar
VPN
光猫破解
esp8266
群晖
VideoStation
exti
c++
eclipse
bootloader
pixhawk
遥控器
失控保护
ARM
NAS
ENPASS
AMENG
累计撰写
79
篇文章
累计收到
18
条评论
首页
栏目
技术
生活
页面
关于我
友链
推荐
舔狗日记
小黑屋
音乐解锁
阿狸和桃子
搜索到
7
篇与
的结果
2021-08-31
Typecho 网站域名更换方法
Typecho 网站域名更换,分成两部分,一部分是网站通用的域名更换的准备工作,另一部分是针对 Typecho 的网站域名更换。通用网站域名更换方法1、域名解析,把新网站域名解析到网站 IP 上2、修改 web 服务器配置文件,如 nginx.conf 、.htaccess、以及配置 SSL 证书等3、修改站点配置和网站内容Typecho 网站域名更换Typecho 网站的域名更换方法和上面的基本一致,在第三点上可能有一些通过数据库操作的便捷方法。对于网站配置和网站内容的修改,一种办法是进入到网站后台,挨个进行修改,只是这种方法太过于麻烦和耗时,另一种简易的办法是通过数据库直接进行修改,非常便捷,有遗漏的手动进行查漏补缺即可。以下 SQL 语句默认表前缀为 typecho_,若你的数据库表前缀不是 typecho_,请自行修改语句。修改 typecho_options 表将网站的设置里的域名替换成新的域名:```php UPDATE `typecho_options` SET `value` = '新域名地址' WHERE `typecho_options`.`name` = 'siteUrl' AND `typecho_options`.`user` =0; ```修改 typecho_contents 表将网站文章里的旧域名替换成新的域名:```php UPDATE `typecho_contents` SET `text` = REPLACE(`text`,'旧域名地址','新域名地址'); ```修改 typecho_users 表将管理员的个人网站进行替换```php UPDATE `typecho_users` SET `url` = REPLACE(`url`,'旧域名地址','新域名地址'); ```修改 typecho_comments 表对评论中的管理员的域名,和评论中的旧域名进行替换```php UPDATE `typecho_comments` SET `url` = REPLACE(`url`,'旧域名地址','新域名地址'); UPDATE `typecho_comments` SET `text` = REPLACE(`text`,'旧域名地址','新域名地址'); ```如果使用的域名邮箱,也建议进行更换```php UPDATE `typecho_comments` SET `mail` = REPLACE(`mail`,'旧域名地址','新域名地址'); ```
2021年08月31日
18 阅读
0 评论
0 点赞
2021-08-29
Git 常用命令
仓库# 在当前目录新建一个Git代码库 $ git init # 新建一个目录,将其初始化为Git代码库 $ git init [project-name] # 下载一个项目和它的整个代码历史 $ git clone [url]配置# 显示当前的Git配置 $ git config --list # 编辑Git配置文件 $ git config -e [--global] # 设置提交代码时的用户信息 $ git config [--global] user.name "[name]" $ git config [--global] user.email "[email address]"增加/删除文件# 添加指定文件到暂存区 $ git add [file1] [file2] ... # 添加指定目录到暂存区,包括子目录 $ git add [dir] # 添加当前目录的所有文件到暂存区 $ git add . # 添加每个变化前,都会要求确认 # 对于同一个文件的多处变化,可以实现分次提交 $ git add -p # 删除工作区文件,并且将这次删除放入暂存区 $ git rm [file1] [file2] ... # 停止追踪指定文件,但该文件会保留在工作区 $ git rm --cached [file] # 改名文件,并且将这个改名放入暂存区 $ git mv [file-original] [file-renamed]代码提交# 提交暂存区到仓库区 $ git commit -m [message] # 提交暂存区的指定文件到仓库区 $ git commit [file1] [file2] ... -m [message] # 提交工作区自上次commit之后的变化,直接到仓库区 $ git commit -a # 提交时显示所有diff信息 $ git commit -v # 使用一次新的commit,替代上一次提交 # 如果代码没有任何新变化,则用来改写上一次commit的提交信息 $ git commit --amend -m [message] # 重做上一次commit,并包括指定文件的新变化 $ git commit --amend [file1] [file2] ...分支# 列出所有本地分支 $ git branch # 列出所有远程分支 $ git branch -r # 列出所有本地分支和远程分支 $ git branch -a # 新建一个分支,但依然停留在当前分支 $ git branch [branch-name] # 新建一个分支,并切换到该分支 $ git checkout -b [branch] # 新建一个分支,指向指定commit $ git branch [branch] [commit] # 新建一个分支,与指定的远程分支建立追踪关系 $ git branch --track [branch] [remote-branch] # 切换到指定分支,并更新工作区 $ git checkout [branch-name] # 切换到上一个分支 $ git checkout - # 建立追踪关系,在现有分支与指定的远程分支之间 $ git branch --set-upstream [branch] [remote-branch] # 合并指定分支到当前分支 $ git merge [branch] # 选择一个commit,合并进当前分支 $ git cherry-pick [commit] # 删除分支 $ git branch -d [branch-name] # 删除远程分支 $ git push origin --delete [branch-name] $ git branch -dr [remote/branch]标签# 列出所有tag $ git tag # 新建一个tag在当前commit $ git tag [tag] # 新建一个tag在指定commit $ git tag [tag] [commit] # 删除本地tag $ git tag -d [tag] # 删除远程tag $ git push origin :refs/tags/[tagName] # 查看tag信息 $ git show [tag] # 提交指定tag $ git push [remote] [tag] # 提交所有tag $ git push [remote] --tags # 新建一个分支,指向某个tag $ git checkout -b [branch] [tag]查看信息# 显示有变更的文件 $ git status # 显示当前分支的版本历史 $ git log # 显示commit历史,以及每次commit发生变更的文件 $ git log --stat # 搜索提交历史,根据关键词 $ git log -S [keyword] # 显示某个commit之后的所有变动,每个commit占据一行 $ git log [tag] HEAD --pretty=format:%s # 显示某个commit之后的所有变动,其"提交说明"必须符合搜索条件 $ git log [tag] HEAD --grep feature # 显示某个文件的版本历史,包括文件改名 $ git log --follow [file] $ git whatchanged [file] # 显示指定文件相关的每一次diff $ git log -p [file] # 显示过去5次提交 $ git log -5 --pretty --oneline # 显示所有提交过的用户,按提交次数排序 $ git shortlog -sn # 显示指定文件是什么人在什么时间修改过 $ git blame [file] # 显示暂存区和工作区的差异 $ git diff # 显示暂存区和上一个commit的差异 $ git diff --cached [file] # 显示工作区与当前分支最新commit之间的差异 $ git diff HEAD # 显示两次提交之间的差异 $ git diff [first-branch]...[second-branch] # 显示今天你写了多少行代码 $ git diff --shortstat "@{0 day ago}" # 显示某次提交的元数据和内容变化 $ git show [commit] # 显示某次提交发生变化的文件 $ git show --name-only [commit] # 显示某次提交时,某个文件的内容 $ git show [commit]:[filename] # 显示当前分支的最近几次提交 $ git reflog远程同步# 下载远程仓库的所有变动 $ git fetch [remote] # 显示所有远程仓库 $ git remote -v # 显示某个远程仓库的信息 $ git remote show [remote] # 增加一个新的远程仓库,并命名 $ git remote add [shortname] [url] # 取回远程仓库的变化,并与本地分支合并 $ git pull [remote] [branch] # 上传本地指定分支到远程仓库 $ git push [remote] [branch] # 强行推送当前分支到远程仓库,即使有冲突 $ git push [remote] --force # 推送所有分支到远程仓库 $ git push [remote] --all撤销# 恢复暂存区的指定文件到工作区 $ git checkout [file] # 恢复某个commit的指定文件到暂存区和工作区 $ git checkout [commit] [file] # 恢复暂存区的所有文件到工作区 $ git checkout . # 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变 $ git reset [file] # 重置暂存区与工作区,与上一次commit保持一致 $ git reset --hard # 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变 $ git reset [commit] # 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致 $ git reset --hard [commit] # 重置当前HEAD为指定commit,但保持暂存区和工作区不变 $ git reset --keep [commit] # 新建一个commit,用来撤销指定commit # 后者的所有变化都将被前者抵消,并且应用到当前分支 $ git revert [commit] 暂时将未提交的变化移除,稍后再移入 $ git stash $ git stash pop其他# 生成一个可供发布的压缩包 $ git archive
2021年08月29日
27 阅读
0 评论
0 点赞
2021-08-29
群晖DSM7.0安装transmission汉化和修改账号密码
首先下载安装包手动安装transmission,下载地址。安装完后默认是9091端口,在内网测试能否打开,能打开后在光猫里或者路由器里开端口转发,这样就可以在外网访问了。域名加端口(已开DDNS),但由于transmission只能http,所以https会打不开,这时可以采用群呼的反向代理解决。控制面板→登录门户→高级→反向代理服务器。开了反向代理后要在光猫或者路由器里打开代理端口,如图上的10001端口,设置好之后就可以打开https://域名:10001访问了。汉化下载汉化包下载地址下载1.6版本通过WinSCP连接DSM,注意得使用ROOT账户,不然看不到文件夹。Transmission的web控制台模板在/volume1/@appstore/transmission/share/transmission,直接把web重命名为web1,把汉化解压出来的web上传到这个位置。然后刷新下Transmission就可以看到汉化的界面了。如果提示要更新就去github上下载作者的1.6.1版本同样方法上传上去就好了。改用户名和密码改密码前得先去套件中心停用Transmission。DSM7.0文件夹位置更换了,不在以前的文件夹。SSH连接群晖(先去群晖上打开SSH连接)putty等软件都可以。同样得用root账户登录。vim /volume1/@appdata/transmission/settings.json将rpc-password后的密码删掉改成你的明文密码就可以保存退出了。去套件中心启动Transmission就可以用新密码登录了。
2021年08月29日
2 阅读
0 评论
0 点赞
2021-08-28
QT中.和::和:和->作用
在学习C++的过程中我们经常会用到.和::和:和->,在此整理一下这些常用符号的区别。1、A.B则A为对象或者结构体2、A->B则A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;3、::是作用域运算符,A::B表示作用域A中的名称B,A可以是名字空间、类、结构;4、:一般用来表示继承;
2021年08月28日
12 阅读
0 评论
0 点赞
2021-08-26
群晖Video Station刮削器使用指南
什么是刮削器或者搜刮器,又有什么作用呢?刮削器(也常被称为”web scrapers”),是一种专门自动从网络获取游戏、音乐、视频、电影、电视节目的数据信息(缩略图/海报/封面/原创或饭制作品)的软件。刮削器这种叫法总是让初学者感觉怪怪的,其实这种叫法是scrapers的英文直译,与“菜单”相类似。Video Station直译为视频工作站,顾名思义就是视频文件汇集整理播放的一个软件,NAS的本意不仅是存储数据,更要让你方便的使用数据。在日常生活中我们下载的电影电视剧文件的命名规则不统一,仅凭文件名称,我们其实也很难直观的辨别电影电视剧名称内容。而Video Station则为我们内置了刮削器,方便我们能迅速对视频文件进行预览。没使用刮削器前使用刮削器后最新版Video Station 2.4.9-1626支持TheTVDB和The Movie Database第三方刮削器原先Video Station自带的刮削器在大陆地区无法访问,原本还有安装豆瓣刮削器的方法也相继失效,在最新版Video Station中,群晖引入两个 TheTVDB 和 The Movie Database 第三方刮削器,但同样在大陆地区无法正常使用。好在 The Movie Database 刮削器通过修改域名解析可以实现正常访问,所以今天我们就来讲一下如何进行设置。不能访问的原因是TMDB使用的服务器IP网段与facebook、Twitter、Dropbox网段有重叠,被大陆屏蔽,只需要找到一台ip地址不在屏蔽范围的服务器就好了。The Movie Database 账号注册与 API 接口获取打开网站(https://www.themoviedb.org/)点击右上方的“加入TMDb”,注册账号并登陆。TMDB网站在大陆绝大多数地区都是可以正常访问,并且支持中文。大陆地区无法使用TDMB刮削器的原因是 api.themoviedb.org (TMDB的api接口服务器)在大陆地区域名解析异常。需要我们手动指定域名解析到的ip地址。在注册账号页面填写相关信息就可以完成注册。账号登陆以后账号后,点击右上方的账户头像,在弹出菜单中点击账户设置。在账户设置页面点击API选项申请API用户类型选择开发者接受开发者协议填写应用信息,这里的信息请使用拼音或者英语填写,每一个选项都需要写每个选项都填写完毕之后点击提交,提交完成之后就可以看到你的API,把那一串字符复制下来。复制下来的API密钥你粘贴到video station的设置选项中,点击测试连接,如果可以测试通过,说明你可以正常使用。点击确定,保存设置你就不需要进行下面的操作了,如果无法点击确定按钮,把“启用OpenSubtitles.org支持”这个勾去掉。如果测试不通过,在这里先点击确定,保存设置,我们还需要手动指定一下api服务器的域名解析。获取到 api.themoviedb.org 可以正常访问的ip地址我们使用到爱站ping检测工具,在检测框中我们输入网址点击检测,ping检测工具会自动调用分部在全球服务器对api.themoviedb.org 进行ping测试,测试同时服务器还会返回服务器所在地域名解析到的ip地址。在搜索结果中我们看到全国大多数地区都是无法访问的,我们在结果中去找那些检测结果不是超时的ip地址,我们把这些地址复制出来,在本地电脑上打开CMD命令行模式,然后输入ping XXX.XXX.XXX.XXX(这里的XXX表示的就是你复制的ip地址) 然后回车,如果返回时间,那么说明这个ip地址在你所在的地区可以是使用。如果显示超时,那么说明这个ip在你当地不能使用,那么你就需要继续去试下一个地址。 修改NAS的hosts文件首先我们需要在群晖控制面板中开始ssh的功能。在群晖的控制面板中你需要先开启高级模式高级模式开启以后点击“终端和SNMP”勾选启动“ssh功能”,点击应用。在电脑上安装finalshell这个软件,安装完成以后打开软件, 新建NAS的连接信息双击我们刚刚添加的连接信息,就会连接到我们的NAS上, 我们在窗口中输入 sudo -i然后回车,就会出现一个要求输入密码的界面。输入你的密码当命令行出现“#”以后输入 vi /etc/hosts输入完命令以后按回车键盘上按一下插入键 insert 就可以进入编辑界面,输入 XXX.XXX.XXX.XXX api.themoviedb.org (XXX.XXX.XXX.XXX 替换成上面所说的ip地址,)按一下esc键退出编辑输入 :wq 就可以退出保存 注意以上输入全部均是英文输入法状态下。编辑完成以后我们重启NAS。验证效果打开Video Station,进入设置–高级选项,我们点击“测试连接”,进行验证一下对于之前已经存到NAS里的视频可能需要你手动编辑一下文件信息,对于之后上传的文件如果刮削器可以找到对应视频文件会自动关联,当然也存在某些视频文件无法匹配的情况发生。 完。
2021年08月26日
4 阅读
0 评论
0 点赞
2021-08-25
随机图片API接口
免费API调用平台https://api.btstu.cn/https://unsplash.it/1600/900?random(据说国内加载略慢,我试了一下还好都差不多)https://uploadbeta.com/api/pictures/random/?key=BingEverydayWallpaperPicture(必应每日图片)https://uploadbeta.com/api/pictures/random(必应图库,一些风景图人物图什么的,都是现代风格)https://source.unsplash.com/random(风格同上,但这个的图尺寸不是大图)下面是几个二次元的https://img.xjh.me/random_img.php (850+) 出处(・ω・)ノhttp://www.dmoe.cc/random.php(1000+)出处(・ω・)ノhttps://acg.yanwz.cn/api.php (400+) 出处(・ω・)ノhttps://img.paulzzh.tech/touhou/random (东方的随机图,43000+)出处(・ω・)ノhttps://acg.toubiec.cn/random.php(1000+) 出处(・ω・)ノ 作者开源了 这篇博客里有介绍和源码 先蟹蟹大佬了[项目]随机二次元图片API-已经开源必应壁纸1366*768分辨率图片地址:https://api.dujin.org/bing/1366.php1920*1080分辨率图片地址:https://api.dujin.org/bing/1920.php手机标准分辨率1080*1920图片地址:https://api.dujin.org/bing/m.php动漫图片https://api.ixiaowai.cn/api/api.phphttp://www.dmoe.cc/random.phphttps://api.ixiaowai.cn/mcapi/mcapi.phphttps://acg.yanwz.cn/wallpaper/api.phphttps://acg.yanwz.cn/api.phphttps://img.paulzzh.tech/touhou/randomhttps://i.xinger.ink:4443/images.phphttps://api.lyiqk.cn/acghttps://api.lyiqk.cn/mikuhttps://random.52ecy.cn/randbg.phphttps://img.catct.cn/mc.phphttps://img.catct.cnhttps://img.catct.cn/pixiv.phphttps://img.xjh.me/random_img.php?return=302风景类图片https://api.ixiaowai.cn/gqapi/gqapi.phphttps://api.lyiqk.cn/sceneryhttps://acg.yanwz.cn/scenery/api.php现代化图片https://source.unsplash.com/randomhttps://unsplash.it/1600/900?randomhttps://api.comzg.com/https://source.unsplash.com/user/erondu/1600x900https://source.unsplash.com/user/tkirkgoz/1600x900https://unsplash.it/1600/900?random美女写真https://api.lyiqk.cn/sexyladyhttps://api.lyiqk.cn/pureladyhttps://uploadbeta.com/api/pictures/random/?key=推女郎https://uploadbeta.com/api/pictures/random/?key=二次元https://uploadbeta.com/api/pictures/random/?key=动漫https://api.ixxcc.com/cosplay.php?return=imghttps://cdn.seovx.com/?mom=302
2021年08月25日
18 阅读
0 评论
0 点赞
2021-08-20
ESP8266 Serial.available()与Serial.read问题
ESP8266作为TCP服务端,电脑作为TCP客户端,单片机串口与ESP8266串口相连,目的是实现单片机与电脑客户端之间数据互传。 ```c uint8_t readBuf[256]; char readBuf_1[256]; int inComingBytes_1; while (client.connected()) //如果客户端处于连接状态 { //接收客户端数据转发给串口 int inComingBytes = client.available(); if(inComingBytes > 0){ client.read(readBuf, inComingBytes); Serial.write(readBuf, inComingBytes); } //接收串口数据转发给客户端 inComingBytes_1 = Serial.available(); delay(5);//解决方法 if(inComingBytes_1 > 0){ Serial.read(readBuf_1, inComingBytes_1); client.write(readBuf_1, inComingBytes_1); } } ```在利用ESP8266将串口数据与TCP数据互传时遇到问题,串口接收的数据不能一次发给TCP客户端,而是分为两次发送。如发送:49 60 00 35 00 00 15 7b 时。客户端收到的数据为49 60 00 35 00 00 15 7b 可以看到数据被分为两次发送了。后来经过了解后发现Serial.available()读取接收的数据字节数时并不是一次性读取的,而是逐渐累加的,每次累加一个字节,直至读完。 而当我们使用Serial.read读取时,每读取一个字节时,Serial.available()的累加值就会减一,这样就造成我们在利用以上代码时,当有数据接收时,Serial.available()为1时便立马进行读取,然后发送给客户端,这样就有了第一次发送一个字节的数据,而当第二次发送时,由于第一次发送数据时有一段时间的阻塞延时,所以Serial.available()被全部累加起来了,所以第二次就能把数据全部发送出去。 解决办法就是在接收到第一个字节时不立马发送,而是添加一段时间的延时,使Serial.available()累加完再一次发送。
2021年08月20日
26 阅读
0 评论
0 点赞