Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- laca223: Miért győz a kollektív meggyőződés akkor is, ha saját magát teszi tönkre?
- sziku69: Szólánc.
- Magga: PLEX: multimédia az egész lakásban
- Geri Bátyó: Agglegénykonyha 10 – Alapanyagok/készételek többféle felhasználása
- urandom0: Száműztem az AI-t az életemből
- djculture: Éhezők ssd és memória viadala.
- Parci: Milyen mosógépet vegyek?
-
LOGOUT
--- Még az új vizsgarendszer előtti információk, majd frissítjük! ---
Gyakran ismételt kérdések
Olvasd el a cikkeket itt.
Új hozzászólás Aktív témák
-
Ripper17
tag
válasz
Gyurike
#15471
üzenetére
Klasszikus példája annak, miért mennek egyre inkább szoftveres irányba a cégek.
Illetve miért népszerű a python - ez a probléma nem csak nálad merült fel, nyilvánvalóan van rá kész megoldás, a python pedig külső modulokkal nagyon jól testreszabható különféle felhasználásokhoz
a hálózatos közösség is erős worldwide, de a fejlesztői még inkább. hogy egy senior dev cimborám idézzem: "bruttó 1M fizut simán elérsz ha tudsz ctrlc-ctrlv-zni" 
Nekem nemrég kellett hasonló. A probléma központi részét a Jinja2 templating engine simán megoldja:
https://blogs.cisco.com/developer/network-configuration-template
Nyilván univerzálisra akartam ezt csinálni, így amit csináltam így néz ki:
1. Az input egy csv file, a header a változók neve (ahogy a J2 sablonban hivatkozom őket). Ez egyszerűen előáll, ha az adott projekt LLD-je egy Excelben tisztesen megvan. A script elején az input és az output mappát kiüríti a script.
2. A csv-ből csinálok YAML formátumot (1 sor CSV --> 1 YAML file). Ehhez is természetesen elérhető más fejlesztők munkája GitHubon, szinte 1:1 átemeltem egy szimpatikus kódot amit a "csv 2 yaml" kifejezés kiadott, csak a kimeneti file elnevezését megadó formulát módosítottam. A végén lesz M darab YAML fileom, amik változó:érték párokat tartalmaznak.Ez azért jó, mert a YAML formátuma (meg persze a JSON is, csak én azt kevésbé tartom átláthatónak) 1:1 átemelhető a python "dictionary" típusú változójába, és a Jinja2 engine-nak ez beadható közvetlen.
3. Lefut a Jinja2 engine, egy "template" mappában N darab sablon lehet. Minden kombinációt legenerál, azaz a végén M*N darab konfig fileom lesz, az elnevezésük olyan ami nekem értelemszerű.
Mivel ez egy sima for ciklus, így ki tudom iratni, mikor tart 25-50-75%nál a progress, illetve a végén nézem hogy mennyi idő volt a generálás.
Minden kombináció generálódik, az engine-t nem zavarja ha a paramétereket tartalmazó YAML fileból nem használsz fel minden változót. így tudtam most ugyanazon Excelből Layer3 és Layer2 switch konfigot generálni egy-egy switchre, illetve ugyanezt több switch platformra. (Ez egy valós helyzet nálunk a cégben, nagy projekten nem mindig reális előre felmérni mind a k*50-100 siteot,hova kell 24 portos, hova 48, így jó ha a telepítőnek mindegyik konfig rendelkezésére áll).
4. Egy basic ellenőrzést tettem bele a végén: a kimeneti fileokat átnézem, nincs e benne "{" vagy "}" (ezek határolnak Jinja2 változókat, azaz ha ilyet talál a script akkor typo miatt az engine nem tudott valamit értelmezni, át kell nézni a sablont és a csv header-t is)...illetve hogy a kimeneti mappában valóban csak M*N darab file van.
Nulláról indulva ez azért 1-2 hét alatt összerakható, 200 sor körüli összesen...és a későbbiekben is egész jól használható nálam...de a leghasznosabb igazából tényleg az, hogy megtanul az ember keresni pl. githubon, developer fórumokon, stb. és rájön, hogy túl van misztifikálva baromi sok dolog

Új hozzászólás Aktív témák
- Kérlek használd a keresőt, mielőtt kérdezel!
- Olvasd el a téma összefoglalót mielőtt kérdezel!
- A dumpok és a warez tiltott témának számítanak!
- Torrent meghívó kunyeráló
- Luck Dragon: Asszociációs játék. :)
- Milyen légkondit a lakásba?
- Majdnem megfelezi a GeForce GPU-k gyártókapacitását az NVIDIA?
- sziku69: Fűzzük össze a szavakat :)
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- LEGO klub
- TCL LCD és LED TV-k
- exHWSW - Értünk mindenhez IS
- Napelem
- További aktív témák...
- Asus ROG Zephyrus G16 Intel Core Ultra 9 185H/RTX 4060/16GB DDR5/1TB SSD eladó NÁLAM A LEGOLCSÓBBAN!
- MacBook Pro M1 13 inch 8/512GB magyar bill nálam a legolcsóbban
- Fujitsu 27" B27-8 TE Full HD 1920x1080 hófehér monitor állítható magasság, PIVOT, HDMI számla + gar
- AMD Ryzen 5 Félkonfig eladó!
- Asus Z13 Flow Acronym Limited Edition
- LG 48B4 - 48" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
- Eladó BONTATLAN Samsung Galaxy S24+ 12/256GB Lila / 12 hó jótállás
- Apple iPhone 13 / 128GB / Kártyafüggetlen / Akku:87%
- GYÖNYÖRŰ iPhone 12 Pro Max 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS2927, 100% Akkumulátor
- iKing - Apple iPhone 15 Pro Natural Titanium ProMotion 120 Hz, A17 Pro, USB-C 128 GB
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
a hálózatos közösség is erős worldwide, de a fejlesztői még inkább. hogy egy senior dev cimborám idézzem: "bruttó 1M fizut simán elérsz ha tudsz ctrlc-ctrlv-zni" 
FecoGee
crok
