サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
掃除・片付け
kkz-tech.hatenadiary.org
Oracleを普段使っているとちょっと驚きなんですが、MySQLは特に指定しない限り、主キーを使った索引構成表となってます。適当に入れたデータでも検索すると主キー順で返ってくるから妙だと思ったらびっくりです(笑)。 13.5.13. InnoDB テーブルとインデックス構造 http://dev.mysql.com/doc/refman/5.1/ja/innodb-table-and-index.html 全ての InnoDB テーブルは、行のデータが格納されている clustered index と呼ばれる特別なインデックスを持っています。もし PRIMARY KEY をテーブル上で定義したら、主キーのインデックスは集合インデックスになります。 もしテーブルに PRIMARY KEY を定義しなければ、MySQL は主キーとして NOT NULL カラムだけを持つ最初の UNIQUE イ
個人的にはあまり好きじゃないですが、やむなくWindows Serverでサーバ環境を構築する場合、いろんなスクリプトを作らざるを得なくなるのが常というものですが、最大の難点はデバッグがしづらい!という事だと思います。 Visual Studioとか使えばデバッグ出来るんですが、もう少しシンプルなツールだけでデバッグする方法についてまとめてみました。 まずは、テスト用にVBSスクリプト LoopScript.vbsを作成。5秒おきにテキストに1行ログを書いていくだけのシンプルなスクリプトです。 Dim objFso Dim file Dim loopCount Wscript.Echo("ループ処理の開始") Set objFso = CreateObject("Scripting.FileSystemObject") Set file = objFso.OpenTextFile("Loo
過去のエントリでも紹介したBytemanを実際に触ってみたのでとりまとめ。 参考サイト 公式:https://www.jboss.org/byteman ダウンロード:https://www.jboss.org/byteman/downloads バイトコード操作ツール、Bytemanを試す:http://d.hatena.ne.jp/Kazuhira/20131022/1382455739 Bytemanクイックリファレンス:http://d.hatena.ne.jp/nekop/20111226 この辺を読めば使い方はおおよそわかってくると思うので、実際のコードに入れてく使い方をつらつらと書いていきたいと思います。 前準備 まずは、Bytemanの黒魔術の被害者となるコードを作成。まあ日付をフォーマットして標準出力するだけです。 Eclipseなら「実行の構成」のJVMパラメータにBy
ドメインで文字列のキーをIDにする http://d.hatena.ne.jp/kkz_tech/20130606/1370609690 上の続きで、レガシーDBを使ってGrailsのドメインクラスを作る場合のお話です。 ※前提条件としては、テーブル定義は変更できないもの、としています。 いくらレガシーといえど、テーブルの親子関係くらいはありますよね。 前回の例だとユーザーを作りましたから、今度はさらにユーザーを親とする子テーブル、ユーザーのログイン履歴に相当するものを作ってみました。 何個か引っかかるポイントはあったのですが、まずは親のインスタンスをどう持たせるか、です。適当に指定したら親テーブルとの外部キーであるユーザーIDが2個出来てしまう(;´∀`) ログイン履歴はタイムスタンプ型のログイン日付とユーザーIDの複合主キーなわけですが、これはstatic mappingに以下のような
ドメインで文字列のキーをIDにするには、static mappingのidにgeneratorとプロパティ名、カラム名やデータ型の指定が必要。 Grailsで既存のシステムをいじれるようにするツールっぽいものの原型を作っていたのですが、なにせORマッパーなにそれ食えるのって世界で作られたシステムなので、テーブルにid列に相当するものがない。(既存システムはMyBatisで作成されていて、SQLはXMLに直接記載されてる状態) id列やversion列は消して、idとしてはUSER_IDという文字列を使うようにいろいろ試行錯誤した結果、こんな感じにたどり着きました。 class LoginUser { String userId String name String toString() { userId } static constraints = { userId unique:true
Shift-JISからCP930(IBM930)へのテキストファイル変換が必要になったので、Javaでいろいろ試したものの、手続きがめんどくさかったり、マルチバイト文字列とかがうまく変換できなかったり、トラブルが多い(;´∀`)。 Unix環境なら色々と選択肢もあるかと思いますが、Windows環境で手軽にイケる手段が割と少ない。 vbsによる変換ではUTFやSJIS,EUCなどの代表的な文字コード間の変換はできるものの、マイナーな文字コードには対応してなかったりして意外と面倒なんですよね。 んで、Groovyで同じ処理を書いてみました。 // 引数が4つでない場合、Usageを表示 if(args.length != 4){ println "Usage:" println "groovy FileEncodeConverter.groovy inputFile inputCharset
GGTS(Groovy/Grails Tool Suite)の日本語化はPleiadesプラグインをインストールする事で可能。 個人的にはInteliJ IDEAもライセンス持ってるんですが、実際のプロジェクトで使うにはフリーなIDE環境が必要ですよね。 ということで現状 Groovy/Grailsの開発をするのであればもっとも無難な選択のひとつにGGTS(Groovy/Grails Tool Suite)があります。 まずはフレームワークのSpringを扱ってるSpringSourceからGGTSをダウンロード。 Eclipse Juno(3.8)ベースでも良いのですが、Juno(4.2.2)ベースを選択。 http://www.springsource.org/downloads/sts-ggts 適当にインストーラを動かしたらOK。なお、JDKが必要なのでこれも別途インストールしてお
表題の通り。 Windows Server 2008 R2(64bit)で新規で環境を作るとき、GroovyのWindowsインストーラを使うのであれば、JDKインストール後、Groovyのインストーラを動かす前に環境変数JAVA_HOMEを設定する必要があるっぽいです。 まっさらな環境から作成したので、まずはJDK 1.7.0_21をインストール。 連続してGroovy 2.1.3をインストールしたのですが、なぜか以下のようなエラーが。(;・∀・) C:\Users\Administrator>groovy -v error: dynamic library C:\Program Files\Java\jdk1.7.0_21\jre\bin\server\jvm.dll exists but could not be loaded! This may be caused e.g. by
会社でRedmineをかなりヘビーに使っており、自分の管理してるRedmineのサーバを他のチームにも相乗りで提供しているのですが、メール配信関係でトラブル。 Redmineにはチケットの更新を各担当者(チケットの担当者+ウォッチリストに入っている人)にメールでお知らせする機能があるのですが、この配信先の人のメールがUser Unknownで届かなかった場合にSMTPサーバ側から送信される配信エラーのメールがどこにも届かず、不着になってしまうとの事。 メールのヘッダーを確認すると該当のメールは From: 管理用として登録したメーリングリスト(Redmine上で指定した配信元メアド) Return-Path: となっており、SMTPサーバ側はReturn-Pathのアドレスに向けてメールを送ろうとして、メール配信エラーを起こした模様。このRedmineのユーザ名@サーバホスト名ではメールは
Debianのサーバへバックアップ用としてUSBのHDDを接続してみる。さすがにつないだだけじゃドライブ(/mnt)として認識してないみたいなので、各種パッケージが入ってるのか調べてみる。 dpkg --get-selections | grep usbmount dpkg --get-selections | grep hotplug root@server:/dev$ dpkg --get-selections | grep udev libudev0 install udev install udevは入ってるのね。んじゃ、/var/log/syslogになんか出ているだろうと思ったら、既に/dev/sdc1として認識してるみたい。 Dec 13 09:37:15 server kernel: [14317353.503256] usb 4-3: new high speed USB
http://dev.mysql.com/doc/refman/5.1/ja/group-by-functions.html GROUP_CONCAT(expr) この関数は、グループからの連結された非 NULL 値を伴うストリング結果を戻します。非NULL 値がない場合は NULL を戻します。MySQL では、式のコンビネーションの連結された値を得ることができます。DISTINCT を使用することで、重複した値を除くことが可能です。結果の値をソートしたい場合は、ORDER BY 句を使用してください。逆順でソートするには、DESC ( 降順 ) キーワードを、ORDER BY 句のソートするカラムの名前に加えてください。デフォルトでは昇順になっています。これは、ASC を使うことで明示的に指定することができます。SEPARATOR の後には、結果の値の間に挿入されるべきストリング値が続
このページを最初にブックマークしてみませんか?
『開発の風景 〜KKZのSE日記〜』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く