【CSND博客紀念】“創作紀念日:從靈感迸發到小有成就——我的CSND博客創作之旅”

🎩 歡迎來到技術探索的奇幻世界👨?💻

📜 個人主頁:@一倫明悅-CSDN博客

?🏻 作者簡介:?C++軟件開發、Python機器學習愛好者

🗣??互動與支持:💬評論?? ? ?👍🏻點贊?? ? ?📂收藏?? ? 👀關注+

如果文章有所幫助,歡迎留下您寶貴的評論,點贊加收藏支持我,點擊關注,一起進步!


機緣

? ? ? ? 不知不覺已經到了第一個創作紀念日,從2021年7月加入CSDN直到2023年9月1日開始書寫第一篇博客,中間經歷了研究生兩年的生活,在研究生學習過程中,需要學習的內容越來越多,有時候很讓人力不從心,并且做的很多項目也積累了不少經驗,想要將這些分享給大家,希望能帶來一些幫助,這就是寫博客的初心,初心源于對技術和知識的熱愛,也可能源于對實踐經驗的渴望。????????

????????在實戰項目中的經驗分享中,我在解決問題、應對挑戰的過程中開始思考、總結并記錄下來,逐漸形成了寫作的動力。日常學習過程中的記錄則是將學到的知識整理輸出,不僅可以加深對知識的理解,也能夠與他人分享交流,從中獲得更多的反饋和啟發。通過文章進行技術交流則是作者展示自己對特定技術領域的理解和見解,與其他技術人員交流討論,共同探討問題并找到解決方案。
????????下面是一些進行寫作的主要原因:

? ? ?(1)來自于實戰項目中的經驗分享:

????????在實戰項目中積累的很多經驗包括在實際項目中遇到的問題、解決方案以及經驗教訓,可以幫助他人更好地理解和應對類似的挑戰。這種分享不僅可以加深自身對問題的理解,還可以為其他人提供寶貴的參考和指導。

? ? ? ? 在分享實戰項目中的經驗時,我會詳細描述項目的背景和目標,介紹遇到的具體問題或挑戰,并說明解決問題的思路和方法。分享自己在解決問題過程中的思考過程、遇到的困難以及如何克服困難的實際操作步驟。同時,還會分享在解決問題中學到的經驗教訓,以及后續改進的方向和建議。

????????通過詳細地分享實戰項目中的經驗,讀者可以從中汲取寶貴的經驗和教訓,避免踩坑,提高解決問題的效率和質量。這種分享可以促進技術交流和共同進步。

? ? ?(2)日常學習過程中的記錄:

????????寫博客的另一個原因是日常學習過程中的記錄需要是一種非常有益的習慣。通過將自己的學習成果、心得體會以及解決問題的經驗記錄在博客中,不僅可以加深對知識的理解,還能夠幫助自己系統地整理和歸納所學內容。

????????首先,記錄學習過程中的點滴細節和收獲可以幫助自己形成學習的閉環。通過不斷地總結、整理和輸出,可以加深對知識的理解,幫助記憶并鞏固所學內容。此外,通過寫作的方式,還能夠培養自己的思維邏輯能力和表達能力,提高文字表達的水平。

????????其次,通過在博客中記錄學習過程中的內容,還可以與他人分享和交流。其他讀者可以從中獲得啟發、指導或解決問題的思路,形成技術共享和交流的平臺。同時,讀者的反饋和評論也能夠幫助作者不斷改進和提升,促進共同進步。

????????此外,通過博客記錄學習過程還可以留下自己的學習足跡和思考軌跡。隨著時間的推移,可以回顧自己曾經的學習歷程和成長經歷,看到自己的進步和成就,激勵自己繼續前行。

????????因此,寫博客為了日常學習過程中的記錄需要不僅有助于個人學習成長,還可以為他人提供有益的信息和啟發,促進技術的傳播和交流。這種分享精神不僅可以幫助自己成長,也可以造福他人,實現共贏的局面。

