acil @ ウィキ
http://w.atwiki.jp/acil/
acil @ ウィキ
ja
2015-06-04T09:42:30+09:00
1433378550
-
Java/TIPS
https://w.atwiki.jp/acil/pages/32.html
JMeter
リスナーのConfigureを精査すること
-[[Cookieが届く範囲を再確認>>http://www.imymode.com/exp/cookie.html]]
-[[API>>http://www.oracle.com/technetwork/jp/java/javase/documentation/api-jsp-316041-ja.html]]
-[[Docjar>>http://www.docjar.com/]]
-[[GoFの23のデザインパターンを,Javaで活用するための一覧表 (パターンごとの要約コメント付き)>>http://d.hatena.ne.jp/language_and_engineering/20120330/p1]]
-[[JPA + EJB + JSF による Web アプリケーション>>http://d.hatena.ne.jp/redcat_prog/20130515/1368567953]]
-[[Features of Spring (TECHSCORE)>>http://www.techscore.com/tech/Java/Others/Spring/index/]]
-[[Spring:Bean定義の書き方が分からなくなった時のDI設定早見表>>http://www.omotenashi-mind.com/index.php/Spring%EF%BC%9ABean%E5%AE%9A%E7%BE%A9%E3%81%AE%E6%9B%B8%E3%81%8D%E6%96%B9%E3%81%8C%E5%88%86%E3%81%8B%E3%82%89%E3%81%AA%E3%81%8F%E3%81%AA%E3%81%A3%E3%81%9F%E6%99%82%E3%81%AEDI%E8%A8%AD%E5%AE%9A%E6%97%A9%E8%A6%8B%E8%A1%A8]]
-[[JavaVMのメモリ管理に関するまとめ(Javaヒープ、GC、ダンプ等)>>http://d.hatena.ne.jp/tanakakns/20120508/1336467306]]
OutOfMemoryErrorが発生するタイミング
New領域が溢れた場合
New領域のオブジェクトはある程度の期間存在し続けるとOld領域へ移動される。しかし、移動する条件に達する前のオブジェクトで溢れる場合がある。
※JavaVMはNew領域が溢れそうな際ある程度New領域を広げる処理を行っているようだが、それでも溢れた場合はOutOfMemoryErrorとなる。
Old領域が溢れた場合
参照されつづけるオブジェクトが大量に存在する場合に溢れる。
Cヒープが溢れた場合
Javaのスレッドが大量に作成された場合に溢れる。
Cヒープが溢れてOutOfMemorryErrorが発生した場合、スタックトレースの先頭が「Native Method」である。
http://www.itmedia.co.jp/enterprise/articles/0907/10/news002.html
http://d.hatena.ne.jp/oknknic/20111203/1322892986
調査の難しい「OutOfMemoryError」事例、5選(http://www.atmarkit.co.jp/ait/articles/1003/11/news091.html)
スレッド数はOSのパラメタで設定されており、それが大きな値で設定されている場合に発生する。
Linuxの場合、「cat /proc/sys/kernel/threads-max」で確認することができ、「/etc/sysctl.conf」ファイルの「kernel.threads-max」で設定される。
http://d.hatena.ne.jp/Fiore/20080310/1205155154
Linuxで起動中のJavaプロセスのスレッド数を確認する方法に「ps -efL | grep -e java | grep -v grep | wc -l」等がある。
http://d.hatena.ne.jp/rx7/20101219/p1
-[[404 Blog Not Found ajax - 文字化け判定表>>http://blog.livedoor.jp/dankogai/archives/50809008.html]]
-[[日本の文字コード>>http://www.asahi-net.or.jp/~ax2s-kmtn/character/japan.html]]
--いろいろ
-[[HTML変換処理>>http://homepage1.nifty.com/masada/cyber/javahtmlparser.htm]]
--httpでの通信からxml解析まで
-[[Java Open Source>>http://www.java2s.com/Open-Source/Java/CatalogJava.htm]]
--[[HttpsURLConnectionOldImpl>>http://www.java2s.com/Open-Source/Java/6.0-JDK-Modules-com.sun/net/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnectionOldImpl.java.htm]]
-[[Javaで入力チェックに使える正規表現まとめ>>http://daipresents.com/2008/java_regex/]]
半角英字
^[a-zA-Z]+$
ex => abcdefghijklmnopqrstuvwxyz
半角数字
^[0-9]+$
ex => 0-9
半角記号
^[ -/:-@\[-\`\{-\~]+$
ex => 半角空白!”#$%&’()*+-.,/:;<=>?@[\]^_`{|}~
半角英数字
^[a-zA-Z0-9]+$
ex => abcdefghijklmnopqrstuvwxyz0123456789
半角英数字記号
^[a-zA-Z0-9 -/:-@\[-\`\{-\~]+$
ex => abcdefghijklmnopqrstuvwxyz0123456789半角空白!”#$%&’()*+-.,/:;<=>?@[\]^_`{|}~
半角カタカナ
<span class="goog_qs-tidbit goog_qs-tidbit-0">^[。-゚+]+$</span>
ex => ー。「」、・ヲァィゥェォャュョッタアイウエオカキクケコサシスセソミチツテトナニヌネノハヒフヘホマムメモヤユヨラリルレロワン゙゚
ひらがな
^[ぁ-ゞ]+$
ex => あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをんぁぃぅぇぉっゃゅょがぎぐげござじずぜぞだぢづでどばびぶべぼぱぴぷぺぽゑヴ繧輔v繧吶z゛゜ゝゞ
カタカナ
^[ァ-ヶ]+$
ex => ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ
漢字
^[一-龠]*$
全角文字
^[^ -~。-゚]+$
半角以外としているのがポイント。
桁数を指定(1桁から5桁)
^[a-zA-Z0-9]{5,10}$
5桁以上の繰り返し
^[a-zA-Z0-9]{5,}$
5桁以下の繰り返し
^[a-zA-Z0-9]{1,5}$
定数(trueもしくはfalse)
^true$|^false$
-システムプロパティのコンソール出力
public static void viewSystemProperties() {
// システムプロパティを全て出力
// インナークラスとしてそのまま持っていけます
new Object() {
void viewSystemProperties() {
java.util.Properties p = System.getProperties();
java.util.TreeMap<Object, Object> map = new java.util.TreeMap<Object, Object>();
map.putAll(p);
java.util.Iterator<Object> itr = map.keySet().iterator();
while (itr.hasNext()) {
String key = (String) itr.next();
String value = (String) map.get(key);
System.out.println(key + "=" + value);
}
}
}.viewSystemProperties();
}
-[[Javaでのファイルダウンロードについて>>http://otn.oracle.co.jp/forum/message.jspa?messageID=11007009]]
#amazon2(468x60)
EOF
2015-06-04T09:42:30+09:00
1433378550
-
Java/Servlet
https://w.atwiki.jp/acil/pages/43.html
-[[Java技術によるWebアプリケーション開発入門>>http://jp.fujitsu.com/solutions/sdas/technology/web-apl/]]
セキュリティセンターTOP
=> セキュアプログラミング講座
=> Webアプリケーション編
=> アクセス制御
=> アクセス認可
-[[第2章 アクセス制御 アクセス認可>>https://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/102.html]]
#amazon2(468x60)
EOF
2015-03-24T11:59:25+09:00
1427165965
-
TOPIC
https://w.atwiki.jp/acil/pages/33.html
-[[たくさんあるオープンソースライセンスのそれぞれの特徴のまとめ>>http://coliss.com/articles/build-websites/operation/work/choose-a-license-by-github.html]]
-[[「ビジネスマナー」、「ビジネス用語」、「一般常識」のクイズ>>http://student.mynavi.jp/freshers/manner/exam2/]]
-[[開発者のスキルチェック集>>http://d.hatena.ne.jp/language_and_engineering/20110717/p1]]
-[[技術系メーリングリストで質問するときのパターン・ランゲージ>>http://www.hyuki.com/writing/techask.html]]
-[[差のつく勉強法200のメモ>>http://d.hatena.ne.jp/tanamon/20090317/1237305653]]
・空行を削除する(JSP2.1から)
<%@page trimDirectiveWhitespaces="true"%>
-[[コンセンサスゲーム問題 -砂漠と宇宙(NASA)と無人島->>http://konsensasugame.web.fc2.com/index.html]]
--いくつかのコンセンサスゲームとその他
-[[定期券の有効期間>>http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1124917316]]
EOF
2015-03-13T10:58:41+09:00
1426211921
-
メニュー
https://w.atwiki.jp/acil/pages/2.html
**サイト内検索
#search()
メニュー
[[■ トップページ>トップページ]]
#treemenu(title=Android,[[sorceView>Android/sorceView]],flag=ex)
#treemenu(title=ASP,[[リファレンス>ASP/リファレンス]],[[基本>ASP/基本]],[[ファイルダウンロード>ASP/ファイルダウンロード]],[[Editor>ASP/Editor]],flag=ex)
#treemenu(title=C#,[[Visual Studio 2008>C sharp/Visual Studio 2008]],flag=ex)
#treemenu(title=Eclipse,[[プラグイン>Eclipse/プラグイン]],flag=ex)
#treemenu(title=Linux,[[Linuxコマンド>Linux/Linuxコマンド]],[[シェルスクリプト>Linux/シェルスクリプト]],[[vimコマンド>Linux/vimコマンド]],[[cron>Linux/cron]],flag=ex)
#treemenu(title=Java,[[Servlet>Java/Servlet]],[[SSL>Java/SSL]],[[TOOL>Java/TOOL]],[[TIPS>Java/TIPS]],[[読み物>Java/読み物]],flag=ex)
#treemenu(title=JavaScript,[[Canvas>JavaScript/Canvas]],[[TIPS>JavaScript/TIPS]],flag=ex)
#treemenu(title=Oracle,[[TIPS>Oracle/TIPS]],flag=ex)
#treemenu(title=MySQL,[[TIPS>MySQL/TIPS]],flag=ex)
#treemenu(title=Excel,[[TIPS>Excel/TIPS]],flag=ex)
[[■ フォーマッタ>フォーマッタ]]
[[■ TOPIC>TOPIC]]
#treemenu(title=ETC,[[ETC>ETC]],[[COOKING>ETC/COOKING]],flag=ex)
-[[携帯ブラウザ情報]]
-[[DB関連]]
-[[robots]]
-[[HTML]]
-[[面接・面談]]
合計:&counter()
今日:&counter(today)
昨日:&counter(yesterday)
&link_editmenu(text=ここを編集)
オヌヌメ
#amazon(4063880338)
EOF
-[[トップページ]]
-[[プラグイン紹介>プラグイン]]
-[[まとめサイト作成支援ツール]]
-[[メニュー]]
-[[メニュー2]]
----
**リンク
-[[@wiki>>http://atwiki.jp]]
-[[@wikiご利用ガイド>>http://atwiki.jp/guide/]]
**他のサービス
-[[無料ホームページ作成>>http://atpages.jp]]
-[[無料ブログ作成>>http://atword.jp]]
-[[2ch型掲示板レンタル>>http://atchs.jp]]
-[[無料掲示板レンタル>>http://atbbs.jp]]
-[[お絵かきレンタル>>http://atpaint.jp/]]
-[[無料ソーシャルプロフ>>http://sns.atfb.jp/]]
// リンクを張るには "[" 2つで文字列を括ります。
// ">" の左側に文字、右側にURLを記述するとリンクになります
//**更新履歴
//#recent(20)
2015-03-06T09:17:08+09:00
1425601028
-
トップページ
https://w.atwiki.jp/acil/pages/1.html
オヌヌメ
#amazon(4063880338)
#amazon2(468x60)
EOF
2015-03-06T09:16:38+09:00
1425600998
-
Java/読み物
https://w.atwiki.jp/acil/pages/46.html
-[[初心者がJavaを“超高速”で学ぶためのコツ>>http://itpro.nikkeibp.co.jp/article/COLUMN/20060927/249181/]]
-[[Java技術によるWebアプリケーション開発入門>>http://jp.fujitsu.com/solutions/sdas/technology/web-apl/]]
-[[Spring Frameworkで理解するDI>>http://www.atmarkit.co.jp/fjava/index/index_springdi.html]]
#amazon2(468x60)
EOF
2014-10-09T17:57:47+09:00
1412845067
-
Linux/Linuxコマンド
https://w.atwiki.jp/acil/pages/20.html
-[[find -execの使い方>>http://d.hatena.ne.jp/emergent/20071127/1196091725]]
-[[Linux コマンド再入門 (cut, sort, uniq)>>http://d.hatena.ne.jp/strkpy/20090711/1247315811#20090711fn1]]
-[[tar.gz や tar.bz2 の展開は tar xf でOKです>>http://qiita.com/ironsand/items/b53301eb07e0f6199126]]
--[[tarでファイル解凍先ディレクトリを指定したい>>http://www.itmedia.co.jp/help/tips/linux/l0418.html]]
#amazon2(468x60)
EOF
2014-09-24T17:16:52+09:00
1411546612
-
Eclipse/プラグイン
https://w.atwiki.jp/acil/pages/14.html
-[[EclipseでCVSブランチ>>http://www.aksystem.jp/computer/EclipseCVSBranch/EclipseCVSBranch.htm]]
-[[CVS_on_eclipse>>http://works.nri.co.jp/service/pdf/cvs_on_eclipse.pdf]]
-[[CVS Errors>>http://vega.sra-tohoku.co.jp/~kabe/vsd/cvs/cvs-err.html]]
--「cvs add: cannot add file on non-branch tag XXX」
---ブランチ作成時、バージョンとブランチの名前が同じになっているとうまく動いてくれない。
--http://vega.sra-tohoku.co.jp/~kabe/vsd/cvs/cvsbranch.html#wtagimap
>CVS ではタグ間の関係や、タグ全部の一覧というものを 管理していません (RCSと同じ)。 従って、
>・どんなタグがあるか
>・どれが枝タグか、どれが点タグか
>・枝の分岐関係や分岐位置は
>・枝間のマージ関係は
>といった事項は、ぜんぶ 人間が管理する必要があります。
-[[Eclipse/cvsでのブランチ作成>>http://tunes.sakura.ne.jp/tipi/?Eclipse%2Fcvs%A4%C7%A4%CE%A5%D6%A5%E9%A5%F3%A5%C1%BA%EE%C0%AE]]
-[[Eclipse/cvsブランチの削除>>http://tunes.sakura.ne.jp/tipi/?Eclipse%2Fcvs%A5%D6%A5%E9%A5%F3%A5%C1%A4%CE%BA%EF%BD%FC]]
SVNプラグインアイコン一覧
-[[【eclipse】Subversiveのアイコン一覧>>http://www.softel.co.jp/blogs/tech/archives/4556]]
-[[【eclipse】Subclipseのアイコン一覧>>http://www.softel.co.jp/blogs/tech/archives/4569]]
-[[SVNマージの仕方>>http://entersystem.ddo.jp/trac/CommonDocs/wiki/TracTips_20100126_1]]
-[[eclipseでsvnのブランチとマージの実行手順メモ>>http://jiemamy.org/pages/viewpage.action?pageId=3047524]]
--参照元からブランチ作らないとリビジョンが途切れる?
Eclipseプラグイン
-[[PropertiesEditor_EclipsePlugin_for_3.x>>http://sourceforge.jp/projects/propedit/releases/]]
-[[Tomcat7 コンテキストの設定>>http://atmarkplant-dj.blogspot.jp/2012/02/tomcat7.html]]
-[[Eclipseで、Tomcat上のWebアプリをルートに配備する方法>>http://web.plus-idea.net/2012/07/eclipse-tomcat-web-root/]]
>①「Tomcatインストールフォルダ\webapps」に入っている「ROOT」フォルダを「ROOT2」にリネーム。
>②Eclipseのプロジェクトのプロパティで、「Tomcat⇒全般」の「コンテキスト名」を「ROOT」に変更。
>③Eclipseのプロジェクトのプロパティで、「Tomcat⇒WAR エクスポート設定」の「エクスポートするWARファイル」の.war名も「ROOT.war」に変更。
>④すると、「Tomcatインストールフォルダ\conf\Catalina\localhost」にある、変更したいWebアプリの定義ファイルが「ROOT.xml」に変わっているはず。
>以上で、「localhost:8080/」のようにルートのURLで自分のWebアプリにアクセスできるようになります
#amazon2(468x60)
EOF
2014-09-17T10:44:31+09:00
1410918271
-
Java/TOOL
https://w.atwiki.jp/acil/pages/45.html
package jp.co.tool;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;
import javax.imageio.ImageIO;
/**
* 指定したファイルに記載されたリストからファイル名の入った画像ファイルを生成します。<br>
* 生成可能な画像は、JPG、GIF、PNG、BMP
*/
public class ImageGenerator {
/** パス区切り文字 */
static final String SEPARATOR = File.separator;
/** 入力ファイル格納フォルダ */
private String inputDir = "C:\\generatorImage\\";
/** 入力ファイル名 */
private String inputFile = "fileList.txt";
/** 出力ファイル格納フォルダ */
private String outputDir = "C:\\generatorImage\\";
/** 生成画像の横サイズ */
int imageWidth = 400;
/** 生成画像の縦サイズ */
int imageHeight = 300;
/** 生成ファイル名の変換(true:大文字、小文字、falseそのまま) */
private boolean changeFileNameFlg = false;
/** 生成ファイル名の変換で(true:大文字、false:小文字、changeFileNameFlgがtrueであることが前提) */
private boolean lowerUpperFlg = true;
public static void main(String[] args) {
System.out.println("-- Start ImageGenerator --");
ImageGenerator generator = new ImageGenerator();
if (generator.init()) {
generator.readList();
generator.generateImageFile();
}
System.out.println("-- End ImageGenerator --");
}
private List<FileInfo> fileList = new ArrayList<FileInfo>();
public ImageGenerator() {
}
public boolean init() {
System.out.println("-- init start --");
boolean ret = true;
if (inputDir.isEmpty()) {
System.out.println("not set inputDir");
ret = false;
} else {
System.out.println("inputDir is " + inputDir);
}
if (inputFile.isEmpty()) {
System.out.println("not set inputFile");
ret = false;
} else {
System.out.println("inputFile is " + inputFile);
}
// 出力フォルダが指定されていない場合、入力フォルダと同じ場所を指定
if (outputDir.isEmpty()) {
outputDir = inputDir;
System.out.println("outputDir is inputDir");
} else {
System.out.println("outputDir is " + outputDir);
}
if (!ret) {
System.out.println("-- Error init --");
}
System.out.println("-- init end --");
return ret;
}
public void readList() {
System.out.println("-- readList start --");
// 読み込みファイルの行リスト
List<String> readFileList = new ArrayList<String>();
// ファイルのリストを読み込み
try {
BufferedReader br = null;
// 入力ファイルの読込み
if (!inputDir.endsWith(SEPARATOR)) {
inputDir = inputDir + SEPARATOR;
}
File fileList = new File(inputDir + inputFile);
FileReader filereader = new FileReader(fileList);
br = new BufferedReader(filereader);
String str = br.readLine();
while (str != null) {
if (!str.isEmpty()) {
readFileList.add(str);
}
str = br.readLine();
}
// // 手でゴリゴリ
// readFileList.add("image01.jpg");
// readFileList.add("image02.jpg");
// readFileList.add("naikan\\image03.jpg");
// readFileList.add("gaikan\\01\\image04.jpg");
// readFileList.add("image05.jpg");
br.close();
} catch (Exception e) {
System.out.println(e.getStackTrace());
} finally {
}
for (String file : readFileList) {
// ファイル名とファイルパスの取得
FileInfo createFile = new FileInfo();
if (file.lastIndexOf(SEPARATOR) > 0) {
createFile.setFileName(file.substring(file.lastIndexOf(SEPARATOR) + 1));
createFile.setFilePath(file.substring(0, file.lastIndexOf(SEPARATOR)));
} else {
createFile.setFileName(file);
createFile.setFilePath("");
}
// ファル拡張子の取得
createFile.setFileExt(createFile.getFileName().substring(createFile.getFileName().lastIndexOf(".") + 1,
createFile.getFileName().length()).toLowerCase());
fileList.add(createFile);
}
System.out.println("-- readList end --");
}
public void generateImageFile() {
System.out.println("-- generateImageFile start --");
for (FileInfo fileInfo : fileList) {
try {
//受け取った文字列を画像化
BufferedImage image = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = image.createGraphics();
g2d.setBackground(Color.DARK_GRAY);
g2d.clearRect(0, 0, imageWidth, imageHeight);
g2d.setColor(Color.WHITE);
g2d.drawString(fileInfo.getFileName(), 7, 17);
if (fileInfo.getFilePathList().length > 0) {
String pathStr = outputDir;
for (String path : fileInfo.getFilePathList()) {
pathStr = pathStr + SEPARATOR + path;
File newdir = new File(pathStr);
newdir.mkdir();
}
}
// 出力ファイル名の変換(そのまま、大文字、小文字)
String fileName = fileInfo.getFileName();
if (changeFileNameFlg) {
if (lowerUpperFlg) {
fileName = fileName.toUpperCase();
} else {
fileName = fileName.toLowerCase();
}
}
boolean writeRet = false;
if (fileInfo.getFileExt().equals("jpg")) {
writeRet = ImageIO.write(image, "JPEG",
new File(outputDir + fileInfo.getFilePath() + fileName));
} else if (fileInfo.getFileExt().equals("gif")) {
writeRet = ImageIO.write(image, "GIF",
new File(outputDir + fileInfo.getFilePath() + fileName));
} else if (fileInfo.getFileExt().equals("png")) {
writeRet = ImageIO.write(image, "PNG",
new File(outputDir + fileInfo.getFilePath() + fileName));
} else if (fileInfo.getFileExt().equals("bmp")) {
writeRet = ImageIO.write(image, "BMP",
new File(outputDir + fileInfo.getFilePath() + fileName));
}
if (!writeRet) {
System.out.println(fileInfo.getFileName() + " is ImageIO.write error");
}
} catch (Exception e) {
e.printStackTrace();
}
}
System.out.println("-- generateImageFile end --");
}
class FileInfo {
/** ファイルパス */
private String[] filePathList;
/** ファイル名 */
private String fileName;
/** 拡張子 */
private String fileExt;
/**
* コンストラクタ
*/
public FileInfo() {
// パス、ファイル名の初期化
setFilePathList(new String[0]);
setFileName("");
setFileExt("");
}
/**
* @return filePath
*/
public String[] getFilePathList() {
return filePathList;
}
/**
* @param filePath
* セットする filePath
*/
public void setFilePathList(String[] filePath) {
this.filePathList = filePath;
}
public void setFilePath(String path) {
List<String> list = new ArrayList<String>();
String checkPath = path;
while (!checkPath.isEmpty()) {
String str = "";
if (checkPath.indexOf(SEPARATOR) > 0) {
str = checkPath.substring(0, checkPath.indexOf(SEPARATOR));
checkPath = checkPath.substring(checkPath.indexOf(SEPARATOR) + 1);
} else {
str = checkPath;
checkPath = "";
}
list.add(str);
}
filePathList = list.toArray(new String[list.size()]);
}
public String getFilePath() {
StringBuffer sb = new StringBuffer();
for (String path : filePathList) {
sb.append(path);
sb.append(SEPARATOR);
}
return sb.toString();
}
/**
* @return fileName
*/
public String getFileName() {
return fileName;
}
/**
* @param fileName
* セットする fileName
*/
public void setFileName(String fileName) {
this.fileName = fileName;
}
/**
* @return fileExt
*/
public String getFileExt() {
return fileExt;
}
/**
* @param fileExt
* セットする fileExt
*/
public void setFileExt(String fileExt) {
this.fileExt = fileExt;
}
}
}
#amazon2(468x60)
EOF
2014-08-22T11:41:17+09:00
1408675277
-
MySQL/TIPS
https://w.atwiki.jp/acil/pages/44.html
-[[MySQLのテキスト型>>http://blog.ks2.info/?p=462]]
#amazon2(468x60)
EOF
2014-08-07T11:02:57+09:00
1407376977