訓練校チーム開発
概要
職業訓練校のチーム開発備忘録
環境
訓練校の端末
Windows 11
Pleiades All in One (Eclipse2023)
Java17
Tomcat9
TortoiseGit
XAMPP
個人端末
MacOS
Pleiades All in One (Eclipse2023)
Java17
Tomcat9
MAMP
やりたいこと
バージョン管理
-
mainへの直pushを防ぐhookファイルを書く
TortoiseGitがGitHubで設定したブランチ保護ルールを貫通してるっぽい? -
.gitignoreファイルを書く
Tomcatのserver.xmlはバージョン管理したくない
エディターの設定
- Eclipseの設定をカスタマイズした箇所をメモする
制作物を公開する
- MacでJavaの開発環境を整える
- 画像は著作権フリーのものを使う
Tomcatのサーバー設定ファイルをバージョン管理から除外したい
背景
EclipseでTomcatサーバーを再起動する度にserver.xmlが更新されているらしく、未追跡ファイルの一覧にserver.xmlが出てきている。
$ git status
On branch develop
Your branch is up to date with 'origin/develop'.
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: Servers/Tomcat9_Java17-config/server.xml # コミットしたくないファイル
deleted: test.txt # コミットしたいファイル
no changes added to commit (use "git add" and/or "git commit -a")
やったこと
.gitignoreファイルの作成
まずは.gitignoreファイルをJava用の書式で作成する。
上記の記事を参考にgitignore.ioでWindows, Java, Eclipse
のタグを入力し、ファイルを生成する。
次に生成されたファイルにserver.xmlを除外する記述を追加する。
server.xmlが格納されているディレクトリごと除外したいのでServers/
と追記すればOK。
作成した.gitignoreファイル
https://www.toptal.com/developers/gitignore/api/windows,java,eclipse
Created byhttps://www.toptal.com/developers/gitignore?templates=windows,java,eclipse
Edit atEclipse
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath
.recommenders
External tool builders
.externalToolBuilders/
Locally stored "Eclipse launch configurations"
*.launch
PyDev specific (Python IDE for Eclipse)
*.pydevproject
CDT-specific (C/C++ Development Tooling)
.cproject
CDT- autotools
.autotools
Java annotation processor (APT)
.factorypath
PDT-specific (PHP Development Tools)
.buildpath
sbteclipse plugin
.target
Tern plugin
.tern-project
TeXlipse plugin
.texlipse
STS (Spring Tool Suite)
.springBeans
Code Recommenders
.recommenders/
Annotation Processing
.apt_generated/
.apt_generated_test/
Scala IDE specific (Scala & Java development for Eclipse)
.cache-main
.scala_dependencies
.worksheet
Uncomment this line if you wish to ignore the project description file.
Typically, this file would be tracked if it contains build/dependency configurations:
#.project
Eclipse Patch
Spring Boot Tooling
.sts4-cache/
Java
Compiled class file
*.class
Log file
*.log
BlueJ files
*.ctxt
Mobile Tools for Java (J2ME)
.mtj.tmp/
Package Files
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
Tomcatのサーバー設定ファイルをディレクトリごと除外する
Servers/
http://www.java.com/en/download/help/error_hotspot.xml
virtual machine crash logs, seehs_err_pid*
replay_pid*
Windows
Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
Dump file
*.stackdump
Folder config file
[Dd]esktop.ini
Recycle Bin used on file shares
$RECYCLE.BIN/
Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
Windows shortcuts
*.lnk
https://www.toptal.com/developers/gitignore/api/windows,java,eclipse
End ofキャッシュの削除
.gitignoreファイルに記載したのに反映されていなかった。
→git rm --cached -r Servers/
でキャッシュを削除する。コミットとプッシュまでやったら終了。
Eclipseの設定
フォーマッターの設定
Google Java Style Guideに基づいてフォーマットする。
- eclipse-java-google-style.xmlをダウンロードし、任意のフォルダへ保存する。
- ダウンロードしたXMLファイルをEclipseへインポートする。
保存時の自動フォーマットは設定していない。
入力補助の設定
自動有効化遅延は150ミリ秒に設定した。実際に使ってみて微調整すると良さそう。
見やすくする
-
文字サイズ
-
色
-
テーマをVSCode風にする
下記リンクの手順に沿って設定を進めた。
全体的なカスタマイズ設定はここを見ればよさげ
入力補助の設定もここでやってるから一部被ってるかもテーマ自体は下記リンクからOne Darkテーマのepfデータをダウンロードしてきて設定
設定手順
前提としてEclipse Color Themeプラグインをインストールしておくこと
MAMP設定の躓きポイント
何が起きたか
XAMPPからMySQLにJDBC接続していたWebサイトを、MAMP環境でも動かそうとしたら500エラー(JasperException)を出してしまった。
原因
DriverManagerのgetConnection()に指定しているパスワードの設定を修正する必要があった。
XAMPPの時はパスワードの設定がなかったが、MAMPはroot
となる。
対処法
Connection conn =
DriverManager.getConnection(JDBC URL,ユーザー名,パスワード); //この部分を修正
環境
- macOS Ventura
- Pleiades All in One (Eclipse2023)
- Java17
- Tomcat9
- MAMP v4.4.1
ポートフォリオ公開までにやったこと
目的
訓練校で作ったECサイトを就職活動の制作実績として見てもらえるようにする。
Mac開発環境の構築
Windows環境で開発していたものを、Mac環境下でも動かせるようにする。
- Pleiades All in One (Eclipse2023)のインストール
- MAMPのインストール
画像の差し替え
Web上で公開するに当たって、ロイヤリティフリーの画像に差し替える必要がある。
- オーダンで差し替えたい画像を検索する。大量の検索結果からWebサイトのコンセプトに合う画像を見つけるのが大変だった。
- GIMPで編集(トリミング、サイズ変更)
READMEを書く(予定)
- チーム内の役割分担
- 画面のスクリーンショット
- 機能
- 開発環境および使用ツール
やり残したこと
今回はREADMEにサイトのスクリーンショットを貼るところまでにとどまったが、AWSにWebサイトをホスティングできたら完璧だった。
AWSは今後使い方を覚える必要が出てくるはずなので、今からでもちょっとずつ勉強していきたい。