[Eclipse] 個人的によく使うショートカットキー一覧(Windows)

内容

WindowsEclipseショートカットキーの個人的メモ

機能 ショートカット 補足
前の操作に戻る/進む Alt + ←/→
コメント追加/削除 Ctrl + /
コード整形 Ctrl + Shift + F
プロジェクト内検索 Ctrl + h プロジェクト内検索は「ファイル検索」
補完呼び出し Ctrl + space 加えて、private Hoge(Hogeのあとにスペースがいる)まで入力してCtrl + spaceでhoge変数名を表示してくれる
クイックフィックス Ctrl + 1 クラス新規作成などできる。
テスト側で暫定クラス名を用意してクラス生成など。
importの自動生成も対象(赤文字)に対してQFを呼び出す
新規ユニットテスト作成 Ctrl + 9 すでにテストクラスがある場合はテストクラスとクラスの表示切替、そうでない場合はテストクラス新規作成ウィザード表示
実行 Ctrl + F11 JUnitも可能
デバッグ実行 F11 JUnitも可能
クラスやメソッドコメント挿入 Alt + Shift + j
クラス作成 Ctrl + n ウィザードが開く
リソースを開く Ctrl + Shift + r クラス名などを検索して飛ぶ
型を開く Ctrl + Shift + t 型名を検索して飛ぶ
宣言を開く F3 該当のメソッドなどに飛ぶ
型階層を開く (該当のメソッドなどにカーソルを合わせて)Ctrl + t 抽象メソッドから具象メソッドを探したい場合に使う
宣言や実装などを選択して開く Ctrl を押下しながらマウスホバー F3やCtrl + tのいいとこどり
矩形選択 Shift + Alt + a マウスカーソルが十字にかわり矩形選択モードに。解除はもう一度同じキーを。
下に1行追加 Shift + Enter カーソルが行末になくてもOK
上に追加する場合はCtrl + Shift + Enter
検索窓などを閉じる (開いている状態で)esc

参考

以下を参考にさせてもらいました。

開発効率UP!Java開発者が使いこなすべきEclipseの便利ショートカットまとめ - Qiita

Eclipse + Quick JUnit Plugin ショートカット一覧メモ (Windows) — Eclipse Cheat Sheet 0.1 documentation

新人研修でドヤ顔で披露したらウケたEclipseのショートカット集 - Qiita

[Java][Eclipse] Eclipse上でJUnit 4 テスト実行時にNoClassDefFoundErrorが発生し失敗する

環境

内容

Eclipse上で簡単なテストクラスを作ってJUnitテストを実行したら
下記のNoClassDefFoundErrorが発生する現象があり少々はまったので
対応策を備忘録として記載。

java.lang.NoClassDefFoundError: org/junit/runner/manipulation/Filter
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:315)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadTestLoaderClass(RemoteTestRunner.java:381)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createRawTestLoader(RemoteTestRunner.java:371)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createLoader(RemoteTestRunner.java:366)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.defaultInit(RemoteTestRunner.java:310)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.init(RemoteTestRunner.java:225)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)
Caused by: java.lang.ClassNotFoundException: org.junit.runner.manipulation.Filter
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    ... 8 more

対応策

おそらく本現象が発生している場合、
プロジェクト(右クリック) > Javaのビルド・パス > ライブラリータブ >
で以下のようにモジュールパス配下にJUnit4が入っているはず f:id:WaterFalls:20210308164217j:plain
これをクラスパス配下に変更する。 f:id:WaterFalls:20210308164415j:plain おそらく問題なくJUnitが動作するはず。



テスト駆動開発

テスト駆動開発

[書籍] [Java] [資格] Java Silver SE 11 認定資格 に挑戦してみる

目的

Java Silver SE 11に挑戦の記録。

経歴

業務でのJava経験は6年前にSpring FrameworkJava:SE 7)を使用してWEBアプリケーションを1年間実装していたのみ。

勉強方法調査

  • 黒本
    Javaの経験者などは黒本がいいらしい。

徹底攻略Java SE 11 Silver問題集[1Z0-815]対応

徹底攻略Java SE 11 Silver問題集[1Z0-815]対応

  • 作者:志賀 澄人
  • 発売日: 2019/10/18
  • メディア: 単行本(ソフトカバー)


  • スピードマスター
    時間とお金に余裕があれば仕上げにスピードマスター問題集もありとのこと。


  • 紫本
    黒本で難易度が高いと感じた場合は紫本。黒本より初心者向けらしい。

[Python] Python + Pytest ( + VS Code) テスト環境構築

内容

