第六周LINUX學習筆記

来源:https://www.cnblogs.com/gohrx/archive/2019/04/08/10670208.html
-Advertisement-
Play Games

DNS服務 DNS:Domain Name Service //協議 實現:BIND(Berkeley Internet Name Domain) 監聽埠: UDP:53 TCP:53 名稱解析:將一種格式的信息轉化為另外一種格式,以某關鍵字為標準查找某一資料庫的過程passwd <--> nss ...


                                                                                                                                  DNS服務

DNS:Domain Name Service //協議
     實現:BIND(Berkeley Internet Name Domain)
     監聽埠:
        UDP:53
        TCP:53

    名稱解析:將一種格式的信息轉化為另外一種格式,以某關鍵字為標準查找某一資料庫的過程

passwd <--> nsswitch轉換
login:nsswitch為login提供服務
nsswitch配置文件在/etc/nsswitch

hosts:存放的為主機與ip、別名


由於主機是在太多,所以將資料庫和伺服器進行分片管理。 分散式資料庫:將資料庫切割,放在不同的伺服器上。實際上還需要一個類似於"引路人"一般的放置著引導向各個分散式資料庫的資料庫的伺服器。當外部需要進行DNS功能變數名稱轉換時,便告訴他需要到哪個資料庫上進行名稱解析,再找到那個資料庫。實際上每個資料庫都要通過這個伺服器進行登記備案。否則將不承認,也無法找到你自己所建立的。實際上,由於數量過大,一些分散式資料庫需要再進行分佈。
其中的結構其實可以類比成Linux上的根文件系統,每個人都要通過根為入口來進行訪問文件和目錄,底下的目錄一層套著一層,最終才能找到自己需要的文件。

根域(.)-->一級域(ICCNA)-->二級域(組織域)  實際上我們平時輸入的功能變數名稱都是自下而上進行輸入的如(www.baidu.com)www是最小的域,由此自下而上。

namespace:名稱空間

一級域:
    組織域:.com,.org,.mil,.gov,.edu,
    國家域:.cn,.hk,.tw,.jp,.ir(伊朗),.iq(伊拉克),.us,.uk
    反向域:.in-addr.arpa
另外任何想要訪問其他主機信息的,都需要以跟作為入口去尋找,除非是在同一個伺服器管轄下的功能變數名稱,只需要找自己的伺服器就行。但是確又不會進行逐層的遞歸解析,否則根的工作量太大。每一次訪問的時候,都只會告訴其一個下一次要尋找的地址讓他自行去尋找。如找到根,根返回消息說讓他去找.com,於是.com再說你去找baidu 直到找到負責管轄的 再給以正確的IP地址信息。

遞歸:逐層解析
迭代:DNS才會迭代
根拒絕回答遞歸問題  所謂的遞歸和迭代在這邊通俗一點講,就是遞歸只需發出一次請求就能夠收到消息。而迭代則是發出好幾次請求。

客戶端指向的DNS伺服器,一定是允許給本地主機做遞歸的

資料庫每一個條叫一個資源記錄(Resource Record),資源記錄有類型 ,用於表示資源的功能
SOA:Start Of Authority,起始授權
NS:Name Server,功能變數名稱伺服器
MX:mail eXchanger:郵件交換器
A:Address,(FQDN-->IP)
PTR: PoiTeR,(IP-->FQDN)
AAAA:Address,FQDN-->IPv6
CNAME:Canonical Name,正式名稱(別名記錄)

DNS:FQDN --> IP

正反向解析技術不同,因此不應該存放於同一個資料庫文件中進行

域:Domain,邏輯概念
區域:zone,物理概念

DNS伺服器的類型
   主DNS伺服器
   輔助DNS伺服器  輔助伺服器不能夠自行的血區域數據文件,只能夠從主伺服器上讀取。該過程稱為區域傳送
   緩存名稱伺服器
     轉發器


