<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[JackDual的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/JackDual</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; JackDual]]></copyright><item><title><![CDATA[金山pdf独立版右键菜单]]></title><link>https://blog.youkuaiyun.com/JackDual/article/details/127161865</link><guid>https://blog.youkuaiyun.com/JackDual/article/details/127161865</guid><author>JackDual</author><pubDate>Tue, 04 Oct 2022 14:22:08 +0800</pubDate><description><![CDATA[关闭金山pdf独立版的右键菜单]]></description><category></category></item><item><title><![CDATA[systemctl查看log]]></title><link>https://blog.youkuaiyun.com/JackDual/article/details/120844288</link><guid>https://blog.youkuaiyun.com/JackDual/article/details/120844288</guid><author>JackDual</author><pubDate>Tue, 19 Oct 2021 13:23:34 +0800</pubDate><description><![CDATA[参考：https://unix.stackexchange.com/questions/225401/how-to-see-full-log-from-systemctl-status-service
最新的部分log
systemctl status your-service

查看全部log
journalctl -u service-name.service


]]></description><category></category></item><item><title><![CDATA[Python开HTTP服务器]]></title><link>https://blog.youkuaiyun.com/JackDual/article/details/120659605</link><guid>https://blog.youkuaiyun.com/JackDual/article/details/120659605</guid><author>JackDual</author><pubDate>Fri, 08 Oct 2021 20:51:35 +0800</pubDate><description><![CDATA[转载自：
https://blog.youkuaiyun.com/cxrsdn/article/details/106622248
方便个人查询
python 生成静态文件http服务器
python2:
#ipv4
python -m SimpleHTTPServer 8080
python -m SimpleHTTPServer 8080 --bind 127.0.0.1
python -m SimpleHTTPServer 8080 --bind 0.0.0.0
 
#ipv6
python -c "import]]></description><category></category></item><item><title><![CDATA[ssh免密登录]]></title><link>https://blog.youkuaiyun.com/JackDual/article/details/119563183</link><guid>https://blog.youkuaiyun.com/JackDual/article/details/119563183</guid><author>JackDual</author><pubDate>Tue, 10 Aug 2021 10:37:12 +0800</pubDate><description><![CDATA[本地电脑ssh config文件设置
windows下文件位于C:\Users\Username\.ssh\config
Host aliyun
  HostName 47.93.x.x
  User root
  Port 6636
  IdentityFile C:\Users\Bob\.ssh\id_rsa

服务器设置
密钥生成
cd ~ #进入用户home目录
ssh-keygen -t rsa # 生成公钥id_rsa.pub 和私钥 id_rsa
cd .ssh #~/.ssh是个隐藏文件夹
]]></description><category></category></item><item><title><![CDATA[用chrono库写个方便使用的计时器]]></title><link>https://blog.youkuaiyun.com/JackDual/article/details/118033877</link><guid>https://blog.youkuaiyun.com/JackDual/article/details/118033877</guid><author>JackDual</author><pubDate>Fri, 18 Jun 2021 21:18:45 +0800</pubDate><description><![CDATA[chrono库功能挺强大的，但是太长了不方便记忆使用，写个简单的计时工具库。
libjc
#pragma once
#ifndef LIBJC_H
#define LIBJC_H
#include &lt;chrono&gt;

namespace libjc
{
    class jctime_duration;
    class jctime_high_resolution_clock
    {
    private:
        std::chrono::high_resolution_c]]></description><category></category></item><item><title><![CDATA[msvc命令行编译静态库和动态库]]></title><link>https://blog.youkuaiyun.com/JackDual/article/details/117259389</link><guid>https://blog.youkuaiyun.com/JackDual/article/details/117259389</guid><author>JackDual</author><pubDate>Tue, 25 May 2021 17:43:54 +0800</pubDate><description><![CDATA[编写一个静态库
编写要打包为静态库的函数，内容如下：
// jclib.cpp
int func(int a, int b)
{
    return a + b;
}

在msvc开发人员命令提示符中执行
cl /c jclib.cpp

生成jclib.obj，这是编译产生的中间文件。然后使用lib工具将其打包为静态链接库*.lib文件。
lib jclib.obj

产生jclib.lib。
写个头文件声明函数，供其他模块调用。
// jclib.h
int func(int,int);

接下来写个]]></description><category></category></item><item><title><![CDATA[OpenCV step[0] step[1] elemsize elemsize1]]></title><link>https://blog.youkuaiyun.com/JackDual/article/details/117234732</link><guid>https://blog.youkuaiyun.com/JackDual/article/details/117234732</guid><author>JackDual</author><pubDate>Mon, 24 May 2021 23:24:02 +0800</pubDate><description><![CDATA[假设有个Mat a(4,3,CV_8UC3)，也就是有4行，3列，3通道，数据类型是8位无符号数。在保存的时候就是用3维数组表示，即[[b,g,r,],[b,g,r],...,[b,g,r]]，bgr代表一个8位无符号的数值。形象点写就是
[[[b,g,r],[b,g,r],[b,g,r]],
 [[b,g,r],[b,g,r],[b,g,r]],
 [[b,g,r],[b,g,r],[b,g,r]],
 [[b,g,r],[b,g,r],[b,g,r]]]

