Eminyakeni embalwa edlule ngibambe iqhaza kakhulu ekubhalweni. Ukubhala umbhalo ochazayo mayelana nendlela isistimu ethile esebenza ngayo ngokuvamile kulula kakhulu. Ukudweba umdwebo ozoveza zonke izinto ezibalulekile kanye nokuxhumana phakathi kwalezi zinto nakho kulula kakhulu.
Kodwa isici esiyinkinga kakhulu ukugcina lo mbhalo usesikhathini samanje. Futhi umbhalo uzobe ulungile, kodwa imidwebo... Ngoba... wonke amadokhumenti aku-inthanethi, i.e. ngefomethi ye-html, umbhalo bese uhambisana nezithombe ze-gif/jpeg/png, ezibonisa imidwebo. Futhi imidwebo idwetshwa ezinhlelweni ezahlukahlukene ezifana ne-Visio noma izinsiza eziku-inthanethi i-la draw.io. Bese ukhipha umdwebo kufomethi yesithombe bese uwunamathisela ku-html. Kulula.
Yini inkinga?
Izikimu ngokuvamile zilula. Ngokunembayo, hhayi inkimbinkimbi kakhulu. Yebo, inani lezinto liyishumi nambili noma ezimbili, inani lokuxhumana licishe lifane. Amasiginesha angeziwe, amagama athile. Amacebo alula angachazwa ngamagama, kodwa ayinkimbinkimbi kakhulu, ahem... (c) βngeke baqonde, mnumzane.β Kunezinhlelo eziningi, izinguquko zidinga ukwenziwa kuzo ngezikhathi ezithile, ngezikhathi ezithile, i.e. njalo, ngoba balandela ukuthuthukiswa kwemikhiqizo yethu.
Ungakwazi ukushumeka i-html yesevisi. Uke wakuzama?
Yebo, impela. Isibonelo, ngithanda izithombe ezivela ku-gliffy.com. Kodwa ukuze wenze izinguquko, udinga ukuya kusevisi yenkampani yangaphandle futhi uhlele lapho. Futhi kunzima kakhulu ukunikeza izilungiso kozakwenu.
Yini okufanele ngiyenze?
Muva nje ngithole indawo yokugcina ku-Github ezincomweni
Kodwa-ke, ngibhala imibhalo hhayi ku-html ngokuphelele. Ngokuvamile, imibhalo iqoqo lamafayela anombhalo we-markdown, abese eguqulwa abe isayithi lamadokhumenti eligcwele yinjini ethile, isibonelo i-wintersmith. Noma isistimu ye-wiki.
Kuvele kube lula kakhulu: sibhale umbhalo, bese kuvuleka ithegi yeskripthi futhi ikhodi ye-JS yohlelo ichazwe kuyo.
Kwenzenjani futhi?
Ngiyithandile le nqolobane, kodwa lesi akusona ukuphela kwesibonelo lapho umdwebo udwetshwa kusetshenziswa ikhodi noma ukumelwa kombhalo. (Ekugcineni kwesihloko kuzoba nezixhumanisi zamaphrojekthi nezindatshana engizisebenzise ku-Google kumdwebo wesihloko njengekhodi.)
Futhi akumina ngedwa ohlela amadokhumenti. Kwesinye isikhathi ozakwethu nabo banomthelela - lungisa igama, shintsha incazelo, faka izithombe ezintsha.
Ngakho-ke, ngingathanda ukubona umdwebo ngefomethi yombhalo efundekayo, eqondakalayo engeke idinge ijika lokufunda elide. Futhi kwezinye izindawo ungamane ukopishe-unamathisele ukusheshisa ukungeza isekethe entsha.
Futhi omunye uzakwethu waphawula ukuthi ikhodi, yebo, inhle, kodwa uma usebenzisa isakhiwo, yonke into ingaba eqinile futhi icacise.
Ngakho-ke, ngizame ukucabanga umdwebo njengeqoqo lezinhlaka ezimbalwa ezincane ezichaza ama-node, ukuxhumana, amaqembu ama-node, kanye nendawo yama-node. Kwavela, ngokombono wami othobekile, kulula kakhulu, nakuba, kunjalo, ukunambitheka nombala ...
Leli shadi linjani kumalungu afanayo?
- I-node ngayinye ichazwa yisihlonzi esikhomba ngokukhethekile indawo.
- Ungakwazi futhi ukwengeza isithonjana endaweni bese wengeza umbhalo.
- Ungacacisa ubudlelwano phakathi kwamanodi amabili.
- Ukuze uxhumane nomdwebo, ungasetha umbala nombhalo.
- Inkombandlela yokuxhumana ichazwa ngokuthi ukusuka emthonjeni kuya ekuqondisweni. Futhi umthombo nethagethi kukhonjiswa ngezihlonzi zenodi.
- Inodi eyodwa noma ngaphezulu angengezwa eqenjini.
- Ubudlelwano bungabuye bucaciswe kokubili eqenjini naseqenjini.
Ngokusebenzisa le mithetho elula, sithola umdwebo olandelayo. Nje? Impela.
Futhi ichazwa yikhodi elandelayo ye-js. Into esemqoka lapha into yezakhi. Lapho kuboniswa khona ama-node - ama-node, imiphetho - ukuxhumana.
const elements = {
nodes: [ // ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠ·Π»Ρ
{ id: 'client', type: 'smartphone', label: 'Mobile App'},
{ id: 'server', type: 'server', label: 'Main Server'},
{ id: 'db1', type: 'database', label: 'DB 1'},
{ id: 'db2', type: 'database', label: 'DB 2'},
],
edges: [ // ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠ²ΡΠ·ΠΈ
{ source: 'client', target: 'server', label: 'request' },
{ source: 'server', target: 'db1', label: 'request' },
{ source: 'server', target: 'db2', label: 'request' },
],
};
Diagram('scheme1', elements);
Vele, angizange ngiqhamuke nomdwebo wesekethe ngokwami, kodwa ngisebenzise umtapo wezincwadi
Kulungile, lesi isibonelo esilula. Kungaba nzima kakhulu?
Yebo ngiyacela. Ukukhombisa izikhundla, sisebenzisa izikhundla, ukukhombisa amaqembu, sibonisa uhlu lwamaqembu ngamaqembu, futhi izakhi ngokwazo zinemfanelo yeqembu.
Futhi nansi ikhodi:
<div id="scheme5" style="height:500px;width:800px;"></div>
<script>
const elements5 = {
groups: [
{ id: 'g1', label: 'ΠΡΡΠΏΠΏΠ° ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² 1'},
{ id: 'g2', label: 'ΠΡΡΠΏΠΏΠ° ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² 2'},
],
nodes: [
{ id: 'man1', type: 'person', label: 'Π§Π΅Π»ΠΎΠ²Π΅ΠΊ'},
{ id: 'client', type: 'smartphone', label: 'Π‘ΠΌΠ°ΡΡΡΠΎΠ½'},
{ id: 'agent-backend', type: 'server', group: 'g1', label: 'agent-backend'},
{ id: 'web', type: 'server', group: 'g1', label: 'ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ admin'},
{ id: 'www', type: 'server', group: 'g1', label: 'ΡΡΡΠ°Π½ΠΈΡΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ'},
{ id: 'mongodb1', type: 'database', group: 'g1', label: 'Mongo DB 1'},
{ id: 'mongodb2', type: 'database', group: 'g1', label: 'Mongo DB 2'},
{ id: 'runner-integration1', type: 'worker', group: 'g1', label: 'ΠΎΡΠΏΡΠ°Π²ΠΊΠ°'},
{ id: 'runner-integration2', type: 'worker', group: 'g1', label: 'ΠΎΡΠΏΡΠ°Π²ΠΊΠ°'},
{ id: 'api', type: 'server', group: 'g1', label: 'API'},
{ id: 'server2', type: 'server', group:'g2', label: 'ΡΠ΅ΡΠ²Π΅Ρ'},
{ id: 'otherServer', type: 'server', group:'g2', label: 'ΡΠ΅ΡΠ²Π΅Ρ'},
{ id: 'firebase', type: 'cloud', label: 'Google Firebase'},
],
edges: [
{ source: 'client', target: 'agent-backend', label: 'json', color: 'red' },
{ source: 'agent-backend', target: 'mongodb1', color: 'red' },
{ source: 'agent-backend', target: 'mongodb2', color: 'red' },
{ source: 'mongodb1', target: 'runner-integration1', label: 'Π΄Π°Π½Π½ΡΠ΅' },
{ source: 'mongodb2', target: 'runner-integration2', label: 'Π΄Π°Π½Π½ΡΠ΅' },
{ source: 'mongodb1', target: 'web', label: 'Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ' },
{ source: 'runner-integration1', target: 'server2', label: 'Π΄Π°Π½Π½ΡΠ΅' },
{ source: 'runner-integration2', target: 'otherServer', label: 'Π΄Π°Π½Π½ΡΠ΅' },
{ source: 'api', target: 'firebase', label: 'Π·Π°ΠΏΡΠΎΡΡ', color: 'blue', },
{ source: 'firebase', target: 'client', label: 'push', color: 'blue'},
{ source: 'server2', target: 'api', label: 'ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ', color: 'blue'},
{ source: 'man1', target: 'client', },
],
positions: [
{ id: 'client', row: 2, col: 1,},
{ id: 'agent-backend', row: 2, col: 3,},
{ id: 'web', row: 6, col: 3,},
{ id: 'www', row: 1, col: 3,},
{ id: 'mongodb1', row: 1, col: 4,},
{ id: 'mongodb2', row: 2, col: 5,},
{ id: 'runner-integration1', row: 3, col: 3,},
{ id: 'runner-integration2', row: 4, col: 3,},
{ id: 'api', row: 5, col: 3,},
{ id: 'server2', row: 6, col: 7,},
{ id: 'otherServer', row: 4, col: 7,},
{ id: 'firebase', row: 5, col: 1,},
{ id: 'logger', row: 2, col: 7,},
{ id: 'crm', row: 5, col: 8,},
],
};
Diagram('scheme5', elements5, {layout: 'grid'});
</script>
Ngakolunye uhlangothi, uhlelo olunjalo cishe luyizikrini ezimbalwa zekhodi ku-laptop, ngakolunye uhlangothi, isakhiwo se-la json sikuvumela ukuthi ugcwalise yonke idatha ngokufanisa, ngokushesha futhi ungakwazi ukukopisha-unamathisele.
Kungani izikhundla zibekwe ngokwehlukana namanodi?
Ikhululekile. Okokuqala sicacisa ama-node. Khona-ke singacacisa amaqembu ambalwa futhi siwabonise ngamanodi. Bese siqoka izixhumanisi. Futhi kuphela lapho, lapho izinto eziyinhloko nokuxhumana phakathi kwazo kukhona, sithatha indawo yalezi zinto emdwebeni. Noma ngokuphambene.
Kungenzeka yini ngaphandle kwezikhundla?
Kuyenzeka ngaphandle kwezikhundla. Kodwa izoba shwabene kancane; ungabona le nketho ezibonelweni. Lokhu kungenxa yokuthi kune-algorithm yendawo yama-node e-cytoscape
Izikhundla zingacaciswa nangesitayela se-Battleship. Labo. inodi eyodwa iku-a1, kanti enye iku-d5. Isiza ikakhulukazi ukuthi i-cytoscape yenza izinto eziseseyili zinyakaze, i.e. singawahambisa nxazonke, sibone izinketho ezahlukene zesakhiwo, bese silungisa ukuhlelwa kwezinto esizithandayo kukhodi.
Ngokuvamile, kuyaqondakala. Ungakwazi futhi ukuzama?
Yiqiniso, ukudala ngokushesha ama-circuits, ngizenzele encane
Uke wakuzama? Manje ungayengeza ekhasini lakho.
Bese futhi:
1. Ixhuma umbhalo
<script src="https://unpkg.com/@antirek/[email protected]/dist/code-full.min.js"></script>
2. Engeza ikhodi ku-html
<div id="scheme1" style="height:300px;width:800px;"></div>
<script>
const elements = {
nodes: [
{ id: 'client', type: 'smartphone', label: 'Mobile App'},
{ id: 'server', type: 'server', label: 'Main Server'},
{ id: 'db1', type: 'database', label: 'DB 1'},
{ id: 'db2', type: 'database', label: 'DB 2'},
],
edges: [
{ source: 'client', target: 'server', label: 'request' },
{ source: 'server', target: 'db1', label: 'request' },
{ source: 'server', target: 'db2', label: 'request' },
],
};
Diagram('scheme1', elements);
</script>
3. sihlela ikhodi kumdwebo esiwudingayo (ngicabanga ukuthi kulula kunokudweba isikhova :)
Imininingwane eminingi ku
Yini ekugcineni?
Ngifinyelele izinhloso zami - ukwengeza imidwebo esemgqeni emibhalweni, ifomethi ilula futhi iyaqondakala. Ayilungele ama-super circuits, kodwa kumasekhethi amancane achaza ukwakheka kokuxhumana, kulungile ngokuphelele. Ungahlala ulungisa ngokushesha futhi ushintshe okuthile ngokuhamba kwesikhathi. Yebo, nozakwethu bangalungisa okuthile edokhi ngokwabo, okungenani amazwibela ezinto, ngaphandle kokuqeqeshwa okukhethekile))
Yini engathuthukiswa?
Yebo, kunezinketho eziningi lapha. Engeza izithonjana ezengeziwe (zonke ezikhona zengezwa emgqeni wombhalo). Khetha isethi yezithonjana eziveza ngokucacile. Yenza kube nokwenzeka ukucacisa isitayela somugqa wokuxhuma. Engeza isithombe sangemuva.
UCABANGANI?
Sengivele nginemibono eminingana yokuqaliswa ezindabeni, ungangeza neyakho kumazwana.
Isixazululo sami siyasebenza ezinhlobonhlobo zezinkinga, futhi mhlawumbe uzothola ithuluzi elifaneleka kakhulu lokudweba imidwebo ngokumane uyibhale ngekhodi - njengoba bethi 'ngibonise umdwebo wakho njengekhodi'
Ukukhetha okuhle Inkonzo enhle (Izinhlobo ezingu-9 zamashadi omhleli aku-inthanethi)Yebo, i-mermaid.js - Futhi uma uthanda imidwebo enemininingwane eminingi futhi eyinkimbinkimbi, khona-ke uzoyithanda le phrojekthi:
hamba.drawthe.net
Source: www.habr.com