heihei blog

Blog icon by Unsplash https://unsplash.com/@virussinside

2021年3月を振り返る

ひー4月になってちょっと経ってしまった。

それでは3月振り返ります。

大丸別荘に行った

福岡博多からわりと近い温泉施設に日帰りで行ってた。温泉と温泉用のタオルと、持ち帰り用のハンドソープと、温泉後のコーヒーがセットで1000円くらい?とてもよかった。 建物かなり広かった。温泉最高だった。大正っぽいかんじなのかな?温泉にランプ?が吊り下がっててとても良い雰囲気だった。また行きたい。 写真は旅館にあった卓球台。輪投げとかもできた笑

f:id:shoheikawano:20210411160447p:plain

パウンドケーキ作った

f:id:shoheikawano:20210411160500p:plain

計量器とかちゃんと買って作ってみた。意外とうまい。調子に乗って実家に帰るタイミングがあったので持っていったら「意外とうまい」と言われた。思惑通りだった。

🌸

大濠公園の桜もみにいった。ランチ時間に散歩がてら。ちゃんと見れてよかった。 f:id:shoheikawano:20210411160506p:plain

広島

f:id:shoheikawano:20210411160512p:plain

妻の出張の帰りに合わせて土日でいった。 福岡から新幹線で一時間くらい。近い。広島の原爆ドーム、人生で初めて見た。 お好み焼き、激辛担々麺食べた。

またコロナ増えてきているので抑えるけど、近場散策はいいなあと改めて思った。

以上です!3月もお疲れさまでした。

GitHub Actions workflowがworkflow_disptchによって実行されたかどうかを判定する

f:id:shoheikawano:20210411153857p:plain

TL;DR

github.event_name == 'workflow_dispatch' 

workflow_dispatchとは?

GitHub Actionsのworkflow_dispatchを使うと、定義したWorkflowを手動で実行できます。

詳細は公式ドキュメントを読んでみてください。

docs.github.com

GitHub Actions workflowがworkflow_disptchによって実行されたかどうかを判定する

あんまりない例かもしれませんが、 Workflowがworkflow_disptchによって実行されたかどうかを判定したいケースがありました。ざっくり前提はこんなかんじでした:

  • releaseブランチからのPRに対して、特定の文字列でreviewコメントを行うことでtagを作成しpushさせる仕組みはすでにある
  • 上記をworkflow_dispatchでも実行したい
  • workflow_dispatch経由の場合は「releaseブランチどうか」判定をスキップしてtagを打ちたい

どうやったら判定できるのかなと思い、調べてみた次第です。

冒頭にも記載していましたが、以下のように記述することでworkflow_dispatch経由での実行かどうかを判定できます:

github.event_name == 'workflow_dispatch' 

おまけ

ymlファイルで複数条件の判定を行いたかったため、そのような記述はどうしたら良いのだろう?と思って調べてみました。 2021/04/11時点、公式ドキュメントには記載ないが、以下のように記述することで、複数行の条件指定が行えます:

if : |
    condition1
    condition2
    condition3

How to write multi-line condition in if - #2 by brightran - GitHub Actions - GitHub Support Community

2021年2月を振り返る

今年も16%以上終わった!

牡蠣小屋に行った

f:id:shoheikawano:20210223112218j:plain

かきのますだへ。 飲み物食べ物(お肉以外)を持参して好きに焼いて食べのみできる。 最高。その場で食べるための牡蠣もカゴ一箱分購入というような感じで買える。 数千円なのでコスパ圧倒的に良い。 次は4人くらいでまた行きたい。

西公園に行った

公園もそうだけど、今屋のハンバーガーが有名ということで! バーガーだけの写真撮り忘れた、、めちゃくちゃおいしかった。

f:id:shoheikawano:20210223112221j:plain

妻の誕生日だった

🍣たべて

f:id:shoheikawano:20210228151252j:plain

サラダ、パスタ、パテ作った

