Bye Bye Moore

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

monoでWindows10にC#環境をつくる

shuzo-kino.hateblo.jp
でRasPiにmonoでC#環境を作りましたが……今度はWindowsでやることになったのでメモ

実際のところ

Download - Stable | Mono

f:id:shuzo_kino:20220121212856p:plain
monoの64bitとgtk+をそれぞれ導入

mono
f:id:shuzo_kino:20220121213045p:plain


伝統的黒い画面
f:id:shuzo_kino:20220121213225p:plain

using System;

public class HelloWorld
{
    public static void Main(string[] args)
    {
        Console.WriteLine ("Hello Mono World");
    }
}
C:\Users\user\Documents>csc test.cs
Microsoft (R) Visual C# Compiler version 3.6.0-4.20224.5 (ec77c100)
Copyright (C) Microsoft Corporation. All rights reserved.
C:\Users\user\Documents>mono test.exe
Hello Mono World

bashの配列を連続で読みだしたり末尾に追加したり

実際のところ

#!/bin/bash

IP=localhost
PORT=9999

CMDs=()
CMDs+=("aaa\r" "bbb\r")

CMDs+=("ccc\r")

for e in ${CMDs[@]}; do
  printf ${e} | nc -w 0 $IP $PORT
  sleep 2
done


CMDs=()
CMDs+=("stop\r")

for e in ${CMDs[@]}; do
  printf ${e} | nc -w 0 $IP $PORT
  sleep 2
done

本当は"declare -a"で定義したりunsetで消したりしたほうが良いんでしょうが……

参考もと

netcatでTCP/IP ソケット通信

bashの特殊構文にIPとポート番号をディレクトリ様に書いて展開するdevがあるみたいですが……
今回作業環境がWSLかつ今後何に移植するかもわからんのでnetcatを使いました

実際のところ

受け手

$ nc -lk localhost 9999

送り側

#!/bin/bash

IP=localhost
PORT=9999

CMDs="aaa\r"
printf ${e} | nc -w 0 $IP $PORT

これを

$ nc -w0 foobar.bash

imagemagickで画像に電子透かしみたいなのをやる

フォトストックなんかである、画像に電子透かしを入れる奴をimagemagickでやる

実際のところ

imagemagcikのロゴに

  convert -size 140x80 xc:none -fill grey \
          -gravity NorthWest -draw "text 10,10 'Copyright'" \
          -gravity SouthEast -draw "text 5,15 'Copyright'" \
          miff:- |\
    composite -tile - logo:  sixel:

f:id:shuzo_kino:20220109003056p:plain

参考もと

legacy.imagemagick.org

Python3で複数種類のエラーをキャッチする

実際のところ

メインで発生し得るのがファイルなしエラー、一応それ以外もキャッチしときたい場合

try:
   f = open('myfile.txt', 'r')
   100 / 0
except FileNotFoundError as e:
   print("123 ", e)
except Exception as e:
   print("foobar: ", e)
$ python3 hogefuga.py
123  [Errno 2] No such file or directory: 'myfile.txt'

ファイルが存在した後だと

$ python3 hogefuga.py
foobar:  division by zero

参考もと

docs.python.org