elemSize()
一个位置所有通道的元素的]]></description><category></category></item><item><title><![CDATA[GacLib入门教程 - 使用msvc命令行编译]]></title><link>https://blog.youkuaiyun.com/JackDual/article/details/116940338</link><guid>https://blog.youkuaiyun.com/JackDual/article/details/116940338</guid><author>JackDual</author><pubDate>Mon, 17 May 2021 17:42:07 +0800</pubDate><description><![CDATA[gaylib是一个c++的GUI库，由vczh编写。由于我只安装了vs build tools，没有装ide，又不想安装vs ide，只好用命令行编译。本文介绍使用msvc编译工具编译demo。

官网在http://gaclib.net
编写代码
按照如下链接编写一个demo
http://gaclib.net/doc/current/gacui/running.html
编译
打开“visual studio 开发者命令提示符 x64”，不同版本名字可能不一样，但是都差不多。

切换到代码所在的根文件.]]></description><category></category></item><item><title><![CDATA[2021-04-02]]></title><link>https://blog.youkuaiyun.com/JackDual/article/details/115403780</link><guid>https://blog.youkuaiyun.com/JackDual/article/details/115403780</guid><author>JackDual</author><pubDate>Fri, 02 Apr 2021 17:10:59 +0800</pubDate><description><![CDATA[kkk

]]></description><category></category></item><item><title><![CDATA[【转载】BFS和DFS算法原理（通俗易懂版）]]></title><link>https://blog.youkuaiyun.com/JackDual/article/details/115402776</link><guid>https://blog.youkuaiyun.com/JackDual/article/details/115402776</guid><author>JackDual</author><pubDate>Fri, 02 Apr 2021 17:04:49 +0800</pubDate><description><![CDATA[原文https://blog.youkuaiyun.com/u011437229/article/details/53188837

DFS算法
思想：一直往深处走，直到找到解或者走不下去为止

BFS算法

DFS：使用栈保存未被检测的结点，结点按照深度优先的次序被访问并依次被压入栈中，并以相反的次序出栈进行新的检测。

BFS：使用队列保存未被检测的结点。结点按照宽度优先的次序被访问和进出队列。

代码框架：
BFS:
#include &lt;cstdio&gt;
#include &lt;cstring&gt.]]></description><category></category></item><item><title><![CDATA[msvc命令行编译]]></title><link>https://blog.youkuaiyun.com/JackDual/article/details/115376134</link><guid>https://blog.youkuaiyun.com/JackDual/article/details/115376134</guid><author>JackDual</author><pubDate>Thu, 01 Apr 2021 16:24:32 +0800</pubDate><description><![CDATA[常用编译选项
更多编译选项介绍见：Debug 和 Release 编译方式
cl /MD /EHsc /nologo /O1 /GF /Fe4.exe 4.cpp

/MD 使用动态链接库   /MT静态链接库
/EHsc指定异常处理模型
/O1空间优化    /O2速度优化 /Od不优化
/GF合并重复的字符串，并将字符串常量放到只读内存，防止被修改
/Fe&lt;filename&gt;或者/Fe: &lt;filename&gt;指定输出文件名（后者有空格）
uft-8 字符集处理
字符集分为源字符集]]></description><category></category></item><item><title><![CDATA[小爱课程表导入-树维系统（TJU）]]></title><link>https://blog.youkuaiyun.com/JackDual/article/details/115034701</link><guid>https://blog.youkuaiyun.com/JackDual/article/details/115034701</guid><author>JackDual</author><pubDate>Sat, 20 Mar 2021 21:02:10 +0800</pubDate><description><![CDATA[（未完待续）
前言
本校小爱课程表导入有人适配了，但是我导入失败了。加群后很快就有大佬联系我，本着学习的目的，婉拒了大佬的帮助，赶紧学了学js准备适配。
我校是树维系统，相比其他系统尴尬就尴尬在这个系统在小爱课程表内置浏览器上兼容性垃圾，居然显示不出来课程表。
搞了几天之后，今天终于要接近成功了，吓得我赶紧发一篇优快云。
开工
因为显不出来课程表，得先发请求获取课程表数据。那怎么知道发什么数据呢？只能抓包看看。在电脑和手机上抓包对比之后发现，获取课程信息是向

...]]></description><category></category></item><item><title><![CDATA[GitHub重命名分支GitHub删除分支]]></title><link>https://blog.youkuaiyun.com/JackDual/article/details/114044291</link><guid>https://blog.youkuaiyun.com/JackDual/article/details/114044291</guid><author>JackDual</author><pubDate>Mon, 01 Mar 2021 19:19:26 +0800</pubDate><description><![CDATA[分支
更改远程分支名字
在GitHub项目中，点setting，点左侧的branch，然后可以编辑分支名字。

本地分支同步
假设远程分支由main改成了master
git branch -m main master #本地分支重命名
git branch -u origin/master master #新分支跟踪远程分支
git fetch -p #删除远程已经删除的分支的缓存


