What is it, naokirin?

kaminari に入門して、ページネーションしよう

github.com kaminari といえば、Rails などでページネーションするための gem です。 今回は Rails に導入してみて、ページネーションしてみることにします。 今回は Rails 5.2, kaminari 1.1.1 で行っています。 kaminari をインストールする 確認用に User…

Ruby on Rails の has_secure_password のコードを読んでみる

最近は個人アプリ開発だと OpenID Connect などで済ませてしまうかもしれませんが、Ruby on Railsで直接パスワードを記録する際にデフォルトで利用できる has_secure_password メソッドの実装を読んでみました。 読んだのは Rails v5.2.3 になります。 has_s…

MySQLとPostgreSQLのトランザクションまわりをざっくり調べる

MySQLの世界で生き続けてきたので、そろそろPostgreSQLも学ぼうということで、まずはトランザクション周りから。 個人的にはこの2つのRDBMSの違いとして、コマンド以外だと、トランザクション分離レベルとインデックス周りの違いに対するイメージが強かった…

Micronautで簡単なHTTPサーバーを実装してみる

記事を書いたばかりですが、Micronautに触った続きとして、もう少し実際の実装部分を掘り下げたところを書いてみます。 前回の記事は以下です。Micronautの導入やIntelliJ IDEAでの開発方法、Micronautによるサーバーの実行方法はこちらを参考にしてください…

Micronaut に入門してみよう

結構前から気になりつつ、触ることができていなかった Micronaut に今回入門することができました。 micronaut.io どんなものかは実際のページを見てもらうと早いと思いますが、以下にざっくりとした紹介を書いてみます。 マイクロサービスを見据えたJVM上の…

Kotlinプログラミングを読んだ

Kotlinプログラミング作者: ジョシュスキーン,デビッドグリーンハフ,Josh Skeen,David Greenhalgh,吉川邦夫出版社/メーカー: 翔泳社発売日: 2019/02/14メディア: 単行本この商品を含むブログを見る 2019/2/14 に発売された Kotlin 初心者向けの書籍。 Kotlin…

ActiveModel::Model で DBに依存しないモデルを作ろう

もう使い古されたネタという感じですが、Railsを使わずとも ActiveSupport だけを利用してRubyのコードを書くことは結構多いのではないでしょうか。 blank? , present? であったり、 pluralize や try 、 1.year.ago のような呼び出しなど、ヘルパーメソッド…

RxJava リアクティブプログラミング を読んだ

「RxJava リアクティブプログラミング」という本をもらって読んだのでその感想を書いていきます。 ちなみに自分はRxについて他の言語で多少やったことがあるので、Rx自体の初心者ではないです。 RxJavaリアクティブプログラミング (CodeZine BOOKS)作者: 須…

Embulk の input plugin を書いてみよう

今回は少し前に Embulk を使う際に input plugin を用途に合わせて書き換えを行ったりしたので、そのあたりの簡単な input plugin の実装の方法について書いていきます。 Embulk 自体については正月あたりに書いた記事を参照してみてください。 Embulkでバッ…

Kotlin向けDIフレームワーク Koin を使ってみよう

Kotlin は最近は Android で正式採用され、開発に採用される方も増えてきたのではないかと思います(とはいっても Google I/O 2017 なのでもう一昨年の話ですが)。 Androidに限らず、テストを書いたりしながら開発をしていると、DIのような依存性を柔軟に解…

Embulkでバッチ処理をしてみよう 其の4

前回までで既存のプラグインを用いたEmbulkでのバッチ処理を実行するために必要な情報を見ていきました。 一度きりの実行の場合はこれまでの知識で十分ですが、定期的に実行したい場合、とくに一連の処理を定期的に実行したい場合は cron だけでは足りない場…

EspressoでAndroidのUIテストを始めよう(with Android Studio)

と言いつつEspressoによるUIのテストは初心者です。 今回はAndroid StudioでEspressoによるUIテストをやってみたので、その導入と初歩的なコードを書きのこしておくことにします。 Android Studioでプロジェクトを作成するのは特に特別なことはしないため、…

Embulkでバッチ処理をしてみよう 其の3

前回はコマンドや設定周りについてみていきました。 前回: Embulkでバッチ処理をしてみよう 其の2 - what is it, naokirin? 今回は liquid テンプレートによる設定の書き方を見ていきます。実際にEmbulkを利用していくことになった際に環境ごとに変えたり、…

Embulkでバッチ処理をしてみよう 其の2

前回の其の1では、簡単なEmbulkの説明とサンプルをもとにデータインプットとアウトプットに対してEmbulkを動かすところまでを見ていきました。 前回: Embulkでバッチ処理をしてみよう 其の1 - what is it, naokirin? 今回は embulkコマンドや設定の詳細に…

Embulkでバッチ処理をしてみよう 其の1

かなり昔から使われているツールですが、最近Embulkを利用することがあったので忘れないうちに入門の情報を書いていきます。 よくEmbulk は Fluentd のバッチ版などと呼ばれて紹介されています。 Fluentdとは違い、コマンドなどで実行したときのみデータソー…