? ? ?(3)通過文章進行技術交流:

? ? ? ? 還有最重要的一點是通過文章進行技術交流,包括撰寫技術性文章,分享自己在特定領域的見解、經驗和解決問題的方法,與其他技術人員進行深入的交流和探討。這種方式不僅可以展示作者的專業知識和技術水平,還能夠促進技術領域的交流和共同進步。

????????首先,通過文章進行技術交流可以展示專業知識和見解。可以通過分享自己在特定技術領域的研究成果、實踐經驗或者對技術發展的思考,向讀者展示自己的專業素養和深度。

????????其次,通過文章進行技術交流可以促進技術領域的交流和共享。其他技術人員可以通過閱讀我的文章,了解到研究成果和經驗教訓,從中獲得啟發和指導。同時,讀者還可以通過評論和反饋的方式與其進行互動,提出問題、分享見解,共同探討技術問題并找到解決方案。

????????此外,通過文章進行技術交流還可以推動技術領域的進步和發展。可以通過分享自己的技術創新和解決方案,為技術領域的發展貢獻自己的力量。同時,通過與其他技術人員的交流和合作,可以促進技術的傳播和應用,推動技術領域的不斷創新和進步。


收獲

????????在創作過程中可能會有很多種收獲,這些收獲不僅體現在數字指標上,還包括對自身成長和社交網絡的積極影響。截至目前為止,共寫出48篇原創文章。

????????粉絲關注:

????????通過博客的創作,我會吸引到一批粉絲或讀者群體。目前為止,粉絲共有642人,鐵粉共有25人,這些粉絲可能會定期關注博客更新,或者通過社交媒體分享你的內容,從而擴大影響力和知名度。粉絲的關注不僅可以提升在網絡上的影響力,還能夠激勵持續創作和分享有價值的內容。

????????正向反饋:

????????當文章受到讀者的歡迎時,會帶來各種形式的正向反饋,比如贊、評論、轉發和閱讀量增加等。共獲得點贊815次,收藏652次,積極評論141次,這些反饋不僅是努力的肯定,還能夠幫助更好地了解讀者的需求和興趣,指導未來的創作方向。

????????認識同行:

????????通過博客的創作,我也結識到許多志同道合的領域同行。這些同行可能是在同一領域從事相關工作或有相似興趣愛好的人。與他們的交流和互動不僅可以拓展我的人際網絡,還能夠獲得來自不同角度的觀點和建議,促進彼此的成長和學習。有時候,這些同行還可能成為未來的合作伙伴或者良師益友,共同探索和解決技術領域的問題。

????????知識和技能提升:

????????創作博客需要對所寫內容進行深入的思考和研究,這會促使不斷地學習和提升自己的知識和技能。在寫作的過程中,可能會遇到各種問題和挑戰,需要去查閱資料、學習新知識,從而拓展自己的視野和認知。這種持續學習和成長的過程,會使自己不斷地進步和提升,成為更優秀的技術人員。

????????總的來說,博客創作的收獲遠不止于數字指標,它還包括對自身技術能力和專業素養的提升,對社交網絡的擴展和深化,以及對行業內同行的認識和交流。這些收獲都是在個人成長和職業發展過程中非常寶貴的。


日常

????????當前,創作已經成為我的生活中不可或缺的一部分,與我的工作和學習密切相關。

????????首先,創作已經融入了我的日常工作和學習中。作為一個寫作愛好者和技術從業者,我常常利用業余時間來創作博客文章,記錄自己的學習心得、技術經驗和思考。這些創作不僅是對我個人學習過程的總結和反思,也是對我所從事領域的探索和分享。因此,創作已經成為我學習過程中的一種延伸和補充,有助于我更加深入地理解和應用所學知識。

