Author Archives: Yusuke

IntelliJ IDEA 2018.1 EAP: Gitの部分コミットなど

IntelliJ IDEA 2018.1 EAPの最新ビルドをリリースしました。サイトからダウンロードするか、Toolbox Appよりアップデートしてください。 IntelliJ IDEA 2018.1ではついにGitの部分コミット(git add -p)をサポートしました。選択した部分だけをコミットし、他をスキップすることができます。 コミットダイアログのdiffビューにてコミットしたい部分にチェックを入れてください。 さらに、変更箇所を 別のチェンジリストにひも付けて別のタイミングでまとめてコミットすることも可能です。別のチェンジリストに移動するにはdiffペインで右クリックしてください。 別の方法として、エディタのガターエリアをクリックすればチェンジリストを選択したり新しいチェンジリストを作ったりできます。 近々Gitの部分コミットについては別のブログポストを公開する予定ですのでお待ちくださいませ。 新しいIntelliJ IDEA 2018.1 EAPではローカルの変更をディレクトリ、モジュール、リポジトリ別にグループ化して表示することができます。Version ControlツールウィンドウのLocal ChangesタブのGroup byアイコンより選択できます。これまではディレクトリとモジュールで同時にグループ化することしか出来ませんでした。今回より全部、または一部のみ、必要な形でグループ化できます。もちろんリポジトリでグループ化するのはプロジェクトで2つ以上のルートが設定されている場合のみ可能です。 Postfix code completionの改善 IntelliJ IDEA 2018.1ではPostfix code completionに改善が施され、カスタムpostfix Java templatesをPreferences | Editor | General | Postfix Completionより定義出来るようになりました。 自分で作成したり、リネームしたり、デフォルトで定義されているものを編集したり出来ます。 … Continue reading

Posted in IntelliJ IDEA | Leave a comment

今月のPHP – 2018年2月

PHP, Testing & Development PHP 7へのアップグレードはお済みですか?The PHP Consulting CompanyはすでにPHP 8をロードマップに入れています。もうPHP 5をこれ以上使い続ける言い訳はありません。古いバージョンを使い続ける方々に罪の意識を追わせるのはこれで最後にさせてください。きっと後に感謝していただけることと存じます。以下は最新のアーティクルです。 ReactPHP: Why? How to Upgrade from PHP 7.1 to 7.2 on MacOS Using Homebrew Reducing Call Sites with Dependency Injection and Context Passing Xdebug 2.6 Run a Package from … Continue reading

Posted in PhpStorm | Leave a comment

Dataloreパブリックベータ – 機械学習向けのWebアプリケーション

2月12日、Dataloreのパブリックベータを公開しました。Pythonによるデータ解析とビジュアライゼーション向けのインテリジェントなWebアプリケーションです。 今日、機械学習は多くの商用アプリケーション、研究プロジェクトの肝となっています。DataloreでJetBrainsプロダクトファミリに機械学習に特化した環境を追加します。 このプロダクトはJetBrainsのビジョンである、誰にとっても開発を楽しく生産性が高いものにするというビジョンに基づいてローンチしました。Dataloreはスマートなコーディングアシスタンス、インクリメンタルコンピュテーション、内蔵の機械学習ツールによりデータ処理を楽しいエクスペリエンスに変えます。 インテリジェントで簡単に使えるコードエディタ データサイエンスは生データから様々な洞察を得る技術ですが、多くの場合コーディングを必要とします。機械学習のコーディングを楽しく簡単なものとするため、Dataloreはスマートなコード補完、インスペクション、クイックフィックスとナビゲーションを提供します。 コーディングタスクをシンプルにするため、書いているコードの文脈に応じたサジェスチョンを提示する「インテンション」があります。最適なインテンションをクリックすることでDataloreはデータセットをアップロード、トレーニング、テスト、分割、デザインなど様々なことを行うコードを生成します。 インクリメンタルコンピュテーション 洗練された学習モデルを得るには試行錯誤が必要です。たとえばパラメータをいくつか調整することで、挙動にどのような影響が起こるのか確認したいとき、すぐに結果が得られればうれしいはずです。Dataloreはワークブック内の様々なコンピュテーションの依存関係を解析し、変更により必要となる再計算の量を最小化します。これにより、スクリーン右側に表示されるアウトプットはあなたのアイディアを迅速に反映します。 様々なマシンラーニングツールを最初から用意 データアナリストがDataloreを使う際に必要となるツール群であるnumpy、pandas、sklearnといったPythonライブラリ群は最初から用意してあります。 さらに二つの先進的なビジュアライゼーションライブラリを開発しました。ひとつはdatalore.plotで、Rで実装されたggplotのinspired by the “grammar of graphics”にインスパイアされたライブラリです。そしてもう一つはdatalore.geo_mapsで、解析結果にインタラクティブな地図を追加するものです。 Iris、MNIST、Titanicなどのデータセットを最初から用意しており、便利なファイルマネージャで独自のデータセットを.csvフォーマとでアップロードすることも可能です。 編集内用は自動で保存されますので編集結果を失う心配はありません。バージョン管理システムを備えていますので、何かおかしくなったらファイルヒストリーから以前のモデルにロールバックできます。 コラボレーション コードエディタはリアルタイムにワークブックをリモートから編集できますので、アイディアについて議論しながらチームメイトがコードを追加したり、コメントを入れたりできます。 様々なコンピュートインスタンス Dataloreではタスクに応じてさまざまなコンピュートリソースを選ぶことが出来ます。シンプルなアルゴリズムは小さなコンピュートエージェントで、ディープラーニングアルゴリズムはパワフルなエージェントで動作させられます。より大規模なインスタンスが必要な場合はDatalore forumよりお問い合わせください 今後は? まずdatalore.ioよりお試しください! 是非Datalore forumへフィードバックを寄せてください。また、問題があれば教えてください。Twitterアカウントも用意しております。Dataloreはまだ開発中で、より改善するための皆様のご意見を楽しみにしております! Datalore Team [原文]

Posted in PyCharm | Leave a comment

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