DNS的資料庫文件(區域數據文件,區域自身有名字):文本文件,只能包含資源記錄或巨集定義,每行一個

   資源記錄的格式:
      name [ttl(緩存時間)] IN 資源記錄類型(RRtype)  Value
    例子:
       www  600(單位s) IN A 1.2.3.4
       www.magedu.com.  600 IN A 1.2.3.4

 SOA:
        name:只能是區功能變數名稱稱,通常可以簡寫為@,例如:magedu.com.
        value:有n個數值,最主要的是主DNS伺服器的FQDN,點不可省略
        註意:SOA必須是區域資料庫文件第一條記錄

        例子:
         @ 600 IN SOA  na.magedu.com. 管理員郵箱(dnsadmin.magedu.com.)(
             序列號(serial number) ;註釋內容,十進位數據,不能超過10位,通常使用日期,例如2014031001 用以讓輔助伺服器知道數據發生了改變的,主伺服器上每次數據改變,序列號都會發生改變
             刷新時間(refresh time) ;即每隔多久到主伺服器檢查一次
             重試時間(retry time) ;應該小於refresh time
             過期時間(expire time)
             netgative answer ttl ;否定答案的ttl
         )
 
    NS:可以有多條
       name:區功能變數名稱稱,通常可以簡寫為@
       value:DNS伺服器的FQDN(可以使用相對名稱)
       例子:
       @ 600 IN NS na
 
    A:只能定義在正向區域數據文件中
       name:FQDN(可以使用相對名稱)
       value:IP

       例子:
       www  600(單位s) IN A 1.2.3.4
       www  600(單位s) IN A 1.2.3.5
       可做輪詢

       www  600(單位s) IN A 1.2.3.4
       ftp  600(單位s) IN A 1.2.3.4
    但凡以FQDN做為其值的記錄,應該給這個值做一條A記錄
AAAA:

 MX:可以有多個
       name:區功能變數名稱稱,用於標識smtp伺服器
       value:包含優先順序和FQDN
           優先順序:0-99,數字越小,級別越高,
       例子:
        @ 600 IN MX 10 mail
        @ 600 IN MX 20 mail2 先找優先順序高的,實在太過繁忙,則找第二個。並沒有在輪換工作


    PTR:IP --> FQDN,只能定義在反向區域數據文件中,反向區功能變數名稱稱為逆向網路地址加.in.addr.arpa.尾碼組成
     name:IP,逆向的主機地址,例如172.16.100.7的name為7.100,完全格式為7.100.16.172.in-addr-arpa.
     value:FQDN
         例子:
          4.3.2. 600 IN PTR www.magedu.com.

區域傳送:
   輔助DNS伺服器從主DNS伺服器或其他的輔助DNS伺服器請求數據傳輸過程

   完全區域傳送:傳送區域的所有數據,AXFR
   增量區域傳送:傳送區域中改變的數據部分,IXFR

輔助伺服器按時間段去跟主伺服器進行請求數據的跟新,如果多次主伺服器未能響應請求,則認為主伺服器癱瘓,不再與主伺服器進行通信(一般相關規定定義在SOA中了)。另外主伺服器如果有數據跟新,也會立刻通知輔助伺服器數據的跟新,以實現數據的同步


 BIND:組織維護者isc(www.isc.org) DHCP
     4:功能簡單,安全
     9:

    協議DNS,實現BIND,進程named

    chroot 為安全提供的機制 chroot假根,讓其以這個作為根,保證安全性

主配置文件:定義區域 /etc/named.conf
    至少有三個區域:
      根、
      locahost、
      127.0.0.1
區域數據文件:/var/named

   named
       用戶:named
       組:named   
 先由主配置文件聲明各種區域,然後再到/var/named 文件目錄下讀取相關的區域數據文件
主配置文件:
   options{
        //全局選項
   }
   zone "zone name" {
      //定於區域
   }
   logging{
       //日誌文件
   }
   include:載入別的文件

自定義
optins{
    directory "/var/named";
};
  zone "." IN{
   type{hint(根)|master(主)|slave(從)|forward(轉發)}
   file "named.ca"
  }

例子如果你申請到了功能變數名稱test.com
那麼你可以配置
 zone "test.com." IN{
   type{master(主)}
   file "test.com.zone"
  }
再在/var/named目錄下創建test.com.zone文件 文件內容
$TTL 600
@    IN    SOA   dns.test.com.   admin test.com.(
                              .
                              .
                              )