LittleBits + Arduino で扇風機を作ろう

前回はやや複雑になってしまいましたが、今回はシンプルな ON/OFF と ファンの回転速度を調整できるミニ扇風機を作ってみました。 ボタン、ディマー、バーグラフ、ファンを接続しています。 ファンの手前には強度を数値的に見るために Number bit を設定して…

LittleBits + Arduino で数字をランダムで抽選する機能を作ってみる

Kubernetes に翻弄され、機械学習に難しさを覚え、Go でSCPってなんやねんとなっている今日このごろです。 そんな中、今日は LittleBits と Arduino を使って、ランダムに1つの数字を抽選する機能を作ってみました。 そもそも LittleBits ってなに? Arduino…

Kubernetes の認証とアクセス制御

今日は Kubernetes の認証とアクセス制御について、概念周りまとめていこうと思います。 バージョンは v1.10 の情報を基にしています。 Kubernetes の Api Server の認証とアクセス制御の挙動 Kubernetes では 実際のリソースへのアクセス時に以下のような手…

共通性と可変性について

マルチパラダイムデザインを読んでの共通性・可変性まわりの自分なりのまとめ。読んでから随分と経ってしまったので、多少読み返しながら書いていってます。 あと、マルチパラダイムデザインに直接書いてないことも書き足しています。 新装版 マルチパラダイ…

機械学習まわり調べたことの情報整理(機械学習における種類について)

「ゼロから作るDeep Learning」を読み終えて、その間に機械学習について色々調べたりしていたので少し自分なりに調べたことを雑多ではありますがまとめておきます。Deep Learningについてはちょいちょい実践してみながら、またブログの記事にまとめられたら…

エンジニアリング組織論への招待を読んだ

エンジニアリング組織論への招待 ?不確実性に向き合う思考と組織のリファクタリング作者: 広木大地出版社/メーカー: 技術評論社発売日: 2018/02/22メディア: Kindle版この商品を含むブログを見る エンジニアリング組織論を読み終えたので感想を書いていきま…

JupyterLab で unittest を実行する

最近「仕事ではじめる機械学習」という本をとある方から頂いたのですが、本の最初に「ゼロから作るDeep Learning」などの二冊目として活用してくださいといったことが書かれていました。そもそも機械学習やらに一切触れてきていない(どんなものかをなんとな…

カイゼン・ジャーニーを読んだ

カイゼン・ジャーニー たった1人からはじめて、「越境」するチームをつくるまで作者: 市谷聡啓,新井剛出版社/メーカー: 翔泳社発売日: 2018/02/15メディア: Kindle版この商品を含むブログを見る カイゼン・ジャーニーを読み終えました。 というわけで読後の…

Dockerコンテナのlogging-driverを変えずにKibanaにDockerのログを表示する

Dockerコンテナからログファイル出力がアプリケーション的に難しい、けれどエンジニア以外でもログを見たいという話が出たので調査してみました。 方針としては、以下を目指しています。 docker-compose でできる ログファイル出力がなくてもできる docker l…

Effective SQL を読んだ

Effective SQL作者: JohnL.Viescas,DouglasJ.Steele,BenG.Clothier出版社/メーカー: 翔泳社発売日: 2017/12/20メディア: Kindle版この商品を含むブログ (1件) を見る 三連休を利用してEffective SQLを読んだので、読後の感想を書いておきます。 個人的には概…

個人的なプログラミングのときに考えていること(2018年版)

目次 目次 趣旨 始める前に考えること プログラミングで解決しようとしている問題を理解する そもそも解決すべき問題なのか考える より良い解決策が無いか考える 実装の前に だれが関係者か(ステークホルダの理解) なにが関係するか(依存するタスクの把握…

linkerdについて調べてみた

複雑化しやすいマイクロサービス間の連携の解決について気になっているところでlinkerdについて知ったので少し調べてみました。 ただ、思ったより日本語の情報は無いですね。。。 大規模なサービス連携でなければ、Consulなどでのサービスディスカバリ単体が…

Google Compute Engine における概念のまとめ

Google Compute Engineについて利用する機会ができたので、関連する概念の概要をまとめておこうと思います。 主に用語とその簡単な概要みたいな形になるかと思います。 Google Compute Engineとは Google Compute Engine(以降GCE)は、Google Cloud Platfor…

Portainerを利用して個人環境のコンテナ管理をする

Portainerとは PortainerはDockerホストのコンテナ等の情報をブラウザで確認・操作できるツールです。 知らずのうちに溜まっていくボリュームやイメージなどが視覚化されるので便利です。 またブラウザ上でコンテナにシェルでログインすることもでき、かなり…

木構造を描くアルゴリズムについて(Reingold-Tilford Algorithm)

最近、UnityでPlayable APIというものを調べる機会がありました。 その際にそのPlayableの木構造をUnity上で表示できるEditor拡張としてPlayableGraphVisualizerというものがあると知ったので軽く見ていて、「Reingold Tilford」というものが出てきて調べて…