เช•เซ‹เชก เชคเชฐเซ€เช•เซ‡ เชจเซ‡เชŸเชตเชฐเซเช• เชกเชพเชฏเชพเช—เซเชฐเชพเชฎ / เช•เซ‹เชก เชคเชฐเซ€เช•เซ‡ เชจเซ‡เชŸเชตเชฐเซเช• เชกเชพเชฏเชพเช—เซเชฐเชพเชฎ

เช›เซ‡เชฒเซเชฒเชพ เช•เซ‡เชŸเชฒเชพเช• เชตเชฐเซเชทเซ‹เชฎเชพเช‚ เชนเซเช‚ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃเชฎเชพเช‚ เชตเชงเซ เชธเชพเชฎเซ‡เชฒ เชฅเชฏเซ‹ เช›เซเช‚. เช•เซ‹เชˆ เชšเซ‹เช•เซเช•เชธ เชธเชฟเชธเซเชŸเชฎ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เชตเชฟเชถเซ‡ เชธเชฎเชœเซ‚เชคเซ€เชคเซเชฎเช• เชŸเซ‡เช•เซเชธเซเชŸ เชฒเช–เชตเซเช‚ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชเช•เชฆเชฎ เชธเชฐเชณ เช›เซ‡. เชเช• เช†เช•เซƒเชคเชฟ เชฆเซ‹เชฐเชตเซ€ เชœเซ‡ เชคเชฎเชพเชฎ เช•เซ€ เช“เชฌเซเชœเซ‡เช•เซเชŸเซ‹ เช…เชจเซ‡ เช† เช“เชฌเซเชœเซ‡เช•เซเชŸเซ‹ เชตเชšเซเชšเซ‡เชจเชพ เชœเซ‹เชกเชพเชฃเซ‹ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡ เชคเซ‡ เชชเชฃ เชเช•เชฆเชฎ เชธเชฐเชณ เช›เซ‡.

เชชเชฐเช‚เชคเซ เชธเซŒเชฅเซ€ เชธเชฎเชธเซเชฏเชพเชฐเซ‚เชช เชชเชพเชธเซเช‚ เช† เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃเชจเซ‡ เช…เชฆเซเชฏเชคเชจ เชฐเชพเช–เชตเซเช‚ เช›เซ‡. เช…เชจเซ‡ เชฒเช–เชพเชฃ เชธเชพเชฐเซเช‚ เชนเชถเซ‡, เชชเชฐเช‚เชคเซ เช†เช•เซƒเชคเชฟเช“... เช•เชพเชฐเชฃ เช•เซ‡... เชคเชฎเชพเชฎ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ‹ เช“เชจเชฒเชพเชˆเชจ เช›เซ‡, เชเชŸเชฒเซ‡ เช•เซ‡. html เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฎเชพเช‚, เชชเช›เซ€ เชŸเซ‡เช•เซเชธเซเชŸเชจเซ€ เชธเชพเชฅเซ‡ gif/jpeg/png เชšเชฟเชคเซเชฐเซ‹ เชนเซ‹เชฏ เช›เซ‡, เชœเซ‡ เชตเชพเชธเซเชคเชตเชฎเชพเช‚ เช†เช•เซƒเชคเชฟเช“ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡. เช…เชจเซ‡ เช†เช•เซƒเชคเชฟเช“ เชตเชฟเชเชฟเชฏเซ‹ เช…เชฅเชตเชพ เช“เชจเชฒเชพเชˆเชจ เชธเซ‡เชตเชพเช“ a la draw.io เชœเซ‡เชตเชพ เชตเชฟเชตเชฟเชง เช•เชพเชฐเซเชฏเช•เซเชฐเชฎเซ‹เชฎเชพเช‚ เชฆเซ‹เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชชเช›เซ€ เชคเชฎเซ‡ เชกเชพเชฏเชพเช—เซเชฐเชพเชฎเชจเซ‡ เช—เซเชฐเชพเชซเชฟเช• เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฎเชพเช‚ เชจเชฟเช•เชพเชธ เช•เชฐเซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ html เชธเชพเชฅเซ‡ เชœเซ‹เชกเซ‹. เชคเซ‡ เชธเชฐเชณ เช›เซ‡.

เชธเชฎเชธเซเชฏเชพ เชถเซเช‚ เช›เซ‡?

