主頁 > 軟體設計 > Linux之Firewall防火墻、iptables、firewalld

Linux之Firewall防火墻、iptables、firewalld

2021-09-22 08:36:15 軟體設計

防火墻概念

防火墻的核心是資料報文過濾

網路模塊由內核實作,而過濾的實作必須在內核中,而用戶是 無法直接訪問內核,更別說把過濾規則放置到內核中,因此在TCP/IP協議堆疊上,選取了幾個不同的位置,開放給用戶空間的應用程式,該應用程式可以通過系統呼叫將規則發送到指定的內核位置,

作業流程:網口資料包由底層的網卡NIC接收,通過資料鏈路層的解包之后(去除資料鏈路幀頭),就進入了TCP/IP協議堆疊 (本質就是一個處理網路資料包的內核驅動)和Netfilter混合的資料包處理流程中了,資料包的接收、處理、轉發流程構成 一個有限狀態向量機,經過一些列的內核處理函式、以及Netfilter Hook點,最后被轉發、或者本次上層的應用程式消化 掉,

作業在主機或者網路的邊緣,對進出的資料報文進行檢查,監控,并且能夠根據事先定義的匹配條件和規則做出相應的動作的 組件,機制或者系統

防火墻分類

1. 從軟、硬體形式上分為軟體防火墻和硬體防火墻以及芯片級防火墻,

2.從防火墻技術分為 “包過濾型”和“應用代理型”兩大類,

3.從防火墻結構分為 < 單一主機防火墻、分布式防火路由器集成式防火墻和墻三種,

4. 按防火墻的應用部署位置分為 邊界防火墻、個人防火墻和混合防火墻三大類,

5. 按防火墻性能分為 百兆級防火墻和千兆級防火墻兩類,

常見的訪問控制包括:哪些ip可以訪問服務器、可以使用哪些協議、哪些介面,是否通過資料包進行修改等

防火墻的功能

1.可以保護易受攻擊服務;

2.控制內外網之間網路系統的訪問;

3.集中管理內網的安全性,降低管理成本;

4.提高網路的保密性和私有性;

5.記錄網路的使用狀態,為安全規劃和網路維護提供依據

包過濾防火墻

包過濾防火墻原理

包過濾防火墻的配置

第一,管理員必須明確企業網路的安全策略;

第二,必須用邏輯運算式清楚地表述數 據包的型別;

第三,必須用設備提供商可支持的語法重寫這些運算式,

包過濾防火墻分類

靜態包過濾防火墻:

利用靜態包過濾規則建立的防火墻叫靜態包過濾型防火墻

對于靜態包過濾防火墻來說,決定接識訓是拒絕一個資料包,取決于對資料包中IP頭和協 議頭等特定域的檢查和判定,這些特定域包括:

1)資料源地址;2)目的地址;3)應用或協議;4)源埠號; 5)目的 埠號,

主要實作3個主要功能

1、接收每個到達的資料包;

2、對資料包采用過濾規則,對資料包的IP頭和傳輸欄位內容進行檢 查,如果資料包的頭資訊與一組規則匹配,則根據該規則確定是轉發還是丟棄該資料包,

3、如果沒有規則與資料包頭資訊 匹配,則對資料包施加默認規則,默認規則可以丟棄或者接收所有資料包,默認丟棄資料包規則更加嚴格,而默認接收數 據包規則更加開放,通常,防火墻首先默認丟棄所有資料包,然后再逐個執行過濾規則,以加強對資料包的過濾,

靜態包過濾防火墻的安全性:

無法區分真實的IP地址和偽造的IP地址,即無法防御IP地址欺騙攻擊;由于靜態包過濾防 火墻僅檢查那些特定的協議頭資訊:1)源/目的IP地址;2)源/目的埠號(服務型別),因此黑客可能將惡意的命令或 資料隱藏在那些未經檢查的頭資訊中,即“隱信道攻擊”;缺少狀態感知能力:一些需要動態分配埠的服務需要防火墻 打開許多埠,即管理員必須為靜態包過濾規則打開所有的埠,因此增大了網路的安全性風險,

動態包過濾防火墻

動態包過濾防火墻是就是后來的包狀態監測(Stateful Inspection)技術,監控每一個連接,自動臨時增加適當的規則,

iptables

命令格式

