SWEet

A Software Engineer Is Eating Technologies

プログラミング

Custom Controller の開発で使えそうなコード集 #Kubernetes2 Advent Calendar 2020 16日目

この記事は Kubernetes2 Advent Calendar 2020qiita.com の16日目の記事です。 Custom Controller で よく使う、使えそう なコードの断片をラフに紹介してみようと思います。 想定する環境 Kubebuilder v2 go 1.14 今回実装した CRD の example apiVersion: …

About etcd and NoSQL

はじめに 本記事は adventar.org における19日目の記事になります. Previous ICCV2019 Best paper SinGANのできる事できない事[実践編] - Qiita Next @Shagamii による記事 となっていますのでよろしければこちらもどうぞ. さて, 今回は昨今多く世に出てきて…

GoのURL decodeするときの注意

TL;DR Goの net/url のURL構造体が持つ String() 関数は自動でエスケープされるから気をつけよう コードと意味 http://hoge.com/hoge.jpg%3Fversion%3Dv1 みたいなURLを http://hoge.com と /hoge.jpg~~ のようにFQDNとパスで分けて パスのエスケープをデコ…

gVisorのコード読んでみた

gVisorとOCIコンテナランタイムのアーキテクチャを探る 動機 これからGKE上でデプロイする時にもしかしたらランタイムを選択するような時が来るかもしれないので適切に取捨選択できるようにしたい.あと自作コンテナランタイムしたい OCI って何 Open Contai…

【Tensorflow with Keras】 Warning on loading model

妙にハマったのでメモ Kerasでweightを保存してロードしようとした Save model.save_weights("model.hdf5", save_format="h5") Load model.load_weights("model.hdf5") これでロード時にWarinigが出た 2019-03-28 03:56:35.810375: W tensorflow/core/util/t…

【自分用まとめ】Google Developers ML Summit

Google Developers ML Summitに忍び込んできたので一応まとめる Keynote Edge TPU 250画像/sec をシステムで処理してる 60%のコストカットに成功 MLKit ビジネスはわかるけどMLはわからないとかのためにある 機械学習全部はできないけど色々やりた人向け Dis…

Go言語でつくるインタプリタを読み終えて,独自拡張した話

Go言語でつくるインタプリタを漸く読み終わりました.といっても実際には1月末には終わっていて単純に記事にするのを忘れていただけなんです. 実際にコードを書きながら読んでいたのですが,リポジトリのログを遡るとファーストコミットは2018/6/24になって…

Goのプロジェクト内でgRPCで自分で定義したprotoファイルをimportする

自分で作ったprotoファイルを他のprotoファイルから参照する時にハマったのでメモ サンプルプロジェクトの構成 . ├── Makefile ├── team │ └── handler │ └── grpc │ └── team │ ├── team.pb.go │ └── team.proto └── user └── handler └── grpc └── user ├─…

Ubuntu14.04上でglibcをbuildしてリンクする

glibc内のソースをいじりたかったのでその前準備にglibcソースからビルドしてコードにリンクするまでの手順をメモ 環境 vagrant@vagrant-ubuntu-trusty-64:~/libc$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubunt…

Gormにおける多層外部キーの定義の仕方とコードの書き方

最近バイトの方でgormの振る舞いとデータベースのテーブル構造のことでハマったのでそれについてメモっておきます テーブル構造とgoのモデル 最初にあったテーブル構造は上の図のような感じ。 今回は例として地域、地域に存在する書店たち、書店の持つ本をマ…

GAEにデプロイするとき今のバージョンのzapは使っちゃだめ

GAEでgolangのwebサービスをデプロイしようとしたとき github.com unique id発行のために上のライブラリを使っていたんですが、内部でzapを使っていました。 github.com zapは以下のようにgo1.9から追加されたtype aliasを使っています。 package zap import…

自作OS入門の環境をOS Xで整える

動機 「30日でできる!OS自作入門」を読み実装しようと思ったところ、環境がwindows。おまけにアセンブラやビルド環境がWindows故、そのまま流用できませんでした。 そこで少し色々調べた結果、http://bttb.s1.valueserver.jp/wordpress/blog/2017/11/14/mak…

Contikiにおけるファイル分割してコンパイルの仕方とPROCESSによる並列実行

卒業研究で使ってるWSN用のOS、というより超巨大ライブラリのContikiというものについてメモしておきます。 Why そもそも日本語のドキュメントは勿論、英語でのドキュメントもサンプルを動かしただけとかばっかで深いところに突っ込むにはソースコード読むし…

HighSierraにアプデしたらvimが起動できなかった

macをHigh Sierraにアプデしたんですが、コンソールでvimを起動したらこんなメッセージが dyld: Library not loaded: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib Referenced from: /usr/local/bin/vim Reason: im…

開発におけるdockerの利点とかその他諸々

インターン先での開発時はdockerを使って環境を構築することが多いです。 でも最近までdockerがなんたるかをwebで読んでもちんぷんかんぷんだったにも関わらず使ってると便利だなーって思えるようになりました。 でも環境構築するまでは結構苦労がありました…

2週間ほどのベトナム滞在記

お久しぶりです。学校の留学プログラム、みたいなもので2週間ほどベトナムのハノイに行っていました。 今回はそこでの経験を書き起こしておこうと思います。 そもそもなんで行ったのか そもそもなんで留学なんか行ったの?というお話ですがそれは研究室配属…

アナグラム判定メソッドの実行速度を比較してみた

今回は前回の続きといいますか、似たような問題に対する実装を複数パターンあったのでその速度を比較してみました。 問題 二つの文字列が与えられた時、片方がもう片方の並び替えになっているかどうかを決定するメソッドを書いてください。 前提条件:空白や…

C言語のポインタインクリメントの話

新年あけましておめでとうございます。 今年は特に勉学への時間を費やしたいと思います。 さて、最近は競技プログラミングというか一からプログラミングとコンピュータの仕組みについて改めて勉強しているので今回は そこでふと疑問に思った点について書いて…

暇つぶしのプログラミング

今日は暇だったので CodeIQ で解いた問題について書いてみます。 どういう問題かというと… 2つの整数値N, Mが与えられます。 0からNまでの各整数(10進数)について、2進表記したときに1の数がM個になるものを数えてください。 たとえば、9を2進表記すると10…