เชฏเซ‹เชœเชจเชพเช“ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชธเชฐเชณ เชนเซ‹เชฏ เช›เซ‡. เชตเชงเซ เชธเซเชชเชทเซเชŸ เชฐเซ€เชคเซ‡, เช–เซ‚เชฌ เชœเชŸเชฟเชฒ เชจเชฅเซ€. เชนเชพ, เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชจเซ€ เชธเช‚เช–เซเชฏเชพ เชเช• เชกเชเชจ เช…เชฅเชตเชพ เชฌเซ‡ เช›เซ‡, เชœเซ‹เชกเชพเชฃเซ‹เชจเซ€ เชธเช‚เช–เซเชฏเชพ เชฒเช—เชญเช— เชธเชฎเชพเชจ เช›เซ‡. เชตเชคเซเชคเชพ เชธเชนเซ€เช“, เช•เซ‡เชŸเชฒเชพเช• เชนเซ‹เชฆเซเชฆเซ‹. เชธเชฐเชณ เชฏเซ‹เชœเชจเชพเช“ เชถเชฌเซเชฆเซ‹เชฎเชพเช‚ เชตเชฐเซเชฃเชตเซ€ เชถเช•เชพเชฏ เช›เซ‡, เชชเชฐเช‚เชคเซ เช–เซ‚เชฌ เชœเชŸเชฟเชฒ เช›เซ‡, เช…เชนเซ‡เชฎ... (c) "เชคเซ‡เช“ เชธเชฎเชœเซ€ เชถเช•เชถเซ‡ เชจเชนเซ€เช‚, เชธเชพเชนเซ‡เชฌ." เชคเซเชฏเชพเช‚ เช˜เชฃเซ€ เชฏเซ‹เชœเชจเชพเช“ เช›เซ‡, เชคเซ‡เชฎเชพเช‚ เชธเชฎเชฏเชพเช‚เชคเชฐเซ‡ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เชเชชเชฟเชธเซ‹เชกเชฟเช•เชฒเซ€, เชเชŸเชฒเซ‡ เช•เซ‡. เชธเชคเชค, เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡เช“ เช…เชฎเชพเชฐเชพ เช‰เชคเซเชชเชพเชฆเชจเซ‹เชจเชพ เชตเชฟเช•เชพเชธเชจเซ‡ เช…เชจเซเชธเชฐเซ‡ เช›เซ‡.

เชคเชฎเซ‡ เชธเซ‡เชตเชพเชจเชพ html เชจเซ‡ เชเชฎเซเชฌเซ‡เชก เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชถเซเช‚ เชคเชฎเซ‡ เชคเซ‡เชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซเชฏเซ‹ เช›เซ‡?

เชนเชพ เชชเชพเช•เซเช•เซ. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชฎเชจเซ‡ gliffy.com เชจเชพ เช—เซเชฐเชพเชซเชฟเช•เซเชธ เช—เชฎเซ‡ เช›เซ‡. เชชเชฐเช‚เชคเซ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เชคเซƒเชคเซ€เชฏ-เชชเช•เซเชท เชธเซ‡เชตเชพ เชชเชฐ เชœเชตเซเช‚ เชชเชกเชถเซ‡ เช…เชจเซ‡ เชคเซเชฏเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเชตเซ‹ เชชเชกเชถเซ‡. เช…เชจเซ‡ เชธเชพเชฅเซ€เชฆเชพเชฐเชจเซ‡ เช•เชฐเซ‡เช•เซเชถเชจ เชธเซ‹เช‚เชชเชตเซเช‚ เชตเชงเซ เชฎเซเชถเซเช•เซ‡เชฒ เช›เซ‡.

เชฎเชพเชฐเซ‡ เชถเซเช‚ เช•เชฐเชตเซเช‚ เชœเซ‹เชˆเช?

เชคเชพเชœเซ‡เชคเชฐเชฎเชพเช‚ เชนเซเช‚ เชญเชฒเชพเชฎเชฃเซ‹เชฎเชพเช‚ เช—เซ€เชฅเชฌ เชชเชฐ เชเช• เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚ เช†เชตเซเชฏเซ‹ github.com/RaoulMeyer/diagram-as-code. เช•เซ‹เชก เชคเชฐเซ€เช•เซ‡ เชกเชพเชฏเชพเช—เซเชฐเชพเชฎ. เชคเซ‡. เช†เชชเชฃเซ‡ js เชฎเชพเช‚ เชœเชฐเซ‚เชฐเซ€ เชธเชฐเซเช•เชฟเชŸเชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเซ€เช เช›เซ€เช. เช…เชฎเซ‡ เช† js เชธเซ€เชงเชพ เชœ html เชฎเชพเช‚ เชฒเช–เซ€เช เช›เซ€เช เชœเซเชฏเชพเช‚ เช…เชจเซเชฏ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ เชŸเซ‡เช•เซเชธเซเชŸ เช›เซ‡.

เชฎเชพเชฐเซเช— เชฆเซเชตเชพเชฐเชพ, เชนเซเช‚ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ html เชฎเชพเช‚ เชฒเช–เซเช‚ เช›เซเช‚. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ เช เชฎเชพเชฐเซเช•เชกเชพเช‰เชจ เชŸเซ‡เช•เซเชธเซเชŸ เชธเชพเชฅเซ‡เชจเซ€ เชซเชพเช‡เชฒเซ‹เชจเซ‹ เชธเชฎเซ‚เชน เช›เซ‡, เชœเซ‡ เชชเช›เซ€ เช•เซ‡เชŸเชฒเชพเช• เชเชจเซเชœเชฟเชจ เชฆเซเชตเชพเชฐเชพ เชธเช‚เชชเซ‚เชฐเซเชฃ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ เชธเชพเช‡เชŸเชฎเชพเช‚ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฟเชค เชฅเชพเชฏ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡ เชตเชฟเชจเซเชŸเชฐเชธเซเชฎเชฟเชฅ. เช…เชฅเชตเชพ เชตเชฟเช•เชฟ เชธเชฟเชธเซเชŸเชฎ.

