Apache Log4jの脆弱性とJetBrains製品について

Javaで広く使われているロギングライブラリであるLog4jにてセキュリティ脆弱性が報告されております。これは悪意のある第三者がLog4jを使ったシステムで任意のコードを実行させることができる可能性のある脆弱性です。攻撃が容易なのが特徴で、早急な対応が必要とされております。
Apache Log4jの任意のコード実行の脆弱性(CVE-2021-44228)に関する注意喚起
Apache Log4j Security Vulnerabilities

弊社が取り扱っておりますJetBrains製品の多くはJavaを利用しております。JetBrainsでは現在のところUpsource、ライセンスサーバ、YouTrack InCloud、JetBrainsアカウントの6製品が影響を受けることを確認しております。うち2製品はクラウドサービスで、修正済です。

オンプレミス版のYouTrack、Hub、Upsource並びにライセンスサーバをご利用のお客様は、早急に最新バージョンへのアップデートをお願いいたします。
ライセンスサーバとは

YouTrack(オンプレミス製品) 2021年12月13日に修正版 #2021.4.35732をリリース済み(詳しく…)
Hub(オンプレミス製品) 2021年12月13日に修正版 #2021.1.14063をリリース済み
Upsource(オンプレミス製品) 2021年12月13日に修正版 #2020.1.1952をリリース済み
ライセンスサーバ(オンプレミス製品) 2021年12月11日に修正版 #30211をリリース済み
YouTrack InCloud(クラウドサービス) 2021年12月10日に修正済み
JetBrains アカウント(クラウドサービス) 2021年12月10日に修正済み
IDE製品(.NETツールを含む) 影響なし
TeamCity 影響なし(詳しく…)
Space 影響なし
JetBrains Gateway 影響なし
Kotlin 影響なし
Ktor 影響なし
MPS 影響なし

最新版のライセンスサーバはhttps://download.jetbrains.com/lcsrv/license-server-installer.zipよりダウンロードしていただけます。

アップデートを適用したら管理画面右下に”Build 30211″(またはそれ以上の数字)が表示されることをご確認ください。

より新しい情報がございましたら本ページを更新いたします。

更新 2021年12月14日 10:04

影響のある製品としてUpsourceを追加。

更新 2021年12月14日 11:18

影響のある製品としてYouTrack(オンプレミス版)、Hubを追加。

#JetBrainsIDEテクニック – Java 17までの主な言語機能とリファクタリング #jbtips


待望のLTSバージョンであるJava 17が2021年9月にリリースされました。

Java 8から、またはJava 11と比較してJava 17では生産性、可読性を高める数多くの新機能が搭載されています。
このビデオではJava 17で利用できる新しい言語機能と、IntelliJ IDEAで適用できるリファクタリング機能をご紹介いたします。

ビデオ内で使っているコードはGitHubでもご確認いただけます。

項目毎にコミットを分けてありますので、差分をご覧いただくと新しい文法でいかにすっきりと書けるかを実感していただけるかと存じます。
JEP 361: Switch Expressions
JEP 378: Text Blocks
JEP 394: Pattern Matching for instanceof
JEP 395: Records

対応IDE: IntelliJ IDEA

#JetBrainsIDEテクニック – 外部ブラウザでプレビュー・リロード #jbtips

JetBrains IDEは2021.2から外部ブラウザでプレビュー中のHTMLをリロードできるようになりました。

エディタ右上に表示されるブラウザアイコンをクリックすると外部ブラウザでプレビューができます。
Cmd + SまたはCtrl + Sでhtmlを保存するとブラウザで表示中のHTMLは自動的にリロードされます。

対応IDE: IntelliJ IDEA、PyCharm、Rider、GoLand、PhpStorm、RubyMine、CLion、AppCode、WebStorm

#JetBrainsIDEテクニック – HTMLのプレビュー #jbtips

JetBrains IDEは2021.1から待望のIDE内HTMLプレビューが行えるようになりました。

やり方は簡単で、エディタ右上に表示されるIDEアイコンをクリックするだけです。
編集中、リアルタイムにレンダリングが行われます。

対応IDE: IntelliJ IDEA、PyCharm、Rider、GoLand、PhpStorm、RubyMine、CLion、AppCode、WebStorm

#JetBrainsIDEテクニック – エディタウインドウの効率的な分割 #jbtips

エディタウィンドウは左右や上下に分割して同じファイルでも異なるファイルでも同時に見ることができます。

プロジェクトツールウィンドウでファイルを開く際、Shift + Enterを押すと分割して右側に開いたり、タブをドラッグ&ドロップして上下左右任意の位置に分割箇所を移動することも可能です。

重要なテクニックですので、ツールウインドウ/エディタレイアウトの管理と共に是非習得してください。

対応IDE: IntelliJ IDEA、PyCharm、Rider、GoLand、PhpStorm、RubyMine、CLion、AppCode、DataGrip、WebStorm

#JetBrainsIDEテクニック – Postfix Completionのカスタマイズ #jbtips

Postfix CompletionはJetBrains IDEで生産性を上げる上で最も重要なテクニックのうちの1つです。
さらにPostfix Completionはご自分で新しいものを定義することもできます。

創造性を発揮して開発をより早く、より正確に、より楽しいものにしましょう!
動画で紹介している .last の他に、Javaでは以下のようなカスタムPostfix Completionを定義するのがオススメです。

キー Applicable
expression types
パターン
last java.util.List $EXPR$.get($EXPR$.size()-1)$END$
last array $EXPR$[$EXPR$.length-1]
ae non void assertEquals($END$,$EXPR$);
at boolean assertTrue($EXPR$);
af boolean assertFalse($EXPR$);

言語によってはまだカスタムPostfix Completionを定義できないものもございます。
以下に、各言語のYouTrackの課題をリンクいたしました。必要な方は是非ログインして投票してください。
Python: Allow creation of custom postfix templates for Python
Ruby: Ability to add custom Ruby postfix completion
Kotlin: Support custom postfix completion
Scala: Editable Postfix Code Completion for Scala
Groovy: Postfix templates support for Groovy
Swift: Add postfix completion for Swift

対応IDE: IntelliJ IDEA、PyCharm、Rider、GoLand、PhpStorm、RubyMine、CLion、AppCode、DataGrip、WebStorm

オンラインセミナー「無料で使えるJetBrains Space」 動画公開 #jbtips

先日開催いたしましたオンラインセミナー、「無料で使えるJetBrains Space」の動画を公開いたしました。

JetBrains Spaceはチーム開発向けのクラウドサービスで、プライベートGitリポジトリやDockerリポジトリが無料で作れるだけでなくチャットや課題、コードレビューなどの機能も充実しております。
このセミナーではJetBrains SpaceとIntelliJ IDEAを連携させて、Gitリポジトリの作成からプロジェクトファイルのコミット、コードレビューといった基本的な開発の流れ行う様子をご紹介しております。

JetBrainsの新しいチーム向けサービス、Spaceを是非お試しください。

#JetBrainsIDEテクニック – リネームリファクタリング #jbtips

JetBrains IDEはIDEがサポートしているあらゆるファイルでリネームリファクタリングを行えます。
シンボルは宣言している箇所から、利用している箇所から、どちらからでもリネームが可能です。複数のファイルにまたがって利用されているシンボル名もまとめてリネーム可能なので修正漏れがありまえん。

Mac Win/Linux
リネーム
Rename
Shift + F6

対応IDE: IntelliJ IDEA、PyCharm、Rider、GoLand、PhpStorm、RubyMine、CLion、AppCode、DataGrip、WebStorm