????????其次,對于如何平衡創作、工作和學習,我采取了一些策略來保持良好的平衡。首先,我會合理規劃時間,將工作、學習和創作合理分配在每天的時間段中,避免出現過度投入其中一項而忽略其他。其次,我注重高效學習和工作,提高任務完成的效率,以騰出更多時間用于創作。此外,我也會不斷調整和優化自己的工作和學習計劃,根據實際情況調整創作的時間和內容,保持整體的平衡和穩定。

????????總的來說,創作已經成為我生活的一部分,與工作和學習相互交織、相互促進。通過合理規劃和管理時間,我能夠保持良好的平衡,充分發揮創作在我的學習和工作中的作用,不斷提升自己的能力和影響力。


成就

過去寫得最好的一段代碼是在一個大型項目中,里面的代碼詳細內容位于這篇博客中[C++ QT項目實戰]----C++ QT系統實現多線程通信-CSDN博客?這里將主要代碼塊篩選出來如下:

系統多線程實現

? ? ? ? 這里講解四個實現函數文件,其實是兩個文件:mainwindow.h和mainwindow.cpp文件為主線程文件Zanj_WFC_ctrl.h和Zanj_WFC_ctrl.cpp文件為子線程文件,下面一一解釋。

? ? ? ? mainwindow.cpp文件

? ? ? ? (1)、該文件用于實現顯示主線程中的主界面,也就是運行之后,第一個界面,可以在界面上進行操作,后臺信息是由于spdlog日志信息的導入,才會進行信息顯示,便于觀察,#include "spdlog/spdlog.h",代碼中下面這一部分就是建立子線程的核心,QT中可以使用moveToThread()函數建立新線程。具體介紹如下:

????????a、m_Zanj_WFC_ctrl = new Zanj_WFC_ctrl;// 這個實例要負責預報計算任務
????????b、m_Zanj_WFC_ctrl_Thread = new QThread; // 子線程,本身不負責預報計算
????????c、connectZanj_WFC_ctrl(m_Zanj_WFC_ctrl); // 連接信號-槽,復制的開始和取消指令是通過信號發送的
????????d、m_Zanj_WFC_ctrl->moveToThread(m_Zanj_WFC_ctrl_Thread);// 將實例移動到新的線程,實現多線程運行
????????e、m_Zanj_WFC_ctrl_Thread->start();

? ? ? ? (2)、函數connectZanj_WFC_ctrl()用于連接子線程函數,里面有該函數實現的功能,使用connect()函數編寫代碼:?connect(this, SIGNAL(system_predict_init_link()), m_Zanj_WFC_ctrl, SLOT(HDGL_SYSTEM_Init()));這個函數HDGL_SYSTEM_Init()在子線程中實現,也就是說只要主線程啟動,子線程也會跟著啟動,可以在該函數中實現子線程的功能。

????????(3)、上述描述的主線程與子線程通信的案例中的實現過程如下:也是通過信號與槽函數方式,比如打開配置文件函數,首先對該函數進行實現on_Open_config_Btn_clicked(),該函數就是打開配置文件控件對應的函數,該函數實現了點擊按鈕之后,發送了信號emit send_config();該信號通過connect()函數發送到子線程,代碼為connect(this, &MainWindow::send_config, m_Zanj_WFC_ctrl, &Zanj_WFC_ctrl::OnconfigSlot);OnconfigSlot()函數在子線程中實現。