f:id:shoheikawano:20210228151255j:plain

パウンドケーキ作った(手伝ってもらった)

f:id:shoheikawano:20210228151302j:plain

おいしいということで喜んでもらえた(きっと)ので良かった

料理は平行タスクの連続なので、そこの効率を上げていきたい

あとケーキとかのお菓子になると急に難易度が異次元になる

その他

だるちゃんと飲んでワイワイ喋ったりした。


業務はリファクタリングだったり改善だったり。 業務以外ではJetpack Compose触ったりKMM触ったり。 2021 DroidKaigiアプリも出たので、見たりしながらやっていくぞい。

以上です。2月もお疲れ様でした!

「イラスト図解でよくわかる ITインフラの基礎知識」を読んだ

f:id:shoheikawano:20210228153511j:plain

内定者アルバイト自体(プログラミング初めたばかりの頃)はJavaサーバーサイドまわりをやっていたが最近はもっぱらアプリ開発周りしか携わっていなかったので、それ以外の知識もちょっとずつと思い読み始めていた本。

ざっくり書いてあること

Amazonの商品ページの概要欄にあるとおり、「サーバやネットワーク、セキュリティを中心としたITインフラの入門書」ということで、幅広いトピックについて書いてある印象でした。CPUやGPUについてといったところから、パケット、IPアドレス、ネットワークセキュリティはどのように担保されているのかといったことなど。一度で「全部理解した!」に自分はならなかったので、時折読み返したりせねばと思っています。

まとめ

学生時代にComputer Scienceなどを学んできた方にとっては当たり前に知っているような内容が多いのかもしれないですが、自分にとってはわかりやすく新しいことを学べる感じがありました。

興味が湧いた方はこちらをどうぞ。(※アフィリエイトリンクになっています)

2021年1月を振り返る

今年も振り返りブログはゆる〜く続けます。

今年もすでに9%が済。

「善は急げ」ということで、前のめりになんでもやっていきたいですね。 それでは今月を振り返ります。

初詣に行った

護国神社へ。

f:id:shoheikawano:20210102102728p:plain

今年は大吉だった。去年は吉だったらしい。

2020年1月を振り返る - heihei blog

f:id:shoheikawano:20210102102735p:plain

🐮

f:id:shoheikawano:20210102102741p:plain

🎂

f:id:shoheikawano:20210203090711p:plain

1/24で29になった。ひー

ということで、結婚のお祝いなどいろいろな方からいただきました(本当にありがとうございます。)

が、懲りずに干し芋を置いておきます。 → 🍠

本を読んだり、業務で新しいチャレンジをするなど当たり前系な目標を書いた。 当たり前にやるべきだよねというものも、自分は忙しくなるといろいろ疎かになっちゃうので、 ちゃんと書いて振り返ったり修正できるようにしてみた次第です。机の前に置いてふとしたときに眺めてる(眺めてるだけ)

雪降った

f:id:shoheikawano:20210203090737j:plain

福岡にきて初めて雪みた。写真のときはほんと吹雪いてましたね。東京でも最近降っていたような。

そんなこんなですね。

緊急事態宣言も延長になり、まだまだ海外旅行とかはぜんぜん行ける雰囲気とかないですが、 早く落ち着いて行けるようになってほしいなと願ったりしています。

健康第一で今年も :yatteiki: 。

ActivityManager.isLowRamDevice

f:id:shoheikawano:20210131231239p:plain

理由は覚えていないがCoilのコード見ていてたまたま見つけた。

Coil Extensions.ktにあったのが以下のコード

internal inline val ActivityManager.isLowRamDeviceCompat: Boolean
    get() = SDK_INT < 19 || isLowRamDevice

https://github.com/coil-kt/coil/blob/master/coil-base/src/main/java/coil/util/Extensions.kt#L45-L46

端末のRAMが低いかどうかの真偽値を返す関数。Coilの場合はSDKバージョンが19未満 or ActivityManagerのこの関数がtrueを返すか、という判定の仕方をしていた。

