<< 前へ | Home

なぜ、テキストエディタじゃなくてIntelliJ IDEAを使うか。 #jbugj

なぜ、IDEじゃなくてVimを使うか。 - Qiitaのパロディです。

ここに書かれていることは私の「なぜ、テキストエディタじゃなくてIntelliJ IDEAを使うか。」の理由なので、IntelliJ IDEAユーザー全員同じ理由とは限らないのでご注意を...。
また、だいぶ省略しているので、IntelliJ IDEAを全くしらないひとには分からないところも多々あるかもしれません、ご了承を...。
IntelliJ IDEA以外のIDE(NetBeans、Visual Studio、Eclipseなど)では同じようなことが実現できるかもしれないので、必ずしもここであげたことが正しいわけではないですのでご勘弁を...。
1. Mac、Linux、Windowsのどれでも使える。
MacやLinuxやWindowsユーザーは新しいマシンを手に入れたら真っ先にIntelliJ IDEAをインストールします。
IntelliJ IDEAは30億のデバイスで動くJavaで出来ておりマルチプラットフォーム対応なのでさくっとインストールできます。
「Windowsユーザなので、Macに乗り換えたらIntelliJ IDEAを使いたい」とかTwitterなどでよく見ますがWindowsでも普通に使えます。

また、IntelliJ IDEAをソースコードからビルドするのも割と簡単です。
古代の技術であるantのスクリプトが置いてあるのでGitHubのリポジトリからチェックアウトしてantコマンドを叩けば大抵の環境でビルドできるでしょう。
リポジトリのクローンにxx分くらい、ビルド時間はxx分くらいですが普通自分でビルドする必要はまずないでしょう。(リポジトリがデカイのでブログ記事書いている間にはクローン完了しなかった)

2. 起動が速・・くはない。
IntelliJ IDEAの起動時間は数秒という単位で起動し終えます。
テキストエディタだと起動時間がミリ秒単位かもしれませんが、一日に何度も起動するものではないので私には耐えられますね。

3. キーマッピングが自由自在。
IntelliJ IDEAやその他のIDEではある程度キーマッピングの設定ができると思うのですが、大抵は修飾キー(CtrlやAltキーなど)が必要です。
その点、IntelliJ IDEAは修飾キーなしのマッピングも自由に出来ます。
しかしIntelliJ IDEAはVimと違ってモードという概念がないので普通そういうキーマップをすると死にます。

4. 他のテキストエディタやテキストエディタに比べて、カーソルが速く移動できる。
他のIDEやテキストエディタでは、Ctrl+矢印キーなどで単語の末尾やHomeキーで行の先頭に移動できたりしますが、
IntelliJ IDEAはどこでも検索(Search Everywhere、Shift2回で起動するSpotlightみたいなの)でどこへでも移動できます(多分)。
クラス名、シンボル名、ファイル名、アクションなどなんでも素早く呼び出せるので超便利。

5. ホームポジションをあんまり崩さないで操作ができる。
IntelliJ IDEAのデフォルトのキーバインドは、基本的にホームポジションを崩さないで操作ができます。
簡単な所でいうとCmd+1でプロジェクトペインへ移動、Alt+F12で内蔵ターミナルを起動です。内蔵ターミナルからVimやEmacsを起動することもできます。他に、マウスでメニューを選択してあれこれすることは操作を工夫すればほぼないです。
大抵、どこでも検索から実行することができます(これは当然キーボードから操作できます)。

6. 検索、置換が強力(変態)。
私の実感ではIntelliJ IDEAは他のIDEに比べて検索、置換が強力(変態)だと思います。
検索、置換が強力なおかげで、「コメントに含まれる特定の文字列の置換」ばども一発で行えたりします。
当然IntelliJ IDEAなので文字列の置換は、ダイアログボックスの表示(Ctrl+Shift+F)も置換(Ctrl+Shift+R)の実行もキーボードから行えます。

