From c1a87d760e2af7110fea94710b103468514fbf4d Mon Sep 17 00:00:00 2001 From: ninglang Date: Sat, 11 May 2024 13:07:04 +0800 Subject: [PATCH] Site updated: 2024-05-11 13:07:03 --- categories/Math-model/index.html | 16 - search.xml | 880 +++++++++++++++---------------- 2 files changed, 440 insertions(+), 456 deletions(-) diff --git a/categories/Math-model/index.html b/categories/Math-model/index.html index 42cbd5281..acee07daa 100644 --- a/categories/Math-model/index.html +++ b/categories/Math-model/index.html @@ -307,19 +307,3 @@

Math Model -n-n1-shared.com","placeholder":"Just go go","avatar":"mm","meta":["nick"],"pageSize":10,"lang":"zh-cn","visitor":false,"comment_count":true,"recordIP":false,"enableQQ":true,"requiredFields":["nick"],"el":"#valine-comments","path":"/categories/Math-model/"} - - - - diff --git a/search.xml b/search.xml index 771e6b74b..7a23fd462 100644 --- a/search.xml +++ b/search.xml @@ -1,5 +1,182 @@ + + Android Adb Command + /2021/10/24/Android-Adb-Command/ + 安卓小技巧

+ +

recovery 模式下使用adb

+

首先在电脑中找到adbkey.pub文件,我的默认地址是.android,通过一些手段移入安卓设备的一个分区/data/misc/adb/adb_keys文件中,下面是push的的方法,当然也可以用第三方rec直接导入

+
adb push ~/.android/adbkey.pub /data/misc/adb/adb_keys
+

wifi连接adb

+
adb connect ip:5555
+

断开连接

+
adb disconnect ip:5555
+

备份文件

+

备份文件的方法主要用adb pull,这里以tim为例,可以这样做

+
adb pull /data/data/com.tencent.tim ./tim
+

切记,备份时最好用linux操作系统,Windows总是会有一些莫名的错误,备份安装包

+
adb pull /data/app/  ./app
+

备份sdcard的数据

+
adb pull ./sdcard/Android/data/com.tencent.tim ./com.tencent.tim 
+

使用脚本备份文件,下载下面的脚本,将备份的文件导入电脑

+
adb pull /storage/emulated/0/back/ ./back
+

联系人备份

+

恢复App

+

微信等软件不支持降级,可以先用下面命令将数据传入(需要在安装magisk之后)

+
adb push ./tim /data/com.tencent.tim 
+

然后使用下面的语句对应用进行安装

+
adb install ./tim.apk
+

登录时可能会报错,这时可以采用TitaniumBackup对这个软件备份,卸载整个软件,数据,用TitaniumBackup恢复应用程序

+

卸载app但保留数据和缓存文件:

+

adb shell pm uninstall -k 包名

+

恢复data的app

+

首先安装apk,打开,然后用push将data push到手机中去

