「Bonfire Android #5」に参加しました

ヤフー株式会社(LODGE)で開催された「Bonfire Android #5」に参加してきました!

yj-meetup.connpass.com


今回のテーマは「Jetpackとサービス」で、以下5件の発表がありました。
個人的にどうしても聞いておきたいテーマだったので、「ブログで感想枠」で申し込みました(会場に着くまでそのことは忘れていましたがw)。
本記事はそのレポートを兼ねています。

  • Navigationを見据えたリファクタリング ~マルチモジュール化を添えて~
  • マネーフォワードMEにおけるJetpackの活用事例
  • Paging Library ~アイテムの更新~
  • Room(へや)とコルーチンと私
  • JetpackのNavigationと関連UIコンポーネント導入振り返り
続きを読む

Kotlinで値オブジェクト用のクラス作成

見様見真似でKotlinで値オブジェクト用のクラスを作成してみたらいろいろと学びがあったので、そのメモです。

  • 値オブジェクトの定義
  • 自然数を表現するNaturalNumberクラス
    • ①data class を利用したクラス宣言
    • ②initブロックを利用したプロパティのバリデーション
    • 素数かどうか判定する、階乗した値を取得する
    • 二項演算子のoverload
    • ⑤比較演算子のoverload
  • まとめ
  • 参考
続きを読む

「集まれKotlin好き!Kotlin愛好会 vol.14」で発表しました

ウォンテッドリー株式会社で開催された「集まれKotlin好き!Kotlin愛好会 vol.14」で発表してきました!
卓球台もある最高のオフィスでした🏓笑

love-kotlin.connpass.com


前回参加したのはクックパッド株式会社で開催されたvol.5でした。いわゆるつよつよな方がたくさん発表されていた会だったことを思い出しました。笑

love-kotlin.connpass.com

続きを読む

GitHubにホストされているGitからの個人情報流出を防ぐために

※2021/5/13 追記
git filter-repoコマンドを使用する方法を追記しました。



言いたいこと

GitHubとGitの設定によっては世界中の人々に意図せず個人情報を晒すことになるので、みなさまお気をつけください…🙇‍♂️💦


プロローグ

私の元に1通のメールが届きました。内容は以下のようなものです。

tkhs0604様

突然のご連絡申し訳ございません。株式会社xxxx人事のxxxxと申します。
GitHubのコミットログにメールアドレスが記載されておりましたので、不躾ながらご連絡させて頂きました。


このような採用に関するメールをいただくこと自体は珍しいことではないので、最初は特に疑問に思うこともなくいただいた情報を純粋に見ていたのですが、改めて本文を見返すと、

GitHubのコミットログにメールアドレスが記載されておりましたので


え!コミットログから辿ったの!?

と、一瞬頭が混乱しました。
GitHub上からGitのコミットログの詳細情報は閲覧できないはずなので、人事の方がわざわざリポジトリをcloneしてコミットログを確認してまでご連絡くださったのかと感心する気持ちもありましたが、それに勝る恐怖感を抱きました…😨

ただ、これはこれでいい気付きをいただいたと思い、 GitHubとGitの設定を見直すことにしました。

続きを読む

「Androidアプリ設計パターン入門」を読んで(その3)

今回の記事では、MVP(Model-View-Presenter)と呼ばれるアーキテクチャについて説明していきます。

続きを読む

「UIのじかん #1」に参加しました

7/18(木)に「UIのじかん #1」というイベントに参加してきました。
graspy.connpass.com


"初心者向けUIデザインのお作法"というテーマで、以下の方々による発表がありました。

神田さんは事業会社でマネージャ、山本さんと長谷川さんはフリーランスでプレイヤーとして活躍されており、それぞれの立場からUIデザインに関するお話を伺うことができました。

続きを読む

「Androidアプリ設計パターン入門」を読んで(その2)

今回の記事では、MVVM(Model-View-ViewModel)と呼ばれるアーキテクチャについて説明していきます。

続きを読む

「Androidアプリ設計パターン入門」を読んで(その1)

