今年読んだ、私の好きなマンガ3選

この記事はアルベントカレンダー19日目です。

今年も残すところあと少し、ということで、

ちょうどマンガサービスの「アル」で、今年のBEST3が作れるようになったので、今年読んだ好きなマンガを紹介します!

alu.jp

今年はいつもよりたくさん読んだのですごく迷いましたが、その中でも作品の雰囲気が好きなマンガを3つ選んでみました!

f:id:t-kashima:20191218233154j:plain

水は海に向かって流れる

水は海に向かって流れる(1) (KCデラックス)

水は海に向かって流れる(1) (KCデラックス)

このマンガは、高校への進学を機に、おじさんの家に居候することになった高校生の男の子と、その家で男女5人が共同生活を送っていく話です。ですが、大きな事件が起きたり、慌しくなることはなく、どこまでも日常が描かれます。

alu.jp

そして、何げない会話や、時にドキッとするシーンも

alu.jp

alu.jp

日頃なにげなく感じている気持ちと、照らし合わせながら読める素敵なマンガだなと思います。読みはじめたのはこの記事を読んだからなのですが、すごく読みたくなる内容なので、気になった方はおすすめです。

alu.jp

デッドデッドデーモンズデデデデデストラクション

東京に侵略者が乗った巨大な母艦が舞い降りる中、青春時代を過ごす女子高生たちの話です。とにかく、浅野いにお先生の世界感なんですが、ものすごく個性的な登場人物たちが繰り広げる非日常の中の青春に、より力強さが際立っています。

alu.jp

そして、立ち止まって考えさせられるシーンが多いのも魅力です

alu.jp

alu.jp

非日常の中にも変わらない日常があって、登場人物たちの慌しさに、読んでいて元気になれるマンガです!

ネムルバカ

ネムルバカ (リュウコミックス)

ネムルバカ (リュウコミックス)

今年、石黒正数先生のマンガをはじめて読みました。どれも面白かったのですが、その中でも「ネムルバカ」は、音楽のアルバムように何度も読み返したいと思える作品でした。大学の女子寮で同室の先輩と後輩が、素朴な疑問や葛藤から色んな話をするんですが、どの話も自分にない視点で物事を見ているのが読んでいて新鮮です!

alu.jp

alu.jp

また登場人物たちのゆるいやりとりや場を流れる空気も、読んでいて居心地がいいです。 最後もすっきりした終わり方なので、みんなにオススメできるマンガです!

こんな感じで

他にも読んでやる気にさせてくれたり、今まで知らなかった世界を見せてくれたり、今年はマンガに影響を受けた1年でした。もし、おすすめのマンガがあれば、気軽に教えてもらえると嬉しいです!

そして、今年読んだマンガBEST3を作ってみてはいかがでしょうか?

alu.jp

最後まで、読んでくれてありがとうございました!!


記事内のすべてのコマは出版社様・著作者様からの許可をいただいた上、「アル」内で投稿されたものになります。詳しくはこちら

香川でよく行くコワーキングスペース

ほとんど家で作業をしているのですが、時々コワーキングスペースを利用しています。そこで、「香川 コワーキングスペース」で調べてもほとんど見つからなかったので、誰かのためにも行ったことがある所をまとめておこうと思います。

1. gain-Y (ガイニー)

https://gain-y.com/wordpress/wp-content/uploads/gain-ykaijyou-e1555545711165.jpg
ホームページより

gain-y.com

瓦町駅から東に徒歩5分、市街から離れた静かな場所にあります。アンティーク調で落ちついた空間なので、ゆったり作業がしたい時に利用しています。店主の方は、コワーキングスペースを運営されて長く、地元の話からWordpressの話まで色々聴けて面白いです。

[うどん情報] 近くの釜バターうどんで有名なバカ一代がおすすめです

www.udonbakaichidai.co.jp

2. co-ba 高松

https://s3-ap-northeast-1.amazonaws.com/static.co-ba.net/wp-content/uploads/2018/07/IMG_0409.jpg
ホームページより

co-ba.net

高松中心部の中央公園の近くにある、木と間接照明で暖かい空間のコワーキングスペースです。大学が近くにあったり、商店街からのアクセスも便利なので、色んな職業の方が利用されています。また、定期的に落語やヨガなどのイベントが開催されているのも面白そうです。

[うどん情報] 商店街にある麺処綿谷が量も多く満足感が高いです

www.maruwa-wataya.com

3. BIBLIO 〜Hammer Academy〜

https://image.jimcdn.com/app/cms/image/transf/dimension=1038x10000:format=jpg/path/sfb78419520e1debf/image/iafae6e0133f16c8a/version/1554098266/image.jpg
ホームページより

www.biblio-studyspace.com

瓦町駅からすぐ、トキワ街に今年オープンしたコワーキングスペースです。地元の塾が運営しているのもあってか、少し暗めなところが黙々と集中して作業しやすい空間です。本棚に置いてある本も、マンガからビジネス書までこだわりが感じられて面白いので、眺めてるだけでも楽しいです。

[うどん情報] 近くのしんぺいうどんの日替わり定食がおいしかったです