-m:extend matches,這個選項用于提供更多的匹配引數,如:

  • -A:新增一條規則,到該規則鏈串列的最后
  • -I:插入一條規則,原本該位置上的規則會往后順序移動,沒有指定編號則為2
  • -D:從規則鏈中洗掉一條規則,要么輸入完整的規則,或者指定規則編號加以洗掉
  • -R:替換某條規則,規則替換不會改變順序,而且必須指定編號,
  • -P:設定某條規則鏈的默認動作
  • -nL:-L、-n,查看當前運行的防火墻規則串列
  • -F : 清除所有規則
  • [-i|o 網卡名稱]:i是指定資料包從哪塊網卡進入,o是指定資料包從哪塊網卡輸出
  • [-p 協議型別]:可以指定規則應用的協議,包含tcp、udp和icmp等
  • -p tcp --tcp-flags mask comp: 只檢查mask指定的標志位,是以逗號分隔的標志位串列;comp:此串列中出
  • 現的標記位必須為1,comp中沒有出現,而mask中出現的必須為1(--tcp-flags SYN,FIN,ACK,RST SYN=--syn)
  • [-s 源IP地址]:源主機的IP地址或子網地址
  • [--sport 源埠號]:資料包的IP的源埠號
  • [-d目標IP地址]:目標主機的IP地址或子網地址
  • [--dport目標埠號]:資料包的IP的目標埠號
  • -m state --state NEW ESTABLISHED,RELATED
  • #iptables -A INPUT -s 192.168.153.131 -p tcp --dport 22 -m state --state NEW -j DROP

  • ACCEPT(當前已經連接其他主機可以連接我當前主機,但是在開一個新的鏈接就不可以)

  • #iptables -I INPUT -p tcp -s 172.16.30.160 --dport 22 -j REJECT

    -m tcp --dport 22

  • -m multiport --dports 80,8080

iptables安裝

#yum install iptables-services

案例

1、搭建web服務,并且能夠訪問

#開放web服務埠

防火墻默認執行動作改為DROP

[root@localhost ~]# iptables -P INPUT DROP

[root@mail html]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT

#列出規則表中的編號

#iptables -L --line-numbers

#洗掉剛剛添加的規則,并進行測驗

[root@mail html]# iptables -D INPUT 1

2、禁止所有人ssh遠程登陸該服務器

[root@mail html]# iptables -I INPUT -p tcp --dport 22 -s 192.168.24.0/24 -j REJECT

#洗掉剛剛添加的規則,并進行測驗

[root@mail html]# iptables -D INPUT 1

3、禁止某個主機地址ssh遠程登陸該服務器

#拒絕144主機訪問服務器的22埠

[root@mail ~]# iptables -I INPUT -p tcp -s 172.24.8.144 --dport 22 -j REJECT

#開啟服務器的web服務,并用144客戶端進行訪問

[root@mail html]# iptables -I INPUT -p tcp -s 192.168.171.144 --dport 80 -j ACCEPT

#查看所有規則

Iptables -t filter -P INPUT DROP

Iptables -A INPUT -s 172.16.30.128 -d 172.16.30.200 -p tcp --dport 22 -j ACCEPT

Netstat -lntup | grep 80 查看開放的埠

[root@localhost ~]# iptables-save > /etc/sysconfig/iptables

[root@localhost ~]# systemctl restart iptables.service

[root@localhost ~]# iptables -L

Chain INPUT (policy ACCEPT)

target prot opt source destination

REJECT tcp -- 192.168.24.0/24 anywhere tcp dpt:ssh reject-with icmp-port-unreachable

---------------------------------------------------------------------------------------------------------------------------

[root@localhost ~]# iptables -I INPUT -p tcp --dport 22 -s 192.168.24.0/24 -j DROP

[root@localhost ~]# iptables-save > /etc/sysconfig/iptables

[root@localhost ~]# iptables [root@localhost ~]# iptables-restore < /etc/sysconfig/iptables

[root@localhost ~]# iptables -L

Chain INPUT (policy ACCEPT)

target prot opt source destination

DROP tcp -- 192.168.24.0/24 anywhere tcp dpt:ssh

REJECT tcp -- 192.168.24.0/24 anywhere tcp dpt:ssh reject-with icmp-port-unreachable

REJECT tcp -- 192.168.24.0/24 anywhere tcp dpt:ssh reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT)

target prot opt source destination

Chain OUTPUT (policy ACCEPT)

target prot opt source destination

練習

1、添加iptables規則禁止用戶訪問域名為www.baidu.com的網站

iptables -I FORWARD -d www.baidu.com -j DROP

2、添加iptables規則禁止用戶訪問ip地址為20.20.20.20的網站

iptables -I FORWARD -D 20.20.20.20 -j DROP

3、添加iptables規則禁止IP地址為192.168.171.144的客戶機上網