@   IN NS   dns (這裡用了SOA上定義的相對名稱)
@   IN MX 10 mail
dns IN A    192.168.48.128
mail IN A  192.168.48.128
www IN A 192.168.48.128
pop IN CNAME mail
ftp IN CNAME www
之後改個屬組屬主和許可權

name-checkconf 檢查主配置文件
named -u named
name-checkzone "區域文件" 配置文件

定義監聽的地址

recursion 是否允許遞歸查詢

dig 命令
  dig [-t type] [-x addr] name @DNS伺服器
  +[no]trace [不]適用迭代
  +[no]tcp 是否使用tcp
  +[no]recurse:是否使用遞歸
host
  host[-t type] {name} [server]

nslookup
  nslookup>
  server DNS_SERVER_IP
  set q=TYPE
  {name}

反向解析區域資料庫文件:區功能變數名稱稱以逆向的網路地址,並以.in-addr.arpa為尾碼
   第一條必須SOA
   應該具有NS記錄,但不能出現MX和A記錄
   較常見的微PTR記錄
    名稱為逆向的主機名
$TTL 600
@    IN    SOA   dns.test.com.   admin test.com.(
                              .
                              .
                              )
@   IN NS   dns (這裡用了SOA上定義的相對名稱)
@   IN MX 10 mail
                 IN  NS  dns.test.com
7               IN  PTR dns.test.com
1               IN  PTR www.test.com

區域傳送:
  用dig模擬完全區域傳送
   dig -t axfr 區功能變數名稱稱 @server

   主從同步:

       /etc/resolv.conf
  主從:
    主:bind版本可以低於從的

    主從可以不再同一網段

   向區域中添加從伺服器的關鍵兩步
      在上級獲得授權
      在區域數據文件中為從伺服器添加一條NS記錄和對應的A或PTR記錄,另外SOA里的序列號也要加個1
配置從伺服器的步驟

zone"test.com" IN {
       type slave;
       masters {192.168.48.128; };
       file "slaves/test.com.zone" ; 註意這裡輔助伺服器的區域數據文件需要放在/var/named/slaves下
};

區域傳送安全控制
    allow-transfer{127.0.0.1;127.16.100.1}
    allow-transfer{none;}

rndc:Remote Name Domain Controller
      遠程管理BIND的工具

      rndc:密鑰
        rndc:持有一半密鑰,保存於rndc的配置文件中
        BIND:持有一般密鑰,保存在主配置文件中
     rndc的配置文件/etc/rndc.conf    現在好像已經沒有了
        生成密鑰 rndc-confgen   生產的密鑰文件中的一半用於BIND的文本複製到BIND的主配置文件中將註釋去掉 便可以使用rndc

 rndc
        reload
        reload zone
        reconfig:重讀配置文件並載入新增的區域

        querylog:關閉或開啟查詢日誌
        stop  關閉服務
        flush 清空伺服器的緩存
        flushname name:只清空指定名稱相關的緩存
        trace:打開debug,調試模式,debug有級別的概念,每執行一次提升一個等級
        trace LEVEL:指定debug的級別

        如果rndc無法正常工作,可嘗試使用rndc-confgen生成/etc/rndc。conf配置文件,並將配置文件中的後半部分複製到BIND的主配置文件中按指示啟用即可


BIND子域授權的實現:
   在父域的配置文件中添加如下項:
      授權的子區功能變數名稱稱
      子區域的名稱伺服器
      子區域的名稱伺服器的IP地址
 例子:
     

      tech.test.com IN NS  dns.tech.test.com
      dns.tech.test.com IN A 192.168.48.160  
      tech.test.com IN NS  ns2.tech.test.com
      ns2.tech.test.com IN A 192.168.48.161 另外子域伺服器需要副伺服器的話,也需要再主伺服器上進行標明

      接著子域伺服器,需要同主伺服器那樣配置屬於自己的DNS伺服器
    
      子域伺服器與主副伺服器最大的配置差別就是,子域伺服器的功能變數名稱和父伺服器的功能變數名稱是不同的,而主副伺服器的功能變數名稱是相同的

