「実践ソフトウェアエンジニアリング第9版」出版によせて

こちらは「実践ソフトウェアエンジニアリング第9版 Advent Calendar 2021」、(だいぶ遅れましたが)13日目の記事です。書籍へのリンクはこちら(オーム社)。 私は本書の13章と21章の英語から日本語への粗訳を担当しました。これらは主にWebや移動体通信が関わる範囲の話でした。私の過去の経験が多分に重なる分野であり、照らし合わせながら訳を進めることができました。翻訳プロジェクトが本格化した時期と私の渡米が重なり、限られた時間しか翻訳に従事できませんでしたが、粗訳を他のメンバーが磨き上げてくれてとても立派な文章になったかと思います。 既に一読された方々は感じたかもしれませんが、特に移動体通信まわり(21章)は原文自体もまだ粗けづりな感じが他に比べて強いかと思います。これは原文自体も同様です。私の同分野における経験を照らし合わせても、今現在も変化している内容も多分に含まれるためこの荒削り感は否めないと感じたところでした。 一方、例えばWebで扱われた、議論された内容の多くが移動体通信の話で引用されたりと、これまで培われてきた内容が転用できる箇所も多いと感じるかもしれません。新しい表現や言葉も登場します。これらの中には英語に対する対訳としての適切な日本語が難しいところも多く、翻訳の難しさを感じたところも多くありました。教科書として利用されることも想定される書籍のため、十分に適切な日本語の対訳ではない場合、以降の世代にも影響を出してしまうというプレッシャーもありました。 現在、私は仕事として21章で言及されているような実際のユーザに近しい環境(国、地域、ネットワーク環境など含む)をいかに現実的な環境として提供し、テスト・計測・観測できるようにするか、性能計測やその結果分析を評価するサービスを開発します。その環境もあり、21章は挑戦内容含めて共感する場面が多くありました。いずれ、例えば21章で言及されているような現在の課題なども月日の経過とともに発展し、その先にある課題に取り組むことができる状況になっていくと良いと考えています。 それでは、また。More

Note about “image injection”

Real environment approach HeadSpin Mocking approach SauceLabs https://www.browserstack.com/docs/app-automate/appium/advanced-features/camera-image-injection https://docs.saucelabs.com/mobile-apps/features/camera-image-injection/ Perfecto https://help.perfecto.io/perfecto-help/content/perfecto/manual-testing/instrumentation.htm I know that real environment and mocking is trade-off things. It should depend on what test cases want to check, close to actual user usages as possible (and analyze the result), or allowing to mocks by making the test grey box. Personally, when you’d…More

[Android]Java 11 in AndroidStudio

Gradle v7 requires Java 11 to build Android apps. Android Studio bundled OpenJDK forked version for the build. You can find the version like the below path in JetBrain’s toolbox. “/Users/kazu/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-2/212.5457.46.2112.790598 3/Android Studio Preview.app/Contents/jre/Contents/Home” So, JAVA_HOME should refer to the path. Non-toolbox is in the Android Studio’s package.More

車を手に入れる

渡米1年くらいで重い腰を上げてようやっと車を手に入れた。今持っているVISAの期限による帰国の可能性もまだあるため、ディーラーと相談して2021年のやつを3年間でリース。中古で買うよりも良い選択肢となった。色々とあってDown Paymentがクレカ支払い可能(手数料はなし)になった。初めは選択肢としてなかったけれど、まわって当時の状況ではお金の移動に余裕もできて良い選択肢になった。 現在はチップ不足により今ある中古車も値を上げている。リースもいくらか高くなっているが、3年経過する前の段階で良い時期を見繕って途中で車を切り替えたいと思い、リースにした。2023年くらいにはチップ不足の問題が緩和されて車の価格が買い手が十分選択肢を持っている状態 + 電気自動車が普及価格帯にまで広がり始めていると見込んでのこと。(あと、続けて滞在できることも必要だが。) 免許取得時のロードテストを受けたDMVはLos Gatos。信号赤の時の右折にはまだ慣れが必要。渡米して、合計で10時間行かないくらいの運転練習時間だったが、特に右折と4-wayに関する交通ルールを除けばさほど感覚的に難しいものはなかった。あとは慣れ。 保険はまずはGEICO。GEICOでとても良かったのは、オンラインからの登録の時も日本にいたときの運転経験を申告できたこと。おかげで米国では免許保持の経験はなくとも10年以上免許を保持している日本の経験も加味されて最終的な支払い金額はだいぶ安くなった。念の為ということで少し補償額を大きくしても、フルで保険料を納めるときの半分以下に納まったので月々150ドル行かない額になった。滑り出しにしては良いのではないか。 リース代金やガソリン代も含めても、想定していた月々の出費には収まりそうで良かった。出費を見ると固定居住費がやっぱり多くを占めるので、次の引っ越しのタイミングでは良きにはからいたい。More

渡米して1年が過ぎた