www.shikoku-np.co.jp

こんな感じでまだ行ったことがある数は少ないですが、香川にもしっかりコワーキングスペースはあります!まだ知らないところもありそうなので、また見つけたらふらっと行ってみようと思います。

Node.jsで特定のフォントを使えるようにする

Cloud FunctionsなどのNode.js環境で、日本語フォントを使いたいけど入ってないことがあると思います。そんな時にGoogle Fontsなどからダウンロードしてきたフォントを使えるようにできます。

はじめに

Node.js で fc-list コマンドを実行して、既に使えるフォントを確認してみましょう。

const result = spawnSync('fc-list');
console.log(result.stdout.toString();

/usr/share/fonts/truetype/tlwg/TlwgTypo-Bold.ttf: Tlwg Typo:style=Bold
/usr/share/fonts/truetype/tlwg/TlwgTypewriter-BoldOblique.ttf: Tlwg Typewriter:style=Bold Oblique
...

  こんな感じで使えるフォントの一覧が表示されます。

fontconfigを作成する

手元にあるフォントをどこかNode.jsから見えるディレクトリに置きます。そして、fonts.confファイルを作成して、フォントのパスを記載します。例えば、下記の階層だと /src/fonts/google と書きます。

/src/fonts
  ├ fonts.conf
  ├ /google
    ├ 〜.otf

fonts.conf

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <dir>/src/fonts/google</dir>
</fontconfig>

FONTCONFIG_PATHを指定する

次にNode.jsの環境変数 FONTCONFIG_PATH に、fonts.confがあるディレクトリを指定します。例の場合だと、/src/fonts/ です。

process.env.FONTCONFIG_PATH = '/src/fonts/';

これで、もう一度 1. を実行すると、Node.jsから使いたかったフォントが一覧に表示されると思います!

※フォントのライセンスにはくれぐれも注意しましょう

Cloud FirestoreをExportしてImportする

Cloud FirestoreをExportして、別プロジェクトのCloud FirestoreにImportすることがあったのでその方法を残しておきます。

Cloud FirestoreをExportする

今回はClound Functionsのscheduleを使って定期的にバックアップとしてCloud StorageにExportするようにしました。 この2つの記事がものすごく参考になりました。

medium.com

firebase.google.com

1. サービスアカウントに権限をつける

Exportした結果をCloud Storageにアップロードするので、サービスアカウントに下記の権限を付与します。

- 環境とストレージ オブジェクトの管理者
- Cloud Datastore インポート / エクスポート管理者

さっそくGCPのIAMページを開いて PROJECT_ID@appspot.gserviceaccount.com のサービスアカウントの鉛筆マークを選択します。

f:id:t-kashima:20191210221649p:plain

そして、 + 別の役割を追加 を選んで2つの役割を追加して保存します。

f:id:t-kashima:20191210221822p:plain:w160

2. Cloud Functionsで定期的にCloud FirestoreをExportする

Cloud Functionsのscheduleを使って、特定の時間にCloud StorageにCloud FirestoreからExportします。この場合は毎朝5時に実行されます。

const functions = require('firebase-functions');
const firestore = require('@google-cloud/firestore');

export const backupFirestore = functions.pubsub.schedule('every day 05:00').timeZone('Asia/Tokyo').onRun(async (context) => {
    const projectId = 'PROJECT_ID';
    const client = new firestore.v1.FirestoreAdminClient();
    const databaseName = client.databasePath(projectId, projectId);
    await client.exportDocuments({
        name: databaseName,
        outputUriPrefix: `gs://${projectId}-backups-firestore`,
        collectionIds: []
    });
    return null;
});

コードを書いたらCloud FunctionsにDeployします。

3. 動作確認

それでは、GCPCloud Scheduler画面の「今すぐ実行」から実行してみましょう。

f:id:t-kashima:20191210222900p:plain:w240

実行のログは、少し待ってからCloud Functionsのログタブで確認することができます。

f:id:t-kashima:20191210223043p:plain:w320

Exportが成功するとCloud Storageに下記のようなディレクトリができます。これでExportできました。

f:id:t-kashima:20191210223201p:plain

Cloud FirestoreにImportする

次にExportしたコレクションをCloud FirestoreにImportします。

1. ImportしたいプロジェクトのCloud Storageにアップロードする

※ExportとImportするプロジェクトが同じであればこの手順は不要です。

Cloud FirestoreにImportする場合は、下記の手順で一度ダウンロードしてから、ImportしたいCloud Firestoreと同じプロジェクトのCloud Storageにアップロードします。

// ローカルにダウンロード
gsutil -m cp -R gs://BUCKET_NAME/2019-12-08T00:00:00_00000 .

// Cloud Storageにアップロード
gsutil cp -R 2019-12-08T00:00:00_00000 gs://NEW_BUCKET_NAME/

2. gcloudコマンドでImportする

先ほどアップロードしたファイル名を指定して、下記のコマンドでFirestoreにimportします。既に存在しているIDと同じデータをImportするとエラーになるようなので、すべて消してからImportするのがよさそうです。

gcloud firestore import gs://NEW_BUCKET_NAME/2019-12-08T00:00:00_00000

特定のコレクションのみのImport方法などはこちらに書いてありました。

firebase.google.com

これでCloud FirestoreへのImportもできました。

まとめ

やる前は色々大変そうだなと思っていたのですが、Cloud Functionsにscheduleがあったり、GCPの中で完結したので特に詰まることなくできてよかったです!

ひゃくえむ。がめちゃくちゃ熱い

今年読んだマンガの「ひゃくえむ。」は読みながらすごく熱くなれる作品でした。この記事では、好きな主人公の熱いところをコマを混じえて紹介したいと思います!

(なお、記事内のすべてのコマは出版社様・著作者様からの許可をいただいた上、「アル」内で投稿されたものになります。詳しくはこちら)

これはアルベントカレンダー8日目の記事になります。

adventar.org

ひゃくえむ。とは

ひゃくえむ。(1) (マガジンポケットコミックス)

ひゃくえむ。(1) (マガジンポケットコミックス)

あらすじ

俺はトガシ。生まれつき足が速かった。だから、100m走は全国1位だった。「友達」も「居場所」も、“それ”で手に入れた。しかし小6の秋、初めて敗北の恐怖を知った。そして同時に味わった。本気の高揚と昂奮を──。100mの全力疾走。時間にすれば十数秒。だがそこには、人生全てを懸けるだけの“熱”があった。

小学生の頃のトガシは走ることに熱心ではなく、こんな感じでした。

alu.jp

それから高校生になったトガシは、走ることに少しずつ向き合い熱くなっていきます。

alu.jp

圧倒的な自信

熱くなったトガシは、走るのを飽きらめかけたチームメイトに、

alu.jp

俺は速いぞ (負けねぇからついてこい!)とさらっと言ったり、

alu.jp

こう言ってくる先輩に向かっては、

alu.jp

めちゃくちゃ熱く語ります!!

alu.jp

周りも変わる

顧問の先生も元々弱腰だったんですが、

alu.jp

トガシたちの影響で変わりました!

alu.jp

まとめ

トガシが100mに向き合っていく姿を見ていると、読んでいるこっちまで熱くなります!取り組む時の "熱" の大切さが分かりますね。

1つのことに人生を懸けて進んでいく姿は読んでいてすごく気持ちがいいです!全5巻で読みやすいので、熱くなりたい方はぜひ手にとってみてはどうでしょうか。

alu.jp

香川県に引っ越しました

f:id:t-kashima:20190701131238j:plain 今日から香川県の仏生山に住みはじめました。

なぜ香川?

もうすぐ子どもが生まれる予定なのですが、これをきっかけに妻の友だちや実家に近いところに住みたいなと思っていました。そこで、香川は大学の時に住んでいて、地域の雰囲気を知っていたこと、仕事で東京へも出やすかったので諸々考えた末に香川に決めました。

仕事は?

基本リモートになりますが、今まで通りアルのモバイルチームで働いています。最近はテストを書いたり、iOS/Androidでクロスして開発していたり、色々双方のことが勉強になって楽しいです!これからも3か月に一度くらいは東京に出社する予定です。

そして

ということで、これからも引き続き宜しくお願いします!

また東京にも定期的に行くので、その時はぜひご飯いきましょう!!

以上、近況でした。

Kotlinリポジトリのテストを動かす方法

Kotlinリポジトリを触る機会があったので、少しはまったテストを動かす方法を残しておきます。基本的にREADMEに書いてある手順で、Working with the project in IntelliJ IDEA の項目まで動かすと動きました!

セットアップ手順

  1. Kotlinリポジトリを手元にcloneしてきます。

    git clone git@github.com:JetBrains/kotlin.git

  2. Build environment requirements に書いてあるように各バージョンのJDKの設定が必要なので、Macの場合は下記からダウンロードして設定します。

    export JAVA_HOME=`/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java_home -v "1.8"` export JDK_16=`/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java_home -v "1.6"` export JDK_17=`/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java_home -v "1.7"` export JDK_18=`/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java_home -v "1.8" export JDK_9=`/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java_home -v "9"`

  3. エディタとしてIntelliJ IDEAをダウンロードします。

  4. IntelliJ IDEAを立ち上げて、ダイアログのOpenでKotlinリポジトリを開きます。

    f:id:t-kashima:20190422082444p:plain:w480

  5. 次に「File」>「New」>「Module from Existing Sources」を選択して、Kotlinリポジトリにある build.gradle.kts を選択して開きます。

    f:id:t-kashima:20190422083020p:plain:w320

  6. IntelliJの処理が走るので数分待って、下記のように動かしたいテストファイルを右クリックして「Run 〜」を選べばテストを実行できます!

    f:id:t-kashima:20190422083921p:plain:w480

おわりに

はじめはKotlinリポジトリの開き方を間違えてしまい、諸々壊してしまったのですが、改めてREADMEをしっかり読むとスムーズに設定できました! プログラミング言語リポジトリは設定がすごく難しい印象だったので、すごく簡単に設定できてびっくりしました。