サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
sutara-lumpur.hatenadiary.org
formタグの中のテキストボックスでEnterキーを 押したらすぐにaction属性で指定した命令を 実行させたい場合、submitボタンが必要なようです。 - 【例1】 formタグの中の部品が一つの場合は、 submitボタンは必要ありません。 サンプル: http://s1.muryo-de.etowns.net/~sutara/html/test_01.html#fm1 - 【例2】 formタグの中に部品が複数ある場合は、 submitボタンがないとactionが実行されません。 サンプル: http://s1.muryo-de.etowns.net/~sutara/html/test_01.html#fm2 - 【例3】 submitボタンを設置しても、selectとtextareaでは Enterキーを押してもactionが実行されません。 (textareaの場合は当然か…
対象OS、アプリLinux Mint 12 LXDE (同じLXDEのLubuntuでもそのまま適用できると思います) lxterminal (端末) pcmanfm (ファイルマネージャ) google-chrome (ブラウザ) gedit (テキストエディタ) アプリ起動自動化の目的 単純に、手間を省くため。 Mint12LXDE特有のgeditのバグを起きにくくさせるため。 目次 通常のアプリの起動を自動化 常駐処理を自動起動 & 端末で確認できるようにする geditで複数のファイルを開く処理を自動化 感想 通常のアプリの起動を自動化下記を参考にして、4つのアプリのデスクトップ設定ファイルをコピーします。 【参考】 自動起動(autostart): るるる〜るぶんつ http://yasshan.way-nifty.com/lubuntu/2010/05/autostart-b9
Linux Mint Debian Edition 201204 MATE http://www.linuxmint.com/download_lmde.php 環境PC: DELL Dimension 1100 CPU: Celeron 2.53GHz メモリ: 1GB HDD: 160GB 無線LAN子機: WLR-UC-G(USB式) 目次 日本語入力を可能にする フォント表示を滑らかにする 無線LANは、あっさりと ディレクトリ名を日本語から英語に変更 マウスジェスチャ ハイバネートを可能に 感想 日本語入力を可能にする基本いつものとおり、iBusとMozc(Google日本語入力)を入れます。 $ sudo apt-get install ibus ibus-mozcPCを再起動します。 iBusの設定をします。 $ ibus-setup これでMozcを使えるようになりました。
Google Readerが廃止されたので、代わりのRSSリーダーとしてFeedlyを使うことにしました。 Feedlyには"mini toolbar"という、フィード追加のための便利な機能が最初から備わっているらしいのですが、なぜか私の環境では画面に表示されません orz 仕方がないので、公式サイトのFAQに載っていた手動で追加する方法を使います。 目次 手動登録用のURL デフォルトのリーダーを設定 フィードを登録 手動登録用のURL【参考】 How to add podcasts – Customer Feedback & Knowledge Base for Feedly http://feedly.uservoice.com/knowledgebase/articles/178787-how-to-add-podcasts つまり下記のようなURLにアクセスすればいい、と。 ht
(2012-10-10) コメントでの助言を参考に、記事を若干修正しました。 コメント欄もご覧ください。 結論たとえば、ニ次元配列のニ次元目にいきなり値を格納する場合、 ひとつの次元ごとに配列の宣言をしなくてはならないようです。 (追記:2009/12/23) Javascriptでは、『配列の配列』は可能ですが、多次元配列はサポートされていないそうです。 そのせいですね。 (→ 『オライリー・ジャパン JavaScript 第5版』p.35 より) 基本失敗 var hoge = []; hoge[0][0] = 'aaa'; alert(hoge[0][0]); //エラー : hoge[0] is undifined 成功 var hoge = []; hoge[0] = []; hoge[0][0] = 'aaa'; alert(hoge[0][0]); //'aaa' var h
(CakePHP 2.2.1) コントローラ内でリファラを取得します。 $url = $this->referer();普通なら『http://hoge.jp/controller/view』のようなURLが入るのですが、ロリポップではなぜか『hoge.jp』となり、まったく使い物になりません。 Cakeのソースから原因を探ります。 (lib/Cake/Controller/Controller.php - line:969) public function referer($default = null, $local = false) { if ($this->request) { $referer = $this->request->referer($local); if ($referer == '/' && $default != null) { return Router::u
【最終更新: 2012-11-30】 目次 前置き find()ではWHERE句をエスケープできない paginate()で生のSQLを使う ページング用の生のSQLから全件数を取得する 独自paginateの処理を検証 【お手軽!】内部結合の"table"キーに記述する 前置きSQLでワイルドカードとして扱われる%(パーセント)や_(アンダーバー)そのものを検索したい場合、自前でエスケープしなければなりません。 CakePHPのfind()のパラメータの形式に則った場合と、生のSQLの場合、それぞれのエスケープの仕方は以前の記事で書きました。 http://d.hatena.ne.jp/sutara_lumpur/20120716/1342433052 find()ではWHERE句をエスケープできないMySQLでは\(バックスラッシュ)を自動でエスケープ文字だと認識してくれますが、SQL
最終更新: 2013-08-15 【SET sql_mode='ANSI_QUOTES' について】 MySQLの場合だけ実行しないとエラーが発生することがわかりました。 該当箇所のコードを修正しています。 Yahoo!知恵袋で質問しました。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1399757013 そのまとめを。 つまり、 『SET sql_mode='ANSI_QUOTES'』を実行した上で、 識別子(データベース名やテーブル名やフィールド名)を全てダブルクオートで囲めば、 どのDBでも共通して実行できます。 ごく普通のSQL SELECT * FROM posts WHERE name LIKE '%検索語%'ごく普通のPDOのプリペアド・ステートメントでの記述 $statement = $db->prep
目次 原則 MySQL: 大文字小文字を区別させる SQLite3: 『=』で大文字小文字を区別させない MySQL, SQLite3: 『LIKE』で区別させない MySQL, SQLite3: 重複データを探したい 原則下記のような、大文字小文字の種類だけが異なるデータがあるとします。HOGE Hoge hoge下記のSQLを実行すると、大文字小文字は区別されるのでしょうか? SELECT * FROM posts WHERE name = 'hoge' SELECT * FROM posts WHERE name LIKE 'hoge'結果はご覧の通り。 MySQL SQLite3 = 区別しない 区別する LIKE 区別しない 区別しない MySQL: 大文字小文字を区別させるMySQLは特に指定がなければ大文字小文字は区別しません。 では、区別させるには? テーブル作成時に、フィ
SELECT文で全フィールドを取得したい場合、普通は"*(アスタリスク)"を使います。 が、"CakePHP + SQLite3 + query()"の組み合わせで、生のSQLの中でアスタリスクを使うとなぜかエラーにorz そんなわけで、フィールド名一覧を取得する必要に迫られました。 SQLite3とMySQLそれぞれの方法を紹介します。 SQLite3PRAGMA table_info(table_name);【実際のコード】 $rows = $db->query('PRAGMA table_info(posts)'); while ($row = $rows->fetchArray(SQLITE3_ASSOC)) { echo $row['name']; } MySQLSHOW COLUMNS FROM table_name;【実際のコード】 $rows = mysql_query('
要望 フォームの入力情報をクッキーに保存したい。 1つのクッキーに複数の項目の情報をまとめて保存したい。 解決策jQueryプラグインの"jquery.cookie"を使うことで全て解決しました。 外部: https://github.com/carhartl/jquery-cookie デモ: https://codepen.io/sutara79/pen/GBdKQX 解説自動JSON化のオプションを有効にすれば、JavaScript側では連想配列として、クッキー側ではJSON形式の文字列として扱えるように自動で変換してくれます。 // 自動JSON化を有効に $.cookie.json = true; // 連想配列をJSONで保存 var hash1 = { ... } $.cookie('cookie1', hash1); // JSONを連想配列に復元 var hash2 =
Latest: v4.9.0 (2017-05-03) Demohttps://sutara79.github.io/jquery.add-input-area/ GitHubhttps://github.com/sutara79/jquery.add-input-area 入力欄を動的に増減させることができます。 テキストボックス、テキストエリアの両方に対応しています。 ライセンスMITライセンス (http://www.opensource.org/licenses/mit-license.php) ※改変、再配布はご自由にどうぞ。 使用にあたっての注意点 増減する入力欄には、下記のようにCSSクラスを指定する必要があります。 要素の種類は問いません。 li でも tr でもOKです。 また、子孫関係も、直下に置く必要はありません。 <* id="hoge"> <* class="ho
"Yahoo!知恵袋"で下記のような質問に出会ったので、実際に作ってみました。 javascriptによる順序の並び替え。 - Yahoo!知恵袋 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1487903314 実験ページ http://usamimi.info/~sutara/sample/jq_sort.php ソース(抜粋)※ 全文は、実験ページのソースをご覧下さい。 並べ替えるリストid名の数値の順番に並べ替えます。 <ol id="test1"> <li id="3">id:3 cccccc</li> <li id="4">id:4 dddddd</li> <li id="1">id:1 aaaaaa</li> <li id="2">id:2 bbbbbb</li> </ol> JavaScript var
(最終更新: 2016-10-14) デモ: https://sutara79.github.io/demo-simple-foldable-list/ ソースコード: https://github.com/sutara79/demo-simple-foldable-list/ 解説下記のリスト要素を開閉式メニューにしたい場合。 <ul id="main_menu"> <li><a href="#">見出し1</a> <ul> <li><a href="#">サブメニュー1</a></li> <li><a href="#">サブメニュー1</a></li> <li><a href="#">サブメニュー1</a></li> </ul> </li> <li><a href="#">見出し2</a> <ul> <li><a href="#">サブメニュー2</a></li> <li><a hre
jQueryプラグインのJavaScriptファイルの行数が1600行を超えて読みづらくなったので、複数のファイルに分割する方法をあれこれ考えましたが、2017年現在、Webpackやgrunt-contrib-concatなど有名で安定した方法があるので、それを使うのがいいと思います。 以前は自前で方法を考え出して、それが正しいかをjQueryフォーラムで質問したりしていました。 以下はその記録です。 jQueryフォーラムでの質問http://forum.jquery.com/topic/i-want-to-divide-a-javascript-file-of-jquery-plugin 上の質問に対して、下記のような返信をいただきました。 至極当然の事実。 …なぜこんな簡単なことに気づかなかったのか! 改めて考えてみると恐ろしい…orz Dividing it up into th
【追記 2012-12-10】 2012年10月1日から、moraで配信される楽曲はDRMが解除され、ファイル形式もATRACからAACへと替わりました。 よって、本記事で紹介している面倒な作業は必要なくなりました。参考DRMフリー化した「mora」で楽曲購入を試す -AV Watch http://av.watch.impress.co.jp/docs/topic/20121001_563398.html x-アプリの更新により、この方法では変換できなくなったようです。 変換後の楽曲の最後の数秒~数十秒の部分が途切れてしまいます。 (2012-08-02) ※合法的な手段ですので、安心して下さい。 【目次】 HiMDRenderer(無料)をインストール 購入曲をMP3形式に変換 iTunesのライブラリに追加 感想(愚痴) (iTunes Storeの楽曲をMP3に変換する方法はこちら
Chromium OSをUSBメモリにインストールして、内蔵HDDなしで使えるようにしました。 【環境】PC: DELL Inspiron Mini 10v インストールに使用したOS: Ubuntu 10.10 USBメモリ: 8GB (4GB以上必要だそうです) 【目次】 Chromium OS Lime (Version 1971.0.r5015e5e1 Built on 24th of March 2012) インストール 評価 DELL版 Chromium OS (2012年01月03日版) インストール 無線LAN子機を有効にする 評価 まとめ Chromium OS Lime (Version 1971.0.r5015e5e1 Built on 24th of March 2012) 作者さんは他に"Vanilla"というバージョンも公開していますが、 Limeのほうが幅広い
まだ書きかけです。 初めてCakePHPを触ったのは、バージョン1.1のとき。 その頃に購入した書籍も、ずいぶん時代遅れになってしまいました。 ということで、現在最新版の2.1.1を導入する際の備忘録を記しておきます。 【環境】OS : Linux Mint 12 LXDE サーバ : Apache (XAMPP for Linux 1.7.7) 使用DB : MySQL 【目次】 初期設定 Configフォルダ Controllerフォルダ Localeフォルダ Modelフォルダ Viewフォルダ コンソールとシェル さくらサーバへアップロード 初期設定CakePHPを使用可能にする下準備です。 トップページの警告を全て解除していきます。 Security.salt と Security.cipherSeed を変更暗号を作るための素として、2項目設定しなくちゃいけないようです。 Ca
ネットブック(DELL Inspiron Mini 10v)へ、クリーンインストールしました。 【目次】 準備、インストール SDカードがマウントされている場所を確認する。 SDカードにコピーする。 (影響なし) インストール終了後にフリーズした。 初期設定 (解決) 日本語入力ができない。 (解決) Google Chromeをdebからインストールできない。 時計の表示形式を変更する。 (解決) 電源ボタンを押してもダイアログが表示されない。 電源ボタンを押したらハイバネートさせたい。 (解決) サスペンド復帰後にシステムトレイの表示が乱れる (解決) iBusを有効にすると、システムトレイのアイコンが進入禁止マークになる。 ホームディレクトリのフォルダ名を英語にしたい。 (未解決) gedit使用中のiBusの不具合 感想 その他、気づいたこと 準備、インストールまずは下記のページか
【最終更新 2012年3月14日】 【今回紹介する分割方法の特徴】 一人用 長くて読みづらくなったJavaScriptファイルを分割する。 しかし、本番ではひとつにまとめる。 分割しても、開発中のファイル編集やブラウザでの動作確認などの際に余計な手間が増えることはない。 欠点として、端末をずっと起動させておく必要がある。 【対象環境、必要なツール・知識】 Ubuntu シェルスクリプト inotify(要追加インストール) 【目次】 inotifyをインストール 分割ファイルを作成 シェルスクリプト作成 実行してみましょう ついでに (yui-compressorで圧縮) inotifyをインストール端末からインストールします。 $ sudo apt-get install inotify-tools ※inotifyは『ファイルやディレクトリに対して変更が行われると通知してくれる』ツール
【環境】Ubuntu 10.04, XAMPP for Linux 今までは sudo chmod -R 777 /home/testuser/などという、大雑把で危険なことをやっていました。 まあ、別に自宅サーバではないのですから特に問題はないと思います。 レン鯖にアップすれば、あちらで自動的にパーミッションを 変更してくれますし。 ところが、この度無料の鯖を借りたのですが、そこでは規約通りの パーミッションの設定をユーザが行うよう義務付けられていました。 そこで、フォルダ、PHPファイル、通常のファイルと、種類ごとに パーミッションを一括して変更できる楽チンな方法はないかと 試行錯誤を重ねました。 そしてたどり着いたのが以下の方法です。 まずは、一連のパーミッション変更処理をファイルにまとめます。 【permission.sh】 #サブフォルダも含めて一括変更したいフォルダへ移動 cd
ボタンをクリックすると 入力欄が追加され、右側に『削除ボタン』が付加されます。 入力欄を削除し、1つになったら、削除ボタンは消えます。 デモ: https://codepen.io/sutara79/pen/pZVoaP 『length』プロパティで入力欄の数を把握し、 『.eq()』メソッドで入力欄のinputタグに固有のname属性を振ります。 これで、送信先でそれぞれの入力欄の値を取り出せます。 応用汎用的なjQueryプラグインを作りました。 jquery.addInputArea
リンクとフォーム送信後のページ遷移にAjaxを使わない やるべきこと下記のように、jQueryライブラリを読み込んだ後、 jQuery Mobileを読み込む前に、初期値を設定すべし。 <script src="jquery.js"></script> <script> $(document).bind("mobileinit", function(){ $.mobile.ajaxEnabled = false; }); </script> <script src="jquery.mobile.js"></script> その理由 デフォルトでは、外部ページへのリンクがクリックされると、フレームワークはリンクを自前でパースし、遷移先をAjaxリクエスト(Hijax)で取得し、ロード中アイコンを表示します。【引用】ページ遷移 - jQuery Mobile 1.0b1 日本語リファレンス h
最終更新: 2018-08-20 overflow-wrap: break-word; (旧称: word-wrap: break-word;) 長所: 単語全体が 1 行に収まる長さの場合は、単語が中途半端に分割されることを防ぐために単語の前で改行してくれます。 短所: 幅の指定が必要です。 テーブルセルやflexboxについては下記をご覧ください。 🔗 word-breakとword-wrapはややこしい 🔗 `word-wrap:break-word;`がflexboxで効かない件 word-break: break-all; 長所: 幅の指定は不要です。 短所: 単語の途中かどうかに関係なく、1 行の終端の位置で強制的に改行します。 🔗 overflow-wrap - CSS: カスケーディングスタイルシート | MDN 🔗 word-break - CSS: カスケーディ
【注意】 コメント欄のcyokodogさんの方法がより便利です。 $.extend()による拡張を利用した継承は、ぐぐればすぐに分かりました。 が、親クラスのメンバを上書きする方法がなかなか見つかりませんでした。 いえ、いくつか見つかったんですが、私の目には冗長なコードに映りました。 もっと簡潔に書けないものかと。 たどり着いた答えが以下。 var Parent = { hoge:'hoge!' }; var Child = $.extend({}, Parent, { hoge:'fuga!', echo:function(){ alert(this.hoge); } }); Child.echo(); //『hoge!』ではなく『fuga!』と表示される こんなに簡潔に書けちゃいました。が、ほんとにこれで問題ないの? どなたか、愛の指導のムチを… (*´Д`)ハァハァ 【追記】 cyo
Ubuntu 10.04を入れたネットブックにMacbuntu2.3を導入しました。 【導入にあたっての注意】 ※Ubuntu Netbook Editionには導入できない。 (ただし、『ログイン画面』でデフォルトセッションを『GNOME』に設定すれば、通常のUbuntuと同じなのでOK) ※『Lucida Grande』フォントを入れると、ブラウザで表示されるいくつかの文字が化けてしまう。(Firefox、Google Chromeで確認) ※FirefoxデフォルトのGoogle検索ツールで検索バーから検索した結果画面が文字化けする。 (URLに『&hl=ja』を追加すれば、解消される) または、日本語の検索エンジンを入れる↓ http://www.searchplugin.jp/word/Google/dl/1/ 以上のことを覚悟して、インストールしてください。 導入手順 【ダウン
デモ: https://codepen.io/sutara79/pen/wxjBwg ドラッグできるボックスの並び順をクッキーに保存するサンプルです。 ページを再読み込みしても、クッキーを元に並び順を復元します。 使用したライブラリ、プラグイン jQuery.UI Sortable http://jqueryui.com/demos/sortable/#display-grid jquery.cookie http://plugins.jquery.com/cookie/
対象ファイルの更新時刻が24時間以内ならば、CSSクラスを追加して目立たせます。 下のサンプルでは、対象ファイルへのリンクテキストの背景を赤くしています。 デモ: http://code.runnable.com/VIpPAeUZRHcffdY2/ <?php // 現在時刻 (1970/01/01 からの経過秒数) $now = time(); // 対象ファイルの最終更新日 (1970/01/01 からの経過秒数) $modified = filemtime('foo.html'); // 現在時刻と最終更新日との差を、時間単位で表す $difference = floor( ($now - $modified) / (60 * 60) ); // 差が24時間以内なら、最近の更新として記憶する $is_recent = $difference <= 24; ?> <!-- 最近の更新
『array_unique()』のように重複を削除してすべてをユニークに するのではなく、最初からユニークなものだけを取り出す方法です。 今回主役の関数は『array_count_values()』です。 http://www.php.net/manual/ja/function.array-count-values.php 配列内の、重複する値の数を数えてくれます。 ユニークな値ならば、『array_count_values()』の戻り値の配列の 値は1となります。 となれば、あとは『array_count_values()』の戻り値の配列の値を ひとつずつ確認して、値が1のキーだけを取り出せばいいでしょう。 $arr = array('hoge', 1, 'hoge', 3, 'fuga', 1, 'piyo', 2, 'piyo'); $cnt_list = array_count_
次のページ
このページを最初にブックマークしてみませんか?
『sutara-lumpur.hatenadiary.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く