Categories
News

進化的アーキテクチャのKataリスト

Fitness Function Katas の List Katas を拝読。 Agile459 の今後のイベントで活用ができればと思いキーワード程度ですが一覧にしてみました。 Katas 概要 実践 A11y All the Things アクセシビリティ対応 UI自動テスト Audit the Accounting 会計監査 パッケージや名前空間 Avoid Complex Code 長いメソッドやクラス ペアプロやツール活用 Break On Upgrade バックポートの問題 RonRバージョン変更 Configure Some of … ハードコードの問題 Configファイル Cycle Time Guard デプロイ時間の統計 コンテンツ更新 Debug All the Things 素早いカスタマサポート リモートデバッグ環境 Degrade Gracefully 許容可能なパフォーマンス低下の閾値 AutoScale? Depend on Dependencies 依存関係の更新による不具合 ステージング環境 Deploy All The Things ガイドラインに沿ったデプロイ Docker container Deterministic Distributability ハードコード文字列の問題 地理的に離れたデータセンター Dire Deltas 長い期間のチェックアウト コミット単位を小さく Discover All The Things B2Bのドキュメンテーション APIのドキュメント参照機能 Doc Sync With API B2Bのドキュメンテーション更新 ドキュメントが現在のコードにマッチ Elasticity of Microservices スケーリングに柔軟に対応 リクエストの状態でインスタンス追加 Install All The Things デスクトップアプリ用インストーラー 更新内容を常にインストーラーに反映 Legality of Open Source Libraries オープンソースライブラリのライセンス ディストリビューションのライセンス条項確認 Maintain The Mock ハードウェアの更新とAPIのモック ハードウェアチームによるモックの維持 Maintaining […]

Categories
Agile

進化的アーキテクチャの読書会

Agile459のイベントで8月から「進化的アーキテクチャ」の読書会が始まりました。 1回目は1章と2章の最初の部分まで。 1章は概要の説明という感じで、ここだけでは何かを理解できるものではなさそう。適応度関数 Fitness Function とは何だろうというモヤモヤした雰囲気でした。 ここで、本と並行してウェブ上の情報を探してみました。 とっかかりは本書の手引きとなるウェブサイト。 Building Evolutionary Architectures 例えば、進化的UIを構築するための microfrontends pattern を説明するプレゼンテーションや Fitness Functions を分類するための各種ツールなど。 それと Fitness Function Katas という「カタ」が紹介されています。この「カタ」を見ていくのも良さそうに思いました。 以下、一部を抜粋。 Avoid Complex Code 新卒やインターンを雇った際のコードレビューなど、長すぎるメソッドや特定のクラスに依存、結合度の問題。 Break On Upgrade バージョンを X + 1 にアップグレードした際に、バックポートした機能は影響を及ぼさない(無効)になること。 Degrade Gracefully サイトの利用が増加した際に、極端なパフォーマンスの低下を起こさないこと。DevOps。 Doc Sync With API 例えば外部のベンダーがオーダー状況をAPIで確認する場合など、新たな機能を追加した時点でAPIのドキュメントが古くなってしまう。ドキュメントは現在のコードとマッチしていないといけない。 などなど。 これまで TDD のイベントなどでコードベースのリファクタリングを学んできましたが、このような適応度関数を見てみると、システム全体のアーキテクチャをベースとして適応度関数を用いてリファクタリングができる状態を維持することを一つの目的としているように思いました。 次回の読書会はこちらです。ご興味があればお気軽にご参加ください。 参考記事 Netflix / Chaosmonkey カオスエンジニアリングの原則

Categories
Software

Discordの登録についてメモ

最近、Slackと並行してDiscordを使う機会が多くなってきて、ボイスチャットを有効活用してみようと思い、サーバーを立てたのですが、そこからの招待が上手くいかなかったので確認しました。 Discordのアカウントがない場合は、あらかじめDiscordのサイトでアカウントを登録します。 そして、誰かからDiscordの招待リンクを受け取ったら、そのリンクをそのまま開くのではなくて、Discordのアプリ画面で「サーバーを追加」します。 そのまま招待リンクをブラウザで開いてしまうと、Discordで登録済みのアカウントとは別のアカウントで登録されてしまったり、招待リンクが無効のような表示になったりします。 すると次のダイアログが表示されます。 右側の「サーバーに参加」をクリック。 この画面で、受け取った招待リンクを入力して参加ボタンをクリックします。 以上です。

Categories
Hardware

