Ubuntu18.04初始化

来源:https://www.cnblogs.com/Black-Cobra/archive/2019/11/23/11919385.html
-Advertisement-
Play Games

Ubuntu18.04初始化 1. 更新源: 2. 添加中文輸入法:(Ubuntu18.04版使用fctix+sougoupinyin選詞亂碼) Setting Region & Language Manage Installed Languages Select 在 中添加 3. 安裝Chrome ...


Ubuntu18.04初始化

  1. 更新源:
    • sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    • sudo gedit /etc/apt/sources.list
        deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
        deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
        deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
        deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
        deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
        deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
        deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
        deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
        deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
        deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
    • sudo apt-get update
    • sudo apt-get upgrade
  2. 添加中文輸入法:(Ubuntu18.04版使用fctix+sougoupinyin選詞亂碼)
    • Setting->Region & Language->Manage Installed Languages
    • Select Install
    • shutdown -r now
    • Input Source中添加Chinese(Pinyin)
  3. 安裝Chrome:
    • sudo wget http://www.linuxidc.com/files/repo/google-chrome.list -P /etc/apt/sources.list.d/
    • wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
    • 上面命令如果失敗則在/etc/apt/sources.list.d/google-chrome.list中刪除deb [arch=amd64] https://repo.fdzh.org/chrome/deb/ stable main
    • sudo apt update
    • sudo apt install google-chrome-stable
    • 安裝Chrome插件(開發者模式)鏈接: https://pan.baidu.com/s/1z0Ugy9XEaLf3F74lNC5LzQ 提取碼: f3fc
    • Google用戶登陸Chrome。。。
  4. 安裝配置git和vim:
    • sudo apt-get install git vim
    • 配置git:
      • git config --global user.name "xxx"
      • git config --global user.email "[email protected]"
      • ssh-keygen -t rsa -C "[email protected]"
      • cat ~/.ssh/id_rsa.pub
      • 將生成的ssh-key配置到github中即可。
    • 配置Vim:
      • mkdir -p ~/.vim/bundle
      • git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
      • cd ~/.vim
      • mkdir colors
      • git clone https://github.com/tomasr/molokai.git
      • cp -a molokai/colors/* colors/
      • cd ~ & gedit .vimrc
      • .vimrc配置如下:
      set number
      "set nonumber
      "設置行間距
      set linespace=15
      "配色
      colorscheme molokai
      "不與vi相容,採用vim自己的操作命令
      set nocompatible
      "語法高亮
      syntax on
      "在底部顯示模式
      set showmode
      "命令模式下,在底部顯示當前輸入的指令
      set showcmd
      "支持使用滑鼠
      set mouse=a
      set selection=exclusive
      set selectmode=mouse,key
      "設置粘貼模式
      "set paste
      "共用剪貼板
      set clipboard=unnamed
      "使用 utf-8編碼 緩存文本
      set encoding=utf-8
      "文件編碼
      set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
      "輸出終端編碼
      set termencoding=utf-8
      "按下回車鍵之後,下一行的縮進會自動跟上一行的縮進保持一致
      set autoindent
      "按下Tab鍵之後,Vim顯示的空格數
      set tabstop=4
      "Tab鍵自動轉為空格
      set expandtab
      "Tab轉為多少個空格
      set softtabstop=4
      "顯示游標所在的當前行的行號,其他行都為相對於改行的相對行號
      "set relativenumber
      "游標所在的當前行高亮
      set cursorline
      "設置行寬
      "set textwidth=80
      "自動折行
      "set wrap
      "set nowrap
      "只有遇到指定的符號,才發生折行,不會在單次內部折行
      "set linebreak
      "指定折行處與編輯視窗右邊緣之間空出的字元數
      "set wrapmargin=2
      "垂直滾動時,游標距離頂部或底部的位置
      "set scrolloff=5
      "水平滾動時,游標距離行首或行尾的距離
      "set sidescrolloff=15
      "是否顯示狀態欄
      set laststatus=2
      "在狀態欄顯示游標的當前位置
      set ruler
      "游標遇到圓括弧,方括弧,自動高亮對應另一半
      set showmatch
      "搜索時,高亮匹配結果
      set hlsearch
      "輸入搜索模式,每輸入一個字元,就自動跳到第一個匹配的結果
      set incsearch
      "搜索是忽略大小寫
      "set ignorecase
      "英語拼寫檢查
      "set spell spelllang=en_us
      "自動切換工作目錄到正在編輯的文件
      set autochdir
      "vim需要記住多少次歷史操作
      set history=1000
      "打開文件監視,防止文件在外部被更改
      set autoread
      " 命令模式下,底部操作指令按下Tab鍵自動補全
      set wildmenu
      set wildmode=longest:list,full
      "配置插件管理器Vundle
      set rtp+=~/.vim/bundle/Vundle.vim "runtimepath運行路徑
      call vundle#begin()
      "在這裡安裝插件
      Plugin 'gmarik/Vundle.vim'
      "安裝NERDTree
      Plugin 'scrooloose/nerdtree'
      "支持markdown
      Plugin 'godlygeek/tabular'
      Plugin 'plasticboy/vim-markdown'
      Plugin 'suan/vim-instant-markdown'
      call vundle#end()
      " 確保文件類型檢測打開
      filetype plugin on
      "配置markdown
      " 關閉實時預覽
      let g:instant_markdown_slow = 0
      " 關閉打開文件自動預覽
      let g:instant_markdown_autostart = 1
      " 開放給網路上的其他人
      let g:instant_markdown_open_to_the_world = 1
      " 允許腳本允許
      let g:instant_markdown_allow_unsafe_content = 1
      " 阻止外部資源載入
      let g:instant_markdown_allow_external_content = 0
      " 配置NERDTree
      map <F2> :NERDTreeToggle<CR>
      autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
      "視窗圖標
      let g:NERDTreeDirArrowExpandable = '▸'
      let g:NERDTreeDirArrowCollapsible = '▾'
      ""視窗位置
      let g:NERDTreeWinPos='left'
      ""視窗尺寸
      let g:NERDTreeSize=30   
      ""視窗是否顯示行號
      let g:NERDTreeShowLineNumbers=1
      ""不顯示隱藏文件
      let g:NERDTreeHidden=0
      • 進入到vim中,執行命令::PluginInstall
  5. 安裝nodejs:
    • sudo apt-get install nodejs
    • sudo apt-get install npm
    • sudo npm -g install n //nodejs的版本管理工具
  6. vim配置markdown:
    • 前置步驟:4 & 5
    • sudo npm -g install instant-markdown-d
    • sudo apt install ruby-pygments.rb
    • sudo apt install ruby-redcarpet
    • 目前發現chrome沒反應
  7. 美化grub:
    • 下載grub主題:grub主題地址
    • 解壓:tar -xf Tela-1080p.tar.xz
    • 創建grub主題目錄:sudo mkdir /boot/grub/themes
    • 拷貝文件:sudo cp -a Tela-1080p/Tela /boot/grub/themes/
    • 配置:sudo vim /etc/default/grub添加GRUB_THEME="/boot/grub/themes/Tela/theme.txt"
    • 使生效:sudo update-grub
  8. 設置grub:
    • 備份grub.cfg:sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.bak
    • 打開grub.cfg註釋下麵的配置:
    #submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-63719751-ee5c-41e4-9fd9-f850b8ffac83' {
    #   menuentry 'Ubuntu, with Linux 4.15.0-71-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-71-generic-advanced-63719751-ee5c-41e4-9fd9-f850b8ffac83' {
    #       recordfail
    #       load_video
    #       gfxmode $linux_gfx_mode
    #       insmod gzio
    #       if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    #       insmod part_msdos
    #       insmod ext2
    #       set root='hd0,msdos6'
    #       if [ x$feature_platform_search_hint = xy ]; then
    #         search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6  63719751-ee5c-41e4-9fd9-f850b8ffac83
    #       else
    #         search --no-floppy --fs-uuid --set=root 63719751-ee5c-41e4-9fd9-f850b8ffac83
    #       fi
    #       echo    'Loading Linux 4.15.0-71-generic ...'
    #           linux   /boot/vmlinuz-4.15.0-71-generic root=UUID=63719751-ee5c-41e4-9fd9-f850b8ffac83 ro  quiet splash $vt_handoff
    #       echo    'Loading initial ramdisk ...'
    #       initrd  /boot/initrd.img-4.15.0-71-generic
    #   }
    #   menuentry 'Ubuntu, with Linux 4.15.0-71-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-71-generic-recovery-63719751-ee5c-41e4-9fd9-f850b8ffac83' {
    #       recordfail
    #       load_video
    #       insmod gzio
    #       if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    #       insmod part_msdos
    #       insmod ext2
    #       set root='hd0,msdos6'
    #       if [ x$feature_platform_search_hint = xy ]; then
    #         search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6  63719751-ee5c-41e4-9fd9-f850b8ffac83
    #       else
    #         search --no-floppy --fs-uuid --set=root 63719751-ee5c-41e4-9fd9-f850b8ffac83
    #       fi
    #       echo    'Loading Linux 4.15.0-71-generic ...'
    #           linux   /boot/vmlinuz-4.15.0-71-generic root=UUID=63719751-ee5c-41e4-9fd9-f850b8ffac83 ro recovery nomodeset 
    #       echo    'Loading initial ramdisk ...'
    #       initrd  /boot/initrd.img-4.15.0-71-generic
    #   }
    #   menuentry 'Ubuntu, with Linux 4.15.0-20-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-20-generic-advanced-63719751-ee5c-41e4-9fd9-f850b8ffac83' {
    #       recordfail
    #       load_video
    #       gfxmode $linux_gfx_mode
    #       insmod gzio
    #       if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    #       insmod part_msdos
    #       insmod ext2
    #       set root='hd0,msdos6'
    #       if [ x$feature_platform_search_hint = xy ]; then
    #         search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6  63719751-ee5c-41e4-9fd9-f850b8ffac83
    #       else
    #         search --no-floppy --fs-uuid --set=root 63719751-ee5c-41e4-9fd9-f850b8ffac83
    #       fi
    #       echo    'Loading Linux 4.15.0-20-generic ...'
    #           linux   /boot/vmlinuz-4.15.0-20-generic root=UUID=63719751-ee5c-41e4-9fd9-f850b8ffac83 ro  quiet splash $vt_handoff
    #       echo    'Loading initial ramdisk ...'
    #       initrd  /boot/initrd.img-4.15.0-20-generic
    #   }
    #   menuentry 'Ubuntu, with Linux 4.15.0-20-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-20-generic-recovery-63719751-ee5c-41e4-9fd9-f850b8ffac83' {
    #       recordfail
    #       load_video
    #       insmod gzio
    #       if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    #       insmod part_msdos
    #       insmod ext2
    #       set root='hd0,msdos6'
    #       if [ x$feature_platform_search_hint = xy ]; then
    #         search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6  63719751-ee5c-41e4-9fd9-f850b8ffac83
    #       else
    #         search --no-floppy --fs-uuid --set=root 63719751-ee5c-41e4-9fd9-f850b8ffac83
    #       fi
    #       echo    'Loading Linux 4.15.0-20-generic ...'
    #           linux   /boot/vmlinuz-4.15.0-20-generic root=UUID=63719751-ee5c-41e4-9fd9-f850b8ffac83 ro recovery nomodeset 
    #       echo    'Loading initial ramdisk ...'
    #       initrd  /boot/initrd.img-4.15.0-20-generic
    #   }
    #}
    
    ### BEGIN /etc/grub.d/20_memtest86+ ###
    #menuentry 'Memory test (memtest86+)' {
    #   insmod part_msdos
    #   insmod ext2
    #   set root='hd0,msdos6'
    #   if [ x$feature_platform_search_hint = xy ]; then
    #     search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6  63719751-ee5c-41e4-9fd9-f850b8ffac83
    #   else
    #     search --no-floppy --fs-uuid --set=root 63719751-ee5c-41e4-9fd9-f850b8ffac83
    #   fi
    #   knetbsd /boot/memtest86+.elf
    }
    #menuentry 'Memory test (memtest86+, serial console 115200)' {
    #   insmod part_msdos
    #   insmod ext2
    #   set root='hd0,msdos6'
    #   if [ x$feature_platform_search_hint = xy ]; then
    #     search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6  63719751-ee5c-41e4-9fd9-f850b8ffac83
    #   else
    #     search --no-floppy --fs-uuid --set=root 63719751-ee5c-41e4-9fd9-f850b8ffac83
    #   fi
    #   linux16 /boot/memtest86+.bin console=ttyS0,115200n8
    #}
    ### END /etc/grub.d/20_memtest86+ ###
    • 更新grub配置:sudo update-grub
  9. 卸載不需要的軟體:
    • firefox: sudo apt-get remove firefox firefox-locale-en firefox-locale-zh-hans
  10. 安裝系統指示器:
    • sudo add-apt-repository ppa:nilarimogard/webupd8
    • sudo apt-get update

    • sudo apt-get install syspeek
  11. 美化
    • 安裝工具:sudo apt-get install gnome-tweak-tool
    • 將關閉按鈕調至左側:
    • 去掉Shell上無法修改的嘆號:
    • 截至到現在工具配置完畢,接下來美化主題和圖標:
      • 下載主題:McMojaveMojave-light.tar.xz
      • 下載圖標:McMojave-circle 01-McMojave-circle.tar.xz
      • tar -xf Mojave-light.tar.xz 01-McMojave-circle.tar.xz
      • sudo cp -a Mojave-light /usr/share/themes/
      • sudo cp -a McMojave-circle /usr/share/icons/
      • sudo cp -a McMojave-circle-dark /usr/share/icons/
      • 在gnome-tweaks-tool中進行設置,如圖所示:
      • 同理可以配置Mojave-dark-20191116000126.tar.xz
    • 配置Dock:
      • 在Chrome中打開https://extensions.gnome.org/,搜索Dash to Dock
      • 進入到Dash to Dock並開啟
      • 重新打開gnome-tweaks-tool在Extensions界面啟動Dash to dock
      • 點擊配置按鈕進行配置,如下圖所示:

    • 開機動畫:
      • 下載開機動畫主題:https://www.pling.com/p/1176419/
      • 下載之後解壓unzip suadesplash.zip 得到 suade/
      • sudo cp -a suade /usr/share/plymouth/themes/
      • 備份預設配置文件:sudo cp /etc/alternatives/default.plymouth /etc/alternatives/default.plymouth.bak
      • 修改配置文件/etc/alternatives/default.plymouth
      [Plymouth Theme]
      Name=Ubuntu Logo
      Description=A theme that features a blank background with a logo.
      ModuleName=script
      
      [script]
      ImageDir=/usr/share/plymouth/themes/suade /*原為/usr/share/plymouth/themes/ubuntu-logo*/
      ScriptFile=/usr/share/plymouth/themes/suade/mdv.script /*原為/usr/share/plymouth/themes/ubuntu-logo/ubuntu-logo.script*/
    • 設置登陸界面:
      • 備份設置登陸界面的css文件:sudo cp /usr/share/gnome-shell/theme/ubuntu.css /usr/share/gnome-shell/theme/ubuntu.css.bak
      • 修改背景圖片:
       background: #2c001e url(file:///usr/share/backgrounds/El_Haouaria_by_Nusi_Nusi.jpg); /*原為background: #2c001e url(resource:///org/gnome/shell/theme/noise-texture.png);*/
    • 修改TopBar
      • 先打開gnome-tweaks-tool查看當前的Shell主題,如圖所示:

      • 修改該主題下的gnome-shell.css,sudo gedit /usr/share/themes/Mojave-dark/gnome-shell/gnome-shell.css,如下所示:
      #panel {
        background-color: rgba(34,139,34, 0.8);
        /* transition from solid to transparent */
        transition-duration: 250ms;
        font-weight: normal; //原為bold
        height: 23px;//原為28px
        box-shadow: 0 0 8px rgba(0, 0, 0, 0.2), 0 0 4px rgba(0, 0, 0, 0.3);
      }
      • 修改之後保存,執行Alt+F2輸入r重新載入即可。

參考文件:https://blog.csdn.net/lishanleilixin/article/details/80453565 & https://blog.csdn.net/White_Idiot/article/details/88931162


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 無論用什麼框架,第一件事情就是實現動態菜單,從資料庫中讀取菜單配置項輸出前臺,網上翻了一大堆翻譯文檔,也看了官方英文文檔,關鍵點在於如何實現 和在前端調用 。 後臺處理 1、建表UiMenu 2、實現MyNavigationProvider 在Core項目里新建文件夾 ,新建類 ,需繼承 。 如下實 ...
  • 最近項目要用C#實現畫一個雷達圖,搜了搜網上竟然找不到C#畫雷達圖的解決方案,那麼自己實現一個吧 實現效果如下圖: 代碼如下: 1 public static class RadarDemo 2 { 3 static float mW = 1200; 4 static float mH = 1200 ...
  • 最近開發一個項目,需要給客戶發送報告郵件,在開發中遇到本地調試發送郵件一切正常,但當部署到伺服器上的時候,一直返回“發送失敗”,在此記錄,以免以後採坑 webapi 端代碼: /// <summary> /// 發送郵件 /// </summary> /// <param name="fromMai ...
  • NetCore文件上傳兩種方式 NetCore官方給出的兩種文件上傳方式分別為“緩衝”、“流式”。我簡單的說說兩種的區別, 1.緩衝:通過模型綁定先把整個文件保存到記憶體,然後我們通過IFormFile得到stream,優點是效率高,缺點對記憶體要求大。文件不宜過大。 2.流式處理:直接讀取請求體裝載後 ...
  • 參考: "小米筆記本電腦win10專業版激活碼分享" "小米筆記本自帶Win10家庭版自動升級成專業版" 1. 升級:win鍵進入設置 更新和安全 激活 更改產品秘鑰,斷網後,填入 VK7JG NPHTM C97JM 9MPGT 3V66T 2. 激活: WIN+X 按 A 打開 Powershel ...
  • 變數 變數 是 為了存儲 程式運算過程中的一些中間 結果,為了方便日後調用 變數的命名規則 1. 要具有描述性 2. 變數名只能'_','數字','字母'組成,不可以是空格或特殊字元(#?<.,¥$*!~) 3. 不要以中文為變數名 4. 不能以數字開頭 5. 保留字元(關鍵字)是不能被使用 常量 ...
  • STM32F373(青風)+CUBEMX快速上手 Created: Nov 23, 2019 7:43 PM Tags: CUBEMX,STM32 硬體熟悉 連接線 USB TYPEB電源線一根,用於給板子供電,亦可以使用紐扣電池供電。 MAX232 USB 串口線一根, 用於串口通信以及程式下載。 ...
  • 1.添加中科大源 參考https://blog.csdn.net/liyunfu233/article/details/87381017 sudo nano /etc/pacman.conf 在文末添加 [archlinuxcn] SigLevel = Optional TrustedOnly Se ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...