Python + PyTest ( + VS Code) で動作する最低限のテスト環境。
単純なクラス(calc.py)とFizzBuzzfizzbuzz.py)を対象としたテストコードを用意。
コードは以下にアップ。

github.com

必須

pytestが必要なのでインストールしてください。

pip install pytest

実行方法

Windowsであればコマンドプロンプトを開き該当プロジェクトのルートに移動してpytestコマンドを実行する。

cd c:\workspace\python\pytest_demo
pytest

ディレクトリ構成

.
│  fizzbuzz.md
│  LICENSE
│  pytest.ini
│  README.md
│  requirements.txt
│  
├─.vscode
│      launch.json
│      
├─src
│  │  calc.py
│  └─fizzbuzz.py
│          
└─tests
    │  test_calc.py
    │  test_fizzbuzz.py
    └─__init__.py

補足説明

  • ./pytest.ini
addopts = -v --capture=no

caputure=no はプログラム中のprint出力をpytest時に表示させるために必要。

  • ./tests/__init__.py

test_***.pyがある階層に必要。内容は空でよい。

"cwd": "${workspaceFolder}",
"env": {"PYTHONPATH": "${cwd}"}

VS Codeからtest_**.pyを実行(F5)時にModuleNotFoundErrorが発生する。
この設定がない場合は以下の長いコードをテストモジュール全てに書く必要がある。

import os
import sys
sys.path.append(os.path.abspath(os.path.dirname(os.path.abspath(__file__))[1]))
from src.calc import Calc

設定があれば以下でOK

from src.calc import Calc

[Python] Excelを利用してPythonでSQLクエリを生成する

内容

Pythonの勉強がてらにツールを作ってみた。
Excelに入力した内容をもとにテキストにSQLクエリを生成する処理。
大量のテストデータを用意したい時などに。
f:id:WaterFalls:20210311092359j:plain プログラム一式、exeは以下に。

github.com

概要

以下をExcel(用意したテンプレートファイル)で入力する。

base SQL

INSERT INTO user_tbl(id, name, birth) VALUES ({0}, '{1}', '{2}');

input data

f:id:WaterFalls:20210303163020j:plain

出力

Pythonで作成したexe(またはpy)を実行するとテキストファイルで以下を出力する。

INSERT INTO user_tbl(id, name, birth) VALUES (1, 'Michael', '1993-04-15');
INSERT INTO user_tbl(id, name, birth) VALUES (2, 'David', '1950-11-03');
INSERT INTO user_tbl(id, name, birth) VALUES (3, 'sato', '1999-12-31');
INSERT INTO user_tbl(id, name, birth) VALUES (4, 'ivy', '2002-07-07');
INSERT INTO user_tbl(id, name, birth) VALUES (5, '米田', '2010-09-10');
INSERT INTO user_tbl(id, name, birth) VALUES (6, 'キャメロン', '1989-01-03');
INSERT INTO user_tbl(id, name, birth) VALUES (7, 'yamada', '1952-08-16');



[bat] BATファイルの基本テンプレート(お作法)

内容

毎回忘れるのでバッチファイルを作成する際の雛型を備忘録として。
Pythonのpyファイルを実行するサンプルもあわせて。(事前にpython.exeにPATHを通す必要あり)

@echo off
rem 環境変数を汚さないようにローカル化
setlocal

rem pushdの方がネットワークドライブの共有フォルダへの移動もできより便利
rem バッチ実行フォルダをカレントディレクトリにする
rem cd /d %~dp0
pushd "%~dp0"

rem ここに処理
rem バッチと同階層にあるpyファイルの場合は以下
python test.py


rem pushdを使った場合はここで元のフォルダに戻る
popd

pause
exit

[書籍] [Python] 独学プログラマー Python言語の基本から仕事のやり方まで

対象書籍

書籍:独学プログラマー Python言語の基本から仕事のやり方まで

読んで、写経した。

目的

Python未経験のため手っ取り早く基本を学びたかった。

感想

結論から。別言語でも業務経験があればPythonの導入書としては不向き。
以下、箇条書き。

  • 環境構築手順などの記載はないのでPythonのインストールやIDE選定などは自身で行う必要あり。
  • 序盤はIF文などプログラミングの初歩の初歩の記載になっている。
  • Gitの使い方などPython以外の部分にも大きくページを割いている。
  • 後半は業界未経験者に対して?働く上での心構えを記載している。
  • ぶっちゃけPythonについての記載は大したことない。
  • Pythonを学びたいというニーズは満たせない。
  • 価格が2200円と技術書にしては安いのではじめの一歩をアクションさせるためならいいのでは笑