米国への引越しから1年がちょうど過ぎた。特に書き溜めたものはないが、仕事面、生活面で少し記録を残しておく。 仕事面 会社やよく働く同僚と時差が同じ、もしくは近づいたこともありだいぶ良くなった。コミュニケーションの回数、お客さん対応のしやすさ、意思決定に関わる範囲が増えるなど。特定の専門領域やその周辺に関わるところでは黙々と安定性をあげ、機能を拡充したりしている。一方、日本やインドなどの方面のやりとりはやはり時差の関係で難しさは上がった。 “日本語”が話せることで、日本地域に対する営業のヘルプが出てきている。時差の関係であったり、英語の仲介役として参加することもあり、呼ばれてからヘルプする、というだけでは難しい面にもいくつかでくわした。これは所属するスタートアップの日本語話者が私しか今はいないので致し方のない面ではあるけれど。 面白い面として、OSS関係の活動もあり、仕事のお客さんとやりとりするときに既に私を認識されていることが増えてきた。もちろん、利用者として。情報の追従など含めて頑張る必要がある面は多分にあるのですが、まだ頑張ろうと思える出来事。 生活面 引っ越す前の段階からユニオンバンクに給料を振り込んでいたので、移住の際の出費などで日本円をドルに持ってくることはなかった。今現在の職である限り、金銭的な工面は当面は大丈夫な感じになった。今年からは米国の居住者なので、確定申告など含めて居住者として申請する必要がある。 食事は満足している。日本食のような味付けに必要な出汁でいうと茅乃舎の出汁が手に入るし、日系スーパーはさほど頻繁には行かないのだけれど、それ以外の場所でもある程度十分な食材を手に入れることができる。多分、ここら辺の出費は日本にいたときとさほど差はないか一部高くなっている。外食は時折している程度である。日本よりは高いが、それぞれの居住地にいたときの収入に対しての外食の占める出費の割合で言うと同じか低い。そういう意味では、食材を買う出費は日本にいたときよりは相対的に安くなっている気がする。これが初めての渡米なので昔のシリコンバレーは知らないが、先人に感謝する面が多いと思う。私も後陣を考えて良きに振る舞いたい。 家賃は高い。日本で住んでいたところの2倍行いかないくらい。ただ、部屋の全体の広さも2倍くらい。 医療費も高い。予防的な対応には基本的にはお金がかからないようになっているが、例えば歯科矯正や虫歯治療になるとそうではない。ただ、日本にいた時から自由診療にも通っていたので、収入面からの相対的な目線で見ると歯科に関しては安くなった。医療費はまだ幸いにも健康体であるので大きな負担にはならないがいざという時の予防的なものも含めて会社サポートの恩恵に預かっておく。もう少し保険を学んでみるのも良いかもしれない。 そういえば、こちらにきて歩いたりすることが増え、健康的になった。日本にいた時から使っていた体年齢の計測機能付き体重計によると、18歳のよう(いっとき、もう少し年齢上がったけれど渡米した後にまた下がった)。 そのほか 私はスタートアップで働いているので、big techな方々に比べると収入も低いのだが、今のところは貯蓄や投資もある程度できている。妻が社交的なので、知人を作ってくる。彼/彼女らやその配偶者もbig techや巷で聞くIT系企業が多く、ここら辺の雰囲気を感じる。社割の話も聞くと、色々とお得感も感じる。 帰省はしたいがこのご時世なので良い機会を見計らう必要がある。帰省したいときにできるようにお金やAmexポイントを蓄えておきたい。 これから 幸運にも、挑戦したいと思っていた領域のスタートアップからもらったオファーから始まった渡米なので、もう少し挑戦を続けようと思う。堅調に成長を続けていて、優位性を見つけて利用してくれている方々もいる。嬉しいことに、システムの安定性を評価して選んでくれている方々もいる。 転職を繰り返す人が多いと聞く地域だけれど、まだ道半ばなのでもう少しここでやっていきたい。More

[Appium] a tip to launch an iOS app with language and locale

Appium can launch an iOS app with an arbitrary language/locale by XCTest feature. The well known way is appium:language and appium:locale capabilities. The behind is simple. Appium provides -AppleLanguages and -AppleLocale process arguments to the launching process to the application under test. It means you can launch an arbitrary application with an arbitrary language. It…More

[Appium][Android] Change window/tab in a chrome custom tab

A chrome custom tab is a chrome browser instance on an Android device. Appium tries to get available contexts by checking browser/webview processes on the device/application. It means even when the chrome custom tab has multiple tabs/windows, Appium probably can find a chrome instance (process) and attach to it. To switch to another tab on…More

[Appium][XCTest] XCTest(UI) requires passcode/fingerprint on iOS 15

I noticed that XCTest(UI) required us to input passcode to run on a real device if the device has had a passcode security preference on iOS 15. The passcode can be fingerprint or face id. (It depends on its preference) It means Appium/WDA also gets the same issue. It should not be an impact on…More