Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

【読書メモ】入門 機械制御と製作実習 4軸クレーンを作って学ぶ機械装置設計

タイトル通り、産業用機器で使われているような制御・機構をつかって4軸クレーンを作ってみようという本です。
高専の教材をベースに作った内容らしく、効率より学習重視。

まずPLCの前に部品でリレー回路を作るのが教材らしいですね。
他にも、アルミ加工やら、圧縮空気系の配線・デザインの仕方等々、
ネットにはあまり出ていない機械屋さんの知見が数多く載っており一通り手を動かせば
簡単な装置くらいは自分でデザインできるようになりそうです。

難点は、個人で部品を揃えるには結構お金も時間もかかりそうというところ。
そのまんま素直に買うと20万円くらいします。
時間を掛けて進めるなり、チームを組んで講習形式でやってみるという方法が考えられます。

【読書メモ】ドキュメント作成システム構築ガイド

ドキュメント作成システム構築ガイド[GitHub、RedPen、Asciidoctor、CIによる モダンライティング]

ドキュメント作成システム構築ガイド[GitHub、RedPen、Asciidoctor、CIによる モダンライティング]

githubやjenkins、AsciiDoctor、Redpenといったツールをつかって、
ドキュメントの作成を自動構築する本です。
最近手がけたプロジェクトでは山のように資料が作成され、
その結果言葉の定義が微妙に違ったり、数値が違ったりとわけのわからない事になりました。
わたしはGoogle Driveでやっていたのですが、パートナー企業は出力したwordやpdfで編集して、それを逐次反映するのは相当に大変でした。
内々の情報共有ならscrapboxという手段はありますが、
困った事にカッチリした資料様式に落とし込めないので結局二度手間になったりするのですよね……。

部分テンプレートのような運用をすれば、一部機能が変わっても動的に更新してくれるようになりますし
語句の乱れも一括強制で楽々。

さらに、図面の作成でもテキストベースでUMLを作成できる神ツールPlantUMLも利用可能となっています。
shuzo-kino.hateblo.jp


類似品sphinx

asciidoctorの類似品としてsphinxというのもあります。

shuzo-kino.hateblo.jp

whiptailをつかってCLIに対話型画面をつくる その8:whiptail画面を関数に分離

#! /bin/bash


function startBox {
    whiptail --msgbox "Welcome!!" 10 40
}

function mainMenu {
  whiptail --title "Menu" --menu "choose an option" 12 40 4 \
  "ONE" "option 1" \
  "TWO" "option 2" \
  3>&1 1>&2 2>&3
}

function case1 {
    whiptail --msgbox "YES 1" 10 40
}

function case2 {
    whiptail --msgbox "No 2" 10 40
}

function endBox {
    whiptail --msgbox "Thank YOU!!" 10 40
}

startBox

RESULT=$(mainMenu)

case $RESULT in
  "ONE")
    case1 ;;
  "TWO")
    case2 ;;
  *)
    echo "WtF...!?"
esac

endBox

順番に実行したら、こんな風になります。
f:id:shuzo_kino:20190606010215p:plain
f:id:shuzo_kino:20190606010234p:plain
f:id:shuzo_kino:20190606010244p:plain
f:id:shuzo_kino:20190606010306p:plain

whiptailをつかってCLIに対話型画面をつくる その7:画面遷移してみる

#! /bin/bash
 
RESULT=$(whiptail --title "Menu" --menu "choose an option" 12 40 4 "1" "" "2" "" "3" "" 3>&1 1>&2 2>&3)

case $RESULT in
  1)
    whiptail --msgbox "YES 1" 10 40
    ;;
  2)
    whiptail --msgbox "NO 2" 10 40
    ;;
  *)
    echo "WtF...!?"
esac

実際にやってみると……
f:id:shuzo_kino:20190605234909p:plain
f:id:shuzo_kino:20190605234928p:plain

whiptailをつかってCLIに対話型画面をつくる その6:シェルスクリプト上で値をうけとる

f:id:shuzo_kino:20190605234909p:plain

#! /bin/bash
 
RESULT=$(whiptail --title "Menu" --menu "choose an option" 12 40 4 "1" "" "2" "" "3" "" 3>&1 1>&2 2>&3)

if [ $RESULT -eq 1 ] || [ $RESULT -eq 2 ]
then
  echo $RESULT
else
  echo NONE
fi

case $RESULT in
  1)
    echo "good case!!"
    ;;
  2)
    echo "error case!!"
    ;;
  *)
    echo "WtF...!?"
esac