配置區域轉發:轉發域
      解析某本機不負責的區域內的名稱時不轉發給根,而是轉給指定的主機:
   zone "ZONE NAME" IN{
    type forward;
    forwarders { DNS_SERVER; };
    forward only(僅轉發)|first(先轉發在找根)
   }
   配置轉發的方式
     轉發非本機負責解析的所有區域
      options{
        forward only|frist
        forwarders{ ip; }
       }  
      轉發某特定區域
       zone"特定區域" IN{
       type forward;
        forwarders{ ip; }
        forward only|frist
       }
       轉發必須對方伺服器支持對本伺服器的遞歸  
安全控制選項:
   allow-transfer{};通常都需要啟用,從伺服器
   allow-query{};此項僅用於伺服器是緩存名稱伺服器時,只開放查詢功能給本地客戶端
   allow-recursion{可以使用網段};允許遞歸的白名單
   allow-update{ none; }:允許動態更新數據文件的主機白名單

ACL:BIND支持使用訪問控制列表
    acl ACL_NAME{
      172.16.0.0/16
      192.168.0.0/24
      127.0.0.0/8
    }

  訪問控制列表只有定義後才能使用,通常acl要定義在named.conf的最上方
  BIND有四個內置的acl
    any:任何主機
    none:無一主機
    local:本機
    localnet:本機所在的網路
                     

                                                                          DNS編譯安裝,view視圖,LINUX完全定製內核

3月11



 view 視圖,邏輯的DNS伺服器,即能夠讓不同網路(如電信和網通)訪問同一個功能變數名稱時,使其指向不同的主機IP實現訪問速度的加快。能夠實現讓一個view實現多次
     acl telecom{
     1.2.0.0/16
     4.5.8.0
     }
     acl unicom{
     6.4.0.0/16
     4.5.3.0
     }
    view view_name {
        match-clients{ telecom; }
       zone"magelinux.com" IN{
       type master;
        file "magelinux.com.telcom";
       }

     }
    view view_name {
        match-clients{ unicom; }
       zone"magelinux.com" IN{
       type master;
        file "magelinux.com.unicom";
       }

     }
      view view_name {
        match-clients{ any; }
       zone"magelinux.com" IN{
       type master;
        file "magelinux.com.unicom";
       }

     }
     只要寫入view,所有的都應該寫在view中 包括將/etc/named.conf下的zone "."根也放在view中
     自上而下匹配

 /dev/random:自動生成
   熵池
 /dev/udandom:軟體生成


 

 bind dlz
 rndc reeconfig


 源碼安裝named
 thrads 線程
 epoll 時間庫
 --diabled-chroot               
 前提:配置好開發環境,安裝包組
 1.下載源代碼。編譯安裝
   tar xf bind-9.9.5.tar.gz
   cd bind-9.9.5
   ./configure --prefix=/usr/local/bind9 --sysconfdir=/etc/named/--enable-threads --enable-epoll --disabled--chroot
 make && make install
2配置主配置文件
3.創建區域數據文件
 3.1 name.ca
  dig -t NS @ >/var/named/named.ca
  3.2 name.localhost
  3.3 named.loopback
