スベリミナル効果

技術的なことを書こうと思ってたけど何でも書くことにします


通常用

ふざけ用
何でもコメントください。誤り指摘コメントなどには「コメン(ゴメン)」ト誤ります(1スベリ)
ダジャレ好きの方はこちらにどうぞ(更新してないけど)→スベリブログ2.0

退職しました(9月末に)

さて、この度(2020年9月末に)12年と半年勤めていた企業を退職いたしました。改めて書いてみると長いなあ。実は、転職先決めずに退職をキメまして、無職になり早2ヶ月以上経過しております。ここにきて、退職エントリっぽいものでも書いてみようかなあと。超いまさら感ありますが。

そもそも何の仕事してたの

B2Bであまりオープンな雰囲気は無かったので、明かしたことはほぼ無いんですよね。今も書く気があんまりしないのでフワッと書いておくと、某大きめの企業の中の小さなセキュリティーサービスの開発してました。主にUTMの中身を開発。Linuxにて、OSSとか他社製のセキュリティコンポーネントをいい感じに統合して一つの製品に仕立てる、みたいな。個人的にはインターネットVPN関連の比重が多かったですが、ファイヤーウォール、ルータ、Webサーバとしての機能周りは少なからず触れてきたって感じですかね。 職種的には技術系で、上の層がたくさんいることもあり、マネジメントという位置には全く入ってません。ただ、必要だと思ったら教育っぽいこととか、推進役の尻を叩くとか、勝手に推進するとか、そういう動きはしていたような… まあ技術的な業務だけやってたって感じではなかったです。 恐るべきことに、その一つのサービス関連の業務だけを12年やってきました。一つのサービス、と言っても技術領域的にはかなり広く、ひとつのディストリビューション作ってる感じもあったので、知らないことは常に出てきてたのでそんなに退屈はしなかったかなと。そんな感じですかねえ。

12年を振り返る

無駄に長くなりすぎたからAppendixにします…

なんで辞めたの

色々と積もり積もった感情が沢山あり、これが動機です!ってはっきり言えるものは無いんですが、せっかくなので言語化できるものはしておこうかなと。書き出してみると「ダメな転職理由」の代表格みたいな項目しか出てこないけど… 本音だから仕方ないよね。書いてないことももちろんありますが…

ポジティブ寄り

  • 技術的に偏ってる、違うことやりたい
    そこそこ広い技術領域でやってきた気はするのですが、独自実装に傾倒しすぎなところがあったり、分野的にも偏っているなと。職場も変われば文化も変わるだろうし、違う場所で、違う文化の人たちとエンジニアリング業務してみたい気持ちはずっとありました。

  • 他の組織でやってけるか試してみたい
    今の組織ではそこそこ評価して頂ける部分はありましたが、他のとこでも同じようにやれるのかと試してみたい気持ちが、外部カンファレンスとか行くようになってからどんどん強くなってはいたかなと。

  • 単純に転職してみたいじゃん
    したことないしさ。どんな感じになるのか、やってみたいじゃん。

  • 無職になってみたい
    この気持も大きかった。考えてみると、幼稚園に入ってから、ずーーーーっと何かしらに所属してるんですよね。もう30年以上。浪人とかも無かったですし。一個人として生活してみたいなあ、というボヤッとした気持ちですが、やってみたかった。転職活動も、仕事と平行してちょっとやってはいましたが、ゆっくりやってみたい気もしましたし。ポジティブか、これ?

