ʻO ke kiʻi pūnaewele e like me ke code / Network diagram as code
I nā makahiki ʻelua i hala iho nei, ua komo nui au i ka palapala. He mea maʻalahi ke kākau ʻana i kahi kikokikona wehewehe e pili ana i ka hana ʻana o kekahi ʻōnaehana. He mea maʻalahi nō hoʻi ke kahakiʻi ʻana i kahi kiʻi e hōʻike i nā mea kī āpau a me nā pilina ma waena o kēia mau mea.
Akā ʻo ka mea pilikia loa ka mālama ʻana i kēia palapala i kēia lā. A maikaʻi ke kikokikona, akā ʻo nā kiʻi ... No ka mea ... aia nā palapala a pau ma ka pūnaewele, ʻo ia hoʻi. ma ka palapala html, a laila hele pū ka kikokikona me nā kiʻi gif/jpeg/png, e hōʻike maoli ana i nā kiʻi. A huki ʻia nā kiʻi i nā papahana like ʻole e like me Visio a i ʻole nā lawelawe pūnaewele a la draw.io. A laila e hoʻokuʻu aku ʻoe i ke kiʻikuhi i ke ʻano kiʻi a hoʻopili iā ia i ka html. He maʻalahi.
He aha ka pilikia?
He maʻalahi nā papahana. ʻOi aku ka pololei, ʻaʻole paʻakikī loa. ʻAe, ʻo ka helu o nā mea he ʻumi a ʻelua paha, ʻokoʻa ka helu o nā pilina. Hoʻohui pūlima, kekahi mau inoa. Hiki ke wehewehe ʻia nā ʻōkuhi maʻalahi ma nā huaʻōlelo, akā paʻakikī loa, ahem... (c) "ʻaʻole lākou e hoʻomaopopo, e ka haku." Nui nā papahana, pono e hoʻololi iā lākou i kēlā me kēia manawa, episodicly, i.e. mau, no ka mea hahai lākou i ka hoʻomohala ʻana o kā mākou huahana.
Hiki iā ʻoe ke hoʻokomo i ka html o ka lawelawe. Ua ho'āʻo anei ʻoe?
ʻAe, maopopo. No ka laʻana, makemake au i nā kiʻi mai gliffy.com. Akā no ka hoʻololi ʻana, pono ʻoe e hele i kahi lawelawe ʻaoʻao ʻekolu a hoʻoponopono ma laila. A ʻoi aku ka paʻakikī o ka hāʻawi ʻana i nā hoʻoponopono i kahi hoa hana.
He aha kaʻu e hana ai?
I kēia mau lā ua ʻike au i kahi waihona ma Github i nā ʻōlelo aʻoaʻo github.com/RaoulMeyer/diagram-as-code. Diagram like code. ʻO kēlā mau. wehewehe mākou i ke kaapuni e pono ai mākou ma js. Kākau pololei mākou i kēia js ma ka html hoʻokahi kahi i loaʻa ai nā kikokikona palapala ʻē aʻe.
Ma ke ala, kākau wau i nā palapala ʻaʻole holoʻokoʻa i ka html. ʻO ka mea maʻamau, ʻo ka palapala he pūʻulu o nā faila me nā kikokikona markdown, a laila hoʻololi ʻia i kahi pūnaewele palapala piha e kekahi mīkini, no ka laʻana wintersmith. A i ʻole he ʻōnaehana wiki.
He mea maʻalahi loa ia: ua kākau mākou i ka kikokikona, a laila wehe ka hōʻailona hōʻailona a wehewehe ʻia ka code JS o ka hoʻolālā.
He aha hou ka hewa?
Ua makemake au i kēia waihona, akā ʻaʻole kēia wale nō ka laʻana kahi e kaha ʻia ai kahi kiʻi me ka hoʻohana ʻana i ke code a i ʻole kahi kikokikona. (Ma ka hope o ka ʻatikala e loaʻa nā loulou i nā papahana a me nā ʻatikala aʻu i Googled ma ke kiʻina kumuhana ma ke ʻano he code.)
A ʻaʻole wau wale nō ka hoʻoponopono ʻana i ka palapala. I kekahi manawa hāʻawi pū nā hoa hana - hoʻoponopono i kahi huaʻōlelo, hoʻololi i kahi wehewehe, hoʻokomo i nā kiʻi hou.
No laila, makemake au e ʻike i ke kiʻikuhi ma kahi ʻano kikokikona hiki ke heluhelu ʻia a hiki ke hoʻomaopopo ʻia ʻaʻole e koi i kahi pihi aʻo lōʻihi. A ma kekahi mau wahi, hiki iā ʻoe ke kope-paʻi wale i ka hoʻohui ʻana i kahi kaapuni hou.
A ua ʻike kekahi hoa hana ʻo ka code, ʻoiaʻiʻo, maikaʻi, akā inā ʻoe e hoʻohana i ka hoʻolālā, hiki i nā mea āpau ke koʻikoʻi a hōʻike.
No laila, ua ho'āʻo wau e noʻonoʻo i ke kiʻikuhi ma ke ʻano he pūʻulu o nā ʻāpana liʻiliʻi e wehewehe ana i nā nodes, nā pilina, nā pūʻulu o nā nodes, a me kahi o nā nodes. Ua hoʻololi ʻia, i koʻu manaʻo haʻahaʻa, maʻalahi loa, ʻoiai, ʻoiaʻiʻo, ʻo ka ʻono a me ke kala ...
Pehea kēia kiʻi i loko o kahi array?
Hōʻike ʻia kēlā me kēia node e kahi mea ʻike e ʻike kūʻokoʻa i ka node.
Hiki iā ʻoe ke hoʻohui i kahi ikona i ka node a hoʻohui i kahi palapala.
Hiki iā ʻoe ke kuhikuhi i kahi pilina ma waena o nā nodes ʻelua.
No ke kamaʻilio ʻana ma ke kiʻikuhi, hiki iā ʻoe ke hoʻonohonoho i ke kala a me ka palapala.
Ua wehewehe ʻia ke kuhikuhi o ke kamaʻilio ʻana mai ke kumu a i ka pahuhopu. A hōʻike ʻia ke kumu a me ka pahuhopu e nā mea hōʻike node.
Hiki ke hoʻohui ʻia hoʻokahi a ʻoi aʻe paha node i kahi hui.
Hiki ke kuhikuhi ʻia ka pilina mai ka hui a i ka hui.
Ke hoʻohana nei i kēia mau lula maʻalahi, loaʻa iā mākou ke kiʻikuhi aʻe. wale? Pono.
A ua wehewehe ʻia e ke code js ma lalo nei. ʻO ka mea nui ma ʻaneʻi ʻo ka mea element. Ma kahi e hōʻike ʻia ai nā nodes - nā nodes, nā kihi - nā pilina.
ʻOiaʻiʻo, ʻaʻole wau i hele mai me ke kaha kiʻi o ke kaapuni iaʻu iho, akā hoʻohana wau i ka waihona cytoscape.js he mea hana ike maka ikaika loa. Hoʻohana wale au i kahi hapa o nā mea hiki i kaʻu hopena.
ʻAe, he laʻana maʻalahi kēia. Hiki paha ke paʻakikī?
ʻAe ʻoluʻolu. No ka hōʻike i nā kūlana, hoʻohana mākou i nā kūlana, e hōʻike i nā pūʻulu, hōʻike mākou i kahi papa inoa o nā hui i nā hui, a ʻo nā mea i loaʻa i kahi ʻano hui.
Ma kekahi ʻaoʻao, ʻo ia ʻano hoʻolālā he aneane ʻelua mau pale o ke code ma kahi kamepiula, ma ka ʻaoʻao ʻē aʻe, ʻo ka hale a la json e hiki ai iā ʻoe ke hoʻopiha i nā ʻikepili āpau ma ka hoʻohālikelike, wikiwiki a hiki iā ʻoe ke kope-paʻi.
No ke aha i hoʻokaʻawale ʻia ai nā kūlana mai nā nodes?
ʻOi aku ka ʻoluʻolu. ʻO ka mua mākou e wehewehe i nā nodes. A laila hiki iā mākou ke kuhikuhi i nā hui ʻelua a hōʻike iā lākou i nā nodes. A laila koho mākou i nā pilina. A laila wale nō, aia nā mea nui a me nā pilina ma waena o lākou, lawe mākou i kahi o kēia mau mea ma ke kiʻi. A i ʻole ʻē aʻe.
Hiki paha me ke kūlana ʻole?
Hiki ke loaʻa me nā kūlana ʻole. Akā e liʻiliʻi liʻiliʻi ia; hiki iā ʻoe ke ʻike i kēia koho i nā hiʻohiʻona. ʻO kēia ma muli o ka loaʻa ʻana o kahi algorithm no kahi o nā nodes no cytoscape fcose, e noʻonoʻo pū ana i ka hele ʻana o nā hui. ʻO ka wehewehe ʻana i nā kūlana e ʻoi aku ka maʻalahi o ke kiʻi, akā i ka pae o ka kiʻi mua o ke kiʻi hiki ke hiki me ka ʻole o nā kūlana.
Hiki ke kuhikuhi ʻia nā kūlana ma ke ʻano kaua. ʻO kēlā mau mea. Aia kekahi node ma a1, a ʻo kekahi ma d5. He mea kōkua nui ia i ka cytoscape e hoʻoneʻe i nā mea ma ka canvas, ʻo ia hoʻi. hiki iā mākou ke hoʻoneʻe iā lākou a puni, ʻike i nā koho hoʻonohonoho like ʻole, a laila hoʻoponopono i ka hoʻonohonoho ʻana o nā mea a mākou e makemake ai i ke code.
Ma keʻano laulā, hiki ke hoʻomaopopo. Hiki iā ʻoe ke hoʻāʻo?
ʻOiaʻiʻo, e hana wikiwiki i nā kaʻapuni, ua hana wau iaʻu iho i kahi liʻiliʻi ka mea hoʻoponopono, nāna e hoʻohou i ka schema a mālama i ka mana hou loa i ka polokalamu kele pūnaewele (ma ka localStorage).
Ua ho'āʻo anei ʻoe? Hiki iā ʻoe ke hoʻohui iā ia i kāu ʻaoʻao.
Ua hoʻokō au i kaʻu mau pahuhopu - e hoʻohui i nā kiʻi inline i ka palapala, maʻalahi a maʻalahi ke ʻano. ʻAʻole kūpono ia no nā kaapuni nui, akā no nā kaapuni liʻiliʻi e wehewehe i ke ʻano o nā pilina, maikaʻi loa. Hiki iā ʻoe ke hoʻololi wikiwiki a hoʻololi i kekahi mea i ka manawa. ʻAe, a hiki i nā hoa hana ke hoʻoponopono i kekahi mea i loko o ka pahu iā lākou iho, ma ka liʻiliʻi o nā captions no nā mea, me ka ʻole o ka hoʻomaʻamaʻa kūikawā))
He aha ka mea hiki ke hoʻomaikaʻi?
Aia nō, he nui nā koho ma aneʻi. Hoʻohui i nā kiʻi ʻē aʻe (ua hoʻohui ʻia nā mea āpau i ka laina i ka palapala). E koho i kahi ʻano kiʻi ʻoniʻoni. E hiki ke koho i ke ano o ka laina pili. Hoʻohui i kahi kiʻi hope.
Pehea kou manaʻo?
Ua loaʻa iaʻu kekahi mau manaʻo no ka hoʻokō ʻana i nā pilikia, hiki iā ʻoe ke hoʻohui i kāu i nā manaʻo.
Hoʻopili maoli kaʻu hoʻonā i nā pilikia liʻiliʻi, a malia paha e ʻike ʻoe i kahi mea hana maʻalahi no ke kahakiʻi ʻana i nā kiʻi ma ka hoʻopili wale ʻana iā lākou - e like me kā lākou e ʻōlelo nei 'e hōʻike mai iaʻu i kāu kiʻi ma ke ʻano he code'