のアーカイブ

Heroku Postgres 和訳

2017年6月21日

[Heroku Postgres](https://elements.heroku.com/addons/heroku-postgresql) は Heroku 上で動く SQL database service です。add-on として管理されており、提供されています。また、Heroku Postgres は PostgreSQL driver のあるどんな言語からも accessible です。具体的には、Heroku によってサポートされる全ての言語、フレームワーク(
続きを読む

APIのキーを晒さないために

2017年6月14日

夏も近づいて[怖い話](http://qiita.com/mochizukikotaro/items/a0e98ff0063a77e7b694)をシェアしていただきました。リンク先の内容としては、API のキーを Git で公開した結果、不本意に利用され多額の請求を受けた、という話ですね。 これも他人事ではないなぁと思いつつ、どんな方法で公開したくない情報を管理できるのでしょうか。 1. 環境変数で定義し、コードには埋め込まない 2. コードには埋め込むけど .
続きを読む

Twitter のリプライの時刻と Python で処理した時刻の差を求める

2017年6月7日

時間が無かったので書き溜めから投稿します。 twitter からリプライをもらった時刻から、実際にPython で処理した時刻までの時間を返す関数が欲しかったので、少し考えてみました。 # 使用するモジュールのインポート まずは使うモジュールのインポートをします。 ``` import twitter import time import email.utils ``` # twitter からリプライをもらった時刻の取得 次に twitt
続きを読む

テキストエディットでダブルクォーテーションを使うときの注意

2017年5月24日

諸事情がありcsvをテキストエディットというテキストエディタでいじっていたのですが、ダブルクォーテーションが勝手にスマート引用符に変換されていました。見ればわかりますが、よく見ないと気が付かなかったのでもし使うときがあれば注意したいです。なお、設定の変更で回避できます。 [Mac のダブルクォーテーションが勝手に変換される問題の対処法](http://d.hatena.ne.jp/nakamura001/20140506/1399363317)
続きを読む

異なるメールアドレスを持つ1001件のcsvファイルを作成する【追記】

2017年5月24日

20170531追記 csvにより入力された「異なるメールアドレスを持つ顧客データ」を1ページあたり 1000件まで表示させるチケットがあり、境界の値周辺で挙動がおかしかったので1001件のデータを与えました。ただ1001件のデータがなく、かつ上限の変数もclassファイルとなって操作できないので、pythonでcsvを作ってみました。 第一項に出力ファイル名、第二項に生成する行の数です。適宜output_file.writeの中身をコメントアウトして使いました。
続きを読む

管理者だけに表示するポートレットを xreg で作る際の注意点

2017年5月17日

Aipoのポートレットである「管理ガイド」が管理者だけでなく、一般ユーザーにも表示されている場合がある、というチケットに取り組みました。結果としては再現すらできずに泥沼状態だったのですが、いくつか学びました。 まず、xreg は変更しても mvn install などは Tomcat を停止させてからでないと、変更が反映されないという点です。この点に関しましては、過去のエントリーの多さがハマりやすさの指標となっていると思います。([xregが反映されないとき](http
続きを読む

Velocity のログの確認方法

2017年5月10日

Eclipse のウィンドウを辿っていき、 NTailを表示することで、Aipo.log を含め複数のログが確認できます。 過去のエントリーを参考に用いたのですが、タブを消した+シークレットウィンドウで辿れないので、今後探してリンクします。 RHS of #set statement is null. というエラーログが大量に出ていたのですが、対応すべきかは今後考えます。
続きを読む

dojo.queryについて

2017年4月26日

jQuery の offset の使い方がいまいち分からず、dojoでできないかと探していたのですが見つかりませんでした。かわりに dojo.query について少し触れます。たくさんエントリーはあるので差別化を今後はかってゆきたいところであります。 ### dojo.query() とは [このページ](http://news.mynavi.jp/special/2007/dojo1/004.html)によると、 * Dojoの0.9から導入されたパワフルなA
続きを読む

アウトラインの見かた

2017年4月12日

コードの全体を把握したいけど、長くてすぐには追えない場合に、 **アウトライン** が便利でした。Eclipse では **アウトライン** を command + o (おそらく o for outline) で開けます。フィールドやメソッドの左には記号があり、白抜きがフィールドを示しています。また、赤は private を示し、黄は protected、 緑が public を示しています。 [アウトライン (Outline) ビュー](http://so-zou.
続きを読む

eclipseで新しいクラスを定義した後の留意点

2017年4月5日

新しいクラスを定義しファイルが作成された後、push する際に作業したファイルを指定する必要がある。端末上では git add --all の後に git status をして確認できるが、eclipse の GUI で何も考えずに push の作業をすると、設定が「新規で作成されたファイル等が指定されない状態」になっていることがある。そのまま状態だと作業したファイルが無慈悲に消滅するので、push する際は留意したい。
続きを読む

length と sizeの違い

2017年3月29日

ArrayList に当てるべきなのは length ではなく size でした。一方で、配列の要素数を返してほしいときは length でした。 よく考えないでメソッドを使っていると、しばしば今回のようにはまってしまいますので注意したいです。
続きを読む

Uncaught TypeError が出た時の対処法

2017年3月22日

どうしても onClick に貼った JavaScript のリンクが動いてくれなかったので、どこに問題があるのか迷っていたのですが、ようやく JavaScript が実行されている時に Console を確認することを学習しはじめました。Console を確認した所、以下のように指摘されていました。 ``` Uncaught TypeError: Cannot read property * of undefined at * ``` 結局、 javascrip
続きを読む

Eclipseで正規表現を用いた検索

2017年3月15日

今まで気付いていなかったのですが、Eclipseの検索で正規表現が使えました。任意のリソースを選択した後、 **control + h** で検索画面を開きます。検索画面の右に正規表現をチェックできるボックスがあるので、選択することで正規表現が使えるようになります。 なぜわざわざ正規表現を使ったかというと、**"hoge"data-type="hoge"** を **"hoge" data-type="hoge"** というように、data-type の前にスペースを入
続きを読む

wicketでinputを整形する

2017年3月8日

[前回](http://hacknote.jp/archives/25729/)で触れたのですが、WicketはHTMLとJavaでWebアプリケーションを構築するフレームワークです。特徴としては、HTMLの要素(Form等)をコンポーネントという枠組みで捉えることで、オブジェクト指向チックに動的なページを作成できることだと解釈しています。 前回に引き続き、Formから入力されたメールアドレスから空白を取り除く、という作業をwicketのフレームワーク内で解決するチケッ
続きを読む

wicketでwebアプリがどう作られるのか

2017年3月1日

# 現状のwicketに対する理解 ##WicketとJavaとHTMLの関係 WicketはHTMLとJavaでWebアプリケーションを構築する。HTMLで「画面」を作り、Javaで「画面に対するページクラス」を作る。その際、対応するHTMLとJavaは同名である必要がある。 ##コンポーネント HTMLの要素と対応し、Wicketから使用することができ、また自分で作ることも出来る。HTML内でwicket指定されている要素は、Javaで作成されたページクラスでも指
続きを読む

mvn install で BUILD FAILURE になる時に検討すべきこと

2017年2月15日

mvn install で BUILD FAILURE になる時に検討すべきことを以下に引用します。 * pom.xml の依存関係が変更されていない http://hacknote.jp/archives/15484/ * pom.xml の変更が .classpath に反映されていない http://hacknote.jp/archives/18671/ * JavaScript内で構文エラーが起きている http://hacknote.j
続きを読む

Firefoxにおける更新とキャッシュの関係

2017年2月8日

ブラウザ間の挙動の差にかなり頭を悩ませているのですが、どうやらキャッシュが関係していたのかもしれません。更新には少なくとも2種類、 hard reload と呼ばれる更新と普通の reload があります。これら2つの更新では結果が異なり、その差はキャッシュの扱いのようです。 他の方の投稿にキャッシュを無効化する方法が載っていたのですが(リンクは後に更新いたします)、Velocityで同様の操作が出来るかはまだ不明ですので、後の課題とさせていただきます。
続きを読む

Pythonで対話的にスクリプトを走らせる

2017年2月7日

Python 3.X でスクリプトを対話的に走らせる方法を二つ、以下に記述します。 1つ目は以下のようにファイル名の指定の前に "-i" をつける方法です。これにより、任意のファイルの実行後に対話モードが開始されます。 ``` python -i hoge.py ``` 2つ目のほうが汎用性が高いかもしれません。対話モード中に(限らず)、 ``` exec(open("./hoge.py").read()) ``` で任意のファイルを実行できます。
続きを読む

バグが再現できないとき

2017年2月1日

どうしても再現できなかった場合、バグの報告があったブラウザとバージョンを確認します。バグの場合は恐らく、最初からこの確認を行うのが好ましいと思われます。
続きを読む

Velocityを使ったフォームの作り方

2017年1月11日

ウェブページ上の動作でデータの送信や更新をしたいときに「フォーム」が使われますが、その方法の一つとしてVelocityで組まれたマクロを使ったものがありました。今回の内容は[こちら](http://hacknote.jp/archives/1243/)のエントリーを参考に理解を進めました。 Velocityの[マクロ](http://www.techscore.com/tech/Java/ApacheJakarta/Velocity/6/)を用いて、繰り返し使用されるH
続きを読む