Author Archives: Yusuke

Developers Summit 2018に出展いたしました #devsumi

先週東京で開催されたDevelopers Summit 2018に株式会社サムライズムの力を借りて出展いたしました。沢山のベロッパーとお会いできて大変充実した時間を過ごすことができました。 冬のDevelopers Summitへの出展はこれで6回目となります。5年前、日本では「知る人ぞ知る」ツールベンダであったJetBrainsですが、今や多くのデベロッパに愛されるツール・言語ベンダとなりました。5年という期間で、日本におけるJetBrains IDEのシェアは急速に伸び、またGoやC#のマルチプラットフォームIDEのリリース、チームツールの日本語化も果たしています。 JetBrainsはカンファレンスに出展する際、定番のステッカーにとどまらず、ヨーヨーや脳みそボールといったユニークなノベルティを差し上げております。 今回のデベロッパーズサミットでは株式会社サムライズムの発案で作成いたしましたショートカットコースターが大変評判でした。 次回は3月にScala Matsuri、そして5月にはUnite Tokyoに出展の予定です。またデベロッパの皆様とお会い出来るのを楽しみしております。

Posted in お知らせ | Leave a comment

Kotlin/Native v0.6 リリース!

Kotlin/Native v0.6をバレンタインデーにリリースいたしました。以下の機能を実装したメジャーリリースになります: コンパイラとGradleプラグインのマルチプラットフォームプロジェクトサポート Objective-C/Kotlinコンテナクラスの透過的なインターオペラビリティ 組み込み器機ターゲットのサポート(STM32 ボード) Kotlin 1.2.20、Gradle 4.5、Java 9サポート WebAssemblyバイナリの縮小化 (最大で160KiB縮小) CLion 2018.1向けのプラグイン修正 (macOSプラットフォームのライブラリインデクサーの修正) v0.6でKotlin/Nativeマルチプラットフォームプロジェクトをサポートし、単一のGradleビルドから異なるKotlinバックエンド、例えばJVMとNativeとJSをビルドできます。こちらのリポジトリをご参考にしてください。 また、ついにKotlin/Nativeプログラムを組み込み器機向けにビルドできるようになりました。現在のところZephyr Projectカーネルを使ったSTM32ベースのマイクロコントローラを対象としています。この機能はまだ実験的で、お試しになるとまだまだ問題にぶつかるかもしれません。Cとのインターオペラビリティにはまだいくつか問題がありますが今後のリリースで修正される見込みです。 v0.6の興味深い機能は -produce framework operational modeにおけるコレクションの透過的なインターオペラビリティです。つまり、KotlinのList、MutableList、Set、MutableSet、Map、MutableMapをコンパイルするとObjective-C/SwiftのコレクションであるNSList、NSMutableList、NSSet、NSMutableSet、NSDictionary、NSMutableDictionaryとして扱えます。 今回のリリースの重要なゴールはコンパイラのユーザビリティーと安定性の改善でした。多くの既知のバグやKotlin/JVMの非互換を修正いたしました。 最後に、CLion 2018.1のKotlin/Native v0.6サポートが追加されました。技術的な理由から、自動アップデートはできませんので手動でこちらよりダウンロードしてください。 最新バージョンをお楽しみいただき、素敵なバレンタインデーを過ごせますように! バイナリはこちらよりダウンロードしていただけます: macOS, Linux, Windows GitHubのリリースページはこちらです [原文]

Posted in Kotlin | Leave a comment

IntelliJ IDEA 2018.1 EAP: 外部アノテーションのインライン表示、Javaコンパイラ対応の強化など

新しいIntelliJ IDEA 2018.1 EAPビルドをリリースしました。こちらからダウンロードして頂くか、Toolboxアプリより更新してください。 ご存じの通りIntelliJ IDEAではコードをannotations.xmlファイルより、ソースコードの外部からアノテート出来ます。 これらの外部のアノテーションはライブラリのクラスなど、ソースコードをいじれない場合に便利です。IntelliJ IDEAは外部でアノテートされているコード脇のガターに@ iconを表示します。最新のIntelliJ IDEA 2018.1ではこの機能が強化され、外部アノテーションをコードにインライン表示してくれます。 IntelliJ IDEAは自動的に@NotNullまたは@Nullableアノテーションを推測し、ガターアイコンに推測によりアノテートされたもの(inferred annotation)であることを示します。最新のEAPではソースコード内に表示する機能もあります。 このオプションはデフォルトで無効化されています。この機能を使うにはPreferences | Editor | General | AppearanceのShow inferred annotations inline チェックボックスにチェックを入れてください。 アノテートすると良い候補が複数ある場合は、サブメニュー内にグループ表示してくれます。 新しいconstant conditions and exceptionsインスペクションはnullableな値をアノテートされていないフィールドに代入しようとしたとき警告します。 この機能を使うにはPreferences | Editor | Inspections | Probable bugs | Constant Conditions … Continue reading

