サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
i101330.hatenablog.com
ユーザではなくプログラムからKubernetesのリソースを操作する際、認証はServiceAccount, 認可はRBACの方法が一般的になる。 ServiceAccountの挙動周りを知りたかったのでまとめ。 Kubernetesの認証・認可 Kubernetesのアカウントは人間によるユーザアカウントと、サービスアカウントの二種類がある。 ユーザアカウントは、Kubernetesの認証に利用されるもののKubernetesの管理下ではない。 従って kubectl などで作成・削除することはできない。 対しサービスアカウントは、Kubernetesによって作成され管理される、Kubernetes内のコンポーネントやPodなどで利用されるアカウント。 Kubernetesに対する全ての問い合わせは kube-apiserver へHTTPリクエストする必要がある。 Kubernetes
goroutine自体はOSスレッドに多重化してスケジュールされる。 ランタイムでは goroutine関数をG、OSスレッドをM、GをMに割り当てるスケジューラをP、と名称し実装されている。 qiita.com ではG全てがI/O実行を行いブロック状態になった場合、Gに紐づかれたMがそのままブロック状態になるのだろうか。 100個のgoroutineが同時にI/O待ちのときに、100個のOSスレッドがI/O待ちの状態になっているのか。 結論からいうとならない。なぜならラインタイム以下で非同期I/Oを実現している。 ネットワークI/Oの場合はGoの標準ライブラリではあたかもブロッキングI/Oのようなインターフェイスを提供しているが、 Goランタイム(で動くsysmonという特別なワーカー)が待ち状態のgoroutineのI/Oを非同期I/Oに変換している。 (Linux環境ではepoll(
Grafana チームから、ログ収集ソリューションとして Loki がOSSとして公開された。 GAに向けてベータリリースであるがすでに GitHub Star も 7000 に届く勢い。 Prometheus のようなラベリングが可能で、軽量なログソリューションと謳ってる。 https://github.com/grafana/loki Kubernetes でログ周りどうしようかなーとツールを探していたころに、 Loki を知ったので色々触ってみた。 そして、Lokiの構成要素である promtail について調べてみた。 Loki 概要 | log | <-- | promtail | --> | loki | <-- | Grafana (Explore) | <-- | User | Loki は ログを収集するエージェントの promtail と、そのログを受け取り保存・クエリ
tl;dr go/types パッケージがめちゃくちゃ便利 https://golang.org/pkg/go/types/ https://github.com/golang/example/tree/master/gotypes gouml の紹介 Goのコードを静的解析し、PlantUMLのコードを吐くパーサを開発している。 github.com 例えばGo言語で書かれたこのソースファイルを渡すと、 package main type Human struct { Name string Age Age } type Age int func (a Age) IsAdult() bool { return a >= 20 } 以下のような PlantUML コードが生成される。 package "main" { class "Age" as main.Age <<V,Orchid>>
ここ最近の仕事は、かなり硬直化した自社サービスをリファクタリングしている。 そのなかでアプローチのひとつとして、ドメイン駆動設計を勉強して、取り組んでいる。 エバンスDDD本を手に取り、ネットで様々な知見を調べながらも、理解が定着してきている。 ここらでいちど、ドメイン駆動設計について、理解をアウトプットしておく。 ドメイン駆動設計は「ビジネスの複雑さ」に立ち向かう 「ドメイン駆動」の設計とは、ドメインに特化した型設計 ドメイン駆動設計の導入の決め手はドメインロジックが複雑かどうか レイヤードアーキテクチャは、ドメイン層を隔離する 自社サービスをグロースさせていくためにも、ドメインの洞察・抽出・再設計を繰り返す おすすめの書籍・資料 エバンスDDD本や実践DDD本は初学はとても苦しんだ。 入門するなら、これらの本を手に取る前に、増田さんの素晴らしい資料たちがおすすめ。 増田さんのスライド,
僕はGo言語が好きだ。そのGoがもたらす恩恵のひとつとして、例外周りのセマンティクスがある。 Goでは例外はerrorという型の値に抽象化され関数の返り値として記述することが多いというのはご存知だと思う。 func GetUser(id int) (*User, error) { // do some thing ... if err != nil { return nil, err } return user, nil } 上記の例のように、複数の返り値を設定できる言語機能を利用して、 第一にその関数に期待する主要な出力のデータ、第二に関数内で発生した例外(error型の値)を伝播させるのが一般的な記述だ。 この if err != nil {return err} を毎回書くのが(たとえコピペでも) 「めんどくさい」、「冗長だ」という意見を持つプログラマもスクなくはない。 個人的には気
Google日英翻訳がNMT(ニューラルネットワークを利用した翻訳モデル)になったらしいです。 文語ベースでバリバリ翻訳してくれてるみたいで、 単語にマウスオーバー当てても単語間の対応関係がわからなくなったのはさみしいけど、 たしかに精度がよくなったような、そんな気がするぜ。 というわけで英語論文めっちゃ読んだろ。。 VAEで何かしたいなーと思ってて、時系列を扱えるVRAE周りを調べました。 Variational AutoEncoder Variational AutoEncoderをついにしっかり理解できた気がする。 はっつーさんのkeras実装ブログがとても勉強になりました。 有難うございます。 ralo23.hatenablog.com Variational AutoEncoderについてまとめたスライドを作りました。 Variational AutoEncoder from K
(勉強中のブログです。気をつけてるんですが厳密さに欠けることも書きがちなので、あくまで備忘録という免罪符を利用します。暖かい目でみてください。) tl;dr 情報幾何学という分野を知った 機械学習、深層学習の仕組みを理解する一つの方法論 日本から生まれた理論体系。 ことのいきさつ Kimらが2016に提案したEBGAN(エネルギーベースモデルにGANを応用した生成モデル) これを実装した人がいないかググっていたところ、mathtakeさんのブログ記事と出会った。 mathetake.hatenablog.com 最新の技術EBGANでさえも、自然な画像の生成は難しいところがある。 複雑さがましブラックボックス化してしまいがちなこの分野において、 数理的な解明は精度の向上や「どうしてうまくできないか」を理解することに重要である。 mathetakeさんは微分幾何を専門にされているお方らしく、
情報幾何学を勉強中。 目的はDeep Neural Networkの解析。 情報幾何学? Fisher情報量(情報行列) 確率変数がパラメーターに関して持つ情報量 Riemann計量 微分幾何学ででてくる計量 若き頃のC.R.Raoが「Fisher情報行列とRiemann計量って一緒じゃね?」と言い始め、 いろいろな可能性が湧き出てきて、甘利先生、長岡先生たちが理論体系としてまとめあげた。 情報幾何学のはじまりはじまり。 確率分布空間を多様体構造で幾何的に捉える。 狭義では「双対アファイン接続の微分幾何学」。 参考書を二冊。 情報幾何学の基礎 (数理情報科学シリーズ) 作者: 藤原彰夫出版社/メーカー: 牧野書店発売日: 2015/08メディア: 単行本この商品を含むブログを見る 第4章の途中まで読みました。数学的基礎からみっちり書かれている。 数学を専攻していない初学者にもわかるようにと
ちょっと予告とは違う更新だけど。。 深層学習(Deep Learning)というものを知り、いろいろ調べて勉強したりした一年 紆余曲折がありつつも、Pythonを初めて扱い深層学習以外の機械学習全般に興味を持った 今取り組んでいることは、「機械学習を基礎から身につけ、pythonで実装していく力を身につける。」 ある程度参考書やサイトを漁った結果、自分なりのベストプラクティスが固まりつつある(前もこんなこと言った) このブログは息抜き程度の備忘録の位置づけにしたいので、技術ブログではないことをあやふやな記述の免罪符にしたい わりとまじで。切実に。 機械学習のベストプラクティス(今現在) 数学の事前準備 さすがに微分積分と行列、確率はある程度必要になる。 個人的に行列の微分が苦手。現役の学生なので覚えてるが、 一切を忘れてしまったという方は数学の参考書で数式慣れしたほうがいいかも 超初心者
深層学習(Deep Learning)がバズワードになって何年目だ。 画像認識コンテストでDeepなヤツが優勝したのが2012年で4年前だ。 Deepの先駆者DBN[Hinton 2009]からだと7年か。 2014-2015の間だけでも1500もの関連論文が発表されているらしい。鬼のようだ。 軽く歴史を振り返ると、制限付きボルツマンマシンを「多段に積み上げた」(深層と呼ばれる所以) Deep Belief Network[Hinton 2009]が新時代の幕上げだった。 Deepという名前もここから実用的に使われだしたっぽい、多分。 そして今、非常に気になってるのがVAEとGAN、そしてEBMにGANのテクを使ったヤーツ[Kim+ 2016]。 こいつらは生成モデルの最新技術なヤーツ達だ。 こいつらについてちょっと紹介したいので、その前に統計的機械学習とボルツマンマシンについてまとめたあ
短めに言うと pythonのキラーアプリ、最高REPLのJupyter(旧名ipython notebook)を使う 実行環境 Mac OS XまたはLinux Windowsの方は以前のエントリー等でLinux環境構築してください 書籍学習 例えば ITエンジニアのための機械学習理論入門 作者: 中井悦司出版社/メーカー: 技術評論社発売日: 2015/10/17メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る この優れた書籍 pythonで実装しながら機械学習アルゴリズムを数的にも理解できる mkdir ~/prototypeディレクトリ ホームディレクトリにprototypeという作業・勉強用だと明示的なディレクトリを作るといい mkdir ~/prototype/pythonディレクトリ まぁPython用にもう一段層つくるといいかも ソースコードを落として
Chainerがversionを1.5以上にしてから随分変わってて、インストール方法や記述も違うから 正直アップデートせずに見送ってたけど、ここらでしっかり公式チュートリアルを読んで理解すべく和訳に取り組みました。 英語が苦手なので不十分かつ訳注も明示していないので至らないとこだらけです。 間違いなどありましたら是非指摘していただけるとうれしいです。 Chainerチュートリアルを和訳する必要があったからかいてみた(1) そもそもこちらの記事を参考にさせていただいてたのですが、verUPして内容が古くなってしまったので勝手ながら最新のver. 1.5.1版を書き起こします。 Introduction to Chainer 翻訳 これはChainerチュートリアルの第1章です。 この章でやることは なぜChainerを開発したか、既存の他フレームワークとの長所短所 簡単な順伝播・逆伝播計算
このページを最初にブックマークしてみませんか?
『i101330.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く