kayama のアーカイブ

[Java]n番目の文字を取得する

2016年3月18日

「最後の文字だけ取りたい時ってどうするんだっけ?」と未だに(今日も・・)調べたりしているのでメモ程度に残しておきます。 * substring(int beginIndex, int endIndex) ``` String str = "12345678"; // 結果:12345 String sample_str1 = str.substring(0, 5); // 結果:567 String sample_str2 = str.su
続きを読む

サニタイジング – ユーザーが入力した情報を安全に扱う

2016年3月17日

### サニタイジングとは ユーザーがフォームにHTMLやSQLを書き込んだ際に、コードではなく文字列として扱うためにおこなうものです。 ### 気をつけたいこと うっかり以下のように二重にサニタイジングを行ってしまうと変な文字が表示されてしまいます。 ``` // t.getNameはサニタイジング済み String hoge = t.getName().toString() ``` ### どのように実装すればいいか 下記のよ
続きを読む

Aipoのポートレット配置情報を確認した時にしたこと

2016年2月25日

Aipoのポートレット配置情報はxmlファイルになっており、PostgreSQLのテーブルでは「バイナリデータ」と表示されます。 PostgreSQL+[SELECT文](http://hacknote.jp/archives/3518/)で中身を参照しようとすると、途中でテキストが丸められてしまい全て吐き出させることができません。 ### 手順 ``` ps ``` ``` psql -Upostgres XXXXX(データベース名) `
続きを読む

UI/UXを向上させるマテリアルデザインのボタン

2016年2月22日

* [Googleマテリアルデザインガイドライン](http://www.google.com/design/spec/material-design/introduction.html) 発表されて2年弱が経ち、だいぶ普及してきた感じのあるマテリアルデザイン。 何でもかんでもマテリアルデザインで設計できるわけではありませんが、いままでに自分で使ってみて 「これを取り入れておくと操作性が向上する」「なんか最新のデザインっぽくなる」と感じたものを挙げていきます。
続きを読む

Aipoでセッションクリアを行っている場所

2016年2月8日

### ファイルの位置 各ポートレットのjavaフォルダ->module->action->xxxAction.java ### セッションをクリアする処理 ``` private void clearXXXSession(RunData rundata, Context context) { List list = new ArrayList(); list.add("パラメータ"); ALEipUtils.remo
続きを読む

[CSS3]calc()をつかって単位が異なる値を計算する

2016年2月4日

単位が異なる値同士で計算(たとえば100% - 170px)をすると通常はエラーになってしまいます。 しかし、CSS3で登場したcalc()を使用すると可能になります。使い方は以下です。 ### CSS3 ``` /* % - px */ #sample1 { width: calc(100% - 170px); } /* % - em */ #sample2 { width: calc(100% - 1em); } ``` これ
続きを読む

よく使うjqueryのお洒落な機能まとめ(クラス系・要素生成編)

2016年2月1日

## クラス系・要素生成 クラス系は「クラスを追加」「クラスを外す」「クラスをもっているか判別」など使いやすいものばかりですね。 元々のJavascriptでこれらのスクリプトを書くとちょっと長くなってしまいますが、jQueryならささっと書けるのがおしゃれです。 ### クラス系 * addClass("クラス名") -> クラスを追加 * removeClass("クラス名") -> クラスを外す * toggleClass("クラス名") -
続きを読む

VirtualBox(Win環境)にApacheをいれる時

2016年2月1日

## 準備 1. [http://www.apachelounge.com/download/](http://www.apachelounge.com/download/) から必要なファイルをダウンロード 1. Cドライブに解凍 ## 設定 1. 展開したファイル(Apache24) > [conf]フォルダ > [httpd.conf]をメモ帳で開く 1. 以下を書き換え ``` #ServerName www.exa
続きを読む

よく使うjqueryのお洒落な機能まとめ(表示・非表示編)

2016年1月27日

## 表示・非表示系 例えば、「もっと見る」にアニメーションをつけたりする時などに使えます。 あまり気にならない部分でも、動きがつくとリッチ感が増していいですね。 ### 非表示にするとき * hide(スピード※) * fadeOut(スピード※) * css("display","none") ### 表示するとき * show(スピード※) * fadeIn(スピード※) * css("display","block"
続きを読む

PostgreSQLに.sqlを流すときのメモ

2016年1月20日

### 手順 (※Macを使用しています) 1. PostgreSQLを起動 1. 「任意のSQLクエリーを実行」を開く 1. ツールバーから「ファイル」>「開く」を選択 1. 流したい「〜.sql」ファイルを選択 1. 実行
続きを読む

CayenneModelerでテーブルに変更を加えてAipoがDBに接続できなくなったら

2015年12月28日

久しぶりにCayenneModelerを使って作業しましたが、まだまだ慣れず妙な操作をしてDBとAipoが接続できなくなるという状況に陥りました。 ### 原因 間違えた原因は以前書いたこちらのHack記事です。 * [[Aipo] 既存のDBテーブルに新規カラムを追加する](http://hacknote.jp/archives/14586/) これを読むとマニュアルを読めということが書かれているので下記を読みます。ここで間違いが発生しました。
続きを読む

[Java]エラーログを出力する

2015年12月21日

### こんなピンチの時 エラーログのスタックトレースを見ても原因が特定できない時、「原因は分からないけどこの辺が怪しい」と見当をつけたコードの中にどんなデータが入っているか確認できる。 ### logger ``` logger.error(XXXXX); ``` 上記で見当をつけた怪しい行の近くに上記を挿入する。 この中に怪しいコードを入れて、ログを確認するとどんなデータが入っているかが出力されている。 ### 関連 [エラーの箇所を
続きを読む

SQLで複数テーブルを結合してデータを取得する

2015年12月2日

## 外部結合 今日は複雑なSQLを見る機会があったので、複数テーブルを結合するSQLの書き方についてみてみます。タグ検索を作ったりする場面などで見かけることがある書き方です。 それでは下記のような構造の2つのテーブルを例に検索するSQLを書いてみます。 ------------------------------- テーブル【bookmark】 カラム id | user | s_id 1 | 太朗 | 10 2 | 花子 | 12 -----
続きを読む

URLを生成するaddQueryData()

2015年11月25日

* addQueryData(string,string) Get送信でパラメータをサーバーに渡す時に使います。 リダイレクトURLを生成している箇所に下記のように挿入すると、 ``` .addQueryData("param1","123").addQueryData("param2","abc") ``` 結果は ``` http://◯◯◯/△△△?param1=123¶m2=abc ``` になります。
続きを読む

JavaScriptを使ってselectで選択したoptionの値を動的に出力

2015年10月28日

``` test function addElement(select) { var str = select.value; var element = document.createElement('div'); element.class = "fruit"; element.innerHTML = "選択中:" + str; element.style.backgr
続きを読む

innerHTMLで生成する要素 + onchangeを組み合わせた時に発生するバグ

2015年10月23日

## バグが発生した状況 ``` var li = document.createElement("li"); var Id = "example"; li.innerHTML = "" + "" + "・・(省略)・・" + "" + ""; ul.appendChild(li); ``` 1. cleateElementで要素を生成 1. 1の要素にinnerHTMLでselectタグを追加 1. selectタ
続きを読む

[Aipo] 既存のDBテーブルに新規カラムを追加する

2015年10月21日

## 手順 ### 1. sql > postgress > 最新の「*.sql」を選択 一番下のファイルが最新のものになります。sql文を追加します。 ``` ALTER TABLE (変更したいテーブル名) ADD (新カラム名)(型:integer・varchar等) ``` ### 2. sql > postgress > org001.sqlを開く 変更したいテーブルに新しいカラムと型などを追加する。 ### 3.
続きを読む

dojo.byId()風にnameの値を取得したい

2015年10月14日

dojo.byNameがあればいいのですが・・。 html ``` ``` javascript ``` dojo.query("input[name=test]") ``` dojo.queryを使ってこんな感じに書くようです。cssセレクタとほぼ一緒の感覚ですね。 こちらのサイトにdojo.queryで要素を取得するときの書き方がわかりやすくまとめられています。 dojo.query:[https://dojot
続きを読む

Aipoでよく見かけるMapとListについて

2015年10月7日

Aipoのソースを見ているとよくMapやListを見かけます。前後を見れば何に使う配列なのかはなんとなく分かりそうですが、残念ながら仕組みが良く分かっていなかったのでまとめておきたいと思います。 ## Map ※プログラムのイメージ ``` Map map a = 1; b = 2; map["a"] // 1 map["b"] // 2 ``` キーとなる「a」をmapに渡せば「1」を呼ぶことができます。 ## List ※
続きを読む

開発の作業効率を上げるために今すぐやめたい習慣

2015年9月16日

### 今すぐやめたいと思ったきっかけ エンジニアのアルバイトをするようになってから、プログラミングの学習をしている人の作業のようすを間近で見ることが出来るようになりました。大体各々でトライ・アンド・エラーを繰り返すうちに作業の進め方を掴んでいるように思いますが、それでも自然と開発の精度も進捗の効率も上がっていく人はどんな感じで作業を進めているのかひそかに気になっていました。 そんな時にこの記事をたまたま読んだのですが、正直にいってかなり焦りました。 「悪い習慣
続きを読む