Posted in IntelliJ IDEA | Leave a comment

Java Annotated Monthly – 2018年2月

イベント レーダー上にひっかかったのはブリュッセルで開かれた FOSDEM です。FOSDEMはオープンソース界隈で最も重要なイベントの一つです。Javaはオープンソースで重要な位置を占めますので、FOSDEMでは1トラック丸々Java向けとなっています。イベントを見過ごした方も、ほとんどのセッションのビデオやスライドはオンラインでご覧頂けます。ビデオ一つ分見るくらいの時間しか確保できないお忙しい方にはMark ReinholdのState of OpenJDKをお勧め致します。 また、Kotlin Conf 2018が10月3日〜5日にアムステルダムで開催されることがアナウンスされたことも忘れてはいけません。Kotlinを使っている、または使おうとしているのであればカレンダーに印を入れておきましょう。我こそは講演を!という方はこちらより応募 してください。 Java Oracleは新しいJava Magazineを発行しました。メイントピックはリアクティブプログラミングです。まだリアクティブプログラミングをウオッチしていなかったという方は、この機会を使って是非チェックしてみてください。 また、OracleはJava SEサポートロードマップをアップデートしました。重要なのはJava SE 8アップデートが2019年1月まで延長となったことです。法人組織外でご利用になる場合については2020年末まで延長されました。 Javaのリリースサイクルについて言うと、Stephen ColebourneがJava9について興味深いポストを書き下ろしました。 Mark ReinholdはJava 10がリリース候補のフェーズに入ったとアナウンスしました。最初のリリース候補は既にダウンロードしていただけます。 ローカル変数の型推論以上にJava 10がなにをもたらすのか、知識をリフレッシュしたいのであればArtem Smotrakovによるすばらしいまとめをご覧ください。 もうJava 10は完全にマスターしてしまったという方はJEPでJava 11をターゲットとしている項目をご覧ください。 また、いくつか注目すべきJEPドラフトが最近上げられました: launching single-file source programs (java HelloWorld.java)、raw string literals (エスケープなし、かつ改行を含められる)、incubating language and VM … Continue reading

Posted in IntelliJ IDEA | Leave a comment

Kotlin 1.2 リリース: プラットフォーム間のコード共有

Kotlin 1.2をリリースしました。これはKotlinをモダンなアプリケーションの全てのコンポーネントに渡って利用できるようにするための大きな一歩となるメジャーリリースです。 Kotlin 1.1でJavaScriptを正式なターゲットにし、KotlinコードをJSへコンパイルしてブラウザで動かせるようにしました。そしてKotlin 1.2ではKotlinコードをJVMとJavaScript双方で共用できるようにしました。ビジネスロジックを一度書けば、バックエンドでもフロントエンドでも、そしてAndroidのモバイルアプリケーションでも利用出来ます。そしてクロスプラットフォームのシリアライゼーションライブラリなど、コードの再利用性を高めるためのライブラリ開発も進めています。 Kotlin 1.2はすでに、本日リリースのIntelliJ IDEA 2017.3に含まれています。別のIDEバージョンをご利用であればTools | Kotlin | Configure Kotlin Plugin Updatesダイアログよりインストールできます。 このリリースは社外の沢山のコントリビューターの成果が含まれています。フィードバックを送ってくれた方々、問題を報告してくださった方々、そして特にプルリクエストを送ってくださった方々に感謝いたします。 マルチプラットフォームプロジェクト マルチプラットフォームプロジェクトはバックエンド、フロントエンド、Androidといった複数の層を同じコードベースからビルドする仕組みです。このプロジェクトではそれぞれcommon moduleを含みます。common moduleはプラットフォームから独立したコードとプラットフォーム(JVMまたはJS)固有のコードからなります。後者からはプラットフォーム依存のライブラリを呼び出すことができます。プラットフォーム固有のコードをcommon moduleから呼び出すには”expected”宣言を記述し、”expected”宣言に対応する”actual”実装を各プラットフォーム向けに実装することになります。 この機能について寄り詳しくはドキュメント(英語)をご覧ください。 ロジックをcommonコード側により多く記載出来るよう、以下のライブラリを開発・提供しています: kotlin.test: Kotlin 1.2にデフォルトで含まれています。テストを一度書けばJVMとJSで実行できます kotlinx.html: マルチプラットフォームでのレンダリング(isomorphic rendering)を実現します。同じコードを利用してバックエンドでもフロントエンドでもHTMLをレンダリングできます kotlinx.serialization: JSONまたはProtoBufをシリアライゼーションフォーマットに使ってプラットフォーム間のKotlinオブジェクト受け渡しを簡単に実現します なおマルチプラットフォームプロジェクトは現在実験的な機能(experimental feature)扱いです。機能自体は安定しておりプロダクションに適用可能ですが、今後のリリースで変更が必要になる可能性があります(マイグレーションツールを提供する場合があります)。 コンパイルパフォーマンス 1.2の開発にあたりコンパイルのパフォーマンスを向上することに多大な努力を費やしました。すでにKotlin 1.1と比較しておよそ25%向上しています。そして1.2.xアップデートにおいて相当な改善を施せる見当がついています。 その他の言語やライブラリの改善 言語や標準ライブラリにも改善を積み重ねています: より簡潔なシンタックス: アノテーションに複数の引数を指定するのが配列リテラルで簡潔になりました lateinit 修飾子のトップレベルプロパティとローカル変数でのサポートと lateinit 変数が初期化されていることのチェック機構 より賢いスマートキャストと改善された型推論 … Continue reading

