かまたま日記3

プログラミングメイン、たまに日常

ローカルにGitサーバを立ち上げる with Docker

Gitサーバ(というかGitHub)のレポジトリに対してcommitとかpushするOSSのテスト用に作りましたが、必要無くなったのでw 別リポジトリにしておきました。

github.com

READMEにも書いてますが、cloneして create_git_server.sh を叩くと2222ポートが開いてるGitサーバが出来上がります。

  • レポジトリの実体は work/git-server/repos 配下に作られていて、それがマウントされている
  • SSHの公開鍵は ~/.ssh/*.pub を登録してるので、無いと動きません
$ git clone ssh://git@localhost:2222/git/repos/awesome-repo.git
Cloning into 'awesome-repo'...
Warning: Permanently added '[localhost]:2222' (ECDSA) to the list of known hosts.
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 6 (delta 1), reused 0 (delta 0)
Receiving objects: 100% (6/6), done.
Resolving deltas: 100% (1/1), done.
Checking connectivity... done.

$ cd awesome-repo

$ git log
commit f35d53a97488fac01267d094551df59a53e7ae07
Author: xxxx xxxx <xxxx@example.com>
Date:   Mon Mar 6 02:10:30 2017 +0900

    Add hello.txt

commit b15e864ddade594953ef671d1a2d3b4a0e3e9b0d
Author: xxxx xxxx <xxxx@example.com>
Date:   Mon Mar 6 02:10:30 2017 +0900

    my first commit

JJUG ナイトセミナーKotlin勉強会に参加してきた

jjug.doorkeeper.jp


EmbulkのプラグインをKotlinで書き直したり最近自分の中で激アツ言語のKotlinの勉強会が開かれると言うので早速参加してきました。サイバーエージェントのサーバサイドの事例だったりSpringのKotlin対応だったりKotlinの波が来ているのを感じられて良かったです。実際(元)JavaエンジニアとしてKotlinは本当に痒いとことに手が届く感じがして書いてて楽しいです。自分のところのプロダクトにも是非導入してみたいです。

続きを読む

TOEIC 217回 結果

Listening:315 (335), Reading:370 (255), Total: 685 (590) *1

Listeningが落ちたけとReadingが上がったので全体的には結構up、はじめて600点超え。次は700点超え目指す。

過去ログ

*1:括弧の中は前回(213回)の得点

EmbulkのプラグインをKotlinで書く

embulk-input-remoteをKotlinで書き直したv0.3.0をリリースしました。

Kotlinは4年ほど前に会社のレポートでちょっと調べたままで知識が止まってましたが、最近はAndroidやサーバサイドの事例も多く出てきたので勉強がてらやってみるかなと思い試してみました。

結果

Kotlin、イイね 👍

積極的に使って行きたくなりました。

良かったところ

Javaとの相互運用性高い

  • KotlinからJavaライブラリ、JavaからKotlinライブラリどちらも透過的に呼べるので、混在させやすい(移行がしやすい)

導入が簡単

Javaで不便なところが解消されてて簡潔に書ける

  • embulk-input-remoteでは行数が 33% 減りました*2
  • アクセサ, equals, hashCodeなどのboilerplateが省略可能
  • (比較的) Null安全
  • 型推論があるので、型を明示する機会が減る
  • Function as first class object
    • Embulkプラグインは匿名クラスの利用が多いので助かった
  • コレクションの便利メソッド*3

不明点

パフォーマンス (vs Java)

実際測ってないので、断言はできませんが、 以下のリンク*4を見る感じそんなにオーバーヘッド的なのは無いのでは、という期待を持ってます...w ttps://www.reddit.com/r/Kotlin/comments/3ddj8w/what_is_the_performance_of_kotlin

*1:たまにエラーになることもあるけどちょっと修正すればたいてい大丈夫

*2:約430行から290行

*3:map, filterなど

*4:h抜きなのはなぜかフルのURLを貼ると投稿に失敗するので

Kubernetes Meetup #3 に参加してきた

k8sjp.connpass.com

前回の参加メモを見る感じ、前回は結構初歩的というか入門編的な発表が多かったですが、半年経って結構実践的な知見が増えてきた感じです、自分自身はこの半年ほとんど追えてなかったのでもっと追っていかねば。。

資料はこちら


コンテナ化したCloud FoundryのKubernetes上での実装

(@jyoshiseさん)

大規模分散システムをKubernetesとCloud Foundry(CF)で実装したHPE Helion StackatoというPaaSのお話。今はHPEが作ってるプロプライエタリな製品だけど、SUSEに移管されてOSS化される可能性が高いとのこと。Kubernetesとは関係ないですがCFってHeorkuのbuildpackに対応しているのを初めて知りました。

ThirdPartyResource を使った Kubernetes as a Service の実装

(村田さん、@ina_aniさん)

Kubernetesクラスターを管理するしくみ(Kubernates as a Service)をKubernetesの機能を使って構築するというメタなお話し。ThirdPartyReource, InformerFramework, RateLimitingQueueを利用する。デモで使ってたクラスタのステータスがビジュアライズされてるダッシュボードが凄かった。

Highly available and scalable Kubernetes on AWS

(@mumoshuさん)

AWS上にKubernetesを構築、運用するにあたっての知見について。kube-dnsとlogrotateは要注意。加えて、kube-awsというKubernetesクラスタAWSに構築するためのツールの紹介。minikubeというローカルのVirtualBox上にKubernetes環境を作れるツールで本番と開発環境との差異をなくしているというのはGoodだなと思いました。

LT 大会

KubeCon 2016 @ Seattle の参加報告

(tkusumiさん)

昨年は1000人規模、今年3月にヨーロッパで1500人規模、年末のKubeConは3000人規模で開催される予定とのこと。勢いを感じますね。

nghttpx Ingress controller

(tatsuhiro_tさん)

知識不足で正直良く分かりませんでした..

New features in Kubernetes v1.5

(superbrothersさん)

権限管理が追加されたのが大きそう。最初のLTの方の資料ですが、この辺も参考になりそう。 Kubernetesの主な機能一覧 (v1.5時点) - Qiita

kubernetes & OpenTracing

(Ladicleさん)

OpenTracingというマイクロサービスのトレーシング標準についてのお話し。

docomoビックデータ分析基盤でのk8sの活用

(hiroyuki_devさん)

DocomoのビックデータをRedshiftに入れるためのETLをKubernetesを使って作ったという話。毎日数十TBのデータはすごい..!