Naoto Ikeno
Naoto Ikeno
Backend Engineer, Software Architecture & Design, Perl, Rust, Golang, GCP

IdeaVimで、「IntelliJでいつも使ってるあの機能」のaction名を探し当てる

June 11, 2019

IdeaVimのactionIdeaVimでは、~/.ideavimrcに設定を記述することでキーマップに任意のIntelliJの機能(action)を割り当てることができる。 以下に設定の記述例を示す。これは、「ノーマルモードでgdを入力すると、GotoDeclarationというactionを実行する」というキーマップの設定である。 ここでGotoDeclarationというのは、関数や定数の定義元にジャンプするIntelliJの機能であり、デフォルトだとctrl+B(Macならcmd+B)に割り当てられている。このように、IdeaVimでは、任意のIntelliJの機能をキーマップに割り当てることができるようになっている。「IntelliJでいつも使ってるあの機能」のaction名の見つけ方では、「IntelliJでいつも使ってるあの機能」のaction…



Getting Started with IdeaVim

January 25, 2019

Japanese version is hereIdeaVim Github: JetBrains/ideavimIdeaVim is a Vim emulation plugin for IntelliJ or other Jetbrains IDEs. This plugin are officially developed by Jetbrains as you can see the repository owner name.DemoKeymap is personally customized.Why use IdeaVimThe advantages in each of IntelliJ and Vim are as follows, I think.IntelliJ: Very powerful code completeion, code navigation…


Corne Keyboard (コルネキーボード) を組んだ

January 21, 2019

Corne Keyboard は、@foostanさんが設計している自作キーボード。ハッシュタグは #crkbd。設計図はオープンソースになっており、GitHubにて公開されている。なお実際には、Corne Keyboard というのはCorneシリーズの総称のようなものであり、具体的なキーボードの種類としてはCorne Cherry、Corne Chocolateなど、いくつかの種類が存在する。今回自分はCorne Cherryのキットを購入させてもらったので、実際に作ったり使ったりしてみての感想を書いていきます。なお、現在は遊舎工房さんのECサイトや実店舗にてキットが販売されているようです。完成物見た目と使い心地ともにとても満足しています。会社で毎日バリバリ使ってます。出会い常日頃から、左右分離式のキーボードほしいな〜と思っており、はじめは Ergodox EZ…


データベースという名のグローバル変数との向き合い方(Repository Pattern)

January 12, 2019

グローバル変数スコープ関係なく、プログラム中のどこからでもアクセスが可能な変数のこと。 その性質上、扱いには気をつけないといけない。扱いを間違えると、「いつどこで変数が書き換えられるかの把握が難しく、プログラムの見通しが悪くなる」といった問題が生じる場合がある。データベースはグローバル変数MySQL などのデータベースに格納されたデータはグローバル変数と同じ性質を持っている。SQL…



ブログをGatsbyJSに載せ替えました

August 04, 2018

GatsbyJS今までブログは Jekyll で生成してましたが、GatsbyJS に移行してみました。GatsbyJS を使うと React.js ベースの静的 PWA サイトを生成できます。 Blazing-fast static site generator と謳っているだけあって、ページ遷移が爆速になったので満足です。今までどおりホスティングは GitHub Pages ですが、GitHub Pages がいつの間にか独自ドメインの HTTPS をサポートするようになってたので、今まで使っていた Cloudflare の SSL 証明書から GitHub Pages のものに移行しました。


MouseX::Types::Enum - PerlでJavaのenum(列挙型)のようなクラスを実現するモジュール

May 20, 2018

Java のenum型のように、フィールドやメソッドを持つ列挙型を Perl でも使いたくなったので、MouseX::Types::Enumというモジュールを作りました。DependenciesMouseの拡張モジュールとして作ったので、Mouse に依存しています。使用例MouseX::Types::Enumでは、Java の列挙型のように各列挙定数がメンバ変数やメソッドを持つことが可能です。使用例を以下に示します。この例では、APPLE, ORANGE, BANANAという 3 つの列挙定数を定義しました。use句でMouseX::Types::Enumを呼び出す際に、定義したい列挙定数の配列を渡してあげます。列挙定数にname, color, has_seedというメンバ変数を定義しました。メンバ変数の定義には Mouse の文法であるhasが使えます。make_sentence…


IntelliJ(Android Studio)のVimプラグイン「IdeaVim」の使い方と設定

December 25, 2017

English version is here.この記事はJetBrains Advent Calendar 2017の最終日分の投稿です。前日まで空いていたため、滑り込みで参加させていただきました!IdeaVim Github: JetBrains/ideavimIdeaVim は、IntelliJ や Android Studio などの JetBrains 系列の IDE で使える Vim プラグイン です。このプラグインを導入することで IntelliJ などを Vim っぽく操作できるようになります。リポジトリ名を見るとわかるように、JetBrains の公式プラグインです。IntelliJ の初回起動時にもオススメされます。※ 以下、IntelliJ を例にして進めますが、JetBrains 系列の IDE…


first commit

October 15, 2017

Jekyll + GitHub Pages でブログを作ってみた。10 分程度あればブログを公開するところまで持ってこれて、その後のカスタマイズの自由度も高そう記事を Markdown で書ける記事を Git でバージョン管理できるなど、色々と嬉しい。 普段の学習がインプットに偏り気味なので、アウトプットの場としてブログを活用していきたい。 ちなみに、Jekyll のテーマはTale をベースにした。