เชคเซ‡ เช–เซ‚เชฌ เชœ เช…เชจเซเช•เซ‚เชณ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚ เช›เซ‡: เช…เชฎเซ‡ เชŸเซ‡เช•เซเชธเซเชŸ เชฒเช–เซเชฏเซ‹ เช›เซ‡, เชชเช›เซ€ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชŸเซ‡เช— เช–เซเชฒเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชฎเชพเช‚ เชฏเซ‹เชœเชจเชพเชจเซ‹ JS เช•เซ‹เชก เชตเชฐเซเชฃเชตเซ‡เชฒ เช›เซ‡.

เชซเชฐเซ€ เชถเซเช‚ เช–เซ‹เชŸเซเช‚ เช›เซ‡?

เชฎเชจเซ‡ เช† เชญเช‚เชกเชพเชฐ เช—เชฎเซเชฏเซเช‚, เชชเชฐเช‚เชคเซ เช† เชเช•เชฎเชพเชคเซเชฐ เช‰เชฆเชพเชนเชฐเชฃ เชจเชฅเซ€ เชœเซเชฏเชพเช‚ เช•เซ‹เชก เช…เชฅเชตเชพ เชŸเซ‡เช•เซเชธเซเชŸเชจเซ€ เชฐเชœเซ‚เช†เชคเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฐเซ‡เช–เชพเช•เซƒเชคเชฟ เชฆเซ‹เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. (เชฒเซ‡เช–เชจเชพ เช…เช‚เชคเซ‡ เชเชตเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เช…เชจเซ‡ เชฒเซ‡เช–เซ‹เชจเซ€ เชฒเชฟเช‚เช•เซเชธ เชนเชถเซ‡ เช•เซ‡ เชœเซ‡เชจเซ‡ เชฎเซ‡เช‚ เช•เซ‹เชก เชคเชฐเซ€เช•เซ‡ เชตเชฟเชทเชฏ เชกเชพเชฏเชพเช—เซเชฐเชพเชฎ เชชเชฐ เช—เซ‚เช—เชฒ เช•เชฐเซเชฏเซเช‚ เช›เซ‡.)

เช…เชจเซ‡ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ เชธเช‚เชชเชพเชฆเชฟเชค เช•เชฐเชจเชพเชฐ เชนเซเช‚ เชเช•เชฎเชพเชคเซเชฐ เชจเชฅเซ€. เช•เซ‡เชŸเชฒเซ€เช•เชตเชพเชฐ เชธเชพเชฅเซ€เชฆเชพเชฐเซ‹ เชชเชฃ เชฏเซ‹เช—เชฆเชพเชจ เช†เชชเซ‡ เช›เซ‡ - เชเช• เชถเชฌเซเชฆ เชธเซเชงเชพเชฐเซ‹, เชตเชฐเซเชฃเชจ เชฌเชฆเชฒเซ‹, เชจเชตเชพ เชšเชฟเชคเซเชฐเซ‹ เชฆเชพเช–เชฒ เช•เชฐเซ‹. 

เชคเซ‡เชฅเซ€, เชนเซเช‚ เชกเชพเชฏเชพเช—เซเชฐเชพเชฎเชจเซ‡ เชตเชพเช‚เชšเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเชพ, เชธเชฎเชœเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเชพ เชŸเซ‡เช•เซเชธเซเชŸ เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฎเชพเช‚ เชœเซ‹เชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚ เชœเซ‡เชจเซ‡ เชฒเชพเช‚เชฌเชพ เชถเซ€เช–เชตเชพเชจเซ€ เช•เชฐเซเชตเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€. เช…เชจเซ‡ เช•เซ‡เชŸเชฒเซ€เช• เชœเช—เซเชฏเชพเช เชคเชฎเซ‡ เชจเชตเซ€ เชธเชฐเซเช•เชฟเชŸ เช‰เชฎเซ‡เชฐเชตเชพเชจเซ€ เชเชกเชช เชตเชงเชพเชฐเชตเชพ เชฎเชพเชŸเซ‡ เช•เซ‹เชชเซ€-เชชเซ‡เชธเซเชŸ เชชเชฃ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. 

เช…เชจเซ‡ เช…เชจเซเชฏ เชธเชพเชฅเซ€เชฆเชพเชฐเซ‡ เชจเซ‹เช‚เชงเซเชฏเซเช‚ เช•เซ‡ เช•เซ‹เชก, เช…เชฒเชฌเชคเซเชค, เชธเชพเชฐเซ‹ เช›เซ‡, เชชเชฐเช‚เชคเซ เชœเซ‹ เชคเชฎเซ‡ เชธเซเชŸเซเชฐเช•เซเชšเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เชฌเชงเซเช‚ เช–เซ‚เชฌ เช•เชกเช• เช…เชจเซ‡ เช…เชญเชฟเชตเซเชฏเช•เซเชค เชฅเชˆ เชถเช•เซ‡ เช›เซ‡.

