今週のコーディング素振り(2018/3/25)mmj blog

エンジニア 亀田
エンジニア 亀田
2018年03月25日

今週試し書きしたコードです。

typealiasを使う場面:
型にわかりやすい名前をつけたいとき
ジェネリックタイプにも名前をつけられる。
わかりやすいプログラミングには適切な概念に適切な名前を付けられることが重要なので、たぶん使い所がありそう。

gitlib2 (rugged) を使って git レポジトリを操作するサンプルを書いた。
コミットメッセージを表示した。
メモ: git cat-file -p a6d2afb2d9af72b17fcbc326f73c59595a2632e6 で、gitが格納してる オブジェクトの内容を見れる
練習として、 git のコマンドを実装していきたいんですよね。その準備です。

gitの配管コマンドと呼ばれる低レベルコマンドを使って、git add や git commit でやってる処理を実現してみました。
gitの設計は本当に美しいと感じます。

docker の勉強をしました。
nginxイメージがアップされた直後みたいでimageがビルドされてなかったらしく、docker run nginx が失敗して ファッ!? ってなりました。
そういうこともあるんですね。


https://qiita.com/opengl-8080/items/36351dca891b6d9c9687
拡張関数で書いてみた。
fun List.myMap2(cb: (T) -> R): List
fun Iterable.myMap3(cb: (T) -> R): List
interface ListはCollectionを継承していて、CollectionはさらにIterableを継承している。 Iterableはiterator() のみを提供しているinterface。 Kotlin組み込みのmapメソッドも、Iterableへの拡張関数として定義されている。
https://github.com/JetBrains/kotlin/blob/1.2.40_182/libraries/stdlib/src/generated/_Collections.kt#L1245

Kotlinの拡張関数の仕組みを使って、コレクションメソッドをいろいろ実装してみました。楽しい!
今週は以上です。

2018年03月25日

エンジニア 亀田 |

« »
このページのトップへ