投稿者: 管理人

  • pytestでTDD

    Test Driven Development with pytest を拝読してのメモ書き。

    unittestはクラスから書く必要があるが、pytestはfunctionで書き始めることができる。

    TDDとは

    • 失敗するテストを書く
    • テストを通すコードを書く
    • 必要に応じてリファクタリング

    Red-Green-Refactor サイクル。

    なぜTDDを用いるか

    (さらに…)
  • TDDは 過大評価されてる?

    “Test Driven Development is overrated” という記事を拝読してのメモ書き。

    “TDDは過大評価されてる” と言われて残念に思ったのと同時に、TDDが都市伝説化していると感じた。(ことからこの記事にまとめたとのこと)

    TDDのアイディアは Kent Beck によって作られた。
    “Test Driven Development” written in 2003

    • 小さな落ちるテストを書く
    • テストを通す機能を実装する
    • リファクタリング

    “Red, Green, Refactor”

    でもTDDがあまり実践されていない現実。

    • QAの部署がテストを書いている
    • モックとかスタブとかとても手間がかかる
    • 利益がない
    • 遅い

    いや、デベロッパーは次のことに責任を持って取り組んで欲しい。

    • ニーズに対して正しい技術を用いる
    • 理解しやすく
    • テストしやすく
    • 拡張性を持たせ
    • シンプルに

    ユニットテストの土台の上でサービスやUIが成り立っていると考えれば、利用者からのフィードバックループの増加に役立つし、メインゴールとしてのDevOpsにもつながる。

    主な二つの利益。

    • テストで定義した通りにコードが動くこと
    • どのようにコードを書いていくかを考えて明記すること

    コードとその機能に自信を持つことで、チーム全体として速く回せるようになる。

  • Local By Flywheel が起動しない…

    さて、進行中のウェブサイトを確認するため Local By Flywheel を起動しようとすると、

    Regenerating Machine Certificates – Local by Flywheel

    このダイアログが表示されて、先に進まない様子。

    調べてみると、
    Regenerating Docker Machine TLS Certificate, checking system won’t start
    という記事があって、

    さらに手順をまとめた記事がありました。感謝。

    Local by Flywheel Regenerating Machine Certificates

    この手順で復旧完了。

  • phpのテスト環境 – Windows

    メモ書き程度で恐縮ですが。

    ローカル環境の場合

    レシピ
    – Windows10
    – PHP-7.4.x
    – phpunit
    – Git for Windows
    – VS Code

    https://windows.php.net/download/
    ここからNon Thread Safeのzipファイルをダウンロードして展開し、C:\php へ配置。

    環境変数(システム -> 詳細設定 -> 環境変数)を開いてユーザーもしくはシステムの環境変数:PATH に C:\php を追加。

    合わせて git の環境も整えておく。

    (さらに…)
  • Rails環境のwarningなど – wsl

    wsl(Windows Subsystem for Linux)のubuntuでRails環境を構築する際に、いくつかwarningが表示されたのでその対応を簡単に書いておきます。

    ちなみに rails は、

    rbenv install 2.6.5
    rbenv global 2.6.5
    gem install rails --no-document

    でインストールできた前提です。
    ここで例えば、

    rails -v

    として、

    ... warning: Insecure world writable dir /home/(username)/.rbenv/bin in PATH, mode 040777

    のようなメッセージが表示される場合。

    chmod go-w -R ~/.rbenv

    として、group や others の書き込み権限を外しておくと良さそうです。同様に、

    warning: Insecure world writable dir /mnt/c in PATH, mode 040777

    /mnt あたりでパーミッションの問題が表示される場合。

    参考:https://github.com/microsoft/WSL/issues/1426

    /etc/wsl.conf を開いて(なければ新規作成)、

    [automount]
    options="metadata,umask=0033"

    上記を書いて保存。wsl(ubuntu)のウインドウを一旦閉じて開くと設定が反映されます。wsl.conf の詳細はこちら。

    参考:Manage and configure Windows Subsystem for Linux

  • Zoomのオンラインミーティングとマイクについて

    最近、オンラインのミーティングでZoomを使う機会がわりとあるのですが、環境によっては周辺の音を拾ってしまって話が聞き取りにくい場合があります。

    自分はヘッドセットを使っているから大丈夫、と思っていたのですが、たまたま周りが静かなだけで試しにBGMを大きめの音で流してマイクのテストをしてみると、結構BGMを拾ってしまっていることに気がつきました。

    ということで、少しマイクにこだわってみようと思い「単一指向性」を条件に探してみたところ「SENNHEISER PC 5 CHAT」が値段も手頃で良さそうだったので購入。手元にあるイヤホン、ヘッドセットと比べてみました。

    (さらに…)
  • Ruby on Rails 5 のローカル環境

    Ruby on Rails 5をvagrantで環境構築していて少し引っ掛かったのでメモ書き。

    主なレシピ

    • macOS 10.15.2
    • vagrant-box bento/centos-6.8
    • ruby 2.6.5
    • rails 5.1.7

    Vagrantfileに下記を追加。

    (さらに…)
  • iOSアプリのレイアウトの練習 – Swift

    Swiftでボタンやラベルをたくさん並べたい場合に、どのように実装するのがスマートなのか調べてみました。

    参考にさせていただいた記事はこちら。
    HOW TO ADD STACK VIEWS PROGRAMMATICALLY AND (ALMOST) AVOID AUTOLAYOUT

    ちなみにプロジェクトはSwiftUIではなくてStoryboardで作ります。

    このサンプルでは LaunchScreenの上には手動でラベルを配置しますが、Main.storyboard の上は白紙(初期状態)のままでプログラムの中でButton、Label、StackViewを動的に配置しています。

    Swiftのバージョンアップによってプロパティ名など若干手直しが必要ですが、警告の内容に沿って修正していけば大丈夫でした。

    出来上がったサンプルのスクリーンショットがこちら。

    StackViewLayout - 縦
    StackViewLayout - 横

    Storyboard上のUI配置でAutoLayoutのコツが掴めなくて苦労しているのですが、このように動的配置すればわりと簡単にできそうです。

  • 電子入札システム対応メモ – パソコンサポート

    先日、電子入札で使っているカードの読み取りができなくなったという相談を受けてパソコンのサポートをしてきました。

    結果的には専用のJREをインストールし直すことで復旧できました。カードリーダーやそのドライバは問題なかったようです。私自身、電子入札システムを使ったことがなかったので、始めのうちは様子がわからず、セットアップの方法など正確な情報にたどり着くのに少し時間がかかりました。

    入り口としてはこちら
    えひめ電子入札共同システム

    上のページにあるパソコンの設定手順(PDFファイル)を見ながら設定を確認。

    指定のJREはこちらから入手。
    電子入札システム専用JREダウンロードサイト
    ダウンロードの際に電子証明書が必要。

    こちらにもJREのサポートに関する情報があります。
    日本電子認証株式会社様ウェブサイト – AOSignお知らせ

    また、専用JREのサポート期限が令和2年9月までということで、新方式(脱Java)の準備が進められているようです。
    応札者向け情報 – 電子入札コアシステム

    来年(令和2年)秋までには .NET版 への移行が必要みたいです。

  • Rails Girls Ehime 2nd 開催準備のお手伝い

    Rails Girls Ehime 2nd 開催準備のお手伝い

    今年6月に開催された Rails Girls Ehime ですが、来年2月に2回目のイベントを開催するということで準備が始まりました。

    1回目のイベントのツイートまとめはこちら。
    Rails Girls Ehime – June 2019 のまとめ

    ちなみに Girls と女子向けなのは Affirmative action というコンセプトがあるそうです。性別に関係なく働きやすい環境って大切ですよね。

    ということで、次回イベントの参加登録ページなど準備(お手伝い)しています。コーチとしての参加もありますので、ご興味のある方、少しでもご経験のある方はぜひこの機会にご参加ください。

    それと ehime.rb という愛媛の地域 Ruby・Rails コミュニティもあります。最近はオンラインで開催されているので、ご都合が合えばこちらもどうぞ。