新規でプロジェクトを作成せず、
インポートしたプロジェクトに対して、外部JARファイルを追加した場合、
以下のようなエラーが出ることがあります。
ビルド・パスの設定(.classpathに書き込めませんでした)
原因は「.classpath」ファイルが隠しファイルになっているから。
「.classpath」ファイルを右クリックし、隠しファイルのチェックを外せば
エラーが解消します。
新規でプロジェクトを作成せず、
インポートしたプロジェクトに対して、外部JARファイルを追加した場合、
以下のようなエラーが出ることがあります。
ビルド・パスの設定(.classpathに書き込めませんでした)
原因は「.classpath」ファイルが隠しファイルになっているから。
「.classpath」ファイルを右クリックし、隠しファイルのチェックを外せば
エラーが解消します。
Eclipseで動的Webプロジェクトをコピーしたい場合、以下を行う。
/workspace/Servers/ローカル・ホスト の Tomcat v7.0 サーバー-config/server.xml
ローカルDBと呼ばれるSQLServerCompact4.0を使えるようにします。
SQLServerCompact4.0はVisual Studio 2013でサポートを打ち切ったようですが、
ツールを導入すれば利用できるようになります。
「ツール」-「拡張機能と更新プログラム」を選択し、
「オンライン」を選択し、右側の検索テキストボックスで
「SQL Server Compact / SQLite Toolbox」を入力し、検索する。
検索結果でHITした「SQL Server Compact / SQLite Toolbox」を選択し、
「ダウンロード」ボタンを押下する。
インストール後、Visual Studio 2015を再起動し、
サーバーエクスプローラーを開く。
サーバーエクスプローラーのミニツールバーの右側に追加された
「SQL Server Compact / SQLite Toolbox」のアイコンをクリックする。
「Data Connections」を選択し、右クリックし、
「Add SQL Server Compact 4.0 Connection」を選択する。
Filenameで任意のDB名を入力し、Passwordに任意のパスワードを入力し、
「Create」ボタンを押下する。
「Test Connection」ボタンを押下し、接続確認できれば問題なし。
作成したDB名.sdfを選択し、右クリックし、
「Build Table」選択し、テーブルを作成する。
このようにサーバーエクスプローラーと同じ感覚で
SQL Server Compactに対して操作が可能となる。
Windows and Web Development - Microsoft SQL Server Data Tools Windows and Web Development - Microsoft Web Developer Tools Common Tools - Visual Studio Extensibility Tools Update 2
インストール後、アカウントのSign inを促されますが、
スキップしたまま起動できます。
初期状態だと英語表示なので一旦終了し、日本語パッチを適用します。
日本語パッチ適用後、Visual Studio Community 2015を再度起動し、
「Tools」-「Options」-「Environment」-「International Setings」を選択し、
プルダウンから「日本語」を選択し、
再度、Visual Studio Community 2015を再起動します。
補足ですが、Visual Studio Community 2015をインストールすると
2つの統合開発環境(IDE)がインストールされます。
Windowsの左下のメニューから確認できます。
Blend for Visual Studio 2015 Visual Studio 2015
Blend for Visual Studio 2015はXAMLを使った開発でUIデザインを行うのに適したツールらしいです。
また、同じプロジェクトファイルを参照できるという親和性があるとか。
通常であれば、Visual Studio 2015で十分です。
Blend for Visual Studio 2015はデータベースエクスプローラーがなかったりで
しばらく困惑しました。
Javaではクラス名はアッパーキャメルケース(パスカルケース)の形式にします。
メソッド名はローワーキャメルケースの形式にします。
アッパーキャメルケース:FirstExample
ローワーキャメルケース:firstExample
エクセルでA1に「FIRST_EXAMPLE」という文字列があると仮定し、
それをアッパーキャメルケース、ローワーキャメルケースに変換します。
' アッパーキャメルケース =SUBSTITUTE(PROPER(A1),"_","") ' ローワーキャメルケース =LOWER(LEFT(A1,1))&MID(SUBSTITUTE(PROPER(A1),"_",""),2,LEN(A1))
Dir関数を用いるため、ネットワーク上の長いファイルパスには未対応です。
Sub Test() ' 画面チラつきを防止する。 Application.ScreenUpdating = False ' フォルダパスとファイル名を宣言する。 Dim strFilePath As String Dim strFileNmae As String ' テキストボックスかセル入力でフォルダを指定させる。 strFilePath = "C:\Users\test\Desktop\テストディレクトリ" ' 末尾が\ではない場合、\を追加する。(未実装) strFilePath = strFilePath & "\" ' 指定フォルダ内のファイル名を取得する。 strFileName = Dir(strFilePath, vbNormal) ' 結果シートを変数に設定する。 Dim resultBookSheet As Worksheet Set resultBookSheet = Worksheets("sheet1") ' 結果シートの行数を宣言する。 Dim longGyo As Long longGyo = 1 ' 指定フォルダ内のファイルがなくなるまで繰り返す。 Do While strFileName <> "" Dim result As Range Dim firstAddress As String ' ファイルを開く。 With Workbooks.Open(Filename:=strFilePath & strFileName) ' ファイル内のシート数を取得する。 Dim sheetCnt As Long sheetCnt = .Worksheets.Count ' 1シート目からnシート目まで繰り返す。 Dim i As Long For i = 1 To sheetCnt Dim shp As Shape ' シートからオブジェクトがなくなるまで繰り返す。 For Each shp In .Worksheets(i).Shapes ' オブジェクトにテキストを書き込める場合 ' shp.TextFrameはテキストが書き込めないオブジェクトでエラーが発生してしまう。 ' shp.TextFrame2はOffice 2007以降で利用可能だが、 ' テキストが書き込めないオブジェクトでもエラーが発生しない。 If shp.TextFrame2.HasText = True Then ' 検索文字列がオブジェクト内に存在する場合 If InStr(shp.TextFrame2.TextRange.Text, "Excute") > 0 Then resultBookSheet.Cells(longGyo, 1).Value = strFilePath & strFileName resultBookSheet.Cells(longGyo, 2).Value = .Worksheets(i).Name resultBookSheet.Cells(longGyo, 3).Value = "セル(" & shp.TopLeftCell.Address & ") - オブジェクト" resultBookSheet.Cells(longGyo, 4).Value = shp.TextFrame2.TextRange.Text longGyo = longGyo + 1 End If End If Next Next i ' 保存せずファイルを閉じる。 .Close SaveChanges:=False End With ' 次のファイルを取得する。 strFileName = Dir() Loop ' 画面チラつき防止を解除する。 Application.ScreenUpdating = True End Sub
要件定義のアプリ計画のテンプレ。随時加筆。
要件定義のデータ移行のテンプレ。随時加筆。
例
本書の目的は2017年1月サービス開始予定のXXXシステムにおける移行に関する 作業・役割・期間を定義し、プロジェクトメンバー、関連部署間において、 共有することを目的とする。
例
・サービス開始は2017年1月4日(月)である。 ・移行作業については、2016年12月29日(木)のオンライン終了後~ 2017年1月3日(火)までの間でシステムを停止させた状態で行う。 ・XXXシステムの切替は一括切替とし、一部切替は行わない。 ・XXXシステムの切り戻しは一括切り戻しとし、一部切り戻しは行わない。 ・セキュリティパッチの適用は2016年8月31日をもって凍結する。以降、 ・本番開始までのタスク・スケジュールは今後随時見直し行う。 ・移行の大まかな流れは以下の通りとする。 (ここで年、月のエクセル図があるとイメージがつきやすい)
例
新システムのシステム構成
No | 役割 | 分類 | IPや製品名 |
---|---|---|---|
1 | WEBサーバ#1 | Linux系サーバ | XXXX |
2 | WEBサーバ#2 | Linux系サーバ | XXXX |
3 | APサーバ#1 | Linux系サーバ | XXXX |
4 | APサーバ#2 | Linux系サーバ | XXXX |
5 | DBサーバ | Linux系サーバ | XXXX |
6 | ロードバランサ#1 | 仮想アプライアンス | XXXX |
7 | ロードバランサ#2 | 仮想アプライアンス | XXXX |
8 | 帳票サーバ | Windows系サーバ | XXXX |
アプリケーションの機能ごとに言語やバージョンの違いを載せる。
ライブラリの違いもあるとより良い。
例
1.オンラインアプリケーション 2.クライアントアプリケーション 3.バッチアプリケーション
No | 種別 | 名称 | 言語 | ||||
---|---|---|---|---|---|---|---|
Oracle | C# | Java | |||||
Pro*C | SQLローダ | PLSQL | |||||
1 | オンライン | XXXマスタ登録 | ● | ● | |||
2 | クライアント | XXXマスタ登録 | ● | ● | |||
3 | バッチ | XXXマスタ取込 | ● |
例
No | 名称 | 移行有無 | 移行方法 | スキーマ | 表領域 |
---|---|---|---|---|---|
1 | テーブル | ● | SQL文 | XXXX | TBL |
2 | インデックス | ● | SQL文 | XXXX | IDX |
3 | プロシージャ | - | - | - | - |
4 | パッケージ | - | - | - | - |
5 | シーケンス | ● | SQL文 | XXXX | TBL |
6 | トリガー | - | - | - | - |
7 | シノニム | - | - | - | - |
オブジェクト構成があまり変わらない場合、新旧の比較を載せるのも良い。
例
No | 旧オブジェクト名 | 新オブジェクト名 | 区分 | 概要 | ||
---|---|---|---|---|---|---|
新規 | 変更 | 削除 | ||||
1 | Aテーブル | Aテーブル | ● | カラム追加 | ||
2 | Bテーブル | ● | テーブル追加 | |||
3 | Cテーブル | ● | テーブル削除 |
テーブルのうち、データマッピング、初期データについて載せる。
詳細は外部設計にすることが多い。
例
1.テーブルデータ
No | 旧カラム名 | 新カラム名 | 区分 | 概要 | ||
---|---|---|---|---|---|---|
新規 | 変更 | 削除 | ||||
1 | ID | ID | 変更なし | |||
2 | 氏名漢字 | ● | カラム追加 | |||
3 | 氏名カナ | ● | カラム削除 |
No | テーブル名 | カラム名 | 設定値 |
---|---|---|---|
1 | URLマスタ | ID | 111 |
2 | URLマスタ | URL | z-area.net |
例
1.オンラインアプリケーション 2.クライアントアプリケーション 3.バッチアプリケーション
No | 種別 | 機能名 | 旧機能概要 | 新機能概要 |
---|---|---|---|---|
1 | オンライン | XXXマスタ登録 | 300件まで登録 | 2000件まで登録 |
2 | クライアント | XXXマスタ登録 | 300件まで登録 | 2000件まで登録 |
3 | バッチ | XXXマスタ取込 | 2000件まで登録 | 5000件まで登録 |
例
移行リハーサルについては3回実施する。 <1回目> データベースの移行検証 データベース以外の移行検証 <2回目> 1回目の検証結果を受けた見直し実施 <3回目> 最終的な手順確認
移行時に発生する作業 1.システム移行(システム構築) 2.リリース 3.現行サーバの停止 4.データ移行(DB、ファイル) 5.検証
移行リハスケジュール (ここで年、月のエクセル図があるとイメージがつきやすい)
2017年1月1日(日)に運用にてURLを切り替えていただき、アプリチームにて
アプリケーション観点で動作確認を行う。
他システムとの連携確認は実施しない。
2017年1月2日(月)に顧客に動作確認を実施いただく。
本番検証で現行業務に支障を及ぼすと判断される場合、切り戻しを実施する。
切り戻しについては以下表のシステムを切り戻す。
現時点では移行期間は4日間必要と考える。
再移行期間の候補は以下の通り。
1.2017年1月7日(土)~2017年1月9日(月・祝)と前後1日
2.2017年3月18日(土)~2017年3月20日(月・祝)と前後1日
WBSをエクセルで書くことが多いので、数式や書き方を記載。
' 終了日の自動設定 =IF(開始日セル="","",WORKDAY(開始日セル,ROUNDUP(作業日数セル,0)-1,リスト!祝日設定範囲))
' 曜日の自動設定 ' aaa:「月」、「火」などの曜日1文字を表す ' aaaa:「月曜日」、「火曜日」などの曜日3文字を表す。 =TEXT(X月1日のセル,"aaa")
' タスク行の日ごとのセル ' 作業日が開始日と終了日の間(=作業期間中)の場合、1を設定している。 =IF(OR(作業日数セル="",作業日数セル=0),"",IF(AND(作業日セル>=開始日セル,作業日セル<=終了日セル),1,""))
' 条件付き書式1 ' 作業日が別紙「リスト」シートに設定した祝日範囲に含まれる場合、 ' COUNTIFで1が返るため、条件がTUREとなる。 ' この時、セルの塗りつぶしの色、フォント色を灰色にする。 ' 「条件を満たす場合は停止」チェックをONにする。 =COUNTIF(リスト!祝日設定範囲,作業日セル)=1
' 条件付き書式2 ' 作業日が土曜日の場合、WEEKDAYで7が返るため、条件がTUREとなる。 ' この時、セルの塗りつぶしの色、フォント色を灰色にする。 ' 「条件を満たす場合は停止」チェックをONにする。 =WEEKDAY(作業日セル)=7
' 条件付き書式3 ' 作業日が日曜日の場合、WEEKDAYで1が返るため、条件がTUREとなる。 ' この時、セルの塗りつぶしの色、フォント色を灰色にする。 ' 「条件を満たす場合は停止」チェックをONにする。 =WEEKDAY(作業日セル)=1
' 条件付き書式4 ' 指定の値を含むセルだけを書式設定で ' 「セルの値」「次の値に等しい」「=1」を設定する。 ' この時、セルの塗りつぶしの色、フォント色をオレンジ色にする。