heihei blog

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

「いま生きる『資本論』」を読んだ

高校時代からの友人に勧められて読んだ本です。

感想

私達がいま生きるこの資本主義の世界では、育つ過程で身につけた知識や物事の考え方など、すべてが資本主義の影響を受けていて、そのため資本主義を理解し、当たり前だと思い込んでいることを「資本主義のもつ性質」であると客観的に捉えることで、新しい選択肢であったり柔軟な考えを持つことができるのではないか、という問いかけがあると解釈しました。

資本家は利潤を生み出すことを目指し、利益の極大化を求められているということや、労働者への対価というものはその人の能力に関わらず、価値を生産する段階である程度がすでに決まっているということなど、なるほど改めて考えるとあまり疑問視してこなかったがたしかにそうかも、と思えることがいくつも書いてありました。疑問視したりすることをせずに現状の世界を現状のままに捉えるだけではなくてどういう仕組の中で自分たちは生きているのだっけ?ということを教えてくれるような本でした。

「資本論」の内容の解説をしながら資本主義について教えたあとは、資本主義が入り浸るこの世の中であえてその枠組から外れた動きをしてみることなどを勧めている。それはたとえば利益・見返りを求めない友人とのつながりであったりご近所さんとの会話など、些細なことなど。

あえて資本主義の枠組みから離れてみることは、人との関わりがより重要になっているこのコロナ渦中においてはより一層大事なことかも、と思いました。(ふんわり)

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

build.gradle + コード補完機能を利用する

GradleでGradle Groovy DSLを用いて依存定義などを行っていると、「コードの補完機能あったらいいな〜」と思ったりします。Gradle Groovy DSLではなく、Kotlin DSLを利用することで、補完機能を利用することができます。

Kotlin DSLを利用して補完機能の恩恵を得るためには既存のbuild.gradleファイルをbuild.gradle.ktsに置き換える必要があると認識していたのですが、実際にはbuild.gradleファイルであっても、buildSrc + import文を利用することで、補完の恩恵を得られると知ったので記載します。

なお、build.gradle.ktsファイルの定義手法は今後主流になっていく可能性もあるため、そういう意味ではこの記事は今後のためになる・有用記事ではないかもしれないですので、そこだけはご注意ください。

buildSrcディレクトリを作成する

手始めにbuldSrcディレクトリを作成します。 プロジェクトのroot配下に buildSrc/を作成します。 例)your-project/buildSrc

Kotlin DSLのセットアップを行う

次に、buildSrcディレクトリ内にbuild.gradle.ktsファイルを配置します。 例)your-project/buildSrc/build.gradle.kts

このktsファイルの中に、Kotlin DSL Pluginの依存を指定します。

plugins {
    `kotlin-dsl`
}

repositories {
    mavenCentral()
}

Dependencies.ktファイルに依存を定義する

次に、Dependencies.ktファイルを作成し、依存を定義します。 例) buildSrc/src/main/kotlin/dependnecies/Dependencies.kt

パッケージ名は dependencies となっているので、.ktファイル内でもそのように指定します。

package dependencies

object Depts {
    private const val VKOTLIN = "1.5.0"
    ...

    const val PLUGIN_KOTLIN = "org.jetbrains.kotlin:kotlin-gradle-plugin:$VKOTLIN"
    ...
}

これで定義まわりは完了です。

定義を利用する

最後にbuild.gradleファイルからこれらの定義を参照します。たとえば以下のように参照することで、Depts.~ の部分について、補完が利用できるようになります。

import dependencies.Depts // import文を追加します

buildscript {
    repositories {
        google()
        mavenCentral()
        ...
    }
    dependencies {
        classpath Depts.PLUGIN_KOTLIN // ここで補完が利用できます
    }
}

ちなみに上記 buildscript を用いた書き方はいまでは古い書き方として扱われているらしいです。 参考: GitHub - Kotlin/kotlinx.serialization: Kotlin multiplatform / multi-format serialization

既存プロジェクトではbuild.gradleばかり使っているよという場合に、自動補完機能をどうしても利用したい!と思った方はぜひ参考にしてみてください。

間違いなどを見つけた方はお手数ですがコメントなどで教えていただけたら嬉しいです!

参考

【Android】buildSrcを使ってライブラリの定義をまとめる | ITcowork Staff Blog

2021年4月を振り返る

5月も半ばになっておりますが、何事もなかったかのように4月を振り返ります。

仕事は佳境っていう感じだった。パツってもなんとかやれるかんじのパワーがほしい。

熊本に一度帰省した

f:id:shoheikawano:20210515175319j:plain

くまモン可愛いね。

コロナの影響もありなくなってしまったが、当時は5月頭に結婚パーティーをする予定で、そこで家族へのインタビュー動画を流す予定だったので、その撮影など含めて。 美味しいご飯をたくさん食べて苦しかった。

先月の記事にも書いていたけど、パウンドケーキ作って持っていったら喜ばれた。これは作ってるときの一枚。

f:id:shoheikawano:20210515175315j:plain

フライパン

仕事佳境だったこともありあまりあれこれ作った!って感じはしないが、お祝いでフライパンをいただき、「料理するか」っていうモチベが高くなった。

f:id:shoheikawano:20210515175324j:plain

結婚パーティー中止

中止となったので、写真撮影だけしてもらった。ふとしんみりすることもあるし、本当に色々あったけど、忘れた頃に小さくなにかやれたらいいねっていう話をしている。早くコロナのない世界線にいきたいですね

f:id:shoheikawano:20210515175312j:plain

f:id:shoheikawano:20210515175328j:plain

Airbnbしてその宿で数人で飲んだりなどをしたりして楽しみましたとさ。

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

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などを学んできた方にとっては当たり前に知っているような内容が多いのかもしれないですが、自分にとってはわかりやすく新しいことを学べる感じがありました。

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