iptables -I FORWARD -s 192.168.171.144 -j DROP

4、添加iptables規則禁止192.168.171.0子網所有的客戶機上網

iptables -I FORWARD -s 192.168.171.0/24 -j DROP

5、禁止192.168.171.0子網所有客戶機使用ftp協議下載

iptables -I FORWARD -s 192.168.171.0/24 -p tcp --dport 21 -j DROP

6、禁止192.168.171.0子網所有客戶機使用telnet協議連接遠程計算機

iptables -I FORWARD -s 192.168.171.0/24 -p tcp --dport 23 -j DROP

7、強制所有的客戶機訪問192.168.171.1這臺web服務器

iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.171.1:80

將內網轉為公網將源地址轉為公網地址111.112.113.114

Iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth1 -j SNAT --to-source 111.112.113.114

8、禁止internat上的計算機通過ICMP協議ping到nat服務器的ppp0介面,但允許內網的客戶機通過ICMP協議ping通

iptables -I INPUT -i ppp0 -p icmp -j DROP

-i eth0:從這塊網卡流入的資料

流入一般用在INPUT和PREROUTING上

-o eth0:從這塊網卡流出的資料

流出一般在OUTPUT和POSTROUTING上

9、發布內網192.168.171.143主機的web服務,internet用戶通過訪問防火墻的IP地址即可訪問該主機的web服務

iptables -t nat -I PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.171.143:80

10、發布內網192.168.171.143主機的終端服務,internat用戶通過訪問防火墻的IP地址訪問該主機的終端服務

iptables -t nat -I PREROUTING -p tcp --dport 3389 -j DNAT --to-destination 192.168.171.143:3389

#開放常用的埠

iptables -A INPUT -p TCP --dport 80 -j ACCEPT

iptables -A INPUT -p TCP --sport 80 -j ACCEPT

iptables -A INPUT -p TCP --dport 25 -j ACCEPT

iptables -A INPUT -p TCP --sport 25 -j ACCEPT

iptables -A INPUT -p TCP --dport 110 -j ACCEPT

iptables -A INPUT -p TCP --sport 110 -j ACCEPT

iptables -A INPUT -p TCP --dport 143 -j ACCEPT

iptables -A INPUT -p TCP --sport 143 -j ACCEPT

#SSH

iptables -A INPUT -p TCP --dport 59687 -j ACCEPT

iptables -A INPUT -p TCP --dport 9900 -j ACCEPT

iptables -A INPUT -p UDP --sport 53 -j ACCEPT

iptables -A INPUT -p TCP --sport 53 -j ACCEPT

#antispam

iptables -A INPUT -p TCP --sport 6220 -j ACCEPT

iptables -A INPUT -p TCP --sport 6610 -j ACCEPT

iptables -A INPUT -p TCP --sport 6611 -j ACCEPT

#SSL

iptables -A INPUT -p TCP --dport 995 -j ACCEPT

iptables -A INPUT -p TCP --dport 993 -j ACCEPT

iptables -A INPUT -p TCP --dport 465 -j ACCEPT

iptables -A INPUT -p TCP --dport 443 -j ACCEPT

#NTP date

iptables -A INPUT -p UDP --sport 123 -j ACCEPT

#snmp

iptables -A INPUT -i eth0 -p udp -s 125.76.229.215 --dport 161 -j ACCEPT

iptables -A INPUT -i eth0 -p udp -s 60.195.249.83 --dport 161 -j ACCEPT

iptables -P FORWARD DROP

iptables -A INPUT -j REJECT

iptables -P OUTPUT ACCEPT

#防止同步包洪水(Sync Flood)

iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

#防止各種埠掃描

iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

#Ping洪水攻擊(Ping of Death)

iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

#屏蔽 SYN_RECV 的連接

iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m limit --limit 1/sec -j ACCEPT

FirewallD 使用服務(service) 和區域(zone)來代替 iptables 的規則(rule)和鏈(chain),

firewalld的認識

1、firewalld提供了支持網路/防火墻區域(zone)定義網路鏈接以及介面安全等級的動態防火墻管理工具,

2、firewalld將網卡分為不同的區域(區域),這些區域的區別在于對待來訪的用戶及傳輸的資料包的默認動作的不同,通過制定一 些安全 策略從而保證系統在被訪問或傳輸資料時的安全,

/usr/lib/firewalld service ssh.xml

默認情況下,有以下的區域(zone)可用:

firewalld分為九個區域,含義如下:

trust(信任):可接受所有的網路連接;

home(家庭):用于家庭網路,僅接受ssh、mdns、ipp-client、samba-client或dhcpv6-client服務連接;