เชคเซ‡เชฅเซ€, เชฎเซ‡เช‚ เช†เช•เซƒเชคเชฟเชจเซ‡ เช•เซ‡เชŸเชฒเชพเช• เชจเชพเชจเชพ เชเชฐเซ‡เชจเชพ เชธเชฎเซ‚เชน เชคเชฐเซ€เช•เซ‡ เช•เชฒเซเชชเชจเชพ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซเชฏเซ‹ เชœเซ‡ เช—เชพเช‚เช เซ‹, เชœเซ‹เชกเชพเชฃเซ‹, เช—เชพเช‚เช เซ‹เชจเชพ เชœเซ‚เชฅเซ‹, เชคเซ‡เชฎเชœ เช—เชพเช‚เช เซ‹เชจเชพ เชธเซเชฅเชพเชจเชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเซ‡ เช›เซ‡. เชคเซ‡ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚, เชฎเชพเชฐเชพ เชจเชฎเซเชฐ เช…เชญเชฟเชชเซเชฐเชพเชฏเชฎเชพเช‚, เชคเชฆเซเชฆเชจ เช…เชจเซเช•เซ‚เชณ, เชœเซ‹เช•เซ‡, เช…เชฒเชฌเชคเซเชค, เชธเซเชตเชพเชฆ เช…เชจเซ‡ เชฐเช‚เช— ...

เชเชฐเซ‡เชฎเชพเช‚ เช† เชšเชพเชฐเซเชŸ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช›เซ‡?

  • เชฆเชฐเซ‡เช• เชจเซ‹เชกเชจเซ‡ เช“เชณเช–เช•เชฐเซเชคเชพ เชฆเซเชตเชพเชฐเชพ เชตเชฐเซเชฃเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชœเซ‡ เชจเซ‹เชกเชจเซ‡ เช…เชจเชจเซเชฏ เชฐเซ€เชคเซ‡ เช“เชณเช–เซ‡ เช›เซ‡.
  • เชคเชฎเซ‡ เชจเซ‹เชกเชฎเชพเช‚ เชเช• เช†เชฏเช•เชจ เชชเชฃ เช‰เชฎเซ‡เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชถเชฟเชฒเชพเชฒเซ‡เช– เช‰เชฎเซ‡เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.
  • เชคเชฎเซ‡ เชฌเซ‡ เชจเซ‹เชกเซเชธ เชตเชšเซเชšเซ‡เชจเซ‹ เชธเช‚เชฌเช‚เชง เชธเซเชชเชทเซเชŸ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.
  • เชกเชพเชฏเชพเช—เซเชฐเชพเชฎ เชชเชฐ เชธเช‚เชšเชพเชฐ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ เชฐเช‚เช— เช…เชจเซ‡ เชถเชฟเชฒเชพเชฒเซ‡เช– เชธเซ‡เชŸ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.
  • เชธเช‚เชšเชพเชฐเชจเซ€ เชฆเชฟเชถเชพ เชธเซเชคเซเชฐเซ‹เชคเชฅเซ€ เชฒเช•เซเชทเซเชฏ เชธเซเชงเซ€ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช…เชจเซ‡ เชธเซเชคเซเชฐเซ‹เชค เช…เชจเซ‡ เชฒเช•เซเชทเซเชฏ เชจเซ‹เชก เช“เชณเช–เช•เชฐเซเชคเชพเช“ เชฆเซเชตเชพเชฐเชพ เชธเซ‚เชšเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.
  • เชœเซ‚เชฅเชฎเชพเช‚ เชเช• เช…เชฅเชตเชพ เชตเชงเซ เช—เชพเช‚เช เซ‹ เช‰เชฎเซ‡เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.
  • เชธเช‚เชฌเช‚เชง เชœเซ‚เชฅ เช…เชจเซ‡ เชœเซ‚เชฅ เชฌเช‚เชจเซ‡เชฎเชพเช‚ เชชเชฃ เชธเซเชชเชทเซเชŸ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.

เช† เชธเชฐเชณ เชจเชฟเชฏเชฎเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, เช…เชฎเชจเซ‡ เชจเซ€เชšเซ‡เชจเซ‹ เช†เช•เซƒเชคเชฟ เชฎเชณเซ‡ เช›เซ‡. เชฎเชพเชคเซเชฐ? เชคเชฆเซเชฆเชจ.

เช•เซ‹เชก เชคเชฐเซ€เช•เซ‡ เชจเซ‡เชŸเชตเชฐเซเช• เชกเชพเชฏเชพเช—เซเชฐเชพเชฎ / เช•เซ‹เชก เชคเชฐเซ€เช•เซ‡ เชจเซ‡เชŸเชตเชฐเซเช• เชกเชพเชฏเชพเช—เซเชฐเชพเชฎ

