2012-01-01から1年間の記事一覧

(JavaScript) OperaでselectionStartする時の注意

テキストボックスの中のキャレットの位置を知るには、IE以外は"selectionStart"を使います。 (HTML) <textarea id="hoge">aaaa bbbb cccc</textarea>(JavaScript) var pos = document.getElementById('hoge').selectionStart; alert(pos);※ (jQuery) var pos = $('#hoge').get(0).selectionS…

(CakePHP2.x)英語・日本語どっち?の判断と切り替えの処理

英語版と日本語版があるサイト。 どちらでページを表示すべきか? どのように切り替えるべきか? 私が採用した方法は下記のとおり。 言語切り替えの方法URLパラメータを使います。 http://example.com/controller/action/lang:eng サイト内のどのページからで…

集団認知行動療法 第1回

私にとってもそうですが、今年5月に開院したばかりの彼の病院においても、最初の認知行動療法だそうです。 自分を含めて9人参加。 認知行動療法(CBT = Cognitive Behavioral Therapy)を、これから3ヶ月、どのように進めていくのか、そして第1回目のテーマと…

Ubuntu同士のデュアルブートを解消するには。

目次 問題発生までの経緯 問題の状況 解決策: GRUBの再設定 修復の結果 脱線: 13Xfceの不満点 問題発生までの経緯『今後、Linux Mint LXDE版は出ない』ということを、昨日知りました(^ ^;) つまり、私が現在使っているLinuxMint12LXDEで、LXDE版は打ち止めと…

現時点(2012-08-30)での、はてなブログへの移行を諦めました。