...]]></description><category></category></item><item><title><![CDATA[Linux tar gzip压缩和解压]]></title><link>https://blog.youkuaiyun.com/JackDual/article/details/113776970</link><guid>https://blog.youkuaiyun.com/JackDual/article/details/113776970</guid><author>JackDual</author><pubDate>Tue, 09 Feb 2021 23:42:23 +0800</pubDate><description><![CDATA[功能选项（只能选一个）：
-x 解压
-c 压缩
-t 列出文件内容
-r 向压缩包追加文件
-u 更新压缩包中的文件

可选项：
-z gzip属性的文件
-Z compress属性的文件
-C 指定解压目录
-v 显示执行过程

必选项
-f 压缩文件名称（必须写在最后，后面紧跟压缩文件）
也即是：
tar -fx file.tar.gz
这样写是错误的，必须是-xf



列出压缩文件内容
tar -tf file.tar.gz



解压tar.gz
# 不显示解压过程
tar -xzf file.]]></description><category></category></item><item><title><![CDATA[把wps当成浏览器使用]]></title><link>https://blog.youkuaiyun.com/JackDual/article/details/112995155</link><guid>https://blog.youkuaiyun.com/JackDual/article/details/112995155</guid><author>JackDual</author><pubDate>Fri, 22 Jan 2021 18:22:40 +0800</pubDate><description><![CDATA[打开wps首页，点击右上角的设置图标，点击“wps官方网站”，即可打开内置浏览器。

然后就可以更改网址了。


参考资料
WPS也能用作浏览器？教你用WPS看网页_好看视频


]]></description><category></category></item><item><title><![CDATA[ssh连接linux清屏（不是翻页的伪清屏）]]></title><link>https://blog.youkuaiyun.com/JackDual/article/details/112972212</link><guid>https://blog.youkuaiyun.com/JackDual/article/details/112972212</guid><author>JackDual</author><pubDate>Thu, 21 Jan 2021 21:08:17 +0800</pubDate><description><![CDATA[clear的问题
clear命令可以实现清屏，但是用ssh连接Linux服务器时使用这个命令有个致命的缺点：只是将屏幕向下翻一页，之前的内容仍然可以通过向上翻页（转动鼠标滚轮）看到。
解决方案
无意间的测试发现，连续使用两次clear可以真正清屏。
因此可以写个文件cls
vi cls

在文件中写：
#!/bin/bash
clear
clear

放在PATH路径中，并给文件执行权限，之后只要执行cls命令即可清屏。

...]]></description><category></category></item><item><title><![CDATA[批处理获取管理员权限]]></title><link>https://blog.youkuaiyun.com/JackDual/article/details/112857666</link><guid>https://blog.youkuaiyun.com/JackDual/article/details/112857666</guid><author>JackDual</author><pubDate>Wed, 20 Jan 2021 09:46:41 +0800</pubDate><description><![CDATA[@echo off

:: BatchGotAdmin
:-------------------------------------
REM  --&gt; Check for permissions
    IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" (
&gt;nul 2&gt;&amp;1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system"
) ELSE (
&gt;nu]]></description><category></category></item><item><title><![CDATA[在windows cmd命令行中使用linux命令]]></title><link>https://blog.youkuaiyun.com/JackDual/article/details/111785083</link><guid>https://blog.youkuaiyun.com/JackDual/article/details/111785083</guid><author>JackDual</author><pubDate>Sun, 27 Dec 2020 15:05:42 +0800</pubDate><description><![CDATA[本文的核心思想是使用别人已经编译好的linux命令的windows版本可执行文件
本文的重点是这部分

下载Git并安装
这一步是为了获取Git中附带的linux命令的windows版本

如果你已经安装了Git或者visual studio，可以在git安装目录的usr/bin文件夹下找到这些文件。visual studio2017附带的git目录在C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Comm.]]></description><category></category></item><item><title><![CDATA[ffmpeg常用操作 - 录屏 - 转码]]></title><link>https://blog.youkuaiyun.com/JackDual/article/details/111770279</link><guid>https://blog.youkuaiyun.com/JackDual/article/details/111770279</guid><author>JackDual</author><pubDate>Sat, 26 Dec 2020 22:13:42 +0800</pubDate><description><![CDATA[从视频中提取音频
ffmpeg -i video.mp4 -f mp3 -vn  audio.mp3

音频分割为1mins长的片段
ffmpeg -i audio.wav -f segment -segment_time 60 -c copy audio%02d.wav

视频转码为h256编码（需要N卡驱动）
ffmpeg -i video_h264.mp4 -c:v hevc_nvenc video_h265.mp4


...]]></description><category></category></item><item><title><![CDATA[wget的常用参数]]></title><link>https://blog.youkuaiyun.com/JackDual/article/details/111743725</link><guid>https://blog.youkuaiyun.com/JackDual/article/details/111743725</guid><author>JackDual</author><pubDate>Sat, 26 Dec 2020 18:16:29 +0800</pubDate><description><![CDATA[伪装UA
wget --user-agent=" Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0"
指定文件名
wget -O output.html https://www.baidu.com

]]></description><category></category></item></channel></rss>