Posted in Kotlin | Leave a comment

YouTrack 2017.4 リリース – 待望の日本語化!

YouTrackがついに日本語化されました! YouTrackは課題トラッキング / アジャイルプロジェクト管理ツールです。スマートサーチ、コマンド、IntelliJ IDEAとの連携が協力で特に開発者に人気です。他にも便利な機能が盛りだくさんです。 既にYouTrackをお使いの方にお知らせしたいのがYouTrack2017.4の予測レポート(Estimation Report)、検索結果の関連性順のソート、日付と時刻のカスタムフィールドなどです。 日本語ローカライゼーション YouTrackが日本語をシステムのデフォルト言語としてサポートします。日本語を共通語としてお使いの組織では、Global settingsよりJapaneseをデフォルト言語として選択してみてください。 予測レポート(Estimation Report) 新しく予測のレポート機能が導入されました。この新しい予測レポート(Estimation Report)は課題をプロジェクト、担当者、サブシステム、アジャイルボードのスプリントなどでグループ化することができます。このレポートは時間管理レポートセクションでご確認いただけます。 検索結果を関連性でソート 課題をテキストで検索すると、検索結果は関連性でソートされるようになりました。関連性は課題のタイトル、概要、コメントにテキストが現れる頻度に応じて上がります。 検索クエリで明示的にソート方法を指定したり、OR検索を行わない限りデフォルトで関連性によるソートが行われます。 日付と時刻のカスタムフィールド カスタムフィールドの種類として日付と時刻を保存できるものを追加しました。これにより日付だけを保管したい場合、時間だけを保管したい場合に便利です。時間についてはコマンドを適用することなくユーザーインターフェースより即座に変更することが出来ます。時間管理を行うワークフローやプラグインお使いの場合、より高い精度で費やした時間を管理出来るようになります。 ワークフローのJavaScriptのnpmパッケージサポート YouTrack2017.3よりワークフローはJavaScriptでカスタマイズできるようになりましたが、npmプラットフォームへパッケージをアップロードしました。Node.jsインテグレーションをサポートするJetBrains IDEでご活用いただけます。 アップデートとエンハンスメント 課題フィールドのテキストインデックス テキストインデックスは課題フィールドに保管されている全ての値を含むようになり、概要や説明、コメント以外に保管されているテキストも検索対象になります。 つまりどのフィールドを検索するかという指定をすることなく、検索ボックスに検索したいテキストを入力するだけで課題を探し当てることができるようになります。 テキストインデックスの拡張 テキストのインデックスに中国語、日本語、韓国語、トルコ語、ポーランド語をサポートしました。課題をこれらの言語で書く場合、お好みの言語のインデックスを有効化することで検索クエリに入力した語句が格変化した形で含むテキストも検索対象になります。 新しいプロジェクトのJiraからのインポートオプション チームにJiraを使うユーザーがジョインした場合、既存のJiraプロジェクトの課題を全てYouTrackへインポートして、以降YouTrackで管理出来るようになります。Jiraからのインポートはプロジェクトの作成画面にリンクがあります。 プロジェクトチームの再定義 プロジェクトチームの管理モデルを変更しました。チームにユーザーやグループを直接追加することができ、プロジェクトチームのメンバーとしてロールを設定することができます。 チームロールを使って誰がどのプロジェクトチームに所属するかを指定する必要はなくなりましたので、ロールをチームロールに指定するオプションはなくなりました。 プロジェクトページとぷプロジェクトの編集ページのチームタブのチームセクションは再設計しました。これらのページよりチームにユーザーやグループを追加・削除したり、どのロールがプロジェクトのチームメンバーに権限付与されているかといった指定をすることができます。 実験的な機能 マークダウンサポート 有効化すると課題のサマリ、コメントをマークダウン表記で書けるようになります。もちろんこれまでの記法に慣れている方向けにマークダウン表記、Wiki表記どちらでもお好みの記法を選んで書くことができます。 いかがでしょうか?是非YouTrack 2017.4をお試しください。フィードバックも大歓迎です! クラウドバージョンのYouTrackをお使いの方はメンテナンスカレンダーに従って自動的にアップグレードされます。