4創建用戶,並測試啟動
  groupadd -g 53 -r named
  useradd -g named-r named
  chown root:named /etc/named/* /var/named/*
  chmod 640 /etc/named/named.conf /var/named/*
  vim /etc/profile.d/nmaed.sh
export PATH=/usr/local/bind9/bin:/usr/local/bind9/sbin:$PATH'
 
  named -u named -c /etc/named/named.conf
  5、rndc
  rndc -confgen -r /dev/
  6、準備啟動腳本DNS 編譯安裝 02 23分到53分
  7、性能測試
     banckmark
     queryperf
     dnstop

<DNS and BIND>



bash編程之變數
   1、bash的內置變數:
   PATH PS1 HOSTNAME UID HISTFILE HISTEILESIZE HISTCONTROL
   $BASH:bash二進位程式文件的路徑
   $BASH_SUBSHELL:子shell的層次
   $BASH_VERSION

   $EDITOR:預設編輯器

   $EUID:有效的用戶ID
   $UID:當前用戶的ID號

   $FUNCNAME:當前函數的名稱

   $GROUPS:當前用戶顯示的組

   $HOME:當前用戶的家目錄

   $HOSTTYPE:主機架構類型,用來識別系統硬體
   $MACHTYPE:平臺類型,系統平臺依賴的編譯平臺
   $OSTYPE:OS系統類型
   
   $IFS:輸入數據時的欄位分隔符,預設是空白符(空格、製表符、換行符)

   $OLDPWD:上次使用的目錄
   $PWD:當前目錄

   $PPID:父進程

   $PS1:主提示符
   $PS2:第二提示符,主要用於補充完全命令輸入時的提示符
   $PS3:第三提示符,用於select命令中
   $PS4:第四提示符,當使用-X選項調用腳本時,顯示的提示符,預設為+號

   $SECONDS:當前腳本已經運行的時長

   $SHLVL:shell的級別。bash別嵌入的深度

   2、特殊變數:
       $0:腳本名稱自身
       $1,$2。。。。:位置參數
       $#:命令行參數個數
       $*:所有的參數,被當作一個字元串
       $@:所有的參數,每個參數都是一個獨立的字元串
       $-:傳遞給腳本的標記
       $!:運行於後臺的最後一個作業的PID
       $_:上一條命令的最後一個參數的值
       $?:上一條命令狀態的返回值
       $$:腳本自身的PID

    操作變數:
        ${#var} :返回變數中字元串的長度
        ${var}:變數引用
        ${var:-default}:如果var沒有聲明或者為空,則返回default字串,否則返回var自身的值
        ${var:+default}:如果var沒有聲明或者為空,則返回空字串,否則返回default的值
        ${var:=default}:如果var沒有聲明或者為空,則返回default字串,並且將default賦值給var,否則返回var自身的值
        ${var:?default}:如果var沒有聲明或者為空,則以default為錯誤信息返回,否則

        zb 返回var自身的值

    字串消除
        ${var#*word}:查找var中自左而右第一個被word匹配到的串,並將此串及向左的所有內容都刪除
        ${var#*word}:查找var中自左而右最後一次被word匹配到的串,並將此串及向左的所有內容都刪除
        ${var%word*}:查找var中自右而左第一個被word匹配到的串,並將此串及向右的所有內容都刪除
        ${var%%word*}:查找var中自右而左最後一次被word匹配到的串,並將此串及向右的所有內容都刪除

    取字串:
      ${var:pos}:偏移pos個字元,取餘下的字串
       name=jerry,${name:2}結果為rry
      ${var:pos:num}偏移pos個字元,取num個字元長度的字串
        name='hello world' ${name:2:5}結果為llo w
    
    字串替換
      ${var/Pattern/Replaceplacement} :以Pattern為模式匹配var中的字串,將第一次匹配到的替換為Replaceplacement
      ${var// Pattern/Replaceplacement} :以Pattern為模式匹配var中的字串,將全部匹配到的替換為Replaceplacement6


   聲明變數:
      declare
         -i:整形
         -a:數值
         -x:環境變數
         -r:只讀變數,不能撤銷,不能修改,相當於readonly
         -f:聲明函數

OpenSSH:
  ssh OpenSSH
  安裝配置dropbear              
  1.編譯安裝
  tar
  cd
  ./configure
  make PROGRMS="dropbear dbclient dropberkey scp"
  make PROGRMS="dropbear dbclient dropberkey scp" install
  2.腳本
  3配置文件位置/etc/sysconfig/dropbear
  keysize=2048
  port=22022
  4後配置
  chmod +x /etc/rc.d/init.d/dropbear
  chkconfig -add dropbear


  定製Linux內核
    tar -xf -C /usr/src
    cd /usr/src/linux
    cp /boot/config-VERSION     /usr/src/linux/.config   自己選的可能會導致驅動的缺少,所以複製一份模板,再執行make menuconfig來增刪改查

    make menuconfig
    make
    make modules_install
    make install

    make clean
    make mrproper
    make distclean

    單內核:核心+ko模塊
     /lib/modules/VERSION

     make allnoconfig 自定義一個最小功能的內核,能夠讓系統正常運行。此時就需要完全配置
   第一步 給一個將要被新主機識別的裝有內核文件的磁碟不需要太大。
    fdisk  /dev/sdb 創建新分區,並添加2個分區 sdb1 50M sdb2 512M
   mke2fs  -t ext4 /dev/sdb1 /dev/sdb2 分區格式化
   mkdir  /mnt/{boot,sysroot}
   mount  /dev/sdb1 /mnt/boot
   mount  /dev/sdb2 /mnt/sysroot   創建兩個虛擬的根目錄,將磁碟掛在到上面
   grub-install -root-directory=/mnt  /dev/sdb  安裝grub
   第二步 下載一個內核版本 假設叫linux3.1
   tar xf linux3.1.tar.xz -C /usr/src  解壓內核文件
   cd /usr/src
   ln -sv linux.3 linux 軟連接一下(猜測應該是便於被系統識別)
   make allnoconfig   將.config文件中的絕大部分可以省略的內核功能給關閉
   make menuconfig  定製內核  這邊省略 較複雜,可以看視頻如何定製的,10-17分
   make bzI(大寫的i)mage  這個只編譯壓縮格式的內核核心,並不編譯內核模塊
   cp arch/x86/boot/bzImage /mnt/boot/
   vim /mnt/boot/grub/grub.conf  此處省略
   default=0
   timeout=3
  title Customzed Linux
   root (hd0,0)
   kernel  /bzImage ro root=/dev/sda2 init=/bin/bash

為什麼要將bash 軟連接成 sh ,難道識別的時候是識別sh嗎?


     PC Server CPU + men + i/o
     make bzImage 只編譯核心不編譯模塊

 


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

-Advertisement-
Play Games
更多相關文章
  • 想學會如何在STM8上使用ADC這個功能,我們先得瞭解單片機中ADC究竟是什麼。 ADC是模擬信號轉成數值信號,單片機只能識別TTL電平,其實就是 1 或者 0 ,但是如果我們給它一個3.3V電壓,單片機就無法識別,,若想使用單片機讀取出來得時候,它必須將模擬量變成數字量。 瞭解完後,我們就開始講解 ...
  • [TOC]     1. Linux啟動過程 Linux的啟動過程是在執行多級初始化過程中啟動一個Linux的安裝,它在許多方面類似於BSD和其他Unix風格的引導過程,從中衍生出來。   引導Linux安裝設計多個階段和軟體組成,包括固件初始化,引導載入程式的執行,L ...
  • 必要瞭解函數的功能和使用場景: fflush, setbuf, setvbuf 瞭解的操作: setbuf(stdout,NULL); // 關閉輸出緩衝區; 保持更新,轉載請註明出處。 ...
  • 現狀描述與需求描述 最近梳理系統功能的時候發現現在每個月處理完數據之後,需要給別的系統傳送批介面文件,介面文件的內容是來自於Oracle數據表中的數據。我每次都需要手工執行一下存儲過程,讓數據從正式表中插入到介面表中,然後再藉助plsql工具軟體sqlplus的spool工具導出介面文件,然後把導出 ...
  • 1、 Rsync 基礎概述 Rsync是一款開源的備份工具,可以在不同主機之間進行同步,可實現全量備份和增量備份,因此非常適合用於架構集中式備份或異地備份等應用。 Rsync官方地址:https://rsync.samba.org/ Rsync監聽埠:873 Rsync運行模式:C/S Rsync ...
  • 準備好mysql的離線安裝文件: MySql官網下載mysql-5.7.25-1.el7.x86_64.rpm-bundle,並複製到/usr/mysql文件夾中。 刪除CentOS自帶的MariaDB: rpm -qa|grep mariadb rpm -e --nodeps mariadb-li ...
  • 之前linux回滾了下,然後就連不上xshell和filezille了,後臺安全配置哪裡也都打開了埠號了,還是不行。然後我就想重啟下ssh服務 ,執行service sshd restart 提示139行地址錯誤,按照提示我打開sshd_config文件並找到139行,才發現 這裡多了一個Addr ...
  • 轉自:https://blog.csdn.net/u012993732/article/details/48626921 調用 Doskey.exe,它撤回 Windows XP 命令、編輯命令行並創建巨集。 MS-DOS命令語法 doskey {/reinstall | /listsize=size ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...