Macbookに画面を追加

部屋の整理をしていたところ、数年前に購入したUSB接続のディスプレイを箱に入れたまま放置していたことに気がついて、動作確認してみました。 6年ほど前に購入した ASUS MB168B+ です。当時、このディスプレイを購入したのは GDCR 2014 というイベントがあって、ペアプログラミングをするのにノートPCの画面とキーボードを2人で共有するのはなかなかしんどいので用意した次第です。 この頃は主に WindowsのノートPC(ASUS UX32V) を使っていて、このディスプレイの接続は特に問題はなかったのですが、その後、Macbook(Early 2015)を使うようになってからは、サブディスプレイを持ち出す機会もほぼなくなりMB168+は箱にしまったままになっていました。 そもそもMacbookにはUSB-Cポートが1個しかないので外部機器を接続するには拡張インターフェースが必要で、純正のアダプタでHDMI接続のディスプレイとTime Machine用のUSB接続ハードディスク程度でしのいでいたのですが、最近、オンラインミーティングの機会が多くなって、少し音質にもこだわってみようとドッキングステーションを導入した経緯もあってUSBポートに余裕ができたところでした。 ということで、あらためてASUSのサイトから接続用のドライバーをダウンロードしてインストール… しようとしたところmacOS10.15に非対応で先に進まず。MB168B+は真っ黒のまま。接続は無理かと一旦諦めたのですが、ASUSのサイトを良く確認すると、 バージョン 5.2.12020/05/12 11.76 MBytes ASUS MB168B+ Driver Package こちらが現時点で最新でした。 インストールが完了するのに数分ほどかかりましたが、これで無事USB接続で認識できました。 今となっては、視野角が狭い感じで、斜めから見ると周辺が若干暗くなりますが、縦長に回転させて使えるのでこれはこれで便利です。上の写真ですが、Macbookの左側がHDMI接続、右側がUSB接続のMB168B+の合わせて3画面です。 ただ、机の上が狭くなってしまいました。

Categories
Hardware

Discordの音声・ビデオ設定

先日のオンラインミーティングで新しいマイク(JTS TX-7)を使ったところ、声が小さい(遠くに聞こえる)という指摘があってDiscordの設定を見直してみました。 音声設定 入力デバイスは USB AUdio CODEC になっています。これはUSB接続しているオーディオI/F(behringer UMC22)です。 入力音量はMax(100%)に設定。ちなみにオーディオI/F側のゲインもMaxにしています。 「確認しまし…」のボタンをクリックしてマイクのテスト状態にします。 入力感度の自動調整はOFFにして、入力感度は中央(-50dB)にセット。話してみてレベルメーターが中央のボタンを少し超えるあたりです。 詳細設定 ノイズ抑制 (ベータ)はOFF。これをONにすると逆に電気的なノイズ(ブーン)が増える感じ。ただし、しばらくするとノイズが消えるので、周りが騒がしい場所だと有効かもしれません。 エコー除去はOFF。これをONにすると「テス…」のように「ス」を発音した後の音が抑制される感じです。これも、しばらくすると次第に「テスト」が正しく聞き取れるようにはなるのですが、現状は外しておいた方が良さそうです。 ノイズ低減はON。これは確かに周りの雑音や電気的ノイズ(ブーン、サー)を抑えてくれているようです。 音量調節の自動化はON。先日のオンラインミーティングの際はこれがOFFになっていました。ONにしてみるとマイクの音量が少し大きくなりました。

Categories
Hardware

ダイナミックマイクに変えてみた