????????原理就是這樣,雖有些繁瑣,但是邏輯性強。另一個讀取數據按鈕原理一樣。

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "Zanj_WFC_ctrl.h"
#include "qdebug.h"
#include <qstring.h>#include "cglobal.h"
#include <QElapsedTimer>
#include <iostream>
#include "windows.h"
#pragma comment(lib,".\\lib\\fmtd.lib")#include "spdlog/fmt/ostr.h"
#include "spdlog/spdlog.h"
#include "spdlog/sinks/daily_file_sink.h"
#include "spdlog/sinks/stdout_color_sinks.h"
#include "spdlog/sinks/rotating_file_sink.h"#include  <QTimer>
#include  <time.h>
#include  <QLabel>
#include  <QValueAxis>
#include  <QMargins>
#include  <QtWidgets/QApplication>
#include  <QtWidgets/QMainWindow>#include <ctime>  using namespace std::literals;
using namespace std;
namespace spd = spdlog;
auto console_mainWindow = spd::stdout_color_mt("主界面控制臺");
auto rotating_logger_mainWindow = spdlog::rotating_logger_mt("CAO8_Winmain_rotating", "logs/CAO8_rotating.logger", 1048576 * 5, 12);MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{ui->setupUi(this);setWindowTitle(QString::fromLocal8Bit("主系統")); // 此處寫應用程序在標題欄上顯示的名稱setStyleSheet("background - color:pink; ");reshow();data_log_tblview();console_mainWindow->info("歡迎進入主系統UI線程[Mainwindow]!");rotating_logger_mainWindow->info("歡迎進入主系統UI線程[Mainwindow]!");m_Zanj_WFC_ctrl = new Zanj_WFC_ctrl;// 這個實例要負責預報計算任務m_Zanj_WFC_ctrl_Thread = new QThread; // 子線程,本身不負責預報計算connectZanj_WFC_ctrl(m_Zanj_WFC_ctrl); // 連接信號-槽,復制的開始和取消指令是通過信號發送的m_Zanj_WFC_ctrl->moveToThread(m_Zanj_WFC_ctrl_Thread);// 將實例移動到新的線程,實現多線程運行m_Zanj_WFC_ctrl_Thread->start();emit system_predict_init_link();// 向子線程發送打開配置文件信息connect(this, &MainWindow::send_config, m_Zanj_WFC_ctrl, &Zanj_WFC_ctrl::OnconfigSlot);// 向子線程發送讀取數據信號,子線程接收后,進行數據讀取connect(this, &MainWindow::send_rChk_ToWFC, m_Zanj_WFC_ctrl, &Zanj_WFC_ctrl::OnGETSlot);}MainWindow::~MainWindow()
{delete ui;
}// 這里連接子線程,進行子線程的開啟,子線程連接數據庫,連接大數據平臺,打開所需文件的信號傳遞,以及MainWindow界面槽函數處理信號的實現
void MainWindow::connectZanj_WFC_ctrl(Zanj_WFC_ctrl * m_Zanj_WFC_ctrl)
{connect(this, SIGNAL(system_predict_init_link()), m_Zanj_WFC_ctrl, SLOT(HDGL_SYSTEM_Init()));// 使用信號-槽機制,發出開始指令}// 打開配置文件函數
void MainWindow::on_Open_config_Btn_clicked()
{ui->Iplate4j_IP_QLE->setText("127.0.0.1");ui->model_PC_IP_QLE->setText("127.0.0.1");emit send_config();
}// 由主窗口發送數據讀取信號,子線程實現數據讀取操作
void MainWindow::on_Restful_data_read_Btn_clicked()
{emit send_rChk_ToWFC();}

????????mainwindow.h文件

????????該文件就是.cpp文件中眾多函數的聲明,以及信號的聲明,比如讀取數據時發送的信號需要在這里聲明一下,便于使用。Zanj_WFC_ctrl * m_Zanj_WFC_ctrl; // 預報計算的類
?? ?QThread * m_Zanj_WFC_ctrl_Thread; //將被移動到此線程執行
,這里也定義了指針,用于在.cpp文件中使用。

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include"ui_mainwindow.h"
#include <QMainWindow>
#include <QLabel>
#include <QtSql/QtSql>#include "spdlog/fmt/ostr.h"
#include "Zanj_WFC_ctrl.h"
#include <QVariant>
#include "wfc_to_main.h"#include <QtSql/QtSql>
#include <QDateTime>
#include <QTimer>
#include <qtextcodec.h> 
#include <QtWidgets/QApplication>
#include <QtWidgets/QMainWindow>#include <QMouseEvent>
//一定要聲明!!!
#include"dialog_data_log.h"
//#include<vector>//#include "dialog_data_log.h"
namespace Ui {class MainWindow;
}class MainWindow : public QMainWindow
{Q_OBJECTpublic:explicit MainWindow(QWidget *parent = nullptr);~MainWindow();Zanj_WFC_ctrl * m_Zanj_WFC_ctrl; // 預報計算的類QThread * m_Zanj_WFC_ctrl_Thread; //m_Mp_Pred將被移動到此線程執行void connectZanj_WFC_ctrl(Zanj_WFC_ctrl *m_Zanj_WFC_ctrl);private slots :void on_Restful_data_read_Btn_clicked();   //點擊平臺數據讀取按鈕,實現讀取數據信號發送	void on_Open_config_Btn_clicked();signals:void system_predict_init_link();//定義向子線程發送的信號,用于實現子線程開啟void send_config();      // 定義向子線程發送打開配置文件的信號void send_rChk_ToWFC();  // 定義向子線程發送數據讀取的信號private:Ui::MainWindow *ui;QLabel * pLabel;};#endif // MAINWINDOW_H

????????Zanj_WFC_ctrl.cpp文件

????????(1)、該文件中的眾多函數就是對主線程發送的信號的實現過程,當接受到主線程的信號之后,如果需要對其進行處理,便可以在這里定義函數實現過程,該HDGL_SYSTEM_Init()函數就是對主線程中connectZanj_WFC_ctrl()連接函數的實現。

?????????(2)、案例中主線程發送讀取數據信號,子線程中函數的實現OnGETSlot()在該文件中,這里適用于讀取數據函數的實現,可以根據需要進行修改。打開配置文件的實現原理與之一致。

#include "Zanj_WFC_ctrl.h"
#include "wfc_to_main.h"
#include <Python.h>
#include "qdebug.h"
#include <qstring.h>
#include <Python.h>#pragma comment(lib,"mclmcrrt.lib")  
#pragma comment(lib,"libmx.lib")  
#pragma comment(lib,"libmat.lib")  
#pragma comment(lib,"mclmcr.lib")  
#pragma comment(lib,".\\lib\\CGL_Mech_Property_BP_pred.lib")
#pragma comment(lib,".\\lib\\fmtd.lib")#include <QAxObject>
#include <QStandardPaths>
#include <QEventLoop>
#include <QDesktopWidget>#include <algorithm>
#include <numeric>
#include <vector>
#include <QVector>
#include <stdlib.h>#include "spdlog/fmt/ostr.h"
#include "spdlog/spdlog.h"
#include "spdlog/sinks/daily_file_sink.h"
#include "spdlog/sinks/stdout_color_sinks.h"
#include "spdlog/sinks/rotating_file_sink.h"using namespace libxl;
using namespace std::literals;
//using namespace fmt;
using namespace std;
namespace spd = spdlog;
auto console_WFC_thread = spd::stdout_color_mt("WFC計算線程 ");
auto rlogger_WFC_thread = spdlog::rotating_logger_mt("CAO8_WFC_thread_rotating", "logs/CAO8_rotating.logger", 1048576 * 5, 12);int Zanj_WFC_ctrl::HDGL_SYSTEM_Init()
{rlogger_WFC_thread->flush_on(spd::level::debug);console_WFC_thread->info("歡迎進入主系統計算線程");str_info = QString::fromLocal8Bit("0 應用程序環境路徑  ") + path_deploy;return 1;
}void Zanj_WFC_ctrl::OnGETSlot()
{QString strMessage;QString strResult;QString strUrl;QString strInput;QFile file(QApplication::applicationDirPath() + "/1.json");if (!file.open(QIODevice::WriteOnly)) {console_WFC_thread->error("Json file open failed! ");rlogger_WFC_thread->error("Json file open failed! ");}else {console_WFC_thread->info("Json file open successfully! ");rlogger_WFC_thread->info("Json File open successfully! ");}//QString strInput = ui.textEdit_input->toPlainText();//strUrl += "http://" + ui.lineEdit_Url->text();strUrl = serverIP + serviceID_get;strInput = clientSecret;SendAndGetText(strUrl, get1, strInput, strMessage, strResult);QJsonParseError jsonError;QByteArray byteResult = strResult.toUtf8();//QString轉QByteArray//QJsonDocument json = QJsonDocument::fromJson(byteResult, &jsonError);json_doc_get = QJsonDocument::fromJson(byteResult, &jsonError);if (json_doc_get.isNull()){console_WFC_thread->critical("json文件為空文檔");//console->critical("jsonError錯誤類型" + jsonError.errorString().toStdString());//qDebug() << jsonError.errorString();rlogger_WFC_thread->critical("json格式錯誤[json_doc_get_slot]");//qDebug() << "json格式錯誤";//注意:如果文檔中有中文,就會報格式錯誤}else if (jsonError.error != QJsonParseError::NoError){console_WFC_thread->critical("json格式錯誤[json_doc_get_slot]" + jsonError.errorString().toStdString());//qDebug() << jsonError.errorString();rlogger_WFC_thread->critical("json格式錯誤[json_doc_get_slot]");}else {if (json_doc_get.isObject()) {doc_get_Obj = json_doc_get.object();}}json_doc_get_parse();
//	RT_Iplat4j_Communication();  //放在這里可以在主窗口點擊數據讀取按鈕之后,才會提示是否數據平臺連接成功file.write(json_doc_get.toJson(QJsonDocument::Indented)); //Indented:表示自動添加/n回車符file.close();}void Zanj_WFC_ctrl::OnconfigSlot()
{configuration_read();
}

?????????Zanj_WFC_ctrl.h文件

????????該文件也是.cpp文件中眾多函數的聲明,比如處理讀取數據時發送的信號的函數需要在這里聲明一下,便于使用。

#pragma once#include <QObject>
#include <QtSql/QtSql>
#include <QVariant>//#include <connection.h>
//#include <QSql>
#include <QSqlError>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QDebug>
#include <QMessageBox>
#include <QEventLoop>
#include <qstring.h>
#include <string>
#include "snap7.h"
#include <QtCore/QJsonObject>
#include <QtCore/QJsonDocument>
#include <Python.h>class Zanj_WFC_ctrl : public QObject
{Q_OBJECTpublic:Zanj_WFC_ctrl(QObject *parent=0);~Zanj_WFC_ctrl();public slots:int HDGL_SYSTEM_Init();void OnGETSlot();void OnconfigSlot();

憧憬

????????基于以上內容,我的憧憬主要涉及職業規劃和創作規劃兩個方面。

????????職業規劃:

????????基于我對技術領域的熱愛和專業知識的積累,我希望在未來能夠在技術領域取得更進一步的發展。我憧憬能夠成為該領域的專家或領軍人物,為行業發展和創新做出積極貢獻。

????????我希望能夠在職業生涯中不斷學習和成長,掌握更多先進的技術和方法,拓展自己的技能樹,并通過實際項目和研究實踐將所學知識轉化為實際成果。

????????我也期待能夠在職業發展的過程中,不斷挑戰自我,突破自己的局限,不斷追求卓越,成為行業內的領軍人物和創新者。

????????創作規劃:

????????在創作方面,我希望能夠繼續堅持不懈地寫作,并保持高質量和高頻率的創作輸出。我憧憬能夠建立起自己在技術領域的個人品牌和影響力,成為該領域的權威人士之一。

????????我計劃通過持續不斷地創作優質內容,吸引更多的讀者和粉絲,建立起自己的讀者群體,并與他們建立起良好的互動和交流關系,從而形成一個活躍的社區。

????????同時,我也希望通過創作來推動技術領域的發展和進步,分享自己的經驗和見解,促進技術領域的交流和合作,共同推動行業的發展。

????????我的憧憬是在未來的職業生涯中不斷成長和進步,在技術領域取得更多的成就和影響力,并通過持續不斷的創作來實現個人價值和行業貢獻。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/13348.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/13348.shtml
英文地址,請注明出處:http://en.pswp.cn/web/13348.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

記錄下git的基本操作

初始化git git init git clone 拉取各分支的最新代碼 git fetch 切換分支 git checkout 分支名 提交相關操作 git add . git commit -m “提交備注” 兩個一起 git commit -am “提交備注” 如果需要撤銷操作 git log 查詢日志,提交id git revert git revert HEAD 撤銷前一…

算法分析與設計復習__遞歸方程與分治

總結自&#xff1a;【算法設計與分析】期末考試突擊課_嗶哩嗶哩_bilibili 1.遞歸&#xff0c;遞歸方程 1.1遞歸條件: 1.一個問題的解可以分解為幾個子問題的解&#xff1b; 2.這個問題與分解之后的子問題&#xff0c;除了數據規模不同&#xff0c;求解思路完全一樣; 3.存在…

【面試干貨】一個數組的倒序

【面試干貨】一個數組的倒序 1、實現思想2、代碼實現 &#x1f496;The Begin&#x1f496;點點關注&#xff0c;收藏不迷路&#x1f496; 1、實現思想 創建一個新的數組&#xff0c;然后將原數組的元素按相反的順序復制到新數組中。 2、代碼實現 package csdn;public class…

高效微砂沉淀澄清設備工藝流程

諸城市鑫淼環保小編帶大家了解一下高效微砂沉淀澄清設備工藝流程 微砂循環重介速沉設備 微砂高速絮凝沉淀系統巧妙地將混凝、絮凝、沉淀、分離幾個過程優化組合到一個設備中&#xff0c;并引入“微砂”&#xff0c;提升了水中懸浮固體的絮凝效率和分離效率&#xff0c;同時&…

如何幫孩子學好編程

學習編程對于孩子來說是一項非常有益的技能&#xff0c;不僅可以培養孩子的邏輯思維能力&#xff0c;還可以提高孩子的問題解決能力和創造力。以下是一些建議&#xff0c;幫助孩子學好編程&#xff1a; 選擇適合孩子的編程語言和工具&#xff1a;根據孩子的年齡和興趣選擇合適的…

一個強大的在線解析網站,無需登錄,只用把視頻鏈接粘貼進去就能免費解析下載視頻。

TiQu.cc是什么&#xff1f; TiQu.cc是一個強大的在線工具&#xff0c;讓用戶可以從包括Facebook、VK、Twitter、Tiktok、Instagram等在內的100多個平臺下載他們喜愛的視頻。不論是音樂、電視節目、電影、短片還是個人上傳的內容&#xff0c;TiQu.cc都可以幫助您隨時隨地以離線…

ChatGPT 4o 使用案例之一

2024年GPT迎來重大更新&#xff0c;OpenAI發布GPT-4o GPT-4o&#xff08;“o”代表“全能”&#xff09; 它可以接受任意組合的文本、音頻和圖像作為輸入&#xff0c;并生成任意組合的文本、音頻和圖像輸出。它可以在 232 毫秒內響應音頻輸入&#xff0c;平均為 320 毫秒&…

把tif的值映射到shp柵格

目錄 問題描述代碼結果示例 問題描述 假如目前有一個&#xff08;多個&#xff09;tif文件和一個shp文件&#xff0c;想要把tif中每個像素的值集成到shp文件的新字段中。如果柵格和像素是一一對應的&#xff0c;問題將會變得非常簡單&#xff1a;直接把每個像素的值映射到每個…

【Python探索之旅】字典

字典的基本特性 創建字典 修改字典 添加鍵值對 刪除鍵值對 字典方法 遍歷字典 完結撒花? 前言 字典是 Python 中內建的一種具有彈性儲存能力的數據結構&#xff0c;可存儲任意類型對象&#xff0c;與序列使用整數索引不同&#xff0c;它使用鍵(key)進行索引。 通常任何不…

小白也會SQL:大模型改變交互方式(上)

在人工智能與自然語言處理交匯點&#xff0c;有一種技術正悄然改變與數據交互的方式——將日常語言轉化為精準SQL查詢。這一“text-to-sql”轉換任務&#xff0c;使非專業人士也能輕松駕馭復雜的數據庫操作&#xff0c;極大地拓寬了數據應用的邊界。 然而&#xff0c;現有前沿…

linux系統查看服務器硬件信息

1、查看服務器型號、序列號 # dmidecode|grep "System Information" -A9 | egrep "Manufacturer|Product|Serial" 2、查看主板型號 # dmidecode |grep -A16 "System Information$" 或 dmidecode -t1 3、查看BIOS信息 # dmidecode -t bios 4、…

學習大數據:論學習Spark的重要性

隨著科技的不斷發展&#xff0c;大數據已經成為了當今社會的熱門話題。大數據技術的出現&#xff0c;為我們提供了處理海量數據的新方法&#xff0c;使得我們能夠從這些數據中挖掘出有價值的信息。在眾多的大數據處理框架中&#xff0c;Apache Spark無疑是最為出色的一種。本文…

部分基于深度學習的主流目標檢測算法

文章目錄 Anchor-Based方法Two-stage目標檢測算法RCNNFast RCNNFaster RCNNFPN(理解為Faster R-CNN中的一個關鍵組件或改進模塊) One-stage目標檢測算法YOLOSSD Anchor-Free方法CornerNetCenterNetFSAFFCOSSAPD 基于transformer的方法DETR 常用數據集Reference 目標檢測是計算機…

vue嵌套路由

一、嵌套 children配置 1.父類路由 mymusic 2.子類路由 musicson 1.創建MusicSon組件 <template><div><p>從前和后來</p><p>唯一</p><p>運氣來的似有若無</p></div> </template><script>export defaul…

linux du 排除 某一個目錄 proc

Linux的du用法排除某個目錄_du -sh 排除目錄-CSDN博客 du -sh /* --exclude"*proc*"

通俗易懂的策略模式講解

什么是策略模式&#xff1f; 策略模式是一種設計模式&#xff0c;它允許你定義一系列的算法&#xff08;策略&#xff09;&#xff0c;并將每個算法封裝成一個對象。這樣&#xff0c;你可以輕松地切換不同的算法&#xff0c;而不需要改變原始代碼。 一個簡單的例子 假設你是…

韻搜坊 -- 前后端聯調實現搜索圖片

文章目錄 后端新建圖片類型Picture創建圖片接口類PictureController新建PictureQueryRequest創建Service類創建實現類PictureServiceImpl 前端添加接口獲取后端數據修改picture頁面內容添加文章&#xff0c;圖片的搜索功能修改查詢參數的獲取&#xff0c;實現查詢用戶功能 存在…

這10款安卓APP,簡直好用到爆!

AI視頻生成&#xff1a;小說文案智能分鏡智能識別角色和場景批量Ai繪圖自動配音添加音樂一鍵合成視頻http://AI視頻生成&#xff1a;小說文案智能分鏡智能識別角色和場景批量Ai繪圖自動配音添加音樂一鍵合成視頻 1.追書——追書神器 追書神器是小說追新大神&#xff0c;全網實…

基于RequestResponseBodyMethodProcessor的Trim功能裝飾者模式實現

文章目錄 前言一、實現1.1 Trim1.2 TrimRequestResponseBodyMethodProcessorDecorator1.3 Configuration 二、測試2.1 測試用例2.2 測試結果2.2.1 Test no.12.2.2 Test no.22.2.3 Test no.32.2.4 Test no.4 前言 公司內部系統老是有人填表單復制粘貼老是整出前后空格來. 前端…