アカウント作成 & リモートリポジトリ作成 【GitHub】
目次
手順① GitHubのトップページにアクセスする
手順② 利用プランを選択してFinish sign upをクリックする
手順③ アカウント登録通知メールのURLにアクセスする
手順④ 必要事項を入力してリモートリポジトリを作成する
手順① GitHubのトップページにアクセス
How people build software · GitHub
・赤枠を入力してSign up for GitHubをクリック
手順② 無料版を選択して、Finish sign upをクリック
手順③登録したメールアドレスに通知メールが来るので、URLをクリック
1. 赤枠を入力する。青枠は入力不要
2. Create repository をクリック
3. リポジトリ作成完了
以上。
ajax, servlet連携
・画面側
$(document).ready(function() { $("input:button").click(function() { if (window.confirm('○○しますか?')) { // xxチェック var _return = isExistXX(); var obj = JSON.parse(_return); if (obj['message'] == "success") { dropzone.processQueue(); } else { alert("~が存在しません。~して下さい。"); } } }); }); function isExistXX() { var param1 = document.forms[0].xx.value; return $.ajax({ url : '/IsExistXX', // async(非同期) : false async : false, type : 'POST', dataType : 'json', data : { parameter1 : param1 }, timeout : 10000, success : function(data) { // alert("成功"); }, error : function(XMLHttpRequest, textStatus, errorThrown) { // alert("失敗"); } }).responseText; }
・サーバ側
public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { String xx= req.getParameter("parameter1"); String aaa = Util.getZZZ(xx); String message = ""; if (!aaa.isEmpty()) { message = "success"; } else { message = "fail"; } String responseJson = "{\"message\":\"" + message + "\"}"; res.setContentType("application/json;charset=UTF-8"); PrintWriter out = res.getWriter(); out.write(responseJson); // out.print(responseJson); ← printだとjs側でJSON.parseができないので注意 }
ソースコードレビューでの指摘事項
コーディングの際に意識すること
・メソッドの引数、戻り値を見ただけで何をするメソッドか分かるように書くこと。
もちろんメソッド名でも処理内容が推察できること。
⇒引数にメソッド内の条件判定に必要な情報を渡したら、その条件ごとに処理したオブジェクトが返ってくるような設計にする。
・if文の判定条件には、ほかの状態に依存するような変数は使わないこと。
例:
// 処理A
if ("0".equals(xxStatus)) {
xx = false;
} else if ("1".equals(xxStatus)) {
xx = false;
} else if ("2".equals(xxStatus)) {
xx = true;
} else {
xx = false;
}
// 処理B ← ここではxxStatusがtrueの場合だけ更新処理を行う仕様なのに前段の判定処理に結果が依存しているからNG
if (xx = ture) {
// 更新処理を行う
} else {
// 更新処理を行わない
}
・IsExistメソッドでの一撃returnはよろしくない場合がある
⇒戻り値が結果として同じになるからといって、同レベルでない判定を一行で書くべきではない。
例:
boolean IsExist (String xx) {
// return "0".equals(xxStatus) || "0".equals(xxStatus) && "1".equals(xxFlg) ← NG
if (return "0".equals(xxStatus) || "0".equals(xxStatus)) {
if ("1".equals(xxFlg)) {
return ture;
}
} else {
return false;
}
}
// TODO 随時追加する。
データストア query.addFilterは非推奨 【google app engine for java】
クエリを用いて条件検索する方法
// インポート文
import com.google.appengine.api.datastore.DatastoreService;
import com.google.appengine.api.datastore.PreparedQuery;
import com.google.appengine.api.datastore.Query;
import com.google.appengine.api.datastore.Query.FilterOperator;
private static DatastoreService datastoreService = DatastoreServiceFactory
.getDatastoreService();
Query query = new Query("テーブル名");
query.setFilter(FilterOperator.EQUAL.of("検索するカラム名","検索したい文字列"));
PreparedQuery pQuery = datastoreService.prepare(query);
for(Entity entity: pQuery.asIterable()){
xx = entity.getProperty("取得したいカラム名").toString();
}
・実行SQL
SELECT 取得したいカラム名 FROM テーブル名 WHERE 検索するカラム名 = "検索したい文字列";
WEBアプリ DB移行の際に発生した問題 (CHAR編)
「事象」
DB2:後方トリム(半角スペースを除去)して検索処理を行う。
oracle:後方トリムせず厳密に、検索処理を行う。
「例」CHAR(5)
【カラム】XX
【 値 】abc__
・DB2の場合
selest * from テーブル名 where = "abc";
⇒ヒットする。
selest * from テーブル名 where = "abc__";
⇒ヒットする。
・oracleの場合
selest * from テーブル名 where = "abc";
⇒ヒットしない。
selest * from テーブル名 where = "abc__";
⇒ヒットする。
※ "_"は半角スペース
「環境情報、DB情報」
・java7
・DriverManager.getConnection
・jdk1.7
・tomcat7
・ibatisなし
・ojdbc14
・oracle11g
Oracle SQL Developerで検索したら後方トリムして検索してくれるのに、
AP経由だと取得できないのはなぜだろう。
ojdbcのバージョンがいけないのか? ibatis使ったら上手くいった。なぞ。
【Excel】 読み取れない内容が含まれています。このブックの内容を回復しますか?
▼こんなエラーが出て、図形がすべて消えたときの復旧方法▼
"読み取れない内容が含まれています。このブックの内容を回復しますか?ブックの発行元が信頼できる場合は[はい]をクリックして下さい。"
①OpenOfficeで開く(インストール済みであること)
②xlsx形式で別名保存
③別名保存したファイルをエクセルで開く
図形の位置がずれていたり、文字フォントが変わってしまっていますが
復旧できました!
【Excel】 やらかしました。。[作業グループ編]
今日、仕事でやらかしました。
あるシートを修正していたのですが、右隣シートの同じセルも勝手に修正されているではありませんか。元の内容が上書きされているではありませんか。
(※ctr押しながらシートの複数選択など決してしていません。)
しかも ctr + s でこまめに保存しているから戻れもしない。
このミスの原因は、[ shift + ctr + PgDn ]のショートカットキーと判明。
入力したセルは、飛び飛びで登場箇所が不規則でしたので[ shift + ctr + ↓ ]で確認していってました。
その際に誤って[ shift + ctr + PgDn ]を押し、”作業グループ”を発動させてしまったのでしょう。
いやはや恐ろしい。