いっぽんの猟銃のむこうに (DAIZOじいさんとGun)

ヌルめの技術メモとか。フリーランスやってます (http://acez.jp/)

Solr4.4で日本語検索する場合のschema.xmlフィールド設定メモ

毎回データ型っぽいやつを忘れるので。基本的にexampleのschema.xmlをベースに。 <fields> <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> <field name="category" type="string" indexed="true" stored="true" required="true" multiValued="false" /> </field></field></fields>

やっつけでCentOS6.4のTomcat6でSolr4.4を動かす

4.3からまたなんか微妙に色々変わってた気配なので。以下、最低限でexampleサンプルを動かしてみた手順です。■Tomcatをyumで入れる ・めんどくさいので標準のtomcat6を使う(OpenJDK1.7も一緒に入る) # yum -y install tomcat6 (javacとかは入らないので必要…

Debian Wheezy(7.1)へVagrantをさっくり入れる

最初は $ wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add - $ sudo apt-get update $ sudo apt-get install vagrant $ vagrant -v Vagrant version 1.0.3 でまあ古いけどこれでいいかなー楽だし、と思っ…

AWS無料枠を使って『艦これ』をモバイルデバイスから遊ぶ 前編

はじめになのです! すごい人気ですよねー。『艦これ』。 僕も今ではすっかり提督として鎮守府に着任していまして、お陰様で帝国海軍のフネとか大分詳しくなりました。今まではフネ系は正直さっぱりだったんですけど、やっぱゲーミフィケーション効果ってす…

AWS無料枠を使って『艦これ』をモバイルデバイスから遊ぶ 後編

←前編 PCからRDP接続なのです! EC2インスタンスの起動が完了したら、RDP接続に使うAdministratorユーザのパスワードを取得します。作成したEC2インスタンスを選択し、「Actions」→「Get Windows Admin Password」を選択。 「ファイルを選択」からインスタン…

ブログ引っ越ししました

いい加減放置しっぱなしだったので、はてなダイアリーからはてなBlogに移行しました。 最近はAWSをポチポチしたりして遊んでます。 9月か10月くらいから、新しくAWS使ったお仕事とか始めたいなー。

SJC-P 1.4を更新すべくUpgrade to Java SE 7 Programmer(1Z0-805)取得したら凄く大変だった件

新人時代に取らされたSJC-P 1.4が、Upgrade Exam受ければアップグレードできると聞き、資格本も出てたので軽い気持ちで受けてみたら、なんか大変なことになりました。 試験自体は合格ライン60%ですし、やらしい感じの問題とか、もやっとくる問題も多いですが…

【Markdown】 Windows用オススメ軽量エディタ(2013/03版)

Markdown、そろそろ覚えようかなーと思って。 Windowsでは、どうもいまいち使いやすいクライアントがなかったんですが、結論から言うと、■DownMarker (https://bitbucket.org/wcoenen/downmarker/downloads)がオススメ。 バイナリが若干古い 機能が少ない→(…

Spring 3で直接JDBCのConnectionを取得して実行

Spring3はSpringJDBCだのMyBatisやHibernate連携だの色々と充実してるんですが、場合によってはめんどくせえから直接SQL投げさせろやみたいな時もありますよね。(糞畜生)そんな時はこんな感じで。(データソース関連の設定はできてる前提です)Application…

Spring3.1から導入されたflashスコープを使う

「リダイレクト先で完了メッセージを表示する」といったよくありがちな用途ですごく便利なSpring 3.1から実装された機能、「flash scope」なのですが、どうも昔ながらの設定ファイルで使われていたクラスだと使えないようです。 https://jira.springsource.o…

Eclipse 4.2でのm2eclipseの入れ方と動的Webプロジェクト作成

なんか公式リンクが切れたりしてたので。4.2系の場合、「Eclipseマーケットプレイス」から「m2eclipse」で検索して出てくるのを入れるのがいいようです。いわゆる「動的Webプロジェクト」としてWTPからも利用できるようにしたい場合は、「Maven Integration …

Mac OS Mountain Lionのダウンロードが始まらない

Mac

ダウンロードボタンを押しても特に何かイベントが発生するわけでもなく、アクティビティモニタを見ても通信している気配すらありません。サーバが混んでるのかなーと思って今日まで待ってみてたんですが、特に何か変わるわけでもなく。ネットワークがなんか…

coberturaでカバレッジが二回走る(2012/07版)

coberturaでカバレッジが二回走る に書いていた通り、なぜかJenkinsでは、mvn package と cobertura:coberturaでテストが二回走るんで、今まではそれぞれ別ビルドにして二回にわけて実行していました。ところがこれが、なぜか今度はcobertura:coberturaはメ…

Windows版emacsでtwittering-modeを使う

特にgpgのあたりがうまくいかなくてハマったのでメモ。 cygwinからgpgを入れる Windowsの環境変数にgpgのパス(C:\cygwin\bin)を通す これでEasyPGが入っているGNU Windows版Emacs23系以降ならいけると思います。 (Meadow + alpacaだとうまくいきませんでし…

Javaのaxis1.4でxml電文をSOAPRequestにして送信

なんかaxisでやってるとSOAPMessageとかいろいろめんどくさい感じなんですがその辺生でやりとりしたい場合に。 org.apache.http.client.HttpClient(4.1系)を利用して、HTTPでリクエストを送る。ポイントは"SOAPAction"をHTTPヘッダに付与してあげること。こ…

struts.xmlに書いたactionが呼び出され正しい値を返すのに「No result defined for action」

デバッガで止めてactionで指定したメソッドはたしかに呼び出されてるのを確認。そんでどう考えても正しい値が帰ってくるのにナンデ? ナンデ「No result defined for action」?と悩んでいたのですが、原因は親子階層にしたstruts.xmlの親の方にabstract=tru…

Windowsで SSH+SVNならSubclipseよりSubversive

EclipseのダウンロードランキングだとSubclipseが上に来てたんですが、どうもWindowsだとtortoiseSVN入れてごにょごにょしないと、SSH+SVNのリポジトリを扱うにはうまくいかない気配なので、そういうのめんどくさいって人は素直にSubversive使うのがよいです…

/WebContent/の下にJava予約語ディレクトリを作ると認識されない

なんかはまってしまったんですが、Eclipseの動的Webプロジェクトで /WebContent/static/css/base.css とか /WebContent/public/css/base.css とかを作ってEclipse上からTomcat起動しても認識されません。アドレス直打ちしてみても404が返ります。(buildディ…

Redmineにdigest認証

チュートリアルの通りapache+passengerでVirtualHostでポート8000にした例。まずdigestファイルを作る。 # mkdir /var/digestpass # htdigest -c /var/digestpass/.digest "redmine_auth" redmine Adding password for redmine in realm redmine_auth. New p…

Mac版 Eclipse4.2の日本語化手順

なんかうまくいかないなーと思ったらFinderで作業しててファイルのコピペミスってたというオチ。やり方自体はちゃんとやれば超簡単。■用意するもの ・Eclipse 4.2 (お好みで。今回はJava屋さんっぽくJ2EE版を利用) ・Pleiades 本体(最新版。今回は1.3.4)■手…

CentOS6系統でsetupコマンドを出す

なんか最小(minimal)インストールだとsetupコマンドができなくなってたので。あれ無しでnetwork設定とかiptables設定とかめんどくさい。。。という人向け。 # yum install -y setuptool ntsysv system-config-network-tui system-config-firewall-tui ただこ…

Pythonで文字列が16進数かどうかを判別する

普通にやるなら def _is_hex(val): try: int(val, 16) return True except ValueError, e: return False とか書くんですけど、まあ冗長っていえば冗長ですよね。どうしても、なんとなく例外処理とか書きたくない場合は、 a = 'FF00FF' import string set(a).…

Pythonで相対URLとかうさんくさいのを綺麗にする

urlnormというライブラリを使うと良いっぽい。以下公式サイトからそのままですけど、相対参照とかうさんくさいドメインとかを適宜綺麗にパースしてくれるみたいです。素敵。 >>> import urlnorm >>> urlnorm.norm("http://xn--q-bga.com./u/u/../%72/l/") u'…

DebianとかUbuntuにapt-getで適当にJenkinsを入れる

yumで適当にJenkinsを入れるのapt版。 # リポジトリ登録 $ sudo wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add - $ echo "deb http://pkg.jenkins-ci.org/debian binary/" | sudo tee -a /etc/apt/sources.list # …

Linux用 CUI版Dropboxインストール

最近は.emacsやら.vimやらをDropboxに入れ、それにパスを通して管理したり、はたまたgithubで管理したりするのが、ナウいヤングのお作法だと聞いて。というか、そもそもCUIでDropbox使うってのがよくわからんですよね。以下手順。基本的に/home/user/の直下…

ThinkPad USB Keyboard with TrackPoint

Win

ThinkPad USB Keyboard with TrackPoint Driver 1.07で Firefoxでスクロールできない系の問題は解決したっぽい。http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS013897tp4table.datを普通に用意してくれるだけでもいい気がするんですが、自…

Homebrewで入れたPythonにvirtualenvwrapperが入らない

.bash_profileにvirtualenvwrapper.shを読ませるところでエラーが出て、export VIRTUALENVWRAPPER_PYTHON=`which python`を指定してるし、きちんと/usr/local/のbrewで入れたpythonを見てるのになんでだろう……と思ってしばしハマったんですが、どうもpip入れ…

6分割コンプガチャの出現確率はおおむね混一色くらい

いま話題のコンプガチャの確率を数学的に証明してくださったエントリを見て。(http://doryokujin.hatenablog.jp/entry/2012/05/09/034209)うーん……正直数学ガール見て実際お手上げめいた似非理系プログラマの僕には数式みるだけで目眩が……というわけでシミュ…

Mac OS Lionでのsshdの設定(ポート番号)

Mac

ちょっと昔の話なんですが、知り合いのMBAが画面だけおなくなりになりかけました。そういえばうちのMBAはsshd立ててません。どうせ死ぬときは死ぬし、シンクライアントみたいにしか使ってないからいいやーとか思ってたんですか、やっぱり突然ディスプレイの…

Philips Hf3470/60 Wake-up Light を買ってみた

【06/23追記】 目覚ましライトなのにつけっぱなし3時間くらいしてたらスイッチが反応しなくなりました。タイマーで自動的に光る機能は生きてるので、電球が切れたわけではなくなんとなく基盤関係が熱でやられたっぽいです。発熱が結構凄いのでつけっぱなしに…

特定桁数での丸め込み(切り上げ、切り捨て)する

切り上げとか切り捨てってJavaならMath.floor()とかMath.ceil()だよね?と思ってたんだけど、該当メソッドは小数点以下の切り捨てしかしてくれないことを今更。そういやそうでした。たとえば時間計算とかでありがちな、出勤は15分単位で切り上げ、退勤は15分…

投げやりにSIer特有の画面ポップアップ&ファイルダウンロードコンボを実装する

「クリックしたらポップアップウィンドウが出て、自動的にファイルのダウンロードが始まり、終わったらファイルの保存ダイアログを出して、ダウンロードが終了したらポップアップのウィンドウ自体は自動的に閉じる(ただし途中でエラーが発生した場合は表示…

Homebrewの中のgit pullでこける

Mac

なんか内部的にコンフリクトしちゃったりした場合に。http://d.hatena.ne.jp/YuhoYo/20110528/1306547056リポジトリが/usr/local/の下なんですね。なるほどー

緯度・経度をメートル法に換算して距離を求める場合の定数

なんか本当はすっごい複雑な計算が必要らしくて、本来は場所によって違ったりもするらしくて正直よくわからなかった(なんかもういろんな意味であきらめた)のですが、ざっくりとした値で良い場合は、・緯度 × 111319.491 ・経度 × 91187.208で求めるらしい…

/etc/mongodb.conf が凄い適当

Debianではapt-getでinstallできてあら簡単ですね、素晴らしいですね。 ……とおもいきや設定ファイルが凄い適当で笑った。 # Disable the HTTP interface (Defaults to localhost:27018). #nohttpinterface = true nohttpinterface が true でデフォルト設定…

cx_Oracleをcygwin上のPython(2.6)に入れる

ベンチマーク比べするためだけにWin上で動かしたいなーなんて場合はとりあえずCygwinなんですけど、この場合setup.pyスクリプトに手でパッチ当てないとうまく動いてくれません。詳細は以下のとおり。 http://permalink.gmane.org/gmane.comp.python.db.cx-or…

Super-Smackの--with-oracleオプションはダミー

最近ではDBのサンプルデータベースを作るのに専らSuper-Smackを使ってたんですが(使い方は http://thinkit.co.jp/cert/article/0707/2/2/2.htm (自分メモ))久しぶりにconfigureしたらOracle指定ができたので、「あれ?Oracle対応してるのかな?」とか…

@ITでコラム書き始めました

こんな感じの。 http://el.jibun.atmarkit.co.jp/fatalstaynight/大丈夫なのかこれ、って常に心配しながら書いてます。 お目通し頂けますと幸いです。 あ、服は自前です。

cx_Oracleのインストール(pip編)

最近だとvirtualenv切ってPIPで入れるのがお作法的に綺麗な感じがするので、その手順をメモ。 ■前提条件 ・Pythonの比較的新しめな奴(2.5以降系) ・Oracle Instant Clinetが導入され、sqlplusでの接続確認済 ・Oracle環境変数等設定済 [oracle@oracle11g ~]$…

Oracle表領域、ユーザの追加をSQLベースで

OEMで手でポチポチやってらんねえーって時に。スクリプトとかにしておくと吉。 ・まずはSYSDBAでログイン $ sqlplus sys/test as sysdba ・表領域追加 create BIGFILE tablespace TEST_20110930 datafile '/opt/oracle/oradata/TEST_20110930.ORA' size 5000…

SYSDATEをSYSDATE()で置き換えるのはNG

結論から言うと「OracleのSYSDATEをMySQLに移行する場合はNOW()使え」ということらしい。 http://nippondanji.blogspot.com/2009/04/sysdatenow.html 以下検証ソース。 SQL> CONN / AS SYSDBA SQL> GRANT EXECUTE ON DBMS_LOCK TO SCOTT ; // 権限あげないと…

多段SSHのメモ

いつも忘れちゃうので。 scpでfumidai_serverを踏み台にhonban_serverに配置する例。 $ scp -o 'ProxyCommand ssh test@fumidai_server nc %h %p' test.data.gz sample@honban_server:~ 多段かましてコマンド叩く場合はこんな感じ。 $ ssh -o 'ProxyCommand …

Oracle11g(release2) Enterpriseを入れるときのメモ

CentOSに入れるとなんだかんだで13GBくらい食う。なのでVMの場合でも20GBくらいは確保しておいたほうがよい。 MBAだからセコセコやってたら3回くらいやり直すはめに。LVMとか切り直せばいいんでしょうけどめんどくて。 手順は以下の通りやるのがおすすめ。 h…

VMWareからVirtualBoxに乗り換える

Mac

VMWare Server(ただし1.0系統に限る)は導入も簡単で仕組みも簡単で気に入ってたんですけどWin7で動かねえしそろそろ無理目な感じですよね。 で、MBAだしVirtualBoxあたりを入れてみたんですが、標準でNATも聞いててネットワークインストールもすんなり行くの…

General error: 1449 The user specified as a definer ('test'@'10.100.%') does not exist

トリガをmysqldumpすると謎のdefinerとやらが含まれてしまい、それが原因になりimportに失敗することがある。(例のエラーメッセージのように接続元IPアドレス体系が異なるとか) じゃあどうすりゃいいの、というと、--skip-triggersオプションを指定してmys…

ストアド設定しようとしたらCannot load from mysql.proc. The table is probably corrupted

どうも5.1系から5.5系でMySQLのテーブル構造が変わるのが原因らしい。 http://readit.l8r.in/2011-06-22/mysqlcannot-load-from-mysql-proc/書いてある通りmysql_upgradeの実行で治ったんだが、サーバ自体は全部5.5系なのになんで?と思ってたら理由は古いmy…

別databaseに対してトリガをしかけることはできない

たとえばTEST1というdatabaseで、 create trigger TRIGGER_SAMPLE after UPDATE on TEST2.TESTTABLE for each row みたいなことをするとエラーになるので、無理。 「そんなことしねーよ」って普通思いますけど、やる人がいるかもわからんので。。。 というか…

ファイル中の特定文字列数をカウントする

いろいろやり方はあるけどPythonでやるのが楽ちん。 文字列読み込んでstr.count('hoge')で一発。 以下、改行文字として[#@@@@#]という頭の悪い文字列を使ったCSVデータの改行文字数=列数をカウントするサンプル。count_line.py #!/usr/bin/python import sy…

ERROR 1347 (HY000): 'DBNAME.TABLENAME' is not BASE TABLE

なんでこうなるのかはわからないが、トリガ中でデータ型が違うSQLを書くと (例: SYSDATE()をvarcharカラムに叩きこむ)このエラーが出る。 にしてもMySQLは謎のエラーメッセージが多い。

MySQLではDELETE文のfrom句で指定する表名に別名はつけられない

Oracleだとできるし、当然SELECT文の場合は問題なくできる。 なんだかよくわかんない制限。