internal(內部):用于內網路,僅接受ssh、ipp-client、mdns、samba-client或dhcpv6-client服務連接;

work(作業區):用于作業區,僅接受ssh、ipp-client、dhcpv6-client服務連接;

public(公共):用于公共區域的使用,僅接受ssh、dhcpv6-client服務,為firewalld的默認區域;

external(外部區域):出去的ipv4的網路連接經過此區域的偽裝和轉發,只支持ssh服務;

dmz(隔離區):僅接受ssh服務;

block(限制):拒絕所有的網路服務;

drop(丟棄):任何訪問的網路資料包都會被丟棄,沒有任何回應,

預定義服務/添加埠

1 直接編輯組態檔/etc/firewalld/

2 使用firewall-config圖形工具

通過這個圖形工具,可以更改和檢查firewalld記憶體中的配置(Runtime),也可以修改磁盤上的持久配置(Permanent)

3 使用firewall-cmd命令

預定義服務

使用firewall-config來啟動圖形界面查看預定義服務,在有條件的情況下推薦使用

預定義服務可以通過查看firewalld.service(5)man手冊

也可以通過查看目錄了解更詳細,該目錄下面的禁止編輯

[root@localhost ~]# ls /usr/lib/firewalld/services/

也可以查看該目錄下的,該目錄下的可以編輯

[root@localhost ~]# ls /etc/firewalld/services/

#使用命令查看所有支持的服務

[root@localhost ~]# firewall-cmd --get-services

#添加服務

[root@mail ~]# firewall-cmd --add-service=http

#設定服務超時時間,即服務的開啟時間,單位秒

[root@mail ~]# firewall-cmd --add-service=http --timeout=10

熟練和習慣使用tab進行選項補全和引數補全

#啟用緊急模式(所有的 規則出入都拒絕)

[root@mail ~]# firewall-cmd --panic-on

#禁用緊急模式

[root@mail ~]# firewall-cmd --panic-off

#查詢緊急模式狀態

[root@mail ~]# firewall-cmd --query-panic

#查看當前區域

[root@mail ~]# firewall-cmd --get-default-zone

#查看所有支持的區域

[root@mail ~]# firewall-cmd --get-zones

#設定trusted區域為當前區域

[root@mail ~]# firewall-cmd --set-default-zone=trusted

#根據介面查詢區域

[root@mail ~]# firewall-cmd --get-zone-of-interface=eno16777736

#添加當前源地址

[root@mail ~]# firewall-cmd --add-source=192.168.171.1/24

#添加一個埠

[root@mail ~]# firewall-cmd --add-port=8080/tcp

#洗掉源地址

[root@mail ~]# firewall-cmd --remove-source=192.168.171.1/24

#洗掉埠

[root@mail ~]# firewall-cmd --remove-port=8080/tcp

#以上都為運行時生效

#永久生效

#添加規則

[root@mail ~]# firewall-cmd --permanent --add-service=http

#重新加載

[root@mail ~]# firewall-cmd --reload

#列出所支持的ICMP型別

[root@mail ~]# firewall-cmd --get-icmptypes

#列出所有區域的詳細資訊

[root@mail ~]# firewall-cmd --list-all-zones

#添加ssh服務進行測驗

[root@mail ~]# firewall-cmd --permanent --add-service=ssh

--add-source=目標ip

--remove-source=目標ip

--add-source=ip --zone=drop (指定不同區域對當前區域不生效)

#列出指定區域的規則

[root@mail ~]# firewall-cmd --zone=trusted --list-all

#啟用偽裝功能,但因為內核限制,只支持ipv4

[root@mail ~]# firewall-cmd --add-masquerade

#添加禁止icmp報文

[root@mail ~]# firewall-cmd --add-icmp-block=echo-request

永久模式不直接影響運行時狀態,只有在重啟服務或者多載時生效

運行模式,直接模式不保存規則,在多載或者重啟服務后必須再次提交,傳遞的引數和iptable一致

#添加一個串列

[root@mail ~]# firewall-cmd --direct permanent --add-chain ipv4 raw blacklist

#給串列添加一個規則

[root@mail ~]# firewall-cmd --direct --permanent --add-rule ipv4 raw PREROUTING 0 -s 192.168.171.0/24 -j blacklist

#定義串列的動作

[root@mail ~]# firewall-cmd --direct --permanent --add-rule ipv4 raw blacklist 1 -j DROP

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/301922.html

標籤:其他

上一篇:一文弄懂 RPC 通信流程全程序

下一篇:使用Nmap檢測漏洞

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more