理由余計な"br"タグが追加されてしまうから。 "pre"タグ内の改行はてなダイアリーの画面写真 はてなブログの画面写真 はてダの原文 "find"のパラメータはこんな感じ。 <pre> $data = $this->TagList->find('all', array( 'limit' => 20, '<span class="sad">conditions</span>' => array('<span class="green">s</span></pre>…

(CakePHP, SQLite3) conditionsよりorderの方が速い?

自分のサイトで、下記のような条件でデータを検索する必要がありました。 最終更新の新しい順に取得したい。 ただし、スパムのフラグがついていないものに限る。"find"のパラメータはこんな感じ。 $data = $this->TagList->find('all', array( 'limit' => 20…

血液検査は…ちょっと…苦手かな…(-_-;)

今日も元気に行って参りました。 診察体調に変わりがないことを告げ、あとは今後の通院と認知行動療法の予定の確認のみ。 今後は通常の通院が2週間ごと、認知行動療法が1週間ごとです。 5分もかからずに終了しました。 血液検査試験管3本分抜き取られました…

(CakePHP2.x, SQLite3) paginateで生のSQLを使うには

【最終更新: 2012-11-30】目次 前置き find()ではWHERE句をエスケープできない paginate()で生のSQLを使う ページング用の生のSQLから全件数を取得する 独自paginateの処理を検証 【お手軽!】内部結合の"table"キーに記述する 前置きSQLでワイルドカードとし…

(jQuery) addInputAreaとcpick.jsを併用する

jquery.addInputAreaと、futomiさんが公開しているcpick.jsを併用できるように、cpick.jsを少し改変しました。 【参考】 カラーピッカー.js - JavaScript ライブラリー - HTML5.JP http://www.html5.jp/library/cpick.html デモページ http://www.usamimi.in…

(PHP, MySQL, SQLite3) テーブルのフィールド名一覧を取得するには

SELECT文で全フィールドを取得したい場合、普通は"*(アスタリスク)"を使います。 が、"CakePHP + SQLite3 + query()"の組み合わせで、生のSQLの中でアスタリスクを使うとなぜかエラーにorz そんなわけで、フィールド名一覧を取得する必要に迫られました。 SQ…

再び通院生活。

目次 きっかけ 病院の印象 躁鬱(そううつ) 認知行動療法 自立支援医療 まとめ・感想 きっかけ8月18日の土曜日、友人達と久しぶりに会いました。 私が去年の10月以来どこにも通院せず、服薬もしていないことを知った友人から、強く通院を勧められました。 私…

(MySQL, SQLite3)大文字小文字を区別する・しない方法いろいろ

目次 原則 MySQL: 大文字小文字を区別させる SQLite3: 『=』で大文字小文字を区別させない MySQL, SQLite3: 『LIKE』で区別させない MySQL, SQLite3: 重複データを探したい 原則下記のような、大文字小文字の種類だけが異なるデータがあるとします。HOGE Hog…

さくらサーバからロリポップへの引越しのメモ

さくらロリポップ プランスタンダードコロリポプラン 月額500円105円 容量10GB5GB PHP5.2.175.3.14も可5.3 DBMySQLなし(SQLite3) cron5個1個 維持費5分の1ですからね…。 180MB分のMySQLのデータをSQLiteへ変換するのは本当に苦労しましたが、頑張って引越し…

(jQuery)要素にイベントを設定する際、"clone(true)"に備える。

"clone()"で要素をコピーし、 "clone(true)"で、さらにイベントも引き続ことができます。 【参考】 clone(true) - jQuery 日本語リファレンス http://semooh.jp/jquery/api/manipulation/clone/true/ で、下記のようなHTMLソースがあるとします。 <div class="clone"> <button>button</button> <input> </div>…

(愚痴, 嫌韓) セコい。セコすぎる。

いつもどおり、鬱でヤル気がでなくてYouTubeをだらだら観て過ごしていました(-_-;) で、下記の動画です。 YouTube: 韓国人がコソコソ行う小さな嫌がらせ なんでも「日韓交流おまつり2011 in Tokyo」のトップページで、日韓それぞれの言語のページへ誘導する…

(SQLite3, MySQL, PHP) 小数点以下は切り上げて整数にしたい

たとえば、あるフィールドの値をすべて2分の1にする場合。 MySQLでは"CEIL()"が使えるので簡単です。 (MySQL) UPDATE tbl SET hoge = CEIL(hoge / 2); しかし、SQLiteでは"CEIL()"を使えません。 上のSQLをPHPで実行すると、下記のような警告が…。 Warning: …

(CakePHP, ロリポップ) $this->referer() が正常に動作しない

(CakePHP 2.2.1) コントローラ内でリファラを取得します。 $url = $this->referer();普通なら『http://hoge.jp/controller/view』のようなURLが入るのですが、ロリポップではなぜか『hoge.jp』となり、まったく使い物になりません。 Cakeのソースから原因を…

(正規表現, PHP, JavaScript) MySQLの改行文字(\n)を、SQLite用に置換したい

たとえば、下記のようなMySQL用のSQLがあるとします。 (MySQL) INSERT INTO tbl VALUES('aaa\naaa', 'bbb\n\nbbb', 'ccc\\nccc', '\\\nddd\nddd');(\n)は、PHPなどでデータを取得した際、改行として扱われます。 しかし、これをそのままSQLiteで使うことはで…

(正規表現, PHP, JavaScript) SQLの区切り文字として使われているバッククオートだけを置換したい

MySQL用のSQLをSQLite用に変換する際に必要な処理です。 (変換前) INSERT INTO `tbl` (`id`, `name`, `explain`) VALUES (1, 'aaa\'\'置換したくないバッククオート→`', '置換したくないバッククオート→`aaaaaa\\'); (変換後) INSERT INTO "tbl" ("id", "nam…

(正規表現, PHP, JavaScript)ある囲み記号で囲まれた文字列を抜き出す。ただし、エスケープされた囲み記号にも対処する。

最終更新: 2012-07-20 17:46 例えば、下記のようにクオート(')で囲まれた文字列を取り出したい場合。 (検索したい文字列) 'aaa' 'bbb' 'ccc'とりあえず、単純に。 (PHP) $str = "'aaa' 'bbb' 'ccc'"; preg_match_all('/\'([^\']*)\'/us', $str, $matches); v…

(PHP) 大容量のファイルを、ブラウザが落ちないように何度かに分けて処理する

以前、MySQLをSQLiteへ変換するプログラムを作りました。 http://d.hatena.ne.jp/sutara_lumpur/20120714/1342269933 が、たった数MBのSQLファイルでも、変換中にブラウザが落ちてしまうことがあります。 "fgets"で1行ずつ処理しているのですが…(-_-;) そこ…

(CakePHP2.2.1 + SQLite3) 生のSQLを実行する際の注意点

最終更新:2012-08-24 原因はいまだ判明しませんが、汎用的な対処法を見つけました。 下記のように"query()"を使って生のSQLを実行する場合。 (コントローラ) $data = $this->User->query('SELECT * FROM "users" LIMIT 10');"*(アスタリスク)"が問題になって…

(CakePHP,PHP,SQLite3,MySQL) SQLで"%"や"_"をエスケープしたい

SQLでワイルドカードとして扱われる"%(パーセント)"や"_(アンダーバー)"そのものを検索したい場合、自前でエスケープしなければなりません。 CakePHPと素のPHPそれぞれでMySQLとSQLite3からデータを検索する場合を考えてみます。 基本的には 自前で"%"や"_"…

PHPでSQLite3を使う

PHP 5.3.0以降なら、特別な設定をしなくてもすぐにSQLite3を使えるようです。 ただ、PHPでの使用法はバージョン2とはかなり異なります。バージョン2

(CakePHP) 現在使用しているデータベースの種類を知りたい

【最終更新 2012-09-09】 テスト環境ではMySQL、本番ではSQLiteを使う、など、ひとつのCakePHPが数種類のデータベースを使う場合があって、現在使用しているデータベースによって処理を分けたいとき。 Config/database.php に記述したデータベースとの接続設…

(PHP, Windows) unlinkする前にfcloseせよ

ほんとに他愛もない話題です (-_-;) PHPで、フォームでアップロードされたファイルを編集後にユーザに送り返し、元のファイルは削除してしまう処理を作ったんです。 で、Linuxでは問題なかったのですが、Windowsでは下記のようなエラーが出ました。 Warning:…

(PHP, jQuery) MySQLをSQLiteへ変換するプログラムを作りました。

Version: 2.1.1 (2014-08-09) デモ GitHub 注意点重要なデータはアップロードしないでくださいWeb上のページでは、重要でないデータベースで変換を試してください。 重要なデータベースを変換する際は、ソースコードをダウンロードして、PHPが動くローカル環…

(LinuxMint12LXDE) USBメモリをフォーマットしたい

以前、ChromiumOSを入れていた8GBのUSBメモリを、 再びファイルの保管場所として使うべく、フォーマットすることにしました。 "fdisk"で簡単に出来るかと思ったのですが、うまくいかず、 結局、"GParted"をインストールして使うことにしました。 ※ 下記の方…

(PHP, JavaScript)フォーム送信されたファイルを加工後にダウンロードさせる処理

【参考】 ダウンロード後のファイルを削除したい - PHPプロ!Q&A掲示板 http://www.phppro.jp/qa/1339 下記の一連の処理を、cronなど面倒な処理を使わず、 なるべく簡単に、そしてユーザに親切な処理を作ることを目指します。 ユーザがファイルをフォーム送信する。 …

(MySQL, SQLite)テーブル名、フィールド名をクオートで囲みたい場合

大抵はクオートで囲まなくても問題ありません。 ※ データ値はシングルクオートで囲む必要があります。 SELECT * FROM table WHERE field = 'データ値'ずっとこの書き方を続けていましたが、うっかりSQLの予約語である"explain"をフィールド名に使ってしまっ…