ActivityManagerのコードは以下

/**
     * Returns true if this is a low-RAM device.  Exactly whether a device is low-RAM
     * is ultimately up to the device configuration, but currently it generally means
     * something with 1GB or less of RAM.  This is mostly intended to be used by apps
     * to determine whether they should turn off certain features that require more RAM.
     */
    public boolean isLowRamDevice() {
        return isLowRamDeviceStatic();
    }

https://developer.android.com/reference/android/app/ActivityManager#isLowRamDevice()

Javadocにあるとおり、メモリ消費の激しい特定の機能をOFFにすべきか?というときに利用できるよとのこと。基本的には1GB以下のRAMの端末とかの場合にtrueが返ってくる模様。 たとえばメモリ消費をめちゃするような機能?があるときに、「この端末では正しく動作しないことがあります」という文言を出す or 機能の導線を非表示にする、みたいな感じで実践で活用できるのかなー?もしくは動画系の3rd partyライブラリを作る際とかに活躍の場がありそう。

「NO RULES(ノー・ルールズ) 世界一『自由』な会社、NETFLIX」を読んだ

f:id:shoheikawano:20210122093430j:plain

同僚に勧められて読んだ本。本を読み切るまでに(文字を読むのが遅くて)どうしても時間がかかるが、ちょっとずつ読み進めてようやく読み終えた。

ざっくり書いてあること

NETFLIXがイノベーションを生み出すために「自由と責任」のある文化を作り担保していることについて、その文化とはどういうものか、どのように作ったか、どのように担保しているか、などがCEOや現or元社員へのインタビューを元に書いてある。またそのような文化を醸成したいと思うなら、「あなたの会社ではまずこういうことをやってみたらよい」というようなことも書いてある。自由も責任も与えています、みたいな単純な話では全くなかった。全体的に赤裸々&詳細にエピソードであったりが書かれていて、参考になることが多かった。

3ハイライト

  • "「反対意見があるのに表明しないのは、ネットフリックスに対する裏切りだ」とはっきり言っている。意見を口に出さないのは、会社に貢献しないことを選択するのに等しい。"
  • "「自由と責任」が非常にうまく機能している一因は、社員が自由に付随する責任の重さを痛感し、並々ならぬ努力をすることにある。"
  • "たいていの会社は社員の離職率をできるだけ抑えようと努力する。新たな社員を探し、訓練するにはコストがかかるので、既存の社員を抱え込んでおいたほうが安上がりなのは常識だ。しかしリードは離職率はあまり気にしていない。すべてのポジションに最適な人材がいることのほうが、代わりを見つける費用よりも重要だと考えているからだ。"

ハイライトが大量にあり(たぶんしすぎた)、「特に良かった」というハイライトをピックアップできていない感がすごい...。が、ピックアップしすぎも良くないと思ったので3つに。4Aの話、転職活動の話、360度評価などの話など取り上げたいものはたくさんあるけど今の自分に刺さったのはこれ、というふうに選んだ。

まとめ

すぐに作れる文化などでは全くなさそうだということと、アメリカ(の雇用形態の仕組みや文化など)だからできるみたいなところも正直ありそうだったが、すぐに実践できそうな考え方や内容などもたくさんあった。

仕事に関わる内容を抜きにして読んでいて特に面白いなと感じたところは、本の最後のほうにあるNETFLIXがグローバル企業になる上で、育ってきた国の文化によってNETFLIXの醸成した文化を受け入れやすい、にくいなどがあったことのエピソードなどだった。「面白い」というより、試行錯誤している内容が、自分の日常だったりと一番かけ離れているようなところだなと感じた。また、日本の文化についての話や日本採用された社員のエピソードなどもあって、色々と客観的に読めたのも楽しかった。

興味が湧いた方はこちらをどうぞ。(※アフィリエイトリンクになっています)