Skip to content

Instantly share code, notes, and snippets.

@tsuyoshicho
Last active September 13, 2017 12:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tsuyoshicho/f8e3e3be5ae4b7a262328b493ce875f0 to your computer and use it in GitHub Desktop.
Save tsuyoshicho/f8e3e3be5ae4b7a262328b493ce875f0 to your computer and use it in GitHub Desktop.
PlantUMLを使うgistの手順を明確化

PlantUMLのシーケンス図(他)の公開手順

  1. 新規Gist
  2. ベースのMarkdown記事を作る、PlantUMLなソースも作る
  3. Gistをclone
  4. cloneしたリポジトリに、PlantUMLから生成した画像をadd
  5. commit&push
  6. 画像のURLを確認
  7. Markdownにリンク追加 "![alt txt](img url)"
  8. 必要なら、更新の都度、pull->edit->plantuml generate->add->commit->pushで更新

でいいかな?


結果

PlantUML Sample

@startuml{PlantUML-Sample.png}
title PlantUML Sample
hide footbox
participant obj1.method1 as obj1 <<Object>>
participant func1 <<func>>
participant func2 <<func>>
participant obj2.method2 as obj2 <<Object>>
participant sem1 <<セマフォ>>
participant sem2 <<セマフォ>>
obj1 -> sem1 : Lock
note right of obj1 :(複数のobj1.method1突入排他)
activate obj1
obj1 -> func1
func1 -> sem2 : Lock
note right of func1 : (共有領域の排他)
activate func1
== (値設定) ==
func1 <- sem2: Release
deactivate func1
obj1 <-- func1
obj1 ->] : ResetEvent event2 (前回失敗終了などのリセット)
obj2 -> obj2 : Wait event1 (リクエスト待ち)
activate obj2
obj1 ->> obj2 : SetEvent event1
deactivate obj2
obj2 ->] : ResetEvent event2 (前回失敗終了などのリセット)
obj2 -> sem2 : Lock
note right of obj2 : (共有領域の排他)
activate obj2
obj1 -> obj1 : Wait event2 (応答待ち)
activate obj1
== {...} ==
obj1 <<- obj2 : SetEvent event2
deactivate obj1
obj2 <- sem2 : Release
deactivate obj2
obj1 ->] : ResetEvent event2
obj1 -> func2
func2 -> sem2 : Lock
note right of func2 : (共有領域の排他)
activate func2
== (値取得) ==
func2 <- sem2: Release
deactivate func2
obj1 <- sem1 : Release
deactivate obj1
@enduml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment