投稿者: hmgrbean

  • 不具合が混入された原因を突き止めるのが難しい

    不具合が混入された原因を突き止めるのが難しい

    多分、私のなぜなぜ分析がうまくいってないからだと思うのですが、
    なぜ?なぜ?を繰り返していくと、担当メンバーの仕事をやり遂げるスキルが十分に備わっていないからということに到着してしまいます。

    例えば、ボタンに新たな選択肢を増やす要件を実装するというお題に対し、新たな選択肢が選択項目として表示されなかった場合

    なぜなぜ1:開発者が要件を見逃していた

    なぜなぜ2:要件の記載が明示的ではなく、わかりづらかった

    なぜなぜ3:要件の記述者が、開発者の見逃しを防ぐような記述をしなかった

    なぜなぜ4:要件の記述ルールに、新たな追加要件を書く時の強調ルールが決められていなかった

    なぜなぜ5:新たな追加要件を書く時のルール作りで、プログラマの心情を理解せずにルールを設定した

    ↑この分析は果たしてきちんとできたでしょうか。。

    大切なのは、人ではなく事象へという意識なのか

    上で挙げた例は、私の中でぱっと思いついた分析の流れです。
    ここではなるべく頑張って、人に依存しないような事象へと寄せるようにしました。
    軽く考えると、要件を見逃した開発者が悪いだとか、要件を書いた人が強調しなかっただとかに行き着くような気がしていて、しかもそれらへの流れが容易に思いつくんですよね。
    人を責めても、改善なんてしないんだから、仕組みを変えていくための分析としてあるべきなのかなと思います。

    身近な問題にもなぜなぜ分析が適用できるか

    これ、ずーっと前にも書いたような気がしますが、、
    例えば私、月100kmのランニングを目標としているのですが、毎月70kmくらいで終わってしまいます。
    気合いが足りないだとか容易に思いついてしまうのがアレですが、ちょっと考えてみると、きちんとした分析になるんだろうなぁ。

    月間100kmを走り切ることができない
    なぜなぜ1:走る時間が足りない
    なぜなぜ2:他にやることがたくさんあり、優先度が下がる
    なぜなぜ3:100kmを走り切ったところで、効果が見えない
    なぜなぜ4:目標として大きすぎる
    なぜなぜ5:週間目標とか細切れにして、毎週の目標にする

    うーん。
    答えありきな目標になってしまった。
    同じようなことを昔考えたことがあり、その時は週25kmを目標にする、みたいなところに行きつきました。多分そこをクリアするために、週3回、8km以上を走るようにする、みたいな具体的なところに行き着くように目標を作れば良いんだろうなぁ。

    と、他人事のように考えてしまっていますが、、まず気合いが足りないんだよなぁ、、ホントに。

  • レコーディングダイエット

    レコーディングダイエット

    もう何日目か忘れました。体重は測っているんですが全然痩せません。ずっと17.3kgくらいのまま。

  • うまいビールを求めて

    うまいビールを求めて

    先日、ドライブがてら茨城県内にある道の駅まで訪ねて行ったのですが、そこの冷蔵コーナー、お酒が置いてあるところに、そのあたりで作られた地ビールがありました。
    その日は少し汗ばむような陽気で、車を快調に飛ばしてきたという、そして少し知らない場所まで来たという高揚感に触発されて、思わずその場で飲みたい!と思ったのですが、危ない危ない、車の運転をするんだったということで、その場で飲まずに帰ってきたのですが。

    てか、買ってくれば良かったなぁ、と思ってて。わざわざその地ビールを買いに行くためにまた訪れるのもちょっと違うよなと考えていた矢先、最近流行りのサブスクを見つけました。私にちょうど良い、クラフトビールのサブスク。

    そもそもクラフトビールとは

    クラフトビールという言葉、いつの間にか定着したなー、と思いますね。
    上の段落ではあえて「地ビール」と綴っていましたが、内容はだいたい一緒、と紹介しているサイトがありました。
    一言で言えば、小さなビール工場、ということになるでしょうか。
    1年間で最低60リットルを作るとビール会社として名乗れるようになるのですが、それくらいを作れば良いようです。(諸説あり、かもしれません

    ただ、クラフトビールってスーパーで買うと意外と高かったり(1本500円とかしますよね)、それだったらハイボール2本でいっか、と思ったりしてしまいます。
    ホントは、仕事でちょっと頑張った日とか、自分を褒める日に味わうような日常を送りたいなー、なんて思うんですけど。

    OTOMONI (オトモニ) の、何がすごいのか

    私が、このサブスク、いいなぁ、と思った理由。3つあります。

    ひとつめ、全国のクラフトビールを味わえること。全国のビールを飲めるっていうの、なかなかないと思います。よほどの旅行好きで、旅先のスーパーや道の駅などで見つけた時に買う、みたいな気の利いたことをできる人だったら良いのですが、残念ながら全国を旅するようなお金はなく、、なのでこういう「誰かが選んで送ってくれる」というところに、とても良いなぁと感じました。

    ふたつめ、クール便の送料が無料。これもなかなか驚きなんですが、クール宅急便を使うと1000円以上かかるんですよね。それが、なんと無料。これ元取れてないでしょ、と思っちゃったりします。クール便だと何が良いか。届いたらすぐに飲めるんですよね。
    ビールって、キンキンに冷えたのも美味しいのですが、真夏以外は実は常温でも美味しいなぁと感じることがあります。ちょっとだけ冷たいっていう温度になると、ビールの風味を強く感じることができるので、むしろクラフトビールの特徴を掴むことができるのではないでしょうか。

    みっつめ、スマホアプリが充実している。個人的にはこれが一番好きだなーなんて思うんですが、ワインやウイスキーも同様で、「お酒ノート」みたいな、自分が感じた味わいをどこかに記録しておきたいなぁなんて思うんです。だけどそれ実際は割とめんどくさかったりして後回し、そのうちに忘れてしまうみたいなの、よくあるんですが、アプリには私が何を飲んだかを記録してくれるという機能があります。ビールなんて苦味や酸味を感じる程度じゃん、と思ったりもしちゃうところを、いろんな種類のビールを飲むことによって、自分の舌に、感受性に奥行きを持たせることができるのかなー、と思ったり。

    私だけのビールカタログを作ろう

    1回6本注文で、1本あたり700円程度ということで、正直スーパーのビールと比べちゃうと高いかなーと思ったりもするんですけどね。庶民にとってビール1本700円、うーん。
    だけど日本のいろんな味を楽しむことができるんだもんなぁ。
    私が感じた味を思いながら、そのビールが作られた地へ旅に出るというのもなかなか良い思い出になるのかもしれないよなぁ。
    超迷う。ちょっとお試ししてみようかなぁ。

  • メダカの稚魚を冬越しさせられるか

    メダカの稚魚を冬越しさせられるか

    天高く、馬肥ゆる秋

    ベランダで飼っているメダカですが、9月に数十匹の稚魚が生まれました。
    それらをグリーンウォーター化させた水で過ごさせているのですが、11月になると流石に朝晩は冷たいと感じるほどの水温になり、これは冬を越すのが難しいだろうと思っています。

    メダカは一般的には冬眠するので、冬の間は餌を食べず、最小の行動量で過ごすのですが、流石に稚魚はヤバいだろ、と。

    ということで、GEXあたりのヒーターを買おうか考えていて。

    最近撮ったメダカの稚魚。まだ1cmくらいでしょうか

    元々は親族から譲り受けたものや、近くのペットショップで買ってきた子たちが産んでくれたものなので元手はゼロ。それはは良いのですが、ヤフオクでちょっと変わった個体の卵を買ったので、それらも死んでしまうと流石に悔しい。
    死んでしまってからでは遅いので、早めに買っておきたいです。

    水槽はIKEAで買ったこちらの収納ボックスなので、40*30*23(cm)なので27リットル。

    楽天だとこの辺でしょうか。初めて買うのでこれで良いのかわからない。

    GEX メダカ元気 オートヒーター SH120 SHマーク対応 統一基準適合 関東当日便

    価格:2,330円
    (2022/11/3 18:17時点)
    感想(3件)

    近所の、いつも行くペットショップでは同型の商品が2480円とかで売っていたので、楽天で買うとちょっと安いので良いですね。

    室内で気になること、まだある

    色々なブログ等を拝見すると、稚魚は室内で飼った方が良いんだろうなぁと思うんです、冬は。
    そうなると、水槽に入れている水草たちへの日光が気になってきます。彼らに陽を当てないと、光合成ができないだろうと思って。光合成ができないと、きっと弱ってきて色が茶色くなってしまうんだろうと勝手に想像してしまう。ということで、室内飼い用にライトを用意する必要があるのかなと思ったりしてて。

    クリスマス応援送料無料★新作 リモートワーク 在宅ワーク リングライト ベッド クリップ ライト クリップライト 寝室 照明 ledライト led照明 zoom撮影 照明 テーブルランプ led照明器具 デスクライト ベッドライト 読書灯 スタンドライト 卓上ライト 北欧 調光調色

    価格:2,280円
    (2022/11/3 18:31時点)
    感想(0件)

    光を当てる程度のものがあればいいのかな、、そう考えるとこれくらいでも良いのかなと思ったり、、、

    どれにしよう、って悩んでる時が一番楽しいんだろうなぁ。めっちゃ楽しいです。

  • 守谷の二郎にまた行ってきました

    守谷の二郎にまた行ってきました

    3回目の訪問になります。10時開店に並びました。9時30分くらいに到着、トータル10人くらいは並んでいたでしょうか。

    ラーメン二郎 守谷店 券売機

    私は麺半分、トッピングはにんにくで。

    ラーメン二郎 守谷店 麺半分 うずら

    とても美味しゅうございました!今度は豚増しにしようかなぁ。

  • テスト駆動開発 4日目

    テスト駆動開発 4日目

    前回のところで、次のステップを書いたところ、予定通りにAttribute errorが出されました。

    Attribute Error で怒られた

    ちょっと待て

    違う、私がやりたかったのはケント・ベックさんのテスト駆動開発を写経したかったのではなく、Pythonでテスト駆動開発を体験したかったんでした。
    なぜケント・ベックさんのテスト駆動開発を参照したのかというと、テスト駆動開発へのとっかかりを思い出したかったからです。

    気を取り直す

    さて、それでは何の題材に選べば良いのか?とかるーくググったところ、fizzbuzz問題というのがありました。
    というか、とても良い写経の題材がありました。リンクはこちら。

    fizzbuzz問題ってなに?みたいなのはこのリンク先をご参照いただくとして、私の、このブログではテスト駆動開発を進めていきたいとおもいます。

    何は無くともToDoリスト

    最初は、ToDoリストを作るところから。ここから写経になります。

    1. 数を文字列にして返す
      1. 1の時は、1と表示する
      2. 2の時は、2と表示する
    2. 3の倍数はFizzと返す
    3. 5の倍数はBuzzと返す
    4. 3と5の倍数はFizzBuzzと返す

    そしてコード。ここも分からないことだらけですが、いったん写経してみます。ホント、Qiitaで書いてくださった方、感謝です

    import pytest
    
    class TestStringConvert:
        # 前準備
        @pytest.fixture
        def target(self):
            from fizz_buzz import string_convert
            return string_convert
        
        # 検証
        def test_return_value(self, target):
            assert target(1) == '1'

    ドキドキで実行してみると、出たよー見つからないやつー環境変数に追加しないといけないやつー。もう見慣れました。

    pytestはどこだよ!って怒られている

    もう疲れた、、今日はここをキャンプ地とさせていただきます。

  • テスト駆動開発 3日目

    テスト駆動開発 3日目

    2日目では、自分のPython バージョンまで分かりました。ようやく環境の羅列を終えられる。。

    • Mac OS 12.6
    • Visual Studio Code 1.72.2
    • Python 3.9.12

    いったん、ケント・ベックさんのテスト駆動開発を振り返る

    写経したのが2年くらい前なので、すっかり忘れておりまして。
    そこからかよー、の自虐スタンスなので、焦らない。

    Pythonで最初にRedを出すためのコードを、ケント・ベックさんのテスト駆動開発から引用させていただこうと思いましたが、こんな世界の片隅にひっそり佇むサイトでも著作権に触れてしまうかもしれないのでやめることにしました。

    うーん、どうしよう。そっちを参考にして自分のオリジナルコードを作れば良いか。

    TODOだけでも参考にさせていただこう。

    – テストメソッドを呼び出す
    – setUpを最初に呼び出す
    – tearDownを後で呼び出す
    – テストメソッドが失敗したとしてもtearDownを呼び出す
    – 複数のテストを走らせる
    – 収集したテスト結果を出力する

    ケント・ベック テスト駆動開発より

    はじめの一歩

    はじめは、テストメソッドを呼び出すところから始めるんですね。
    テストメソッドを呼び出せたらグリーン(Pass)。呼び出せなかったらレッド(False)。

    ざっくりな説明としては、テストメソッドが走ったかどうか、テスト対象のクラス(TaishoKurasu)、フラグにはwasRun、最後にアサーション assert(test.wasRun)で検証を行うという流れ、とのこと。

    はい、最初の失敗。本で読んだ通りです。

    例外が発生しました

    まず必要なのは、TaishoKurasu というクラスを定義するところから始める必要があるんですね。

    ぱぱっとTaishoKurasuを定義してみます。

    class TaishoKurasu:
         Pass

    はい失敗ー、知ってた知ってた。

    例外が発生しました TaishoKurasu() takes no arguments

    ケント・ベックさんのテスト駆動開発では、

    コンストラクタの引数が合わないと怒られる。(本文そのまま

    ケント・ベック テスト駆動開発

    今日はこのくらいにしておこう。だいぶ面白くなってきたところですが。

  • テスト駆動開発 2日目

    テスト駆動開発 2日目

    前回は以下のコマンドがターミナルでnot foundになってしまった、というところで終わりました。

    python --version

    そこからかよ…

    自分の中では納得がいってないですが、これが実力なのでしょうがない。

    まず怪しいのは環境変数か、ということで、環境変数の調べ方を探しにいきました。

    お世話になったのはこのサイト。ありがとうございます。先人の知恵は無駄にすべきではないですね。

    echo $PATH

    で、出てきたのはこちら、なんつーか他にもっと入ってた気がするんすよねー、なんでひとつしかなくなっちゃったんだろう、、

    不可解すぎる、環境変数がひとつしか残ってない問題

    ということで、まずPythonの場所を調べ、そこを追加していこうと思ったのですが、、

    $ which Python
    bash : which: command not found

    which すらもコマンドが見つからない状態、終わってる、、

    なんか、果てしなく疲れました。。まだスタートラインにも立ってないんだぞ、準備運動のやり方がわかりません、みたいなノリじゃないか君。。

    気を取り直して

    再出発な気分で、先日テキトーに更新してしまった.bash_profileのファイルを再確認。
    テキトーなサイトで、テキトーに更新してしまったのを思い出しましたので。

    以下、写経を経て追加しまくった環境変数たち。.zhsrcに残っていたので、そっちのを.bash_profileに更新しました。

    JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
    PATH=/Users/myname/opt/anaconda3/bin
    :/Users/myname/opt/anaconda3/condabin
    :/Library/Frameworks/Python.framework/Versions/3.10/bin
    :/usr/local/bin
    :/usr/bin
    :/bin
    :/usr/sbin
    :/sbin
    :/Library/Apple/usr/bin
    :/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home/bin
    

    すると、開いた!これは嬉しい、、ようやくスタートラインに立った気分です。

    $ which python
    /Users/myname/opt/anaconda3/bin/python

    やっとここかよ…