そういえば、年始に以下のような宣言をしていました。

2019年の目標の1つとして「毎月1冊以上の技術書籍を読み、ブログにその内容をまとめる」ということをやっていく予定です。


「リーダブルコード」を改めて読んでみて(その1) - ツレヅレナルママニ


当初と状況が結構変わったといえば変わったのですが、それを差し引いても自分の読書スピードなどを考えると現実的に厳しい目標を立てていました。笑
やはり定期的に振り返ったり調整しないとダメですね。ちょうど2019年も折り返したので、週末あたりに見直しをかけます。

とはいえ、技術関連のインプット&アウトプットは引き続きやっていきたいので、今回から第2弾として「Androidアプリ設計パターン入門」という書籍の内容をまとめていきたいと思います。

peaks.cc


この書籍は国内の著名なAndroidアプリ開発者の方々によって書かれているので、各アーキテクチャの特徴はもちろん、現場での葛藤など多くの開発者が「あるある〜」と唸るようなリアルな体験も含んだ内容になっていると思っています。
(まだ全部を読み切れてはいないので、実際は違うかもしれません)


では早速、第1章の内容に入っていきます。
第1章は「Androidアプリの基本構成」というタイトルですが、ざっくりいうと導入編です。

続きを読む

SHIBUYA A CAPPELLA STREET

6/23(日)に渋谷ストリームと渋谷ヒカリエで行われた「SHIBUYA A CAPPELLA STREET」というイベントに「窓の満月」というグループで出演し、なんと、最優秀賞をいただきました!🎉
応援してくださった方々、本当にありがとうございました🙇‍♂️✨

今回のイベントはオーディエンス投票制で、昼の野外ステージでお客さまからの投票が多かった8グループが夜のファイナルステージに勝ち上がり、さらにそこでお客さまからの投票やスポンサー?の方々の判断によっていくつかの入賞グループが決定される形式でした。
その中で窓の満月がいただいた最優秀賞は、純粋にお客さまからの投票を最も多くいただいたグループへ贈られる賞でした(多分)。

私は2010年の4月に当時通っていた大学のアカペラサークルに入り、卒業・修了してからも社会人アカペラサークルに入って、現在に至るまで約9年間アカペラを続けているのですが、このようないわゆる賞レースの類で入賞したのは初めてでした。
今回ありがたいことに最優秀賞をいただくことができましたが、それ自体に対する喜び以上に「私達の歌を聴いて、少しでもいいと思ってくださった方がこんなにもいたんだ!」ということを身を以て実感できたこと、またその事実が何よりも嬉しかったです。


窓の満月としては、ちょうど1年前の6/23(土)に山梨で行われた「甲州アカペラサミット」というイベントが結成して初めて出演した外部のイベントでした。
そこから1年がむしゃらに駆け抜けてきて、金沢、仙台、天草で遠征ライブをしたり、また都内でもさまざまなライブに出演し、窓の満月の演奏を届ける機会をたくさんいただきました。
(「社会人アカペラグループで一番ライブしてるんじゃない?」と度々言われる程度には精力的に活動した1年でした。笑)
その集大成として迎えたこのSHIBUYA A CAPPELLA STREETで結果を残すことができたのは、もちろん応援してくださった方々のおかげなのですが、神様からプレゼントをいただいたような気分でもありました。笑

今回の結果に驕ることなく、これからもいい音楽を届けられるよう一層精進して参りますので、引き続きご愛顧のほどよろしくお願いいたします🙏✨

Jetpack Composeを利用したコンポーネント作成からレイアウト生成までの流れ

Google I/O 2019でJetpack Composeというツールキットの発表がありました。
現時点ではまだpre-alpha版ですが、Jetpack Composeを利用してどのようにコンポーネントを作成し、それらを組み合わせ、レイアウトを生成するかについてデモアプリのソースコードを元に調べてみました。

ソースコードはAOSP(Android Open Source Project)からダウンロードしました。手順は以下の記事を参考にしました。

dev.classmethod.jp


続きを読む