7. Postfix completionという機能が便利過ぎる。
メソッド呼び出しなどの表現を書いた後、インテンションアクションを実行して変数を導入とかよくやりますが、IDEA 13.1で導入されたPostfix completionを使うとアクションを呼び出さずとも変数の導入やif文の構成などが行えます。上から下に、考えるがままにコーディング出来るので超便利。
IntelliJ IDEA 13.1のPostfixコード補完 | JetBrains ブログ

8. 英語ドキュメントやヘルプが豊富。
まぁ、次の「9. IntelliJ IDEAコミュニティがやばい。」に関連しますが、IntelliJ IDEAに関する英語のドキュメントやブログ記事が一杯あります。
日本語ですとIntelliJ IDEA Advent Calendar 2013というのもあります。これだけで日本語のブログ記事が25個あることになります。とても便利です。
また、IntelliJ IDEAの仕様はヘルプであるといっていいくらい、IntelliJ IDEAのヘルプは充実しています。
これもほとんど日本語に翻訳されていませんので英語の勉強になります。

9. 日本のIntelliJ IDEAコミュニティがやばい。
また、FacebookのJetBrains IDEというコミュニティにはコアなJetBrains IDEユーザーがたむろしているので、ここに質問をなげれば大抵回答が返ってきます。とても便利です。
あとは、Twitterで#jbugjというハッシュタグをつけてツイートするとIntelliJ IDEAについて何か疑問を書けば大抵@masanobuimaiが答えてくれます。これもとても便利です。
(私もですが、Twitterでハッシュタグ「#jbugj」の検索は常にしています。

10. ある意味マルチプラットフォームなIntelliJというプラットフォーム。
IntelliJ IDEAが入っていればMac、Linux、Windowsのどれでも使えるIntelliJ IDEAのプラグインはとても便利です。

11. 設定ファイルを読む必要はない
設定ダイアログを全文検索できるので、かゆいところの設定箇所もすぐに見つけられます。

12. 他言語サポート
私はほとんどの言語(JavaだろうとPHPろうと)をIntelliJ IDEAで書く人なんですが、IntelliJ IDEAはほとんどの言語のシンタックスハイライト、コード補完、リファクタリング、フレームワークをサポートしています。
(さすがにリモートのテキストファイルをチョロっと変更する時などは内蔵ターミナルでsshログインしてvimをしょうがなく立ち上げたりはしますけどね...)

13. UIがどんどん改善されていく
アップグレード毎にUIが改善されているのかなんなのか意味不明に変わっていく製品があります。
IntelliJ IDEAは毎回迷いはしない程度に少しずつ、でも着実にUIが進化していきます。
あと、各言語ごとにIDEの使い方を覚えるのもメンドイです。

終わり

とりあえず、私の「なぜ、テキストエディタじゃなくてIntelliJ IDEAを使うか。」の理由をあげてみました。
ほかにもまだまだあると思うのですが、まぁこれが主な理由かなっと思います。

関連記事:
なぜ、IDEじゃなくてVimを使うか。 - Qiita(パロディ元です)
ココが好きだよIntelliJ IDEA - 便利機能10選 #jbugj - #侍ズム

このエントリーをはてなブックマークに追加   

Twitter4J、IDEAを使ってみたい、使い倒したい方にオススメ - 7月2日(水) IntelliJ IDEAハンズオンセミナー - Twitter4J + IDEA = ∞ #ideamugen

7月2日にIntelliJ IDEAとTwitter4Jを使ったハンズオンセミナーを茅場町にあるコワーキングスペースCo-Edoにて開催します。

Java、PHPエンジニア向けの求人・派遣サービスであるJapheego(ジャフィーゴ)様の協賛です。

IntelliJ IDEAハンズオンセミナー - Twitter4J + IDEA = ∞ #ideamugen - Co-Edo Developers | Doorkeeper

IntelliJ IDEAを試してみたい(もっと使いこなしたい)方、Twitter4Jを試してみたい(もっと使いこなしたい)方は是非ご参加ください。
ハンズオンセミナー形式ですが、耳だけ傾けながらモクモク内職作業をしていただいても構いません。LTの時間では当日作った、またはすでに作ってあるTwitter4J関連アプリ・サービスの紹介をしていただくことが出来ます。
タイムテーブルは以下の通り。

- 交流タイム(19:00〜19:30)
- ハンズオンセミナー(19:30〜21:00)
・Twitter APIの基本
・プロジェクトの作成
・Hello Worldアプリの作成
・dev.twitter.comにおけるアプリケーション登録
・ホームタイムラインのダンプ
・IDEAコード補完tips
・GitHubとの連携
・アプリケーションからのツイート
・Spring Bootによる簡単なWebアプリケーション化
・Chrononを使ったデバッグ
- 自習タイム(21:00〜21:30)
- LTタイム(21:30〜22:00)

IntelliJ IDEAハンズオンセミナー - Twitter4J + IDEA = ∞ #ideamugen - Co-Edo Developers | Doorkeeper

関連記事:
エンジニア派遣求人サイト「Japheego(ジャフィーゴ)」は、勉強会にビールとお寿司をお届けしつつ宣伝活動! - はてなニュース

このエントリーをはてなブックマークに追加   

Twitter4Jが7周年を迎えました!お祝い募集中 #twitter7j

Twitter4Jを公開したのが2007年6月9日。
Twitter4J 1.0 リリース - #侍ズム

気がつけば執念の7周年を迎えていました。

レートリミット、画像アップロード、ハッシュタグ、リツイート、幻のアノテーション、リスト、ストリーミングAPI・・・・そしてAPI1.1。とてつもない速度のアップデートに逐一対応してきました。

しばらくAPIのアップデートはなくもう安定メンテナンス期に入ったかと思えばここ最近ツイートに複数の画像を添付できたり、DMに画像を添付できたりといった新機能の追加が立て続けに行われています。
その熱意はどこから出てくるんだと自分でも疑問なくらいものすごい時間をTwitter4Jに費やしてきました。もちろんたくさんのアプリケーション、サービスを支えているという喜びと、「助かっています!」という声に支えられて来たからです。いまやMasterCard、Evernote、LinkedIn、Twitterを初めとする大企業から個人のアプリケーション、プログラミングの練習まで幅広く使って頂いています。

最近はもっぱら新機能開発はTwitterと連携するアプリケーションを開発していらっしゃる方々が行ってくださっており、自分はpull requestをレビューやリリース管理に回っています。
(クローズドベータのAPIアクセス権も一部もらっているのでそこらへんの開発はやっていかないと!)

昨年も活用した、応援の声を物(Amazonギフト)で届けてくれるサービス、Kampa!でお祝い、応援の声を集められれば!

Twitter4Jでなにか楽を出来た方、勉強になったよ!応援してるよ!という方、実際にアプリ・サービスで使っているよ!という方、以下のリンクよりカンパをいただけるとうれしいです(15円からカンパできます)。




もちろんカンパをいただかなくても日頃の「ありがとう」の声、ツイートでもたくさんたくさん元気がでるので今後ともご声援をいただければ幸いです。

なお、カンパしていただく際はどなたから送られてきたか分かるよう、メッセージにお名前やハンドルをご記入いただければと思います。(どうしてもという場合は匿名でも結構ですが)

また昨年と同じく、カンパしてくださったプロジェクト・企業のロゴ/リンクを随時このエントリに貼り付けていきます。(順不同、大小不同):

セガの岩﨑さん(@twtrfk)はバーチャファイターを始めとするアーケードゲームのTwitter連携にTwitter4Jを活用してくださっています。

Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack from Takeshi Iwasaki

・Virtua Fighter5 Final Showdown:バーチャファイター5 ファイナルショーダウン


・初音ミク Project DIVA Arcade Future Tone


@takke / TwitPane(ついっとぺーん)
数々のコア機能をコントリビュートしてくださっています。中でも大きいのがSPDY/HTTP2.0対応!


DeployGate - 開発中のアプリの配布を、びっくりするぐらい簡単に


大きな電話帳


@fukai_yas
JavaFXでHello world(IntelliJ IDEA) : 人生、気合いと具合 - blog

@komiya_atsushi
Application-only authentication対応を含む数々のコントリビュートをしてくださっています。データマイニングのコミュニティ(#tokyowebmining)運営をされていたり、お勤め先のAlbertでもTwitter4Jを使って色々と分析をしていらっしゃる(?)ようです。
データマイニング+WEB@東京 (TokyoWebmining) - Google グループ






@gecko655
Twitter4Jを使い始めて一週間とのこと。何か面白いものを作って頂ければ!

@johtani
Elasticsearchといえば@johtani!


@kmizu
Scala大好き水島さん。ブログの「初学者向けの Scala Tips」は毎回楽しみにしてます!
kmizuの日記

メディアテクノロジーラボの黒田さん(@i2key)は沢山のサービス・アプリで女子高生とTwitter4Jを活用してくださっています。

cameran(以下のアイコンは左がiOS版、右がAndroid版にリンクしています)


cameranコラージュ(以下のアイコンは左がiOS版、右がAndroid版にリンクしています)


cameranアルバム(以下のアイコンは左がiOS版、右がAndroid版にリンクしています)


F#の熱心な布教家として知られるガブさん(@gab_km)からも応援いただきました!
F# User Group Japan

Local Search(@aguuu)


応援ありがとうございます!:@fukai_yas

尊敬する小西さん(@shunjikonishi)からも。ありがとうございます!HerokuでWebSocketを使ったクイズアプリ、QuizarでTwitter4Jを利用してくださっているそうです。
Quizar
WebSocketクイズアプリを作りました - フレクトのR&Dブログ

最近テクニカル文章チェックツール(RedPen)を熱心に開発していらっしゃる伊藤さん(@takahi_i)からも。ありがとうございます!
RedPen: a text inspection tool
RedPen を公開しました (ベータバージョン) | Advanced Technology Lab

技術系ライターの杉山さん(@zinbe)からもお祝い頂きました。ありがとうございます!
杉山さんのブログはこちら↓
我らねぶた馬鹿

@iam_o_sin作、tweecha
アプリオ、アンドロイダーのランキングにてTwitterアプリ部門1位を獲得しているそうで。すごい!
androidスマートフォン用ツイッタークライアント tweecha(ついーちゃ)

ダウンロード↓


パンケーキ屋さん情報でいつも重宝している30minのサービス、「みんなのパンケーキ部」や「原宿パンケーキ速報」運営・開発の@ysakakiからのお祝いも。ありがとうございます!
パンケーキ専門サイト「みんなのパンケーキ部」
原宿パンケーキ速報 - 原宿と東京のパンケーキを食べ歩くよ
全国600店舗がいつでも見られる「みんなのパンケーキ部」公式アプリ同時リリース!

いつもドラクエの情報には事欠かないコワーカー、@mike_neckありがとう!
最底辺ライン工ブログ

API大好き、Groovy大好き関谷さん@kazuchikaありがとうございます!
Apigee、いつか必ずや活用します!
Apigee API プラットフォームとは ? | Apigee Product Documentation
API管理もこれで簡単!Apigeeが凄い - Dhaulagiri
米国企業のAPIビジネス最前線まとめ&4つの事例~I love APIs Conference 2013レポート | イベントカレンダー+ログ

Facebook4Jの山下さん@roundropからもお祝いいただきました。ありがとうございます!
Facebook4J
山下さんは最近Facebook4J以外ではQuercusのめちゃめちゃ実用的ノウハウを披露されたことでも(自分の中では)有名。
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12 from Ryuji Yamashita


@sue445作:
Azusaar!!(APIでお世話になってます)


jubeat++


フルボッコヒーローズ

Bootstrap、Spring bootとbootのつくものは何でも詳しい(ちょっと違う)槇さん(@making)ありがとうございます。献本していただいたはじめてのBootstrap、レビューがかけておらずもうしわけないです!
この本↓を参考にしながらhttps://secure.samuraism.comを作りました!


最近「弟子日記」を拝読中。@yuripopありがとう!
弟子日記 (yuripop)|note

アイマスDB(@imas_DBの中の人、@mirai_iroありがとう!
アイドルマスター データベース (情報まとめ)
アイマスといえばでるぴさん(@DeLPiM)だな、とか思いつくけどやったこともライブにいったこともないですごめんなさい。

ディープな解析ツール、HeapStartsで有名な久保田さん(@sugarlife)からも、ありがとうございます!


ツイ廃あらーとの(@MulticolorWorld)より応援、ありがとうございます!
毎日0時にツイート数の統計をツイートしている方はこのサービス使ってらっしゃったんですねー。

ツイ廃あらーと開発日誌 | 開発中のこととかいろいろ

1Click飲みの河本さん(@kenkawakenkenke)からも応援頂きました。1Click飲み、Twilioを使ってサクっと飲み屋さんの予約を取ってくれるすごいサービス!TwilioやTwitter4Jを使っているそうです。
1Click飲み



関連記事:
Twitter4Jが6周年を迎えました!お祝い募集中 #twitter4j6thanniversary - #侍ズム

このエントリーをはてなブックマークに追加   

#JJUG_CCC 2014 Spring にてデバッガの使いこなし方を説明します #ccc_h4

バグのないプログラムは書けません。プログラミングに必ずデバッグという作業が伴います。
Javaには優れたIDEが沢山あり、デバッグ機能も充実しています。が、それなりにスキルのあるプログラマでもがむしゃらにブレークポイントを設定してはステップ実行で腱鞘炎になりそうになったり、print文をただひたすら入れてみたりと力業や勘でデバッグを行っていることが多いのではないでしょうか?
(自分がそうでした)

そこで明日5月17日、ベルサール西新宿にて開催されるJJUG CCCにて一枠時間を頂いて、「Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~」という話をします。
ブレークポイント、ステップ実行、式評価、リモートデバッグ、条件付ブレークポイントといったデバッグ / デバッガの基本を3大IDE - NetBeans、Eclipse、IntelliJ IDEAを使って説明します。
セッションを聞いて頂ければ「print文が入ったコードをコミットしてしまいプロダクション環境で標準出力が溢れてしまう」、なんてことはもう二度と起きない、はず!

JJUG CCC 2014 Spring | 日本Javaユーザーグループ

JJUG CCC 2014 Spring – Speaker | 日本Javaユーザーグループ

タグ :
このエントリーをはてなブックマークに追加   

#typetalkhack に参加しました #typetalk4j

Typetalk APIを使ったハッカソン、Typetalk Hack Tokyoに参加しました。

Typetalkオンライン・コラボレーションドローツールのCacooやプロジェクト管理ツールであるBacklogなど、協調作業の生産性を向上するクラウド型ツールを提供するヌーラボが立ち上げているチャットツール。
Typetalk

現在のところは無償で使えるツールでAPIも豊富にあるということでイソイソを参加してきました。
Hackや#golang、GAS、Scala、Smalltalkなどを活用する様々なオシャレプログラマに混じってベタベタなJavaでチャレンジ。

実はTypetalkは当日サインアップしたくらいでどんなサービスなのかも知らなかったのですが、一目瞭然。チャットに特化したインターフェースで非常にわかりやすかったです。

そしてAPIドキュメントが非常に充実。サンプルコードも説明もしっかりしているのですぐに呼び出せます。

今回作ってみたのはTypetalk4J。つまりJavaから型安全にTypetalk APIを呼び出すことが出来るライブラリ。

とりあえずシンプルなコードで投稿が出来るところまでは行った。

public class TypeTalkTest {
public static void main(String[] args) throws TypetalkException {
Typetalk typetalk = new Typetalk(4707);
typetalk.getAccesToken();
typetalk.post("このメッセージがTypetalkのトピックに投稿される!");
}
}


実体はTwitter4Jの内部で使っている簡単HTTPラッパクラスを使っていて、Typetalk APIのラッパよりも、Twitter4JのOAuth2.0対応強化(といっても1コミットだけ)に時間を費やしました。

まだアクセストークンの取得と、テキストメッセージの投稿が出来るだけなので、もう少し対応APIを増やしてから公開します。最初のインターフェース設計が悪いと後々苦労することになりそうなのでよくよくAPIドキュメントとにらめっこをしてから・・・ね。

それにしても、ものの1時間でサクサクっとTypetalkと連携するプログラムを作ってしまうハッカー達が集まってすごかったです!

Typetalkは(今のところ)無料で使えて、(料金ではなくユーザービリティの面で)手軽なので、何かと重宝しそうです。そしてAPIはやっぱり楽しいなーと実感。

開催してくださったヌーラボさん、そして会場を提供してくださったSmartNewsさん、ありがとうございました。


あ、あと本気でやりますよという印にドメインもとりましたよ。まだ空っぽのgithubのリポジトリに転送してるだけだけど。
http://typetalk4j.org

関連記事:
Typetalk Hack から学ぶ Typetalk API のはじめかた | ヌーラボ [Nulab Inc.]

タグ :
このエントリーをはてなブックマークに追加   

エンジニアtypeに寄稿 - 「API経済」の転換期、日本は生き残れるか~これだけは押さえておきたい3つの戦略

キャリア関連のインタビュー記事や、エンジニアによる多岐にわたる記事を多く掲載しているエンジニアtypeにて、『New Order - 「融合の先を拓く者たち」』という新年度特集があります。

今回API関連で取材か寄稿を、という依頼を頂きました。光栄にも結構な頻度で取材して頂いているので今回は寄稿をしてみました。

「API経済」の転換期、日本は生き残れるか~これだけは押さえておきたい3つの戦略【特集:New Order】 - エンジニアtype

自分の好きなAPIについて、重要だと考えている項目3つを挙げています。タイトルにある「API経済」という言葉を文中に入れ損ねているのはご愛敬。


余談ですが、締め切りは設定されていなかったものの新年度の特集記事群の1つということで、がんばって急いで書き上げました。恐ろしく遅筆なんだけれども今回は3時間半で約5000文字と自己最高速度。
@dentomoお勧めの「文章を書くのがラクになる100の技」にあった「何を書くか悩まなくて良い程度まで掘り下げてアウトライン/プロットを決める」というコツを適用してみました。

↓オススメです

このエントリーをはてなブックマークに追加   

山城死んだ #ymsr

Java界、PHP界で名を馳せた山城さんが亡くなりました。
java-jaというやんちゃなコミュニティの宴会部長。訃報を聞いた瞬間は「おいおい冗談にもほどが・・」と一瞬思ってしまったくらい。
もちろん死をネタにするなんてことはさすがにないだろうと次の瞬間には本当なんだろうと受け止めたけど、なんともやるせない。

たくさん勉強会で一緒したり、懇親会で飲んだり、お互い欲しい物リストにあるものを送りつけ合ったりした中でした。つい最近はFacebookやLINEで仕事の話もしていたところで、これから一層活躍するはずだった矢先。残念至極。

氏の人徳もあってたくさんの人があつまって送別会をしました。「告別式」みたいなしんみりしたものではなく、みんなでワイワイガヤガヤ楽しんで本当に素敵なお別れ会でした。

写真をパシャパシャ撮っていたけれども笑顔が沢山!整理できていないけれどもひとまずヨシオリさんの笑顔を1つだけ。

この一枚だけでもいかに楽しい会だったかがわかるかと。

幹事、スタッフの方々に感謝!

ちなみに彼の最後のツイートはこれ。



亡くなったことを聞いた方は恐らく一様に(いやおまえ死んでるから)と思いつつ悶々としていたはず。

今日は天国に行っていても突っ込みいれてあげれば喜ぶんじゃないの?と茶々を入れてあげることに。まだまだ生きている我々も、亡くなった彼もスッキリできたのではないかと。

ご冥福をお祈りします。

このエントリーをはてなブックマークに追加