Posted in YouTrack, お知らせ | Leave a comment

IntelliJ IDEA 2017.3 EAP でローカル変数の型推論をサポート

IntelliJ IDEA 2017.3 EAP でローカル変数の型推論をサポートしました。 待望のJava 9が数週間前にリリースされましたが、我々は既にJava 10がもたらすものを楽しみにしています。といっても次のバージョンはJava 10とは呼ばれないことになるかもしれません。オラクルは6ヶ月毎に新しいJavaをリリースする方向性を打ち出しており、次のバージョンは2018年3月に手に入り、Java 18.3と呼ばれる可能性があります。 バージョンがどうなるにせよ、次のJavaではJEP 286によるローカル変数の型推論が導入される見込みです。ローカル変数の宣言をシンプルにしようというものです。 IntelliJ IDEA 2017.3ではこれをサポートします。既にある変数宣言で文脈より型推論が可能な箇所ではvarと置き換えることを提案します。 現在のところ明示的な型宣言でvarを置き換えられる箇所も検出します。 この新しい機能により未来のJavaリリースを垣間見ることができます。是非お試しください。これは実験的な機能で、皆様のフィードバックを心よりお待ちしております。ただ、JEP 286はまだリリースされておらず、今後変更となる可能性があることに注意してください。その場合はIDEも変更を追随します。是非Twitterへ、YouTrackへコメントを寄せてください。 Happy developing!   [原文]

Posted in IntelliJ IDEA | Leave a comment

Rubyの現状 : RubyKaigi 2017の簡単な振り返り #rubykaigi

先週RubyMineチームは広島で開催されたRubyKaigi 2017に参加いたしました。沢山のRubyデベロッパーとお会いできて大変充実した時間を過ごすことができました。特にRubyMineやRuby全般について沢山のフィードバックや提案を頂けたのは幸いです。 また、株式会社サムライズムにはカンファレンスの準備からカンファレンス中まで計り知れない手助けをしていただけました。サムライズムのメンバー抜きにカンファレンスは成し遂げられませんでした。ありがとうございます! Rubyの現状について Rubyの型システムの改善に関する要望が現在最もホットなトレンドです。カンファレンスでもRubyのタイプアノテーションによる改善の提案に関するセッションが数多くございました。JetBrainsも例外ではなくValentin Fondaratovから“Automated Type Contracts Generation”というセッションを設けさせて頂きました。プレゼンテーションは以下にアップロードしておりますのでご覧くださいませ。 このセッションを含むカンファレンスセッションはYouTubeのRubyKaigiチャンネルにてご覧いただけます。(この記事を執筆している現在も更新されております) Ruby、RoR開発に使われているツールは? カンファレンスにてJetBrainsは簡単なアンケートをとっており、RubyやRailsアプリ開発に何が一番使われているのか確認しています。今回はちょっと少なく40名にご回答いただけましたが、前回RailsConfで得た結果との違いが見られます。期待通り、日本のRubyコミュニティはRuby、Rails開発にVimを使い続ける“ハードコア層”が多いようです(訳注:RubyMineが当たるアンケートですのでJetBrains IDEユーザーのサンプル数は少なくなりがちです): RubyKaigi’17 これはRailsConfの結果と対象的で、RailsConfでは31%のデベロッパがSublime Textを、28%がAtomを普段使うエディタとして選択していました。Vimは18%にとどまります: RailsConf’17 また、RailsでVue.jsを使うのは当たり前になりつつあるようです: RubyKaigi’17 また、これもRailsConfの結果と異なるのですがReactとAngularJSは西洋の方が人気があるようです: RailsConf’17 ところで、既にRubyMineをお使いでしたら*.vueファイルをインテリジェントにサポートする公式プラグイン があるのをご存じでしょうか?詳しくはヘルプをご参照ください。 本年RubyKaigiに参加出来て光栄でした。また来年もお会いできればと思っております。 それまで、RubyMine 2017.3 EAP,の最新機能をお楽しみのうえSlackに参加することをお忘れ無く! RubyMineチーム [原文]