เช…เชจเซ‡ เชคเซ‡ เชจเซ€เชšเซ‡เชจเชพ เชœเซ‡เชเชธ เช•เซ‹เชก เชฆเซเชตเชพเชฐเชพ เชตเชฐเซเชฃเชตเซ‡เชฒ เช›เซ‡. เช…เชนเซ€เช‚ เชฎเซเช–เซเชฏ เชตเชธเซเชคเซ เชเชฒเชฟเชฎเซ‡เชจเซเชŸเซเชธ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เช›เซ‡. เชœเซ‡เชฎเชพเช‚ เช—เชพเช‚เช เซ‹ เชธเซ‚เชšเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ - เช—เชพเช‚เช เซ‹, เชงเชพเชฐ - เชœเซ‹เชกเชพเชฃเซ‹.
 

  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);

เช…เชฒเชฌเชคเซเชค, เชนเซเช‚ เชฎเชพเชฐเซ€ เชœเชพเชคเซ‡ เชธเชฐเซเช•เชฟเชŸเชจเซเช‚ เชกเซเชฐเซ‹เช‡เช‚เช— เชธเชพเชฅเซ‡ เช†เชตเซเชฏเซ‹ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเช‚ เช›เซเช‚ cytoscape.js เช–เซ‚เชฌ เชœ เชถเช•เซเชคเชฟเชถเชพเชณเซ€ เชตเชฟเชเซเชฏเซเชฒเชพเช‡เชเซ‡เชถเชจ เชŸเซ‚เชฒ เช›เซ‡. เชนเซเช‚ เชฎเชพเชฐเชพ เช‰เช•เซ‡เชฒเชฎเชพเช‚ เชฎเชพเชคเซเชฐ เชถเช•เซเชฏเชคเชพเช“เชจเชพ เช…เชชเซ‚เชฐเซเชฃเชพเช‚เช•เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเช‚ เช›เซเช‚. 

เช เซ€เช• เช›เซ‡, เช† เชเช• เชธเชฐเชณ เช‰เชฆเชพเชนเชฐเชฃ เช›เซ‡. เชถเซเช‚ เชคเซ‡ เชตเชงเซ เชœเชŸเชฟเชฒ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡?

เชนเชพ, เช•เซƒเชชเชพ เช•เชฐเซ€เชจเซ‡. เชชเซ‹เชเชฟเชถเชจเซเชธ เชธเซ‚เชšเชตเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เชชเซ‹เชเชฟเชถเชจเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช, เชœเซ‚เชฅเซ‹เชจเซ‡ เชธเซ‚เชšเชตเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เชœเซ‚เชฅเซ‹เชฎเชพเช‚ เชœเซ‚เชฅเซ‹เชจเซ€ เชธเซ‚เชšเชฟ เชธเซ‚เชšเชตเซ€เช เช›เซ€เช, เช…เชจเซ‡ เชคเชคเซเชตเซ‹เชฎเชพเช‚ เชœเซ‚เชฅ เชตเชฟเชถเซ‡เชทเชคเชพ เชนเซ‹เชฏ เช›เซ‡.

เช•เซ‹เชก เชคเชฐเซ€เช•เซ‡ เชจเซ‡เชŸเชตเชฐเซเช• เชกเชพเชฏเชพเช—เซเชฐเชพเชฎ / เช•เซ‹เชก เชคเชฐเซ€เช•เซ‡ เชจเซ‡เชŸเชตเชฐเซเช• เชกเชพเชฏเชพเช—เซเชฐเชพเชฎ

เช…เชจเซ‡ เช† เช•เซ‹เชก เช›เซ‡:

<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>

เชเช• เชคเชฐเชซ, เช†เชตเซ€ เชฏเซ‹เชœเชจเชพ เช เชฒเซ‡เชชเชŸเซ‹เชช เชชเชฐ เช•เซ‹เชกเชจเซ€ เชฒเช—เชญเช— เชฅเซ‹เชกเซ€ เชธเซเช•เซเชฐเซ€เชจเซ‹ เช›เซ‡, เชฌเซ€เชœเซ€ เชคเชฐเชซ, เชฒเชพ เชœเซ‡เชธเชจ เชธเซเชŸเซเชฐเช•เซเชšเชฐ เชคเชฎเชจเซ‡ เชธเชฎเชพเชจเชคเชพ เชฆเซเชตเชพเชฐเชพ เชคเชฎเชพเชฎ เชกเซ‡เชŸเชพเชจเซ‡ เชเชกเชชเชฅเซ€ เชญเชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเชฎเซ‡ เช•เซ‰เชชเชฟ-เชชเซ‡เชธเซเชŸ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เชถเชพ เชฎเชพเชŸเซ‡ เช—เชพเช‚เช เซ‹เชฅเซ€ เช…เชฒเช— เชธเซเชฅเชพเชจเซ‹ เชฎเซ‚เช•เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡?