ここのところ、Zoomのミーティングや英語の勉強(Duolingo)をするのに、主にゼンハイザーのヘッドセット(Sennheiser PC5 Chat)を使っていました。 ヘッドセット購入の経緯はこちら。 Zoomのオンラインミーティングとマイクについて これで十分と思っていたのですが、どうも周りの音を拾うのが気になっていて、つい先日Discordで音声チャットをした際に、自分の音声の品質が「まぁそこそこ…」という話もあって、音質にこだわってみることにしました。 調べてみるとコンデンサーマイクがよく使われている様子。感度が良くて話し声が自然なまま入力できるようです。おそらく聴く側からすると、違和感がなくて聴き取りやすい音質になると思います。ただし、その分、周辺の音も拾ってしまうので環境によっては使いにくいかもしれません。 そこでダイナミックマイクを探してみました。Youtubeにもいろいろとマイクの使用レポートがあって、コンデンサーマイク とは違って、いわゆるボーカルの音で中域が少し厚めになりそうなのと、マイクの距離によってレベルが結構変わるので、その辺りが気になりますが、思ったよりは使い勝手が良さそう。 じゃあ具体的にどのマイクにするか。SM58という定番マイクがあるそうですが、 卓上で使う程度なのと、仮に使い勝手が悪い場合は他の機種に買い直す可能性もあるので、なるべく低価格で評価の良さそうなものを探してみました。 見つかったのがこちら。JTS TX-7 2千円台と手頃で商品レビューが高評価ということで購入。 ここで、マイクを接続するには オーディオインターフェース 経由のUSB接続が良さそうで、その場合、普段使っているMacbookに接続するにはUSBポートの拡張が必要で、じゃあこの機会にドッキングステーションも試してみようと思い、そうなると、Macbook付属の電源アダプタ(29W)では容量が足りなさそうなので60Wの電源アダプタを追加で…。 あれこれと芋づる式に機器が増えてしまいました。(汗 商品が到着して接続したところ、HDMI接続のディスプレイが認識されず。はて?どうしたものか。と焦ったのですが、PCを接続するポートに手持ちのUSB-Cケーブルを使ったのが間違いで、ドッキングステーションに付属のUSB-Cケーブル(USB3.1 Gen2)に差し替えればOKでした。 ダイナミックマイク: JTS TX-7 オーディオインターフェース: behringer UMC22 ドッキングステーション: LENTION CB-D53 電源アダプタ: Anker PowerPort Atom III 60W 試したところ、マイクのレベルが思ったよりも小さくて、UMC22のゲインをmaxにしてちょうど良い状態でした。それと、音声出力をMacbook内蔵スピーカー、音声入力を今回のJTSにしてみたところループすることなく使えているので、Zoomとかミーティングの機会があれば、ヘッドホンを使う場合、使わない場合など試してみようと思います。 ちなみに Duolingo の speaking は、JTSのマイクとMacbook内蔵スピーカーで問題なく使えています。 [2020.05.18追記]ドッキングステーションのホスト側の接続は USB3.1 Gen1 でもOKでした。

Categories
Study

オンライン教育についてメモ書き

NYCのオンライン教育が話題になっていたので、ウェブサイトを眺めてみました。 Learn at Home – NYC Department of Education ご家庭に向けてのアナウンス 4月当初においてZoomは危険性があって利用が禁じられていたが、数週間の会社との協議をもって安心して利用できることが確認できたのでクラスルームやミーティングに活用していく。 Digital Learning Tools 生徒用のポータルサイト – Remote Learning Portal DOE Student Accounts Google Classroom や Microsoft Office 365、Zoom を利用するためのアカウント発行 Let’s Learn NYC! 幼児から低学年向けのTVプログラム(広告なし)。ウェブサイトからLive streamの利用も可能。 Teach from Home 教師向けのサービス。Google Classroom や Microsoft Teams を利用。 iPad Distribution インターネット接続が可能なiPadを30万台貸し出し。家庭環境や多言語、その他様々な要素に配慮して順次配布。 T-Mobile接続によりWiFiは不要。 Content Filtering が組み込み済み。 Office, Google, Library, Security その他、学習に必要なアプリをセットアップ済み。 Activities for Students 自宅で学習するための様々な教材を各学年に合わせて提供。 Health Education Helpful Links for Families 様々な言語対応 運動(体育)に関する教材 などなど、Activities for Students に様々な教材が提供されている模様。 参考記事 リモート学習本格開始により大混乱の教育現場 米官民、教育格差にITで挑む 新型コロナ受け

Categories
News programming

Scratchのcloneの練習

昨日のCoderDojo伊予でspriteをランダムに配置する議論があって、いろいろ調べているうちにcloneの方が気になって試してみました。 spriteをcloneする際のIDについて。 Discussion Forums » Help With Scripts » the cloning tutorial: the basics of cloning. ポイントは、 NOTE: When you create the variable ID you must check the box that says “for this sprite only” the cloning tutorial: the basics of cloning. 変数をスプライトのみにすること。 そして、リストでIDを管理する場合のIDの削除。 Discussion Forums » Help With Scripts » How do you remove a specific item from a list? ついでにタイマーの使い方を確認。 Timer (value) – Scratch Wiki 出来上がったゲームがこちら。 find small number 追記(5月6日) りんごが重なった場合にドラッグ(set drag mode)で動かせるようにしました。