Posted in RubyMine | Leave a comment

RubyKaigi 2017でRubyMineチームと会いましょう!

RubyMineチームがRubyKaigi 2017に来ます!JetBrainsはイベントをスポンサーして皆様とコミュニケーションを図るだけでなく、プレゼンテーションでトークもいたします: Automated Type Contracts Generation for Ruby RubyMineのチームリードであるValentin Fondaratov (github)によるセッションではRubyでタイプアノテーション生成の新しいアプローチについて話します。9月19日、13:50〜14:30のセッションをお見逃し無く!Rubyに堅牢な静的解析をもたらすオープンソースプロジェクトの進捗を確認していただけます。 以下のプレゼンテーションより、このプロジェクトの重要さをチラ見していただくことができます: Source ブースへお越しください! RubyKaigiへお越し頂きましたら、是非展示会場のブースへお立ち寄りください。RubyMineについて是非意見交換をさせて頂きたく存じます。お困りのこと、提案などなんでも結構です。必要あれば簡単なミーティングの場を設けることもできます。 JetBrainsのブースではもちろんRubyMineをはじめとするJetBrains製品をフィーチャーします。スタッフは期間中JetBrains Tシャツを来ておりますのでいつでもお気軽に話しかけてください。 もちろん手ぶらでカンファレンスに行くなんてことはありません。RubyKaigi参加者はパーソナルライセンスを20%オフでご購入いただけます。また無料のRubyMineパーソナルライセンスがあたるくじ引きも予定しております。またノベルティもいくつかご用意いたしますので楽しみにしてください 😉 続報についてはTwitter(英語/日本語)、RubyMine Slack(英語)をフォローしてください! 皆様とRubyKaigi 2017でお会い出来るのを楽しみにしております。 RubyMineチーム [原文]

Posted in RubyMine | Leave a comment

PyCharmとDjangoチームのパートナーシップを応援してください!

昨年(2016)6月、JetBrains PyCharmはDjangoの資金を大きく援助すべく、Django Software Foundationとパートナーシップを結びました。この試みは大成功し、共に50,000ドルもの資金をDjango Software Foundationにもたらすことができました! 今年もその成功を繰り返すべく、キャンペーンを行います。新規のパーソナル版PyCharm Professionalエディションを30%のディスカウント価格でご購入いただけます。またJetBrainsにおける売上はDjango Software Foundationの資金ならびにDjango Fellowshipプログラムに提供されます。 キャンペーンの詳細 2017年8月28日までの期間限定(9月4日までキャンペーンは延長となりました!)で、効果的にDjangoを支援することができあす。 1. 新規にPyCharmの年間サブスクリプションを直販でご購入する際、チェックアウトページの“Have a discount code?”をクリック 2. 次の30%ディスカウントプロモーションコードを入力: ISUPPORTDJANGO こちらのリンクをご利用いただくと自動的にプロモーションコードが入ります。 3. 必要な項目を埋めてご購入 パートナーである株式会社サムライズム様よりご購入頂く際はプロモーションコードの入力は必要ありません。 JetBrainsは利益だけでなく全ての売り上げをDSF fundraising campaign 2017に寄贈します。 キャンペーンの詳細(英語) キャンペーンの詳細(日本語) “Djangoはワールドクラスのwebフレームワークへ成長いたしました。PyCharmのDjangoサポートでデベロッパに大きな生産性をもたらすことができます。” – DSF President Frank Wiles。“昨年JetBrainsはDSFに大きな寄与をもたらす素晴らしいパートナーでした。コミュニティにかわってお礼を申し上げます。このキャペーンを毎年恒例のものに出来ればと思います!” 質問などございましたらfundraising@djangoproject.comまたはsales@jetbrains.comへお問い合わせください。 [原文]

Posted in お知らせ | Leave a comment