最近Apple Watchを買ってみたんだけどまだ使い方よくわかってない
とりあえずスマホ使わず目覚ましとタイマー出来ればいいかな
邦画版のように生ぬるいダウナーな感じではなく、スッキリきれいになったバージョンのジョゼという感じ
最近少なくなったツンデレ系女子が見れる作品
電車に乗ったり海を見ることで素直に喜ぶジョゼがとにかくかわいいというのがとても見どころ
書籍や邦画と違い物語をきれいにコーティングした作品なので生々しいのが苦手という人でもモヤッと感なく見れると思う。
Qiitaに投稿したので自分のブログにも入れておく
ちょっとした小ネタ
ターミナルで連番をつけたファイルを作ったりHTTPリクエストを投げるときに便利です。 for文とセットで使うと便利なのでコピペして使えるようにしました。
#!/bin/bash for i in `seq -w $1` #実行引数で取ると楽 do echo "hoge$i" #単純化するため標準出力するだけ done
引数で指定した数までのhoge+01~連番するだけのスクリプト
$ ./QiitaSample.sh 10 hoge01 hoge02 hoge03 hoge04 hoge05 hoge06 hoge07 hoge08 hoge09 hoge10
期待値の結果としてはこんな感じになります。
seq invocation (GNU Coreutils)
最近MacをBigSurにメジャーアップデートをしたらPythonがGUI系のモジュールが動かなくなったので直した。
brewのPythonは3.9.1にできなかったので公式からインストールする。
Python Release Python 3.9.1 | Python.org
公式のGUIインストーラでインストールされるPythonは以下に配置されているので バージョンを確認して3.9.1になっていればOK
$ /usr/local/bin/python3 --version Python 3.9.1
venvとかを使っている場合は適宜エイリアスなどでPATHを変えるといいと思う。
cowsayとslコマンド必要なので予めインストールが必要
brew install cowsay sl
.vimrcに以下を設定する。
設定するとAAのドラゴンが丁寧に教えてくれる。
function TeachKey(message) let summon = join([“!clear; cowsay -f dragon “, a:message, “を押すのだ”]) exec summon endfun nnoremap <buffer> <Left> <Esc>:call TeachKey(‘h’)<CR> nnoremap <buffer> <Right> <Esc>:call TeachKey(‘l’)<CR> nnoremap <buffer> <Up> <Esc>:call TeachKey(‘k’)<CR> nnoremap <buffer> <Down> <Esc>:call TeachKey(‘j’)<CR> nnoremap <buffer> <PageUp> <Esc>:call TeachKey(‘Ctrl+B’)<CR> nnoremap <buffer> <PageDown> <Esc>:call TeachKey(‘Ctrl+F’)<CR> inoremap <buffer> <Left> <Esc>:call TeachKeyBi)ding(‘h’)<CR> inoremap <buffer> <Right> <Esc>:call TeachKey(‘l’)<CR> inoremap <buffer> <Up> <Esc>:call TeachKey(‘k’)<CR> inoremap <buffer> <Down> <Esc>:call TeachKey(‘j’)<CR> inoremap <buffer> <PageUp> <Esc>:call TeachKey(‘Ctrl+B’)<CR> inoremap <buffer> <PageDown> <Esc>:call TeachKey(‘Ctrl+F’)<CR> vnoremap <buffer> <Left> <Esc>:call TeachKeyBi)ding(‘h’)<CR> vnoremap <buffer> <Right> <Esc>:call TeachKey(‘l’)<CR> vnoremap <buffer> <Up> <Esc>:call TeachKey(‘k’)<CR> vnoremap <buffer> <Down> <Esc>:call TeachKey(‘j’)<CR> vnoremap <buffer> <PageUp> <Esc>:call TeachKey(‘Ctrl+B’)<CR> vnoremap <buffer> <PageDown> <Esc>:call TeachKey(‘Ctrl+F’)<CR> nnoremap <buffer> <Del> <Esc>:<C-u>!sl<CR> inoremap <buffer> <Del> <Esc>:<C-u>!sl<CR> vnoremap <buffer> <Del> <Esc>:<C-u>!sl<CR> set backspace=0
設定されるとこんなのが出る。
vi(vim)で完全にカーソルキーを無効化させたい - スタック・オーバーフロー
夜中までPythonの説明文章を書いていたのがたたったのか、かなりの眠気に襲われながらベッドから起き上がることにした。
今日やることは一つ決まっている
「キャンペーンなんでいまなら無料レンタルなんですよ」
と言われて胡散臭い勧誘にハマりうっかり借りてしまったWifiを返さなくてはならない
話によると使い放題だというので試してみたのだけれども、自分の要求する方法で使うと3時間と持たなかったのでやめることにした。
借りているだけで何千円とかかるものを持っていたってしょうがない
それに、めんどくさいことは思い立った瞬間に行動したほうがよいと経験がいっている
こういった手続きは次に日に持ち越しをすると絶対にやらないレベルの面倒くさ差であるということはよく知っているので、出先で郵便局で返送できるよういつものリュックにしまっておいた
その後は、眠気に襲われながらもなんとか電車に乗り放心して東京まで行くことにした。
待ち合わせではいつものように家電量販店にいき、最新の機材がないかなどを癖で眺めつつ待つことにした。
その後は、地下鉄に乗り渋谷まで電車に揺られながらTiktokで面白い動画と一緒に見たりして時間を潰していた。
渋谷駅について、あたりを見渡すともうコロナの前ほどの人で溢れているのが見てわかった。
みんなマスクはしているがソーシャルディスタンスなんて無いかのように密集している。
なるべく密集地帯から抜け出せるようにしながら坂を登り始めるとまだ年若い不動産の営業がこちらに声をかけてきた
「ノルマなんで模型だけでも見てくれませんか?」
と誘いを受けたので
「マンションは別に買いませんよ」
と断りをいれつつ、仕事のノルマというのは精神的にしんどいということもわかっているので
渋々承諾し少しみてみることにした。
結果的にはかなり懇切丁寧な説明をして1時間くらい付き合ったのだけれども、新築のマンション買ったらたしかにきれいなところだし住心地も良いであれろうなとは思ってしまった。
さすが営業マン、侮れない
一通りの丁寧な説明を聞いた後は少し飲み物をもらって休憩しつつ本来の目的である郵便局へ向かうことにした。
郵便局でWifiを送るには追跡付きのゆうパケットで送れるらしいので窓口で購入をし久々の手書きで宛名を書き、郵便を送った。
東京から福岡まで陸送になるので3日くらいはかかるらしい。
期間内には届くはずなのでひとまずこころのわだかまりになっていたことは解決した
一番に解決しないといけないことは済ませたので
「この後はどうしようか?」
と悩んでいると
「宮下公園が最近オープンしてよかったんですよ、僕も上の階の公園でゆっくりお昼食べてましたし、結構いいですよ」
さっき勧誘をしてきた営業マンから聞いた話を思い出した。
確か前に来たときにはまだ工事中で見ることができなかったので、良い機会だなと思い宮下公園へ向かうことにした。
公園と言いつつも実際に商業施設で、なんとも近未来感のある建物であり屋上に芝生が植えてある場所があるのだけれどもあんまり突っ込むときりがないのでそこは放っておこう
施設では若者向けのアパレルや渋谷をアピールしたお土産などいろんなものが取り扱われていた。
まずは一階の飲み屋外を散策し、目についたオマール海老のラーメンなるものを食べたくなったので一つ注文してみることにした。
ラーメンに関しては、海老の風味が全開の味になっていて美味しかった。
できることならもう少し麺に絡むようなものがいいと思う。本業は居酒屋ではあると思うが
その後は例の屋上公園に行きスケートボードをしている人たちを見て楽しむことにした
以外ではあるが、小学生くらいの小さな男の子が割と多く滑っていて、しかもうまい
渋谷という場所の効果もあってなんとなくかっこいい雰囲気がして面白かった
帰りの電車では、次の日の仕事を考えて少し憂鬱になたけれどもこんなどうでもいい一日を思い出してみると少しやる気が出た。
どうでもいい一日がこれからも続くといいと思う。
黒い画面で操作がちょっとだけできる人 スペックはPythonが動けば何でも良い
単体テスト(ユニットテスト)とは | ソフトウェアの検証の種類 | テクマトリックス株式会社
プログラムのメソッドなど、プログラムを構成する一番小さい粒度できちんとプログラムが機能しているかをテストすることを指します。 IT業界では単体テストなんて言われ方もする。
それぞれの言語で単体テストを行ってくれるライブラリが存在しています。 以下は例
余談ですがRubyなどではMinitestやRspecなどが単体テストの機構としてがあります。
PythonでUnitTestを実施するためには、テストコードを書いておくためのPyファイルを記述します。
詳しいテストを記述については日本語の公式ドキュメントがあるので参照してください。
unittest — ユニットテストフレームワーク — Python 3.8.6 ドキュメント
VSCodeなどを利用して次のようなファイルを作成していきます。
このケースでは意図的に失敗するテストケースを記載しています。
sample.py
import unittest class TestStringMethods(unittest.TestCase): def test_false(self): self.assertFalse("hoge", "hoge") if __name__ == '__main__': unittest.main()
次にコンソール上でプログラムを実行してみます。
CLI上で実行する場合は、以下のようなコマンドでUnitTestを実行することができます。
python3 -m unittest sample.py
====================================================================== FAIL: test_false (test.sample.TestStringMethods) ---------------------------------------------------------------------- Traceback (most recent call last): File "/Users/pcuser/Documents/GitHub/pysecret/test/sample.py", line 6, in test_false self.assertFalse("hoge", "hoge") AssertionError: 'hoge' is not false : hoge ---------------------------------------------------------------------- Ran 1 test in 0.001s FAILED (failures=1)
こんな感じに、FAILDが表示されて失敗していればOK もしERRORの表示が出ている場合はPythonの文法上の問題だったりするので、ググって見てください。
Pythonでよくあるエラーはこんなものがあったりします。 【参考のエラメッセージを入れる】
この後は実際にテストケースを記載していきます。
なるべく実践的なテストにするため、テスト対象となるプログラムを作成しておきます。
hello.py
def helloMethod(str): msg = str return msg if __name__ == '__main__': main()
その後、test.pyにinport helloを追加し、helloMethodが呼び出せるようにしましょう。
今回は単純なオウム返しをするメソッドを作成しました。 入力として渡すものはメソッドの引数で渡す文字列のstr変数になります。 そして期待値としてはメソッドを実行したらstrが出力として返却されるという想定です。
import unittest import hello class TestStringMethods(unittest.TestCase): # def test_false(self): # self.assertFalse("hoge", "hoge") def test_hello(self): input_str = "Hello" msg = psmg.helloMethod(input_str) self.assertEqual(msg, input_str) if __name__ == '__main__': unittest.main()
結果が正しいかの検証にはAssertメソッドを使ってmsg変数に格納された値とinput_strの値が同一であるということを確認します。
書き方としてはUnitTestクラスが持つAssertメソッドを使うのでself.assertEqual
を使います。
ソース上ではすでに先程書いてあるのでUnitTest自体の起動を確認したコマンドと同じものを再度実行します。
python3 -m unittest sample.py
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK
コンソール上でOKの文字が表示されていればテストが成功しています。