เชคเซ‡ เชตเชงเซ เช†เชฐเชพเชฎเชฆเชพเชฏเช• เช›เซ‡. เชชเซเชฐเชฅเชฎ เช†เชชเชฃเซ‡ เชจเซ‹เชกเซเชธเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ€เช เช›เซ€เช. เชชเช›เซ€ เช†เชชเชฃเซ‡ เช•เซ‡เชŸเชฒเชพเช• เชœเซ‚เชฅเซ‹เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ‡ เชจเซ‹เชกเซเชธเชฎเชพเช‚ เชธเซ‚เชšเชตเซ€ เชถเช•เซ€เช เช›เซ€เช. เชชเช›เซ€ เช…เชฎเซ‡ เชœเซ‹เชกเชพเชฃเซ‹เชจเซ‡ เชจเชฟเชฏเซเช•เซเชค เช•เชฐเซ€เช เช›เซ€เช. เช…เชจเซ‡ เชฎเชพเชคเซเชฐ เชคเซเชฏเชพเชฐเซ‡ เชœ, เชœเซเชฏเชพเชฐเซ‡ เชฎเซเช–เซเชฏ เชตเชธเซเชคเซเช“ เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ€ เชตเชšเซเชšเซ‡เชจเชพ เชœเซ‹เชกเชพเชฃเซ‹ เชนเซ‹เชฏ, เชคเซเชฏเชพเชฐเซ‡ เช†เชชเชฃเซ‡ เชกเชพเชฏเชพเช—เซเชฐเชพเชฎ เชชเชฐ เช† เชตเชธเซเชคเซเช“เชจเซเช‚ เชธเซเชฅเชพเชจ เชฒเชˆเช เช›เซ€เช. เช…เชฅเชตเชพ เชŠเชฒเชŸเซเช‚.

เชถเซเช‚ เชนเซ‹เชฆเซเชฆเชพ เชตเชฟเชจเชพ เชถเช•เซเชฏ เช›เซ‡?

เชนเซ‹เชฆเซเชฆเชพ เชตเชฟเชจเชพ เชคเซ‡ เชถเช•เซเชฏ เช›เซ‡. เชชเชฐเช‚เชคเซ เชคเซ‡ เชฅเซ‹เชกเซเช‚ เชšเซ‹เชณเชพเชฏเซ‡เชฒเซเช‚ เชนเชถเซ‡; เชคเชฎเซ‡ เช‰เชฆเชพเชนเชฐเชฃเซ‹เชฎเชพเช‚ เช† เชตเชฟเช•เชฒเซเชช เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹. เช† เช เชนเช•เซ€เช•เชคเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เช›เซ‡ เช•เซ‡ เชธเชพเชฏเชŸเซ‹เชธเซเช•เซ‡เชช เชฎเชพเชŸเซ‡ เชจเซ‹เชกเซเชธเชจเชพ เชธเซเชฅเชพเชจ เชฎเชพเชŸเซ‡ เชเช• เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เช›เซ‡ fcose, เชœเซ‡ เชœเซ‚เชฅเซ‹เชจเซ€ เชนเชพเชœเชฐเซ€เชจเซ‡ เชชเชฃ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡ เช›เซ‡. เชชเซ‹เชเชฟเชถเชจเซเชธเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเชตเชพเชฅเซ€ เชกเชพเชฏเชพเช—เซเชฐเชพเชฎ เชตเชงเซ เชจเชฟเชฏเช‚เชคเซเชฐเชฃเช•เซเชทเชฎ เชฌเชจเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชกเชพเชฏเชพเช—เซเชฐเชพเชฎเชจเชพ เชชเซเชฐเชฅเชฎ เชกเซเชฐเชพเชซเซเชŸเชจเชพ เชคเชฌเช•เซเช•เซ‡ เชคเซ‡ เชชเซ‹เชเชฟเชถเชจ เชตเชฟเชจเชพ เชถเช•เซเชฏ เช›เซ‡.

เชฌเซ‡เชŸเชฒเชถเซ€เชช เชถเซˆเชฒเซ€เชฎเชพเช‚ เชชเชฃ เชนเซ‹เชฆเซเชฆเชพเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชคเซ‡. เชเช• เชจเซ‹เชก a1 เชฎเชพเช‚ เช…เชจเซ‡ เชฌเซ€เชœเซ‹ d5 เชฎเชพเช‚ เชธเซเชฅเชฟเชค เช›เซ‡. เชคเซ‡ เช–เชพเชธ เช•เชฐเซ€เชจเซ‡ เชฎเชฆเชฆ เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เชธเชพเชฏเชŸเซ‹เชธเซเช•เซ‡เชช เช•เซ‡เชจเชตเชพเชธ เชชเชฐเชจเซ€ เชตเชธเซเชคเซเช“เชจเซ‡ เช–เชธเซ‡เชกเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเซเช‚ เชฌเชจเชพเชตเซ‡ เช›เซ‡, เชเชŸเชฒเซ‡ เช•เซ‡. เช…เชฎเซ‡ เชคเซ‡เชฎเชจเซ‡ เชซเชฐเชคเซ‡ เช–เชธเซ‡เชกเซ€ เชถเช•เซ€เช เช›เซ€เช, เชตเชฟเชตเชฟเชง เชฒเซ‡เช†เช‰เชŸ เชตเชฟเช•เชฒเซเชชเซ‹ เชœเซ‹เชˆ เชถเช•เซ€เช เช›เซ€เช เช…เชจเซ‡ เชชเช›เซ€ เช•เซ‹เชกเชฎเชพเช‚ เช…เชฎเชจเซ‡ เช—เชฎเชคเชพ เชคเชคเซเชตเซ‹เชจเซ€ เช—เซ‹เช เชตเชฃเซ€เชจเซ‡ เช เซ€เช• เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช.

เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เชคเซ‡ เชธเชฎเชœเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเซเช‚ เช›เซ‡. เชคเชฎเซ‡ เชชเชฃ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹?
 
เช…เชฒเชฌเชคเซเชค, เชเชกเชชเชฅเซ€ เชธเชฐเซเช•เชฟเชŸ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เชฎเซ‡เช‚ เชฎเชพเชฐเซ€ เชœเชพเชคเชจเซ‡ เชจเชพเชจเซเช‚ เชฌเชจเชพเชตเซเชฏเซเช‚ เชธเช‚เชชเชพเชฆเช•, เชœเซ‡ เชชเซ‹เชคเซ‡ เชธเซเช•เซ€เชฎเชพเชจเซ‡ เช…เชชเชกเซ‡เชŸ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชฌเซเชฐเชพเช‰เชเชฐเชฎเชพเช‚ เชจเชตเซ€เชจเชคเชฎ เชธเช‚เชธเซเช•เชฐเชฃ (เชธเซเชฅเชพเชจเชฟเช• เชธเซเชŸเซ‹เชฐเซ‡เชœเชฎเชพเช‚) เชธเซเชŸเซ‹เชฐ เช•เชฐเซ‡ เช›เซ‡.

เชถเซเช‚ เชคเชฎเซ‡ เชคเซ‡เชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซเชฏเซ‹ เช›เซ‡? เชนเชตเซ‡ เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เชคเชฎเชพเชฐเชพ เชชเซƒเชทเซเช  เชชเชฐ เช‰เชฎเซ‡เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เชชเช›เซ€ เชซเชฐเซ€:

1. เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

<script src="https://unpkg.com/@antirek/[email protected]/dist/code-full.min.js"></script>

2. 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. เช…เชฎเซ‡ เชœเชฐเซ‚เชฐเซ€ เชกเชพเชฏเชพเช—เซเชฐเชพเชฎเชฎเชพเช‚ เช•เซ‹เชกเชจเซ‡ เชธเช‚เชชเชพเชฆเชฟเชค เช•เชฐเซ€เช เช›เซ€เช (เชฎเชจเซ‡ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เช˜เซเชตเชก เชฆเซ‹เชฐเชตเชพ เช•เชฐเชคเชพเช‚ เชคเซ‡ เชธเชฐเชณ เช›เซ‡ :)

เชชเชฐ เชตเชงเซ เชตเชฟเช—เชคเซ‹ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชชเซƒเชทเซเช  เช—เซ€เชฅเชฌ เชชเชฐ.

เช…เช‚เชคเซ‡ เชถเซเช‚?

เชฎเซ‡เช‚ เชฎเชพเชฐเชพ เชฒเช•เซเชทเซเชฏเซ‹ เชนเชพเช‚เชธเชฒ เช•เชฐเซเชฏเชพ - เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃเชฎเชพเช‚ เช‡เชจเชฒเชพเช‡เชจ เชกเชพเชฏเชพเช—เซเชฐเชพเชฎ เช‰เชฎเซ‡เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชซเซ‹เชฐเซเชฎเซ‡เชŸ เชเช•เชฆเชฎ เชธเชฐเชณ เช…เชจเซ‡ เชธเชฎเชœเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเซเช‚ เช›เซ‡. เชคเซ‡ เชธเซเชชเชฐ เชธเชฐเซเช•เชฟเชŸ เชฎเชพเชŸเซ‡ เชฏเซ‹เช—เซเชฏ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชจเชพเชจเชพ เชธเชฐเซเช•เชฟเชŸ เชฎเชพเชŸเซ‡ เช•เซ‡ เชœเซ‡ เชœเซ‹เชกเชพเชฃเซ‹เชจเซ€ เชฐเชšเชจเชพ เชธเชฎเชœเชพเชตเซ‡ เช›เซ‡, เชคเซ‡ เชเช•เชฆเชฎ เชธเชฐเชธ เช›เซ‡. เชคเชฎเซ‡ เชนเช‚เชฎเซ‡เชถเชพ เชเชกเชชเชฅเซ€ เชเชŸเช•เซ‹ เช…เชจเซ‡ เชธเชฎเชฏ เชธเชพเชฅเซ‡ เช•เช‚เชˆเช• เชฌเชฆเชฒเซ€ เชถเช•เซ‹ เช›เซ‹. เชนเชพ, เช…เชจเซ‡ เชธเชพเชฅเซ€เชฆเชพเชฐเซ‹ เช–เชพเชธ เชคเชพเชฒเซ€เชฎ เชตเชฟเชจเชพ, เช“เชฌเซเชœเซ‡เช•เซเชŸเซ‹ เชฎเชพเชŸเซ‡ เช“เช›เชพเชฎเชพเช‚ เช“เช›เชพ เช•เซ…เชชเซเชถเชจเซเชธ, เชกเซ‹เช•เชฎเชพเช‚ เช•เช‚เชˆเช• เชธเซเชงเชพเชฐเซ€ เชถเช•เซ‡ เช›เซ‡))

เชถเซเช‚ เชธเซเชงเชพเชฐเซ€ เชถเช•เชพเชฏ?

เช…เชฒเชฌเชคเซเชค, เช…เชนเซ€เช‚ เช˜เชฃเชพ เชฌเชงเชพ เชตเชฟเช•เชฒเซเชชเซ‹ เช›เซ‡. เชตเชงเชพเชฐเชพเชจเชพ เชšเชฟเชนเซเชจเซ‹ เช‰เชฎเซ‡เชฐเซ‹ (เชฌเชงเชพ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เช›เซ‡ เชคเซ‡ เชธเซเช•เซเชฐเชฟเชชเซเชŸเชฎเชพเช‚ เช‡เชจเชฒเชพเช‡เชจ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡). เชšเชฟเชนเซเชจเซ‹เชจเซ‹ เชตเชงเซ เช…เชญเชฟเชตเซเชฏเช•เซเชค เชธเชฎเซ‚เชน เชชเชธเช‚เชฆ เช•เชฐเซ‹. เช•เชจเซ‡เช•เซเชถเชจ เชฒเชพเช‡เชจเชจเซ€ เชถเซˆเชฒเซ€เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชพเชตเซ‹. เชชเซƒเชทเซเช เชญเซ‚เชฎเชฟ เช›เชฌเซ€ เช‰เชฎเซ‡เชฐเซ‹.

เชคเชฎเซ‡ เชถเซ เชตเชฟเชšเชพเชฐเซ‹ เช›เซ‹, เชคเชฎเชจเซ‡ เชถเซ เชฒเชพเช—เซ‡ เช›เซ‡?
 
เชธเชฎเชธเซเชฏเชพเช“เชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃ เชฎเชพเชŸเซ‡ เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เช˜เชฃเชพ เชตเชฟเชšเชพเชฐเซ‹ เช›เซ‡, เชคเชฎเซ‡ เชŸเชฟเชชเซเชชเชฃเซ€เช“เชฎเชพเช‚ เชคเชฎเชพเชฐเชพ เชชเชฃ เช‰เชฎเซ‡เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เชฎเชพเชฐเซ‹ เช‰เช•เซ‡เชฒ เชšเซ‹เช•เซเช•เชธเชชเชฃเซ‡ เชธเชฎเชธเซเชฏเชพเช“เชจเซ€ เชธเชพเช‚เช•เชกเซ€ เชถเซเชฐเซ‡เชฃเซ€เชฎเชพเช‚ เชฒเชพเช—เซ เชชเชกเซ‡ เช›เซ‡, เช…เชจเซ‡ เช•เชฆเชพเชš เชคเชฎเชจเซ‡ เชซเช•เซเชค เช•เซ‹เชกเชฟเช‚เช— เช•เชฐเซ€เชจเซ‡ เช†เช•เซƒเชคเชฟเช“ เชฆเซ‹เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชตเชงเซ เช…เชจเซเช•เซ‚เชณ เชธเชพเชงเชจ เชฎเชณเชถเซ‡ - เชœเซ‡เชฎ เช•เซ‡ เชคเซ‡เช“ เช•เชนเซ‡ เช›เซ‡ เช•เซ‡ 'เช•เซ‹เชก เชคเชฐเซ€เช•เซ‡ เชคเชฎเชพเชฐเซ‹ เช†เช•เซƒเชคเชฟ เชฎเชจเซ‡ เชฌเชคเชพเชตเซ‹'

  1. เชธเชฐเชธ เชชเชธเช‚เชฆเช—เซ€
  2. เชฎเชนเชพเชจ เชธเซ‡เชตเชพ (9 เชชเซเชฐเช•เชพเชฐเชจเชพ เชšเชพเชฐเซเชŸ เช“เชจเชฒเชพเชˆเชจ เชเชกเชฟเชŸเชฐ)
  3. เช…เชฒเชฌเชคเซเชค, mermaid.js
  4. เช…เชจเซ‡ เชœเซ‹ เชคเชฎเชจเซ‡ เชธเซเชชเชฐ เชตเชฟเช—เชคเชตเชพเชฐ เช…เชจเซ‡ เชœเชŸเชฟเชฒ เช†เช•เซƒเชคเชฟเช“ เช—เชฎเซ‡ เช›เซ‡, เชคเซ‹ เชคเชฎเซ‡ เชšเซ‹เช•เซเช•เชธเชชเชฃเซ‡ เช† เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ€ เชชเซเชฐเชถเช‚เชธเชพ เช•เชฐเชถเซ‹: go.drawthe.net

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