ネガティブ寄り

  • ソフトウェア・ファーストそうな組織で働いてみたい
    ソフトウェア・ファースト 読んだりして、やはりこれからのITでソフトウェアの開発力は絶対必要だと感じてました。でも、前職は未だに一機能を丸っと委託に投げたり、運用全般もほぼ委託任せのところがあったりして、うーむという気持ちはありました。自分のグループには長いこと後輩も入ってこなかったし(さらに後輩も辞めちゃったし)、上位層は開発よく分からん感じが凄くあったし、ソフトウェア開発力を強化する気が感じられませんでした。一時期は内製の重要性を推す声もあったのですが、いつの間にか元に戻ってた感があります。これを自分で変えてやるという気はちょっと無かったですね…

  • 評価制度が嫌いすぎた
    ぶっちゃけ、社内の昇進試験的なものに落ちたってのは要因として大きいです(笑 よくある?グレード制なんですけど、一つ上がるために半年くらいの間、論文書いて面接練習して社内評価を受けるんですよね。これが不毛of不毛にしか感じられず… 通常業務をいくら頑張ったところで、この試験においてたまたま選ばれた、初対面の別部門の評価者に認められないと昇格できないので、普段の業務をこなす上での技術力向上は何の意味も成さないんです。この試験のせいでチケット買ってた技術カンファレンス出られなくなったりしたし(まあこれはしゃーないけど)、もうこれに時間をかけたくないっていう嫌悪感がすごく強かったです。

  • 作っても リリースされない プロダクト
    作ったからにはリリースして使ってもらいたいですよね。方針変更でリリースされないされないw 納期守る気がなくなってきてました。どうせ出ないんでしょ?的な感じで… そら辞めたくもなるやん。

  • 人減らしたいのかな?と感じてしまった
    細かく書かないですが、組織としてのCOVID-19の対応を見てて、人員削減したいのかなあ?と本気で思ってしまう場面がいくつかあり… これは丁度いい機会だなと思ってしまい、トドメが入った感じですかね。

なんでもっと早く辞めなかったの

  • やること、やれることはまだ沢山あったので…
    技術的観点でも、積み残しの課題を見ても、やることは沢山あったし、学べる余地はまだ全然あったので。サービスにも愛着はあったし…

  • ホワイト高待遇
    ぶっちゃけ、ここはやはりデカイんですよね。大きい企業なので、昨今の働き方改革ゆえ残業はやりたくてもできないし、スキルレベル以上の給料だったかなとも思うし… ただ、給料下がってでも移りたいが勝ってしまいました。

  • みんないい人やん
    同僚の皆さん、本当に良い人たちなのです。でも、微妙な組織変更が短期間に繰り返されて、業務上では殺伐としてきたなあという感はありました… 仕事抜きの交流も減ってきてましたしね。

転職活動をしてみて

次の職場はありがたいことに決まり、1月から働きます。

  • 会社って沢山あるんやなあ
    マジで会社って沢山ありますよね。魅力的な会社が沢山あって大変でしたw落ちてるけどw

  • 前職の給料高かったなあ
    転職エージェント使わなかったこともあるのでしょうけど、年収維持できなかったっすw まあ、給料上げるための転職じゃないのでいいかと思ってしまいました。入社してから上げてもらえるように頑張ります。

  • やっぱり微妙な技術領域 ネットワークエンジニアのようでそうでもなく、セキュリティ知ってそうでそんなに知識があるわけでもなく、本格的なインフラ系でもなく、言語も今どきのものあんまり使えず、クラウド利用経験も微妙で、使えそうで使えない人材感がありましたね。アピールしにくい… セスペネスペ持ってたからか、転職サイトではお声がかかるものの、いざ話してみると微妙にマッチしない感。そういう意味でも、できること増やすために転職するのはいいのかなと改めて思いました。歳は歳だけどね…

  • セキュリティって英語いるんやな
    セキュリティ系も強みにしたいので、英語は鍛えようと思いました(あたりまえ体操

無職期間を設けてみて

  • 怠惰の罪
    予想通りではあるんですけど、自由になったらTODOこなすぞ!的なものは成就しないですねwww 私の場合は、ある程度強制力というか、強い動機が無いと、ちょっと触っておしまいになりがちです… ここでヒャッハー!といろいろ作れる人間だったら、起業なりフリーランスなりが余裕でできるんだろうなと思いました… ダメ人間…

  • 平日のカンファレンス聴き放題
    これは良かった。オンラインカンファレンスやセミナーには困らない昨今、探せばいくらでも出てくる。時間があるのをいいことに、少しでも興味があれば申し込むという暴挙を繰り返していたらカレンダーが割と埋まりました。見識は広がったと思います。

  • 基本はあんまり変わらなかった
    これは思ってた以上に、自然な感じに無職になり下がれましたね… カンファレンスもあるし、転職活動もしてたし、国の制度とかも色々調べることになったし、引っ越しもするし、ゲームもしたいし、まだまだ積読あるし、3ヶ月くらいでは全然退屈もしなかったです。下手に色々手を出して時間は不足してるくらいですね… ちょっと絞らないとと反省はしている… VRコンテンツあまりできてないのは想定外…

  • 経験としては面白かった
    上に書いたことや、噂に聞くだけだったハローワークに行ってみたり、国民年金に切り替えてみたり、いい経験になったとは思います。何の成果も得られませんでした感はありますがw

これから

転職先で役たたずにならないよう頑張ります(浅い いや、ちゃんと予習します。

終わりに

なんか他所で見た退職エントリとだいぶ違う気もしますが… とりあえず、自分の記録でもあるので。あー、転職して良かったなあと思えるようになりたい。


前職の皆様には本当にお世話になり、ありがたい気持ちはすごくあるんですが、このままだとヤバいと思いますよ…という感情もかなり強く… 素直にありがとうございました!だけを言えない複雑な心境ではあります… でも、関わったサービスはマジで発展してほしいです。ワガママ言ってるだけ感w 全然まとまってないですが、とにかく、いい感じに頑張っていきたいっす。


Jobが変わってもだいじょーぶ!!と言えるように。(申し訳程度の1スベリ)

Appendix. 12年半を振り返る

振り返りをやろうと思ったからこそ、面倒になってこの記事がなかなか書けなかったところがありますw というのも、入社時から、分からんこととか、やったこととか、とにかくメモだけは取ってたんですよね。途中からほぼ全てChangeLogメモになったんですが、5年目くらいまでとりあえず常にノート持ってました。全部残ってるというw

別に大したこと書いてなくて、大体が議事録的なことで、あとは議論のためのメモとか頭整理するためのメモとかそんな感じです。これらを見返してたら時間がかかりましたw


1年目に仮想マシン使ってネットワークを理解しようとしていますね。かわいい。邪魔なので捨てるけど、せっかくなので振り返っておこうかなあというところです。ボカして書いてるから何も面白くないとは思いますが…

学生時代(一応)

  • 情報系学科なのでとりあえずCLIは使える
  • C言語emacsはそこそこ使ってた感じ
  • ネットワークは全然(MACアドレスって何?くらいだった)
  • 基本情報は取れないITレベル...

2008年頃

  • 集合研修3ヶ月(至極ジェネラルな内容)
    • 同期と仲良くなる。EXCELとか、軽く英語とか。あとは…
  • 某ケータイ連携オプション機能の開発
    • UTM本体とは割と切り離された機能を追加する感じの開発
    • 主にシンプルなWebUIと、ケータイからの通信を制御する機能を作る
    • 独自フレームワークとか結構あり、何がOSSで何が固有かなかなか分からず苦しむ
    • テストフェーズで機能を組み合わせたときに色々不具合でて苦しむ
    • 技術:Perl (Template-Toolkit, Log4Perl, DBIとか... ), Apache(CGI), PostgreSQL, squid

正直、別部署の人間として手伝う形になっていたこともあり、前提の説明とかがあまり無く苦しかったですね… Perlも読めない読めないw サービスとしても、まだ黎明期な部分があったので、今で言うオンボーディングみたいなものもほぼ無く、世話を焼いてくれる先輩が分かる範囲で教えてくれる、みたいな。そういう意味では、理解効率悪かったなあと、しみじみ思いますね… じゃあお前がそれを改善できたのかと言われると…ですが…

2009年頃

  • 某文書格納オプション機能の開発
    • 前回と似たような部分
    • 他社部分で結構色々あって遅延しまくってた
  • 某自社製品との連携機能のエンハンス
    • 既存コードを引き継いでエンハンスする系
    • 先輩の書いたコード理解するのつらい
    • 技術: SOAP, XML (libxml2を使って独自パーサー...つらい), Makefile, rpmbuild, iptables

2010年頃

  • グループウェア機能の開発
    • 構想から色々検討してたので打ち合わせの方が多かった
    • 技術的にはあんまり新しいことは無かったけど全社の手配系システムとかまで学ぶ必要があった
  • 某自社製品との連携機能の新機能追加
    • 某自社製品の理解がかなり必要だった
    • 技術:文字コード、ライセンス周り

このへんで精神的に結構やられまして、円形脱毛症になってましたwww 隠し通しましたがw 結構色々任されるようになったことはいいのですが、社員が自分だけであとは派遣2人のみ、という体制で、かつレビューとか無い状況で初めて見るものをとりあえず実装してみる中で、本当にこんなコードを製品にして大丈夫なのか…的な不安でヤバくなってました。人生初の金縛りも体験しましたねw ただ、自分の実装で不具合はそこそこ出したものの、連携機能を作ってきた関連会社のコードは正常系すらまともに動作せずいきなりテストブロック、とか悲惨な状態を見て、「あ、こんなものなのか…」と思い安心して回復した記憶があります(それはそれでアカン

2011年頃

  • VPN機能の機能追加
    • インターネット上に公開されるサーバ開発
    • 技術:bind(DNS), socketプログラミング, PPTP, OpenVPN, pppd, L2TP
  • 後輩のOJT担当など

だいぶ忙しくなってきました。コア寄りの機能に関わるようになり、仕様をすり合わせるための時間もかなり増えました。過去リリースしてきた機能の不具合対応や、ズルズル続いているプロジェクトの打ち合わせ、変な委員の業務なども不定期に入ってくるようになり、開発する時間が取れないようになってきたようです。残業も基本月60h以上はほぼダメなんですが、わりと超過申請してたみたいですね… なんとか改善するために、一日何やってたか記録して分析したりしてましたね。

涙ぐましい(T_T)

2012年頃

  • 某クライアントVPN機能の機能追加・エンハンス引き続き
    • 既存機能を壊さずいかにエンハンスするかで苦労
    • 絶対的アーキテクトに許可を頂くのに超苦労
    • 技術:IPsec
  • ホスティングサービスのエンハンス
  • かなり大きめのトラブル対応
    • 大きい企業様の出張現地調査など

2013年頃

  • 某新規サービスの開発
  • ホスティングサービスの移転対応など
  • 長期的なトラブル対応
    • 結果的にWindowsの不具合との兼ね合いだが半年くらいかけて解決した問題に粘り強く対応…

このあたりから色々やっててよく分からなくなってきてます… とにかく、お客様先で発生する不具合の調査・対応件数が増えまくります… 愚直にひとつひとつやってました。このあたりは未だにどう工夫すれば良かったのかは分かりませんね… シンプルにリソースが足りてなかったんじゃないかなあ… 既存のコードを理解する方の仕事が多く、言語的には、C、Perlbash、ときどきJava、極稀にPythonみたいな感じですね。

2014年頃

  • 某新サービスのエンハンス
  • 某不正通信対策のエンハンス
  • さらなる新規サービスの検討
  • サービス史上最大の不具合への対応
    • 関係者の皆様申し訳ございませんでした…
    • 技術:自動テスト、コンテナ周辺技術、メール関連プロトコル

この年は本当に色々… 最大の不具合を発生させてしまい、品質の重要性というものを再認識せざるを得ないことに… 発生後はしばらくこの対応しかできませんでしたし… とはいえ、再発防止とか色々悶着しましたが、なかなか難しい話でしたね。どうすれば防げたかはかなり厳しかった… 詳細I/Fが定義されてないスパゲティコードを別の担当者が保守するのは相当厳しい…


そして、ここに来て初めて外部の技術カンファレンス(YAPC)に行って、井の中の蛙感を味わったのを覚えてますね… このあたりから、Twitterで技術者フォローしたり、勉強会があったら行ったり、ポッドキャスト聴いたりと、世界が拡がり初めたかと思います。逆に言うと、ここまでは割と内部固有の技術を理解する方がほとんどで、OSSとかもあまり意識せずやってたなあというところで… もう少し早く気付けると良かったのかなあと思いますね。

2015年頃

  • 昇格試験が不毛すぎて憤る
  • 腰痛で救急車呼ぶ…
  • 業務委託管理増える
  • 各種機能刷新など
    • 自動テストの拡充
    • 技術:SMB(samba)
  • 新サービスに移行してもらうツールの開発
    • 実装方法などで揉めて手戻ったり…
    • 技術:Java

色々不満が募った年だったかなと。身体(腰)も悪くしましたし… サービスの全体に幅広く触るようになってきて、技術的には色々触ってはいるんですが、コレって感じのものが出てこないあたりが苦労の割にイマイチ… 独自テストフレームワークが構築されてそれをなんとか動かす、みたいな方針になってしまっており、そのあたりが辛みになってた気がしなくもないです… また、この年作ったものが要件を満たしてないってことで結果的に作り直しになったりしており、舵取りが間違ってたのかなあと感じます…

2016年頃

  • 各種機能刷新、バージョンアップ系の設計・仕様検討・実装など
    • 細かいプロジェクトに色々顔だしてる感じになってきた…
  • 拠点間VPN機能の補佐
    • かなり複雑な機能を理解してレビューする的な仕事…
  • 各種オプション機能のターミネート
    • 2008~2010年あたりに関わった不採算機能をターミネートするお仕事。悲しいけど、これって商売なのよね…
  • 某新機能の技術調査
    • 調べるだけ調べた後、根本的な方針から覆されてなんやねんとなった。このあたりから方針コロコロが酷くなってきた気はする…
  • 委託管理業務
    • 増えてくる… ほぼ非エンジニアみたいな人が来たり…

この辺からサービスの機能をかなり手広く見てた感じがします… トラブル対応の範囲もかなり広がってました。トラブルシュートする身としての主張も出てきて、アーキテクトと設計方針で揉めることも多くなってきたりしてました。 



この後も書いたんですが、ちょっと生々しくなりすぎたのでカットします… まあ、こんな振り返りができるくらい、マメに作業録を残しつつ、TODO管理しながらしっかりやってきたんやで~っていう主張だけです、はい。ありがとうございました。

【読書メモ】いまさらの文字コード技術入門


プログラマのための文字コード技術入門』、いまさらながら読みました。"いまさらながら"というのは、Shift-JISやEUC-JPのあたりで苦しめられたピークは多分10年ほど前だったので… 当時、紀伊国屋かどこかで「文字コードの本って無いですかね…?」「あー、最近あんま無いですよ」って言われて、じゃあいいか…くらいで諦めた記憶がうっすらあります。最近、何かの本を検索しててレコメンドにこれが出てきて、当時を思い出しながら衝動ポチしてしまいました。

感想

当時なんとなくググって理解した気になっていた文字化け問題とかが「あー、そういうことだったのね」と氷塊したり、過去からの文字コードの経緯でへ~~~となったり、なかなか面白かったです。ただ、メールですらUTF-8になってきたこの時代においては、大抵の人は知らなくてもいい知識だろうなあ、という気はしました。若い人からしたら歴史書に近いかもしれませんね… 

メモ

nkf

これ。ずっと覚えてなかったんですが、こういうことだったのね…(いまさら中のいまさら

機種依存文字を使わないことはマナー

人間関係的にも。マナー怖いですね。お気をつけください。

セキュリティ的なやつ

hoge_‮txt.exe


これね。htmlソース見ると分かるんですけど、文字列的には "foo_txt.exe" って書いてるんですよ。ただし、"_"の後にUncodeの制御文字U+202E(RIGHT TO LEFT OVERRIDE 右から左に書く言語で使うやつ)を差し込むと、ファイル名が "hoge_exe.txt" に見えるっていうね(ブラウザによっては見えないかも?)。はあ~、こんなんあるんや… 最近の攻撃手法として有効なのか分かりませんが、制御文字とか知るとこういうのも分かるようになるんやなと。文字コード深いですわ… マジ高度ですね…(文字とマジは無理がある1スベリ)

とある診断員とSecurity-JAWS#02 に参加してすごくよかった(こなみ

とある診断員とSecurity-JAWS#02 ~俺のリアルなAWSインシデントレスポンス体験は、ちっとばっか響くぞ~』 に参加させていただきました。応募者多数により抽選となる大人気っぷりでしたが、運良く参加できました。結論から言えば、


ということで、すごく面白くて、ためになりました。いやこれ無料でいいんすか、という感じでした…

何やったの

まあ、リンク先に書いてある通りなのですが。

このイベントでは実際のAWS環境で起きたインシデントをもとに作られた環境を実際に触り、AWS環境における実践的なインシデントレスポンスを経験してもらうことにより、AWSの優れたサービスについて理解を深めてもらうこととともに、インシデントレスポンス自体の勘所を掴むことが可能です

これも学習内容の欄に書いてありますが、主に以下のサービスが主題という感じです。

  • CloudTrail
  • AWS Config
  • Athena
  • GuardDuty
  • Detective

なにそれ?知らんよそんなの?という方でも全然だいじょうぶです。予習したほうがいいですが、まずはこれらのサービスなどについて、操作画面を交えた解説をしていただき、その後、これらを使わざるを得ないインシデント・レスポンス実習を行う感じでした。実習は各々自由に調べるわけですが、Slackで質問したりヒントをもらいながら進められます。 3時間は長いと思われるかもしれませんが、インシデント・レスポンスの勘所が無かったり、そもそもAWSサービスあまり知らなかったりするとあっという間です… 糖分が大事です… 



糖分が切れると、短期記憶がよくとうぶん(飛ぶん)だよね。(1スベリ)


頭脳労働に糖分は大事であると、改めて砂糖(悟)りましたね。(2スベリ)



まあ、オンラインなので、ちょっと抜けて缶コーヒーとかは買いに行きましたけど。


結果、攻撃経路は意外と特定できてたけど、侵入されて何されたかというあたりまで調べきれませんでした…あんな分かりやすく残してくれてたのに…みたいなところはあったりします。悔しいです!



そんな一日の解説部分の動画は以下に公開して頂いているので、興味ある方は見てみるとよいと思います。オヌヌメイベントです。

[一般公開用] とある診断員とSecurity JAWS #02 - YouTube

小ネタ

Tor検知される


ほら、なんかセキュリティのイベントだし、これくらいした方がいいかなと思ったらGuardDutyが Recon:IAMUser/TorIPCaller 出すんですね。調査用のAWS上にこれを出しちゃったら「これも攻撃か?」みたいな勘違いを誘発しそうで申し訳なかったです。でも、GuardDutyをONにしとくべきやなというのは実感しましたね。AWS攻めるときにTor使われるのかよく分からんけど、使ってないアカウントにこれ出たら確実にイカれてますからね。など。

ネタ採用されず

参加申込時に「一日中ログと格闘する覚悟はありますか?(最後の振り返り時に採用するかもしれませんのでボケてください)」という問いがあったんですね。これはスベリミナっていくしかないと思い、


ローグライクゲーム好きなので大丈夫だと思います!(ログlikeだけにね、3スベリ)


って書いてみたんですが、見事採用されませんでした!コメントも頂いてしまいました笑 スミマセンでした。



ということで、大変楽しく、大変タメになるイベントでした。これは次回があればまた参加したい。そのときには、改心のボケで


お上手ですね。って言ってもらえるよう頑張りたいです。JAWSだけにね、4スベリ)




頑張るのそこかよ。

ソフトウェアテスト自動化カンファレンス2020を聴いてみた

testautomationresearch.connpass.com

本日も節操なくオンラインカンファレンスを聴きます。初めてでしたが、ソフトウェアテスト自動化カンファレンス2020を聴かせていただきました。

まとめ (いきなり)

  • 知らないこと・知らないツールなどがたくさんあり、非常に勉強になった
  • テスター視点よりの内容が多く、開発者側からテストを考える参考になった
  • 自動化の悩みはやはり皆似ていて、それに対する考え方やノウハウは重要だと再認識できた

的な。個人的に、他のカンファレンスや勉強会とはまた一味違う感じがして、学びがありました。


品質を確認する上で、テスターと開発者の連携はかかせないわけで(区別が無い組織も多いかもしれませんが)、その両方に刺さるカンファレンスじゃないかあなと感じましたね。

次カンパ枠残ってたら是非払わせていただきたい!

個々の発表振り返り

例のごとくTwitterをそのまま貼っつけていくよ

自動システムテストのテストケース見直しの観点とその自動化について

スライド: 自動システムテストのテストケース見直しの観点とその自動化について



上記の通り。ものすごく論理的に分かりやすかったのが印象的です。どんなIT音痴でも説得できそうな気がしました。こういう観点を持って、ちゃんと資料を作れるようになりたいっす。

システムテスト自動化はじめの0.5歩 〜あつまれテスト自動化レイトマジョリティさんの森〜

ぺこぱネタが印象的だった。そう、はじめの一歩まではやってみて失敗して、ちゃんと改善することが重要だよなあと。原則論でやる前からグダグダ言って実現が遅れるよりはやってみた結果を見て判断した方が良い。大体はケースバイケースになるしさ。

ただ、それを改善するリソースがなくなりがちで風化する例は割と見てきたから、そのあたりをいかに組織的にやっていくかが鍵だろうなあとは思います。

全部乗せ" フレームワーク CodeceptJS でE2Eテストを楽にしよう

スライド: 全部乗せフレームワーク CodeceptJS でE2Eテストを楽にしよう - Speaker Deck


全部のせって言われると、正直使いこなすの大変そう、という気しかしてこないのですが、今日お話を聴いている限り、すごく使いやすそうに見えました。英文法っぽく書けるので楽しく書けそうな(本当か ちょっとどこかで軽く使ってみたいです。初めから良い全部のせフレームワークを選んでおけば、後から変更するコスト無いよね、っていうのはそのとおりだと思いましたねー。CodeceptJSはプラグインも書きやすいらしいので。




余談ですが、このセッション中にZoom SPAMが発生…

どこから来たかは分からんけど、パスワード付きURLから直で来た可能性がありそう。自分も、さらっとコピペしないよう気をつけようと思いました。しかし、いたずらくんは英語圏の人だったと思いますが、海外の会議に入ってきてこれやってもリアクションよう分からんだろうし、何が楽しいんやろか…とは思いました。

E2E自動テストの前に、手動テストを効率化するための自動化を行った話

余談


チームメンバーはプログラミング経験なくは無いけど、さほど凝ったことは難しいためテスト自動化をするのではなく、手動テストの効率化をブックマークレットで行ったお話。確かに、必ず自動化する必要があるわけでもないし、自動化したことによるコストも結構バカにならないですからね…


でも、話聴いてると、なんか十分自動化できそうな気配を感じる内容でしたね。。。つよい。このあたり、効率化のために何を選択するかで、将来コストは結構左右されそうで難しいですね。こういう選択肢もあるんだよ、という良い事例でした。

EMTEを使って自動化の費用対効果をわかりやすく表現する

スライド: EMTEを使って自動化の費用対効果をわかりやすく表現する


  • Equivalent Manual Test Effort: 120分
  • テストを手動で実行する工数: 30分

手動実行と相対的に表せる -> 0.25 EMTE -> 直感的に1/4だと分かる

という感じで使える指標。最初の発表もそうですが、テストを効率化するためのリソースを確保するには、こういう数値が示せないといけなくて、そのための手法の一つとして、EMTEがあるよ、ということだけでも覚えて帰っていただければ(誰目線やねん

FindElementできない画面のElementをFindした方法、そこから発展していくテスト自動化

色々知れてよいですね。


このあたりのことはちょっとイメージできなかったりも。


あるあるも。


なんか色々学んだ(雑

ローコード開発テストガイドライン

お声に癒されましたw

このあたり、たしかにあまり考えたことが無かったので、参考になりました。ローコード開発やったことないので、一回やってみないと分からんことも多いんだなと改めて感じました。

APIテスト、どうやってますか?

APIテストの定義って?みたいなコメントが出てたので、

Webサーバとか立ち上げるスクリプトの最後にこれくらいは書いたりします。これもAPIテストですよね?え?違う?


内容については抽象的な部分が多くてイメージできてないですが、API仕様がある程度作られてることが重要だとは思いましたね…

このへんはやってみないと(以下略

E2Eのリトライを少し賢くして、落ちにくくしてみた

いいぞwと思いました。


この辺はわりと実体験もあり、むやみにリトライしてOKにしてしまうと、本番で問題になる現象を見落としてたりするので… 難しいよね、自動テスト…

reg-suitとQA Wolfを活用したVisual Regression Test


汚いテストケースを書いた結果発生する 自滅の刃(とりあえず1スベリとしておく)



便利そうでした。このツールも、Visual Regression Testという考え方も覚えておこう。。。

おわりに

ということで、本当に色々ためになりました。スタッフの皆様、ありがとうございました!!



これで、「テスト自動化むずかしいよ~、できないよ~」という子供みたいな人でテスト自動化できますね!!



いや、児童か!(2スベリ)



しかし自動化の知識がたくさん聞けすぎて、もうお腹いっぱいですわ、食べきれないや。



二郎か!?(3スベリ)



明日からしっかりテストを自動化するタイ!!



次藤か!!(分かる人しか分からん4スベリ)

f:id:hijili2:20201205175834j:plain



僕のスベリに対するQAは対象外でお願いいたします。

Internet Week 2020 オンライン をガッツリ聴いてみたよ

どうも、無職の僕です。そういえば退職エントリ書いてないですね、退職してからすでに2ヶ月経ちましたが、そのうち書こうかなあ。


で、無職なのを良いことに、平日のオンラインカンファレンス系に申し込みまくって色々聴いてます。ブログ全然書いてないんですが(汗。ただ、このInternet WeekはMicro Hardeningも参加したし、さらに4日間の長丁場だったので、さすがになんか書いておこうかなあということで。

Internet Week 2020

11/18 Micro Hardening

https://www.nic.ad.jp/iw2020/program/detail/#h2:Micro Hardening

参加した人からなんとなく話は聞いていたんですが、実際に参加するのは初ということで。感想一言で言えばこれですね。

あんまりネタバレは書いちゃダメなので細かいことは書かないですが、どこから何が攻撃されてるか全然わからんかったですね。そもそも何が使われてるサービスなのかが分からなくて、そこはどうなんだという気もしましたが…(まあ往々にしてあるよね、現実でも…) 塞いだり止めたりしていいのかわからんという。

いずれにせよ、45分の時間ではできることは限られるので、やっぱスクリプト化するのが吉だなと。さすがにやりすぎてもあれかなと思ったので、予習段階ではやらなかったんですが、インターバル間で素早く作る器量は無かったです… 次機会があったら、事前資料から分かる範囲でしっかり作り込んでやろう。セキュリティ分野はまだまだ深みにハマれそうだなあとも感じました。

11/24 セキュリティ関連

https://www.nic.ad.jp/iw2020/program/detail/#c11

セキュリティ関連がメインの発表。4日目の発表を聞いた日にはもう忘れかけている(おい Twitter駆動ブログにします。

攻撃動向の話。JPCERTさんではNICTERみたいに、脆弱性が分かった組織には個別通知送ってるみたいですが、このあたりどの程度読まれてるのかなあという気はしますね。(質問してみたけど日本語がヘタで意図が伝わらなかった…)


こういうのとか知れるのは素晴らしき。なんか一回くらい見たのかもしれないけど、素通りしてた気がする。


PPAP。下手にzip暗号化してなきゃ、途中のUTMやウイルスソフトがブロックできてたんだよ!みたいな事例があるといいなあとも思うわけですが、なかなか難しいんでしょうねえ。


脅威インテリジェンスとか、いろんなフレームワークがあって大変そうだなあと。自分がやる立場にならないから身を入れて聞けない部分はありますが、こういった発表である程度知見をまとめてくれる人がいるんですよ!ということだけでも覚えて帰っていただけたら(誰目線だ?


BASって言葉は知らなかった。OSSもあるらしいので、自宅環境とかでも試せるのかなあ。

と思ってググってみたら、日本語ではさすがになかなか出てこないですね。"BAS"は被りそうな単語でしかない…


ゼロトラストの感想はいつもこんな感じ。認可をアプリレイヤに任せない、ってところが重要なのかなと感じました。


このあたりは興味深かったですね。インストールされたOSやソフトの名前を標準化して紐付けさえできれば、発生した脆弱性が該当するか自動的に導き出せると。でも結局、その組織で本当に対応すべき脆弱性なのかという点は、中を少佐に把握できてる人じゃないとダメなんだけどね… とは思いつつ、まず自動化するのはやるべきで、こういったプロトコルやフレームが存在してるということを知っておくのは重要だなと。


このへんも知ってると活きる日が来そう。メモメモ。ログ解析基盤の話は以下にあるようですね。


techlife.cookpad.com


ここで言う愚痴ではないけどw(※RISSでしたね、RISSAは団体名) 昔のセキスペは持ってたけど、支援士登録しませんでした… お金かかるっていうんだもん…

こういうのがあるならまた取ってみようかなという気もしました、プレゼンしないでしょうけど。


個人的には、途中で出てきたこの言葉が刺さりましたw 名前負け組織名が多すぎた前職。"セキュリティ"って付いてても誰もセキュリティのこと大して知らなかったからなあ…


メールセキュリティも知見がいっぱい。密かに進化してるし、なんだかんだメール回帰してるところもあるから、まだまだ学習は必要だなと。


といった感じで、一日目にして色々学びがありました。結構お腹いっぱいです。もう参加費の元は取りましたね。

11/25 IPv6、リモートワーク、CSIRT関連

v6はまだまだ知らんことばかりですよ。


どうでもいいわ!(HOT LIMIT


これがもうカオスですよね… 細かい問題は色々出そうだなあ。


あきみちさんのスライドを、タグ無しでそのままつぶやいただけなのに、わりとリツイートされたw みんな、経験不足を実感しているのかもしれませんね…


「同音異義」はただの天然ボケです(異口同義的なことが言いたかっただけ)。というか、ググると分かるように、この用語は人によりサイトにより定義はバラバラなところがあります。ここの発表では定義していたということです。

個人の特徴だけでなく、会社のスタンスも炙り出される面はありましたよね。COVID-19はこういうところで、個人の価値観を変えてきてるのでしょうね。

ここは、言語化することで他者にも業務内容が伝わっていき、今までよりも相乗効果が出る的な話でしたが、その部分は環境とか、周りがモチベ持ってるか、みたいな部分もあるから難しいよね、ということが言いたかった。誤解を招く書き方でした。しかし、まあそれはオフラインでも変わらない…というのも上で言ってますね。仕事って難しいよねー。


というタイミングでなんかモヤモヤ考えててつぶやいた内容。もっとバズってもよくない?


各社のリモートワーク対応についてのパネルディスカッションでしたが、率直に上のような感想。ただ、かなり大規模な組織でこういう感じでやってくのはなかなか難しいんだろうなあという気も。少なくともトップダウンでエイヤでやることは必要なのかなと感じました。

新卒からずっとリモートワークのみになった人だとこういう面もあるなというお話がありましたが、正直、僕は大人になれているのだろうか・・・(BGM 少年期/武田鉄矢


これはコインチェックさんのDNS乗っ取られの話において、JPCERTさんが海外のドメインレジストラISPに解決のための交渉をした話を聞いてて感じたことですね。攻撃者が使った偽ドメイン3つくらいあったみたいですが、サーバもレジストラも全部バラバラの海外企業だったそうで、そりゃ大変だなあと。問題もわかりにくくて伝わりづらい内容だし。やはり英語力・・・ですかねぇ・・・


CSIRTで働くことになったら見ますw


ということで、この日もお腹いっぱいではちきれんばかりの内容でした。タメになり倒してますね。ただ、IPv6もそうですし、CSIRTっていう組織が必要になってきたこともそうですが、インターネットが難しくなってるのは間違いないんですよね… 必要な知識と知見を持たないと恐ろしい牙を剥く場所なんだよなあと、改めて感じてしまうところはありました。オメエ強えなあ、おらワクワクしてきたぞ(そういう意味のワクワクかよと

11/26 インターネットと社会、DNS関連

最近よく見るよねw


いないの?日本だけなのか、このクソ文化は?

兎にも角にも字幕が見やすかった。オードリー・タン氏の話はrebuild.fmでも聴いたし、他の某カンファレンスでも聴いたけど、なんというか、うなずけるしほっこりするし。基本的に笑顔で語ってくれるし、後ろ向きな質問も前向きに返してくれるところがあるなあと。このマインドは日本にすごく求められてるんじゃないかなあなんて思いました。しかしなんでもいいからCOVID-19ゼロになんねーかなー(投げやり

これには激しく同意。


このあたり、ムズい、としか言えん。長くなるから意見を語るのも控えておきます。


(1スベリ)(ノルマ達成)

DNSの世界も深いですね… まだまだ拡張されてるし、暗号化だけに絞ってもそううまくはいかねーぞ、的なね。ここも昔に比べたら格段にハードルが高くなってきそう… キャプチャしても見えねーんだからね…


すまんな、もう疲れたんだよパトラッシュ。

11/27 けしからん話とテレワークとInternet Week関連

登さんの話は2回目かな?ですが、やっぱり痛快ですね。マネできる気はしないけど、けしからんに負けないよう頑張りたいとは思わされますねw


この辺、ちょっと力尽きましたね。聞いてはいたんですが、別のことしたりしながら聞いてたのでツイートは止まりましたねw

少なくとも、このようにオンライン開催してくれたInternet Weekの裏側ではいろんな苦労があったんだなあということはすごくわかりました。スタッフの皆様、本当にお疲れさまでした。お腹いっぱい、楽しかったし、非常に勉強になりました。

おわりに

インターネットについて、非常に幅広い話を聞くことができました。正直、自分が触れてる部分なんて本当に表面的な部分だけで、深い世界がまだまだ広がっているというのを改めて実感しました。ちょっと上でも書いたとおり、知らないとやべーな、って部分がどんどん増えてるんですよね。例えばIPv6などは、自然とenableになってていつの間にかグローバルな直接通信してたりするわけで、仕事として扱う者としては「知りませんでした~」では済まされないわけで…

って、何の分野でもそれはそうなんですが、インターネットにおいては、その知らなきゃいけない領域が急速にどんどん広がっているし、レガシーな部分もメールのように何だかんだ残っていて、かつそれも少しずつ進化していたりで、「拡がっている」ことを十分認識しないとダメなんだよなあと。

さらに、今年はCOVID-19のせいで、インターネットを経由する必要性が急激に増えて混乱が発生したり、またその一方でランサムみたいなのがますます活性化してたりと、一般の人からするとけしからん部分が多く出てるわけですよね。でも、登さんじゃないけど、そういうけしからん状況にしっかり向き合って対処していく中に進化があるわけで、それをスマートにできるよう、ブツブツ言わずに学んでいけということですかね。オラ、ワクワクs(二回目


とまあそんなことを感じながら、非常に学びがある時間を過ごすことができました。ちょうど無職だったのでガッツリ聴くことができてよかったです。オンラインで開催してくれたスタッフの皆様、本当にありがとうございました、私としては非常に快適に聴くことができました。登壇者の皆様もありがたきお話を沢山ありがとうございました。今後の職でも、個人の生活においても、存分に活かしていきたいです。