GDG Tokyo のハンズオンにリモート参加 – Angular+Firebase
土曜日の午後、仕掛かりのチュートリアルでも進めようかと思っていたら #GDGTokyo のハンズオンにリモート参加できることを知りYoutube Live 視聴枠でエントリー。
https://gdg-tokyo.connpass.com/event/168843/
前半はなんとかついていけたのですが、後半のAngularのセッションのスピードについていけず早々に脱落。あとでビデオが公開されるとのことで、夕食後にビデオを見ながら(何度も巻き戻しながら)試してみました。ざっとメモ書き程度ですが書いておきます。
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”
Local By Flywheel が起動しない…
さて、進行中のウェブサイトを確認するため 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
として、
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を動的に配置しています。
電子入札システム対応メモ – パソコンサポート
先日、電子入札で使っているカードの読み取りができなくなったという相談を受けてパソコンのサポートをしてきました。
結果的には専用のJREをインストールし直すことで復旧できました。カードリーダーやそのドライバは問題なかったようです。私自身、電子入札システムを使ったことがなかったので、始めのうちは様子がわからず、セットアップの方法など正確な情報にたどり着くのに少し時間がかかりました。
入り口としてはこちら
えひめ電子入札共同システム
上のページにあるパソコンの設定手順(PDFファイル)を見ながら設定を確認。
指定のJREはこちらから入手。
電子入札システム専用JREダウンロードサイト
ダウンロードの際に電子証明書が必要。
こちらにもJREのサポートに関する情報があります。
日本電子認証株式会社様ウェブサイト – AOSignお知らせ
また、専用JREのサポート期限が令和2年9月までということで、新方式(脱Java)の準備が進められているようです。
応札者向け情報 – 電子入札コアシステム
来年(令和2年)秋までには .NET版 への移行が必要みたいです。
Rails Girls Ehime 2nd 開催準備のお手伝い
今年6月に開催された Rails Girls Ehime ですが、来年2月に2回目のイベントを開催するということで準備が始まりました。
1回目のイベントのツイートまとめはこちら。
Rails Girls Ehime – June 2019 のまとめ
ちなみに Girls と女子向けなのは Affirmative action というコンセプトがあるそうです。性別に関係なく働きやすい環境って大切ですよね。
ということで、次回イベントの参加登録ページなど準備(お手伝い)しています。コーチとしての参加もありますので、ご興味のある方、少しでもご経験のある方はぜひこの機会にご参加ください。
それと ehime.rb という愛媛の地域 Ruby・Rails コミュニティもあります。最近はオンラインで開催されているので、ご都合が合えばこちらもどうぞ。
Selenium Grid on Azure and LambdaTest
EhimeJSという勉強会で初心者歓迎LT会が開催されるということで、JSはあまり得意ではないのですが、ちょうどクロスブラウザのテストが気になっていたのでSeleniumの練習を兼ねて参加してきました。
当日の様子はこちら。(@PET_HAL さんのまとめ)
数年前にSeleniumを仕事で使ったことがあって、その時はJavaとPythonでテストプログラムを書いたのですが、今回はJSがテーマということでざっと調べたところ Node.js の記事がいろいろ見つかったので Node.js で書くことにしました。
そしてテスト環境ですが、仕事で主にmacOSを使っていて、Chrome / Firefox / Safari はローカル環境で問題ないので、Edge / IE をメインのテスト対象として考えました。ここで、MSのブラウザは Edge_Chromium がメインになっていくと思うので Edge_HTML / IE 対応にはあまりコストをかけたくないというのが正直なところですが、運用しているウェブサイトの利用状況を見るとそれなりにユーザー数もあるので、であればテストを自動化することでモチベーションにつながればということもあります。
Edge_HTML / IE を試すには Win10 の仮想マシンが必要と考えて、だとすれば Azure を使ってみるのも良いかなと思い Azure の VM で Selenium Grid (hub + node) を立てることにしました。結論としては、環境構築自体は割とスムーズにできて、手元のターミナルからリモートマシンの Chrome / Firefox / Edge_HTML / IE11 を Node.js で動かすことができました。
少し手間取ったのはリージョンの選択とVMサイズの変更。いろいろリージョンを変えてVMを探してみたのですが、少し金額が高めのスペックしか選択肢に表示されず。ちょっと様子がわからなかったので、サポートに問い合わせたところ、希望するリージョンとVMのスペックをリクエストすれば選べるようになりますとのこと。ということでリージョンを変えて希望のスペックが選択できました。
Seleniumについては主にこのページを参考にしました。
Setting up your own test automation environment
ローカルでのテストの仕方やリモートテストに関する情報がまとまっています。ここで LambdaTest というサービスも紹介されていたので試してみました。
EhimeJS で発表した資料はこちらに公開しています。
Selenium Grid on Azure and LambdaTest
LTで説明したのは前半の20枚くらいです。後半に環境構築での注意点とか、まだ試してはいませんが、気になる記事をまとめておきました。少しでも参考になれば幸いです。