+
push ./mm/* /data/data/com.tencent.mm
+

微信降级

+

首先,将data +push之后,应该可以看到最新版本的微信的聊天记录是data里面的,然后,使用

+
adb shell pm uninstall -k com.tencent.mm
+

重新启动手机

+

然后使用adb安装软件(微信)

+
adb install weixing.apk
+

可以完成无需登录的降级

+

钛备份恢复文件

+

之前之所以没有用钛备份,是考虑到钛备份没有一些很必要的功能,例如,我的微信的语音、以及图片,都没有办法备份,现在,只需要开启钛备份中设置的preferences->backup app external data->enabled(always).就可以,这事,就会备份语音,而且,在微信等软件的高版本的情况下,可以直接使用钛备份使用恢复历史版本仅APP即可。

+

输入内核

+

首先,将内核文件*.zip移动到手机中,然后用在用twrp对它进行刷入,直接刷入即可

+

adb su

+

adb su由于某些原因打不开,这时候要强制打开使用这个链接中release中的zip,然后用面具刷入,即可

+

然后使用

+
adb root
adb remount
+

即可完成整个提权,文件读写权限

+

Magisk

+
    +
  1. 先下载HttpCanary点击下载,再用这个命令对证书进行移动
  2. +
+
mv -f /data/misc/user/0/cacerts-added/12abc345.0 $MODDIR/system/etc/security/cacerts
+
    +
  1. 禁止某个ip(magisk20.3):下载ipforbidden模块,刷入,即可
  2. +
+

开机模式下软件操作

+
adb shell pm list packages
+

可以加上查询字

+
adb shell pm list packages | grep 'miui'
+

获取root权限

+
adb root
+

保留数据卸载,此方法可用于微信降级

+
adb  uninstall -k com.tencent.tim
+

安装apk

+
adb  install  com.tencent.tim
+

安卓分区

+
    +
  • system

    +

    这个分区无所谓,每次刷机刷的就是这个

  • +
  • data

    +

    这个分区就是软件数据放的地方,小心格式化

  • +
  • persist

    +

    储存账户密码,如果这个分区损坏,会出现储存读取错误,使用官方的线刷包中的persist即可以恢复。

  • +
  • vendor

  • +
  • recovery

    +

    这个是在fastboot模式下刷入的分区

  • +
  • boot

  • +
  • cache

    +

    这个分区只是具有记录功能,擦除不影响使用,不会影响任何数据

  • +
  • misc

    +

    这个分区是放硬件配置信息的,USB,adb

  • +
  • sdcard

    +

    这个分区就是存储卡分区,没什么特别的

  • +
+]]>
+ + Android + +
+ + 通信原理笔记 + /2023/05/23/Communication%20principle/ + 通信原理理解性笔记

+ +

信道

+
+

将发送端数字脉冲信号转换成模拟信号的过程称为调制(Modulation);将接收端模拟信号还原成数字脉冲信号的过程称为解调(Demodulation)。将调制和解调两种功能结合在一起的设备称为调制解调器(Modem)

+

模拟信号和数字信号之间可以相互转换:模拟信号一般通过PCM脉码调制(Pulse +Code +Modulation)方法量化为数字信号,即让模拟信号的不同幅度分别对应不同的二进制值,例如采用8位编码可将模拟信号量化为2^8=256个量级,实用中常采取24位或30位编码;数字信号一般通过对载波进行移相(Phase +Shift)的方法转换为模拟信号。

+

数字信道占用信道频带较宽。一路模拟电话的频带为4kHz带宽,一路数字电话约占64kHz,这是模拟通信目前仍有生命力的主要原因。

+
+

数字信道与模拟信道_模拟信道和数字信道_偷轮子的博客-CSDN博客

+

波形成型

+
+

从上图可以看出,相关时延大于符号持续时间,因此,当两个信号在接收侧相加时,来自于时延为的符号将会和来自于时延为的符号相加。

+

不同的符号相加,或者说,不同的符号相互干扰,即为符号间干扰(ISI)

+

一般将多径信号最大时延的倒数定义为多径信道的相关带宽。

+
+

频率选择性失真ISI一体两面,其中,频率选择性失真发生在频域,对应的时域结果ISI

+
+
+

衰落(2)-- +时延扩展,相关带宽,ISI - 知乎

+
+

脉冲整形

+

一、矩形脉冲

+

实际上矩形脉冲无失真传输是不可能的,因为由傅里叶变换可知,时域矩形脉冲,频域是sinc函数,带宽无限,而信道带宽总是有限的。 +失真严重导致采样判决出错,无法正确恢复数字信号。 +显然矩形脉冲信号不合适,sinc脉冲信号合适

+

二、sinc脉冲频谱有限,一个码元达到最大幅值时其他所有码元幅值刚好为零,码元之间不会相互影响,实现了无码间串扰。

+

基带滤波器

+

一般使用基带滤波器来实现脉冲整形

+

假设发送序列{1 1 1 -1 1 -1 -1 1} +发送序列、输入滤波器的冲激信号、每个冲激信号的冲激响应,和输出信号如图所示 +例子

+
+

基带信号的发送和接收的有效理解和掌握_滚降因子为0的系统可以算是理想低通系统吗_BIT小小书童的博客-CSDN博客

+
+

最初,信号是以矩形脉冲通过带限信道,必然会出现脉冲时延扩展引起S1,频域上看是Sa函数的旁瓣千扰。

+
+

简单概述:脉冲成形 +基带成形 (脉冲成型 基带成型) - HQU小西西 - 博客园

+

有点难,待会看

+

为什么要对基带信号进行脉冲成型【转载】 +- Riden - 博客园

+
+

为什么对基带信号要成形滤波?

+

基带信号带宽无限,需要限制带宽。成形滤波器也叫限带滤波器

+

实际中通信传输的信号大都是带通信号,也就是中心频带远大于频带宽度的信号。而这些带通信号的频谱结构只取决于等效低通信号的频谱结构。这里的等效低通信号就是你这里所指的基带数字信号。而基带数字信号的频率特性又取决于两个因素,一个是基带信号中构成每个脉冲符号的基本信号的频谱,另一个就是脉冲信号之间的相关性。换句话说可以通过设计不同的基本脉冲信号的波形和符号之间的相关性,达到改变基带信号频谱结构的目的,从而改变调制后带通信号的频谱特性。 +理解了这一点,你就可以理解为什么要对基带信号进行不同的滤波生成符号脉冲了。

+
+

基带传输与成形滤波_基带成型滤波器_长弓的坚持的博客-CSDN博客

+
+

为什么要->这里有直接结论:

+

(个人简单理解,脉冲成型(形),就是将脉冲变成其他的传输波形,理由就是压缩频谱来降低ISI) +!

+
+

简单概述:脉冲成形 +基带成形 (脉冲成型 基带成型) - 1024搜-程序员专属的搜索引擎

+
+

数字信号想要在信道中传输,必须在发射机的基带部分进行脉冲成形,将数字信号转换成脉冲信号,脉冲信号到达接收机后,在基带部分进行采样判决,将数字信号恢复出来。

+

如下图所示,脉冲成形需要用到脉冲波形,实现脉冲成形要用到基带滤波器,评估基带滤波器要用到眼图。【深入浅出通信原理-学习笔记】基带信号的发送和接收_脉冲怎么发送和接受_DUANDAUNNN的博客-CSDN博客

+
+]]>
+ + 电路 + +
C&&C++问题总汇(1) /2021/09/20/C&&C++%E9%97%AE%E9%A2%98%E6%80%BB%E6%B1%87(1)/ @@ -189,200 +366,23 @@ equivalent when one of them changed ,the other will change

int i;
int &j; //incorrect j is not linked some variables
j = i;
  • quote and pointer

    quote is another name for a variable ,but pointer is a tool pointing -to variable

    -
    #include<iostream>
    using namespace std;
    int main()
    {
    int i=15;
    int *iptr=&i; //define a pointer
    int &rptr = i; //define a quote
    cout<<"I is "<<i<<endl;
    cout<<"*iptr is "<<*iptr<<endl;
    cout<<"rptr is "<<rptr<<endl;
    i=29;
    cout<<"After changing i to 29:"<<endl;
    cout<<"i is "<<i<<endl;
    cout<<"*iptr is "<<*iptr<<endl;
    cout<<"rptr is "<<rptr<<endl;
    return 0;
    }
    -

    quote: No need & ,pointer : Need * -.

  • -
  • warn

    -
    int i,k;
    int &j =i;
    j =&k; //incorrect , delcare j is the quotation of k is not allowed
    -
    void &r = 10; 	//incorrect, void type is not allow 
    int &r = 10 ; //incorrect,can't assign quote "r" with value

    //can't quote array
    int a[4] = "amd";
    int &a[4] = a;


    //can't define quotation to quotation
    int n=3;
    int && r =n;
    int &*p = n;
  • -
  • used as parameters of function

    -
    #include<iostream>
    using namespace std;
    void swap(int &a,int &b)
    {
    int temp =a;
    a =b;
    b =temp;
    }
    int main(){
    int a=5,b=10;
    cout<<"a="<<a<<" "<<"b="<<b;
    swap(a,b);
    cout<<"a="<<a<<" "<<"b="<<b;
    return 0;
    }
    -

    quotation is used as formal parameter for function variable -transfer,but it seem that we have really passed a,b into the function -"swap"

    -
    #include<iostream>
    using namespace std;
    int a[] = {1,3,5,6,7,3};
    int &index(int);
    int main(){
    index(1)=100; //in fact ,because the return of funciton is not a number ,but a[i]
    cout<<"a[1]="<<a[1]<<endl;
    return 0;

    }
    int &index(int i){
    return a[i];
    }
  • - -]]> - - coding - -
    - - Android Adb Command - /2021/10/24/Android-Adb-Command/ - 安卓小技巧

    - -

    recovery 模式下使用adb

    -

    首先在电脑中找到adbkey.pub文件,我的默认地址是.android,通过一些手段移入安卓设备的一个分区/data/misc/adb/adb_keys文件中,下面是push的的方法,当然也可以用第三方rec直接导入

    -
    adb push ~/.android/adbkey.pub /data/misc/adb/adb_keys
    -

    wifi连接adb

    -
    adb connect ip:5555
    -

    断开连接

    -
    adb disconnect ip:5555
    -

    备份文件

    -

    备份文件的方法主要用adb pull,这里以tim为例,可以这样做

    -
    adb pull /data/data/com.tencent.tim ./tim
    -

    切记,备份时最好用linux操作系统,Windows总是会有一些莫名的错误,备份安装包

    -
    adb pull /data/app/  ./app
    -

    备份sdcard的数据

    -
    adb pull ./sdcard/Android/data/com.tencent.tim ./com.tencent.tim 
    -

    使用脚本备份文件,下载下面的脚本,将备份的文件导入电脑

    -
    adb pull /storage/emulated/0/back/ ./back
    -

    联系人备份

    -

    恢复App

    -

    微信等软件不支持降级,可以先用下面命令将数据传入(需要在安装magisk之后)

    -
    adb push ./tim /data/com.tencent.tim 
    -

    然后使用下面的语句对应用进行安装

    -
    adb install ./tim.apk
    -

    登录时可能会报错,这时可以采用TitaniumBackup对这个软件备份,卸载整个软件,数据,用TitaniumBackup恢复应用程序

    -

    卸载app但保留数据和缓存文件:

    -

    adb shell pm uninstall -k 包名

    -

    恢复data的app

    -

    首先安装apk,打开,然后用push将data push到手机中去

    -
    push ./mm/* /data/data/com.tencent.mm
    -

    微信降级

    -

    首先,将data -push之后,应该可以看到最新版本的微信的聊天记录是data里面的,然后,使用

    -
    adb shell pm uninstall -k com.tencent.mm
    -

    重新启动手机

    -

    然后使用adb安装软件(微信)

    -
    adb install weixing.apk
    -

    可以完成无需登录的降级

    -

    钛备份恢复文件

    -

    之前之所以没有用钛备份,是考虑到钛备份没有一些很必要的功能,例如,我的微信的语音、以及图片,都没有办法备份,现在,只需要开启钛备份中设置的preferences->backup app external data->enabled(always).就可以,这事,就会备份语音,而且,在微信等软件的高版本的情况下,可以直接使用钛备份使用恢复历史版本仅APP即可。

    -

    输入内核

    -

    首先,将内核文件*.zip移动到手机中,然后用在用twrp对它进行刷入,直接刷入即可

    -

    adb su

    -

    adb su由于某些原因打不开,这时候要强制打开使用这个链接中release中的zip,然后用面具刷入,即可

    -

    然后使用

    -
    adb root
    adb remount
    -

    即可完成整个提权,文件读写权限

    -

    Magisk

    -
      -
    1. 先下载HttpCanary点击下载,再用这个命令对证书进行移动
    2. -
    -
    mv -f /data/misc/user/0/cacerts-added/12abc345.0 $MODDIR/system/etc/security/cacerts
    -
      -
    1. 禁止某个ip(magisk20.3):下载ipforbidden模块,刷入,即可
    2. -
    -

    开机模式下软件操作

    -
    adb shell pm list packages
    -

    可以加上查询字

    -
    adb shell pm list packages | grep 'miui'
    -

    获取root权限

    -
    adb root
    -

    保留数据卸载,此方法可用于微信降级

    -
    adb  uninstall -k com.tencent.tim
    -

    安装apk

    -
    adb  install  com.tencent.tim
    -

    安卓分区

    -
      -
    • system

      -

      这个分区无所谓,每次刷机刷的就是这个

    • -
    • data

      -

      这个分区就是软件数据放的地方,小心格式化

    • -
    • persist

      -

      储存账户密码,如果这个分区损坏,会出现储存读取错误,使用官方的线刷包中的persist即可以恢复。

    • -
    • vendor

    • -
    • recovery

      -

      这个是在fastboot模式下刷入的分区

    • -
    • boot

    • -
    • cache

      -

      这个分区只是具有记录功能,擦除不影响使用,不会影响任何数据

    • -
    • misc

      -

      这个分区是放硬件配置信息的,USB,adb

    • -
    • sdcard

      -

      这个分区就是存储卡分区,没什么特别的

    • -
    -]]>
    - - Android - -
    - - 通信原理笔记 - /2023/05/23/Communication%20principle/ - 通信原理理解性笔记

    - -

    信道

    -
    -

    将发送端数字脉冲信号转换成模拟信号的过程称为调制(Modulation);将接收端模拟信号还原成数字脉冲信号的过程称为解调(Demodulation)。将调制和解调两种功能结合在一起的设备称为调制解调器(Modem)

    -

    模拟信号和数字信号之间可以相互转换:模拟信号一般通过PCM脉码调制(Pulse -Code -Modulation)方法量化为数字信号,即让模拟信号的不同幅度分别对应不同的二进制值,例如采用8位编码可将模拟信号量化为2^8=256个量级,实用中常采取24位或30位编码;数字信号一般通过对载波进行移相(Phase -Shift)的方法转换为模拟信号。

    -

    数字信道占用信道频带较宽。一路模拟电话的频带为4kHz带宽,一路数字电话约占64kHz,这是模拟通信目前仍有生命力的主要原因。

    -
    -

    数字信道与模拟信道_模拟信道和数字信道_偷轮子的博客-CSDN博客

    -

    波形成型

    -
    -

    从上图可以看出,相关时延大于符号持续时间,因此,当两个信号在接收侧相加时,来自于时延为的符号将会和来自于时延为的符号相加。

    -

    不同的符号相加,或者说,不同的符号相互干扰,即为符号间干扰(ISI)

    -

    一般将多径信号最大时延的倒数定义为多径信道的相关带宽。

    -
    -

    频率选择性失真ISI一体两面,其中,频率选择性失真发生在频域,对应的时域结果ISI

    -
    -
    -

    衰落(2)-- -时延扩展,相关带宽,ISI - 知乎

    -
    -

    脉冲整形

    -

    一、矩形脉冲

    -

    实际上矩形脉冲无失真传输是不可能的,因为由傅里叶变换可知,时域矩形脉冲,频域是sinc函数,带宽无限,而信道带宽总是有限的。 -失真严重导致采样判决出错,无法正确恢复数字信号。 -显然矩形脉冲信号不合适,sinc脉冲信号合适

    -

    二、sinc脉冲频谱有限,一个码元达到最大幅值时其他所有码元幅值刚好为零,码元之间不会相互影响,实现了无码间串扰。

    -

    基带滤波器

    -

    一般使用基带滤波器来实现脉冲整形

    -

    假设发送序列{1 1 1 -1 1 -1 -1 1} -发送序列、输入滤波器的冲激信号、每个冲激信号的冲激响应,和输出信号如图所示 -例子

    -
    -

    基带信号的发送和接收的有效理解和掌握_滚降因子为0的系统可以算是理想低通系统吗_BIT小小书童的博客-CSDN博客

    -
    -

    最初,信号是以矩形脉冲通过带限信道,必然会出现脉冲时延扩展引起S1,频域上看是Sa函数的旁瓣千扰。

    -
    -

    简单概述:脉冲成形 -基带成形 (脉冲成型 基带成型) - HQU小西西 - 博客园

    -

    有点难,待会看

    -

    为什么要对基带信号进行脉冲成型【转载】 -- Riden - 博客园

    -
    -

    为什么对基带信号要成形滤波?

    -

    基带信号带宽无限,需要限制带宽。成形滤波器也叫限带滤波器

    -

    实际中通信传输的信号大都是带通信号,也就是中心频带远大于频带宽度的信号。而这些带通信号的频谱结构只取决于等效低通信号的频谱结构。这里的等效低通信号就是你这里所指的基带数字信号。而基带数字信号的频率特性又取决于两个因素,一个是基带信号中构成每个脉冲符号的基本信号的频谱,另一个就是脉冲信号之间的相关性。换句话说可以通过设计不同的基本脉冲信号的波形和符号之间的相关性,达到改变基带信号频谱结构的目的,从而改变调制后带通信号的频谱特性。 -理解了这一点,你就可以理解为什么要对基带信号进行不同的滤波生成符号脉冲了。

    -
    -

    基带传输与成形滤波_基带成型滤波器_长弓的坚持的博客-CSDN博客

    -
    -

    为什么要->这里有直接结论:

    -

    (个人简单理解,脉冲成型(形),就是将脉冲变成其他的传输波形,理由就是压缩频谱来降低ISI) -!

    -
    -

    简单概述:脉冲成形 -基带成形 (脉冲成型 基带成型) - 1024搜-程序员专属的搜索引擎

    -
    -

    数字信号想要在信道中传输,必须在发射机的基带部分进行脉冲成形,将数字信号转换成脉冲信号,脉冲信号到达接收机后,在基带部分进行采样判决,将数字信号恢复出来。

    -

    如下图所示,脉冲成形需要用到脉冲波形,实现脉冲成形要用到基带滤波器,评估基带滤波器要用到眼图。【深入浅出通信原理-学习笔记】基带信号的发送和接收_脉冲怎么发送和接受_DUANDAUNNN的博客-CSDN博客

    -
    +to variable

    +
    #include<iostream>
    using namespace std;
    int main()
    {
    int i=15;
    int *iptr=&i; //define a pointer
    int &rptr = i; //define a quote
    cout<<"I is "<<i<<endl;
    cout<<"*iptr is "<<*iptr<<endl;
    cout<<"rptr is "<<rptr<<endl;
    i=29;
    cout<<"After changing i to 29:"<<endl;
    cout<<"i is "<<i<<endl;
    cout<<"*iptr is "<<*iptr<<endl;
    cout<<"rptr is "<<rptr<<endl;
    return 0;
    }
    +

    quote: No need & ,pointer : Need * +.

    +
  • warn

    +
    int i,k;
    int &j =i;
    j =&k; //incorrect , delcare j is the quotation of k is not allowed
    +
    void &r = 10; 	//incorrect, void type is not allow 
    int &r = 10 ; //incorrect,can't assign quote "r" with value

    //can't quote array
    int a[4] = "amd";
    int &a[4] = a;


    //can't define quotation to quotation
    int n=3;
    int && r =n;
    int &*p = n;
  • +
  • used as parameters of function

    +
    #include<iostream>
    using namespace std;
    void swap(int &a,int &b)
    {
    int temp =a;
    a =b;
    b =temp;
    }
    int main(){
    int a=5,b=10;
    cout<<"a="<<a<<" "<<"b="<<b;
    swap(a,b);
    cout<<"a="<<a<<" "<<"b="<<b;
    return 0;
    }
    +

    quotation is used as formal parameter for function variable +transfer,but it seem that we have really passed a,b into the function +"swap"

    +
    #include<iostream>
    using namespace std;
    int a[] = {1,3,5,6,7,3};
    int &index(int);
    int main(){
    index(1)=100; //in fact ,because the return of funciton is not a number ,but a[i]
    cout<<"a[1]="<<a[1]<<endl;
    return 0;

    }
    int &index(int i){
    return a[i];
    }
  • + ]]>
    - 电路 + coding
    @@ -743,6 +743,52 @@ ChatGPT(一):十分钟读懂 Transformer - 知乎

    code
    + + 毛概实践课 + /2022/06/10/Introduction%20to%20Mao%20Zedong%20Thought/ + 毛概实践课🤗

    + +

    经过我们小组接近三个星期的努力,没错!它来了,毛概实践课的成果😁,它可能不是那么优秀,但的确是我们努力的成果

    + + + +

    看看我们的大合照😁:

    +

    +

    ​ +哈哈哈,还希望大家不要吐槽我的眯眯眼😛,当时光线太强,实在睁不开眼,不是故意的哈😜。我的ps技术也不是很好,只能做成这样,还希望大家多多担待

    +

    ​ +这次实践课给我留下印象还是很十分的深刻的,疫情期间,我这边(一个人在学校)要是没有室友们的帮助,估计是完成不了的,视频剪辑的时候,我和邵明禹哥哥把pr工程文件传来传去(每次都是2~3个G),邵明禹哥哥吐槽了n多次网络问题,我这边修改视频的时候,也不知道怎么回事,pr崩了5、6次,还把我的素材直接全部删除了😭,找也找不回,最后只能重新剪辑。

    +
    + + +
    +

    ​ +这次大家没能全员出镜,可以算得上团队火力没有全开吧,但是我个人感觉还是不错的,因为在刚开始选题的时候,就想要做一些有思想深度的视频,疫情期间,多个人不能见面的情况下,从个体的角度入手,个体和个体之间用一些手段连接,去拔高整个实践课的深度,我认为是可行的。

    +

    ​ +总之,十分感谢那些和我一起走过这段道路的小伙伴,谢谢你们的付出,也谢谢那些帮助我们完成实践课的各位同学,就如视频所说,你们是冬天里的暖阳😉😉😉😉。

    +]]>
    + + 思想觉悟 + +
    + + LinkWe Technology + /2021/10/08/LinkWe/ + LinkWe Technology product

    + + +]]>
    + + Product design + +
    Neural network(1)---Logistic Regression /2021/08/24/Neural-network(1)---Logistic-Regression/ @@ -891,109 +937,6 @@ figure,see whether it is overfit or not ? Neural Network - - 毛概实践课 - /2022/06/10/Introduction%20to%20Mao%20Zedong%20Thought/ - 毛概实践课🤗

    - -

    经过我们小组接近三个星期的努力,没错!它来了,毛概实践课的成果😁,它可能不是那么优秀,但的确是我们努力的成果

    - - - -

    看看我们的大合照😁:

    -

    -

    ​ -哈哈哈,还希望大家不要吐槽我的眯眯眼😛,当时光线太强,实在睁不开眼,不是故意的哈😜。我的ps技术也不是很好,只能做成这样,还希望大家多多担待

    -

    ​ -这次实践课给我留下印象还是很十分的深刻的,疫情期间,我这边(一个人在学校)要是没有室友们的帮助,估计是完成不了的,视频剪辑的时候,我和邵明禹哥哥把pr工程文件传来传去(每次都是2~3个G),邵明禹哥哥吐槽了n多次网络问题,我这边修改视频的时候,也不知道怎么回事,pr崩了5、6次,还把我的素材直接全部删除了😭,找也找不回,最后只能重新剪辑。

    -
    - - -
    -

    ​ -这次大家没能全员出镜,可以算得上团队火力没有全开吧,但是我个人感觉还是不错的,因为在刚开始选题的时候,就想要做一些有思想深度的视频,疫情期间,多个人不能见面的情况下,从个体的角度入手,个体和个体之间用一些手段连接,去拔高整个实践课的深度,我认为是可行的。

    -

    ​ -总之,十分感谢那些和我一起走过这段道路的小伙伴,谢谢你们的付出,也谢谢那些帮助我们完成实践课的各位同学,就如视频所说,你们是冬天里的暖阳😉😉😉😉。

    -]]>
    - - 思想觉悟 - -
    - - LinkWe Technology - /2021/10/08/LinkWe/ - LinkWe Technology product

    - - -]]>
    - - Product design - -
    - - Qt - /2021/09/20/Qt1/ - Qt问题总汇

    - -

    信号和槽

    -

    连接函数:connect

    -
    connect(信号发送者,发送的信号(函数的地址),信号接受者,处理的槽函数(函数的地址));
    connect(Button,&QpushButton::clicked,this,&Qwidget::close);
    -

    松散耦合:发送端和接受端的松散耦合

    -

    自定义槽函数和信号

    -
      -
    • signal只能声明,不能定义,写在发送信号的类的signals中,返回值是void
    • -
    • slot需要声明,需要在cpp文件中定义,写在public slots文件中,返回值是void
    • -
    -
    class.h
    public slots:
    // slots function area or declaration in public
    //return is void,need declaration ,and realize.
    void treat();
    };


    class.cpp
    void Studnet::treat(){
    qDebug()<<"treat!";
    }
    -
    signals:
    //custom signals
    //return is void,only declaration ,Needn't realize
    void hungry();
    -

    定义槽和信号后,需要定义触发函数

    -
    weidget:
    void classover();
    void classover(){
    emit zt->hungry();
    }
    -

    要先定义connect再调用classover

    -

    信号的重载

    -

    信号函数和槽函数直接重载时,会因为二义性而导致程序无法编译,于是我们需要用函数指针来代替直接给地址,方法如下:

    -
    void(Teacher:: *teachersignal)(QString)=&Teacher::hungry;
    void(Studnet:: *studentslot)(QString) = &Studnet::treat;

    connect(zt,teachersignal::hungry,st,studentslot);
    -
      -
    • 问题:这里的两个函数指针是如何定义的???
    • -
    • 答:
    • -
    -

    Qstring 转char *

    -
    Qstring.toUtf8().data()  //先转utf8,再转char*
    -

    信号连接信号

    -
    connect(btn,&QPushButton::clicked,zt,teachersignal2);
    -

    直接将两个信号用connect相连

    -
      -
    • 断开信号 disconnect

    • -
    • 多个信号一个槽

    • -
    • 多个槽连接一个信号

    • -
    • 信号和槽的参数类型必须一一对应,信号参数个数可以大于槽函数的参数个数

    • -
    -

    lambda函数

    -
    //connect 一般使用方法
    connect(信号发送者,发送的信号(函数的地址),信号接受者,处理的槽函数(函数的地址));

    //lambda 使用的方式
    connect(btn3,&QPushButton::clicked,this,[=](){
    btn3->move(200,100);});
    //可以省略this
    connect(btn3,&QPushButton::clicked,[=](){
    btn3->move(200,100);});
    -
      -
    • 问:为什么lambda的函数不像之前的函数一样,需要取地址符&.
    • -
    • 答:可以不加取地址符,但是早期Qt并不支持.
    • -
    -

    模态与非模态

    -

    模态

    -
    connect(ui->actionnew,&QAction::triggered,[=](){
    QDialog dlg(this);
    dlg.resize(200,100);
    dlg.exec(); //对话框窗口保持
    qDebug()<<"modal dialog!";
    -

    非模态

    -
    [=](){QDialog dig2(this);
    dig2.show(); //无法保持,一闪而过
    }
    QDialog *dig2 =new QDialog(this);
    dig2->show(); //可以保持(堆区)
    -
      -
    • 问:指针调用和对象调用为什么会出现不一样的结果?
    • -
    • 答:
    • -
    -]]>
    - - coding - -
    Pointer /2021/09/03/Point/ @@ -1068,6 +1011,114 @@ can free the space

    new assign space with initial value:

    #include<iostream>
    using namespace std;
    int main(){
    int *p;
    p = new int(99); //initial value
    cout<<*p;
    delete p;
    return 0;
    }

    Malloc && Free get space

    +]]> + + coding + +
    + + Python 机器学习 + /2022/01/19/Python%E5%9B%BE%E5%83%8F%E8%AF%86%E5%88%AB/ + 下面是本人总结的Python机器学习-图像处理的步骤

    + +

    环境配置(垃圾分类项目)

    +

    项目使用树莓派4B,具体流程如下

    +
      +
    • 下载win32_disk_imager,烧录镜像,在BOOT分区下建立文件名为SSH的文件,无后缀
    • +
    • 下载PUTTY(记得将后缀it删除)和VNC
    • +
    • 或者使用xshellxftp操作
    • +
    • 使用SSH连接树莓派,树莓派自带Python3和Python2,使用pip配置环境
    • +
    +
      +
    1. 修改deb镜像源
    2. +
    +
    deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
    deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
    +

    修改树莓派pip源。请记住,/etc/pip.conf,里面默认是

    +
    [global]
    extra-index-url=https://www.piwheels.org/simple
    +

    请不要修改,这个网址专为树莓定制

    +

    pip永久换源(win和linux通用)

    +
    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
    +

    linux里面的永久源的地址为/home/pi/.config/pip/pip.conf,需要修改可以直接编辑

    +

    也可以这样换源

    +
    mkdir ~/.pip
    vim ~/.pip/pip.conf
    +
    [global]
    timeout=100
    index-url=https://pypi.tuna.tsinghua.edu.cn/simple/
    extra-index-url= http://mirrors.aliyun.com/pypi/simple/
    [install]
    trusted-host=
    pypi.tuna.tsinghua.edu.cn
    mirrors.aliyun.com
    +

    这里的trusted-host只有当链接不是https时需要,即将阿里云的网站改为

    +
    extra-index-url= https://mirrors.aliyun.com/pypi/simple
    +

    ubuntu配置opencv

    +
      +
    • 网上所有的教程都无法直接成功,所以,个人的踩坑经历
    • +
    • 首先去opencv-python下载对应Python版本的opencv
    • +
    • 然后移入树莓派中,使用pip3 install ...whl即可成功
    • +
    • 很多的包都有这个特点,所以,要注意这个点,当自己的树莓派无法安装时,可以考虑这个专门为树莓派做的网站
    • +
    +

    安装多线程工具axel

    +
    apt-get install axel
    +

    下载方式

    +
    axel 参数 文件下载地址
    常用可选参数:
    -s 设置最大下载速度,如果限制到512KB/s,则填写512000
    -n 指定连接数
    -o 指定另存为目录,或者指定的目录+文件名
    -H 指定header
    -U 指定useragent
    -q 静默模式
    -a 更改默认进度条样式

    eg:
    axel -n 30 http://archive.cloudera.com/cm5/cm/5/cloudera-manager-centos7-cm5.15.2_x86_64.tar.gz
    +]]>
    + + coding + +
    + + Qt + /2021/09/20/Qt1/ + Qt问题总汇

    + +

    信号和槽

    +

    连接函数:connect

    +
    connect(信号发送者,发送的信号(函数的地址),信号接受者,处理的槽函数(函数的地址));
    connect(Button,&QpushButton::clicked,this,&Qwidget::close);
    +

    松散耦合:发送端和接受端的松散耦合

    +

    自定义槽函数和信号

    +
      +
    • signal只能声明,不能定义,写在发送信号的类的signals中,返回值是void
    • +
    • slot需要声明,需要在cpp文件中定义,写在public slots文件中,返回值是void
    • +
    +
    class.h
    public slots:
    // slots function area or declaration in public
    //return is void,need declaration ,and realize.
    void treat();
    };


    class.cpp
    void Studnet::treat(){
    qDebug()<<"treat!";
    }
    +
    signals:
    //custom signals
    //return is void,only declaration ,Needn't realize
    void hungry();
    +

    定义槽和信号后,需要定义触发函数

    +
    weidget:
    void classover();
    void classover(){
    emit zt->hungry();
    }
    +

    要先定义connect再调用classover

    +

    信号的重载

    +

    信号函数和槽函数直接重载时,会因为二义性而导致程序无法编译,于是我们需要用函数指针来代替直接给地址,方法如下:

    +
    void(Teacher:: *teachersignal)(QString)=&Teacher::hungry;
    void(Studnet:: *studentslot)(QString) = &Studnet::treat;

    connect(zt,teachersignal::hungry,st,studentslot);
    +
      +
    • 问题:这里的两个函数指针是如何定义的???
    • +
    • 答:
    • +
    +

    Qstring 转char *

    +
    Qstring.toUtf8().data()  //先转utf8,再转char*
    +

    信号连接信号

    +
    connect(btn,&QPushButton::clicked,zt,teachersignal2);
    +

    直接将两个信号用connect相连

    +
      +
    • 断开信号 disconnect

    • +
    • 多个信号一个槽

    • +
    • 多个槽连接一个信号

    • +
    • 信号和槽的参数类型必须一一对应,信号参数个数可以大于槽函数的参数个数

    • +
    +

    lambda函数

    +
    //connect 一般使用方法
    connect(信号发送者,发送的信号(函数的地址),信号接受者,处理的槽函数(函数的地址));

    //lambda 使用的方式
    connect(btn3,&QPushButton::clicked,this,[=](){
    btn3->move(200,100);});
    //可以省略this
    connect(btn3,&QPushButton::clicked,[=](){
    btn3->move(200,100);});
    +
      +
    • 问:为什么lambda的函数不像之前的函数一样,需要取地址符&.
    • +
    • 答:可以不加取地址符,但是早期Qt并不支持.
    • +
    +

    模态与非模态

    +

    模态

    +
    connect(ui->actionnew,&QAction::triggered,[=](){
    QDialog dlg(this);
    dlg.resize(200,100);
    dlg.exec(); //对话框窗口保持
    qDebug()<<"modal dialog!";
    +

    非模态

    +
    [=](){QDialog dig2(this);
    dig2.show(); //无法保持,一闪而过
    }
    QDialog *dig2 =new QDialog(this);
    dig2->show(); //可以保持(堆区)
    +
      +
    • 问:指针调用和对象调用为什么会出现不一样的结果?
    • +
    • 答:
    • +
    ]]>
    coding @@ -1105,57 +1156,6 @@ src="https://picturnl.oss-cn-shanghai.aliyuncs.com/20230613160326.png" />

    生活
    - - Python 机器学习 - /2022/01/19/Python%E5%9B%BE%E5%83%8F%E8%AF%86%E5%88%AB/ - 下面是本人总结的Python机器学习-图像处理的步骤

    - -

    环境配置(垃圾分类项目)

    -

    项目使用树莓派4B,具体流程如下

    -
      -
    • 下载win32_disk_imager,烧录镜像,在BOOT分区下建立文件名为SSH的文件,无后缀
    • -
    • 下载PUTTY(记得将后缀it删除)和VNC
    • -
    • 或者使用xshellxftp操作
    • -
    • 使用SSH连接树莓派,树莓派自带Python3和Python2,使用pip配置环境
    • -
    -
      -
    1. 修改deb镜像源
    2. -
    -
    deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
    deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
    -

    修改树莓派pip源。请记住,/etc/pip.conf,里面默认是

    -
    [global]
    extra-index-url=https://www.piwheels.org/simple
    -

    请不要修改,这个网址专为树莓定制

    -

    pip永久换源(win和linux通用)

    -
    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
    -

    linux里面的永久源的地址为/home/pi/.config/pip/pip.conf,需要修改可以直接编辑

    -

    也可以这样换源

    -
    mkdir ~/.pip
    vim ~/.pip/pip.conf
    -
    [global]
    timeout=100
    index-url=https://pypi.tuna.tsinghua.edu.cn/simple/
    extra-index-url= http://mirrors.aliyun.com/pypi/simple/
    [install]
    trusted-host=
    pypi.tuna.tsinghua.edu.cn
    mirrors.aliyun.com
    -

    这里的trusted-host只有当链接不是https时需要,即将阿里云的网站改为

    -
    extra-index-url= https://mirrors.aliyun.com/pypi/simple
    -

    ubuntu配置opencv

    -
      -
    • 网上所有的教程都无法直接成功,所以,个人的踩坑经历
    • -
    • 首先去opencv-python下载对应Python版本的opencv
    • -
    • 然后移入树莓派中,使用pip3 install ...whl即可成功
    • -
    • 很多的包都有这个特点,所以,要注意这个点,当自己的树莓派无法安装时,可以考虑这个专门为树莓派做的网站
    • -
    -

    安装多线程工具axel

    -
    apt-get install axel
    -

    下载方式

    -
    axel 参数 文件下载地址
    常用可选参数:
    -s 设置最大下载速度,如果限制到512KB/s,则填写512000
    -n 指定连接数
    -o 指定另存为目录,或者指定的目录+文件名
    -H 指定header
    -U 指定useragent
    -q 静默模式
    -a 更改默认进度条样式

    eg:
    axel -n 30 http://archive.cloudera.com/cm5/cm/5/cloudera-manager-centos7-cm5.15.2_x86_64.tar.gz
    -]]>
    - - coding - -
    DSP /2022/03/14/Signals%20and%20Systems/ @@ -1189,16 +1189,6 @@ href="https://www.piwheels.org/project/opencv-python/">opencv-python下载 电子 - - 学业生涯规划指导经验交流贴 - /2023/10/31/Study%20exchange%20meeting/ - 欢迎交流

    - -]]>
    - - 学习 - -
    树莓派实现联邦学习 /2023/12/29/Raspberry_federated_learning/ @@ -1550,6 +1540,16 @@ W_{\text {long }}=\frac{2 W_{L}+W_{\text {city }}(T)}{2 L / v_{\text Math model + + 学业生涯规划指导经验交流贴 + /2023/10/31/Study%20exchange%20meeting/ + 欢迎交流

    + +]]>
    + + 学习 + +
    爬虫小结 /2021/02/02/Web%20Crawler/ @@ -2201,6 +2201,12 @@ class="math inline">\(O(1)\) Code + + + /2023/10/17/index/ + +]]> + Linux开发项目总结 /2023/11/25/linux_problem/ @@ -2343,74 +2349,6 @@ verbose详细显示,-f file文件属性)

    3.进入onlyoffice修改etc/onlyoffice/documentserver/default.json,修改如下

    "rejectUnauthorized": false



    "allowPrivateIPAddress": true,
    "allowMetaIPAddress": true

    重启docker

    -]]> - - Code - -
    - - - /2023/10/17/index/ - -]]> - - - ikuai搭建seafile-docker - /2024/01/20/seafile6.3.4%E7%88%B1%E5%BF%AB%E7%B3%BB%E7%BB%9F%E6%90%AD%E5%BB%BA%E6%95%99%E7%A8%8B/ - 这是一篇有关使用ikuai搭建6.3.4的博客,并且实现了ipv6的访问

    - -

    step1: 安装seafile-docker

    -

    下载seafileltd/seafile:latest镜像

    -
    - - -
    -

    在容器设置中挂载目录

    -
      -
    • /shared
    • -
    -

    如下环境变量设置账号和密码

    -
      -
    • SEAFILE_ADMIN_EMAIL
    • -
    • SEAFILE_ADMIN_PASSWORD
    • -
    -

    step2:安装 iputils-ping

    -

    因为docker中的ipv6如果不往外界发出信号,路由是无法知道该容器的ipv6地址,所以需要安装ping工具每隔一段时间不断发包,表示心跳

    -

    1.更新apt包

    -
    apt update
    -

    2.安装iputils-ping

    -
    apt-get install -y iputils-ping
    -

    3.测试ping百度

    -
    ping -6 -c 1 www.baidu.com
    -

    3.编写/root/script/ping.sh

    -
    while true; do
    ping -c 1 -6 www.baidu.com > /dev/null
    sleep 15
    done &
    -

    4.修改ping.sh为可执行文件

    -
    chmod +x /root/script/ping.sh
    -

    5.测试脚本执行情况:如下执行成功

    -

    6.修改自启动脚本

    -

    /root/.bashrc中追加

    -
    if [ -f /root/script/ping.sh ]; then
    /root/script/ping.sh
    fi
    -

    一般而言,由于seafile不自动开bash,因此,建议将上述加入.bashrc加入到seafile-server-latest/seafile.sh中,添加到echo "Seafile server started"的前面.

    -

    step3:设置nginx反向代理

    -

    1.创建/etc/nginx/conf.d/seafile.conf,内容如下

    -
    server {
    listen [::]:80;
    server_name seafile.ninglang.fun;

    proxy_set_header X-Forwarded-For $remote_addr;

    location / {
    proxy_pass http://127.0.0.1:8000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Host $server_name;
    proxy_read_timeout 1200s;

    # used for view/edit office file via Office Online Server
    client_max_body_size 0;

    access_log /var/log/nginx/seahub.access.log;
    error_log /var/log/nginx/seahub.error.log;
    }


    location /seafhttp {
    rewrite ^/seafhttp(.*)$ $1 break;
    proxy_pass http://127.0.0.1:8082;
    client_max_body_size 0;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_connect_timeout 36000s;
    proxy_read_timeout 36000s;
    proxy_send_timeout 36000s;

    send_timeout 36000s;
    }

    location /seafdav {
    fastcgi_pass 127.0.0.1:8080;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_script_name;
    fastcgi_param SERVER_PROTOCOL $server_protocol;
    fastcgi_param QUERY_STRING $query_string;
    fastcgi_param REQUEST_METHOD $request_method;
    fastcgi_param CONTENT_TYPE $content_type;
    fastcgi_param CONTENT_LENGTH $content_length;
    fastcgi_param SERVER_ADDR $server_addr;
    fastcgi_param SERVER_PORT $server_port;
    fastcgi_param SERVER_NAME $server_name;
    client_max_body_size 0;
    proxy_connect_timeout 36000s;
    proxy_read_timeout 36000s;
    proxy_send_timeout 36000s;
    send_timeout 36000s;

    # This option is only available for Nginx >= 1.8.0. See more details below.
    proxy_request_buffering off;
    access_log /var/log/nginx/seafdav.access.log;
    error_log /var/log/nginx/seafdav.error.log;
    }

    }

    -

    2.测试文件格式正常

    -
    nginx -t

    #nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    #nginx: configuration file /etc/nginx/nginx.conf test is successful
    -

    重启docker容器

    -

    step4:设置seafile

    -

    修改SERVICE_URLFILE_SERVER_ROOT

    -

    SERVICE_URL:http://seafile.ninglang.fun

    -

    FILE_SERVER_ROOT:http://seafile.ninglang.fun/seafhttp

    -

    step5:设置seafdav

    -

    设置/conf/seafdav.conf中为

    -
    enabled = true
    port = 8080
    fastcgi = true
    share_name = /seafdav
    -

    在手机端设置

    -

    网络地址:seafile.ninglang.fun/seafdav

    -

    账号密码如实填写

    ]]>
    Code @@ -2546,6 +2484,68 @@ href="https://blog.csdn.net/m0_51961114/article/details/120699238">(34条消息) code
    + + ikuai搭建seafile-docker + /2024/01/20/seafile6.3.4%E7%88%B1%E5%BF%AB%E7%B3%BB%E7%BB%9F%E6%90%AD%E5%BB%BA%E6%95%99%E7%A8%8B/ + 这是一篇有关使用ikuai搭建6.3.4的博客,并且实现了ipv6的访问

    + +

    step1: 安装seafile-docker

    +

    下载seafileltd/seafile:latest镜像

    +
    + + +
    +

    在容器设置中挂载目录

    +
      +
    • /shared
    • +
    +

    如下环境变量设置账号和密码

    +
      +
    • SEAFILE_ADMIN_EMAIL
    • +
    • SEAFILE_ADMIN_PASSWORD
    • +
    +

    step2:安装 iputils-ping

    +

    因为docker中的ipv6如果不往外界发出信号,路由是无法知道该容器的ipv6地址,所以需要安装ping工具每隔一段时间不断发包,表示心跳

    +

    1.更新apt包

    +
    apt update
    +

    2.安装iputils-ping

    +
    apt-get install -y iputils-ping
    +

    3.测试ping百度

    +
    ping -6 -c 1 www.baidu.com
    +

    3.编写/root/script/ping.sh

    +
    while true; do
    ping -c 1 -6 www.baidu.com > /dev/null
    sleep 15
    done &
    +

    4.修改ping.sh为可执行文件

    +
    chmod +x /root/script/ping.sh
    +

    5.测试脚本执行情况:如下执行成功

    +

    6.修改自启动脚本

    +

    /root/.bashrc中追加

    +
    if [ -f /root/script/ping.sh ]; then
    /root/script/ping.sh
    fi
    +

    一般而言,由于seafile不自动开bash,因此,建议将上述加入.bashrc加入到seafile-server-latest/seafile.sh中,添加到echo "Seafile server started"的前面.

    +

    step3:设置nginx反向代理

    +

    1.创建/etc/nginx/conf.d/seafile.conf,内容如下

    +
    server {
    listen [::]:80;
    server_name seafile.ninglang.fun;

    proxy_set_header X-Forwarded-For $remote_addr;

    location / {
    proxy_pass http://127.0.0.1:8000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Host $server_name;
    proxy_read_timeout 1200s;

    # used for view/edit office file via Office Online Server
    client_max_body_size 0;

    access_log /var/log/nginx/seahub.access.log;
    error_log /var/log/nginx/seahub.error.log;
    }


    location /seafhttp {
    rewrite ^/seafhttp(.*)$ $1 break;
    proxy_pass http://127.0.0.1:8082;
    client_max_body_size 0;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_connect_timeout 36000s;
    proxy_read_timeout 36000s;
    proxy_send_timeout 36000s;

    send_timeout 36000s;
    }

    location /seafdav {
    fastcgi_pass 127.0.0.1:8080;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_script_name;
    fastcgi_param SERVER_PROTOCOL $server_protocol;
    fastcgi_param QUERY_STRING $query_string;
    fastcgi_param REQUEST_METHOD $request_method;
    fastcgi_param CONTENT_TYPE $content_type;
    fastcgi_param CONTENT_LENGTH $content_length;
    fastcgi_param SERVER_ADDR $server_addr;
    fastcgi_param SERVER_PORT $server_port;
    fastcgi_param SERVER_NAME $server_name;
    client_max_body_size 0;
    proxy_connect_timeout 36000s;
    proxy_read_timeout 36000s;
    proxy_send_timeout 36000s;
    send_timeout 36000s;

    # This option is only available for Nginx >= 1.8.0. See more details below.
    proxy_request_buffering off;
    access_log /var/log/nginx/seafdav.access.log;
    error_log /var/log/nginx/seafdav.error.log;
    }

    }

    +

    2.测试文件格式正常

    +
    nginx -t

    #nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    #nginx: configuration file /etc/nginx/nginx.conf test is successful
    +

    重启docker容器

    +

    step4:设置seafile

    +

    修改SERVICE_URLFILE_SERVER_ROOT

    +

    SERVICE_URL:http://seafile.ninglang.fun

    +

    FILE_SERVER_ROOT:http://seafile.ninglang.fun/seafhttp

    +

    step5:设置seafdav

    +

    设置/conf/seafdav.conf中为

    +
    enabled = true
    port = 8080
    fastcgi = true
    share_name = /seafdav
    +

    在手机端设置

    +

    网络地址:seafile.ninglang.fun/seafdav

    +

    账号密码如实填写

    +]]>
    + + Code + +
    遗传算法 /2022/02/20/yichuan/ @@ -2573,6 +2573,22 @@ href="https://blog.csdn.net/m0_51961114/article/details/120699238">(34条消息) coding + + 卷积神经网络 + /2023/06/25/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/ + 移动通信重点总结

    + +

    CNN可视化:CNN +Explainer

    +

    SWim Transform

    +

    Swin +Transformer迎来30亿参数的v2.0,我们应该拥抱视觉大模型吗?.

    +]]>
    + + Code + +
    时间预测模型 /2022/02/20/%E6%97%B6%E9%97%B4%E9%A2%84%E6%B5%8B%E6%A8%A1%E5%9E%8B/ @@ -2647,22 +2663,6 @@ class="math display">\[ Math Model - - 卷积神经网络 - /2023/06/25/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/ - 移动通信重点总结

    - -

    CNN可视化:CNN -Explainer

    -

    SWim Transform

    -

    Swin -Transformer迎来30亿参数的v2.0,我们应该拥抱视觉大模型吗?.

    -]]>
    - - Code - -
    近代史实践总结 /2022/01/03/%E8%BF%91%E4%BB%A3%E5%8F%B2%E5%AE%9E%E8%B7%B5%E6%80%BB%E7%BB%93/