はじめに 最近 jQuery はじめたけど、セレクタ自由に使えないと捗らないのでまとめておく。 注意点 以下に出てくるセレクタ特殊文字('.', ',', ':', '#', '[', ']')はエスケープが必要 基本セレクタ タグ名 or クラス名 or ID による指定ができる。 $("form"); // タグ名="form" $(".className"); // クラス名="className" $("#formId"); // ID="formId"
![jQueryのセレクタメモ - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/9eab85c1b9638e2e9d3b3594b8a7b3d77baef85a/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9alF1ZXJ5JUUzJTgxJUFFJUUzJTgyJUJCJUUzJTgzJUFDJUUzJTgyJUFGJUUzJTgyJUJGJUUzJTgzJUExJUUzJTgzJUEyJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz1iMTZkMGViM2UzOTVmMzFlNTQxY2M0NTUyNTY2M2M0Yw%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBUaG91Z2h0X05pYmJsZXImdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWYzYzdlOWJmOTFmZGFmZjdkYzRkMjBhMWM5YmRlM2Mz%26blend-x%3D142%26blend-y%3D436%26blend-mode%3Dnormal%26txt64%3DaW4g5qCq5byP5Lya56S-44Ki44O844Kv5oOF5aCx44K344K544OG44Og%26txt-width%3D770%26txt-clip%3Dend%252Cellipsis%26txt-color%3D%2523212121%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D36%26txt-x%3D156%26txt-y%3D536%26s%3Db03fd791ce9441c97b10d4f9fabc60ca)
ひとこと言っておくのパート2というよくわからないエントリになりました。 前回はHAS_MANYとBELONGS_TOについて書きました。もう十分言い訳はしたと思うので、今回は言い訳しないことにします。 MANY_MANYの場合 YiiにはMANY_MANYタイプの関連付けもあります。中間テーブルを使って、元と先のIDを結びつける方法です。 CREATE TABLE boy ( id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, name VARCHAR(128) NOT NULL ); CREATE TABLE girl ( id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, name VARCHAR(128) NOT NULL ); CREATE TABLE boy_meets_girl ( boy_
Yii 1.1 で CActiveRecord や CActiveDataProvider を使っているときに、HAS_MANY のリレーションによる検索をうまく書くことが出来ずに、途方に暮れてしまう場合があります。この記事では、よくある課題を解きながら、どうやって HAS_MANY のリレーションによる検索を書いたらよいかを見ていきます。 この記事は Yii 1.1 のみを対象としたものです。Yii 2 については、演習 - HAS_MANY リレーションによる検索 (Yii 2 版) を参照して下さい。 二つのエンティティが 1:N の関係になる場合があります。というか、普通のデータベースを使う限りにおいては、この関係が唯一可能な関係で、1:1 の関係は 1:N の特殊形、N:N の関係は複数の 1:N の組合せとして考えることが出来ます。 で、この 1:N のありふれた関係を Yii
// 記事 class Post extends CActiveRecord { ... function relations() { return array( 'author'=>array(self::BELONGS_TO, 'Author', 'id_author'), ); } ... } 記事をグリッドで一覧表示するときには、投稿者名をコラムに表示して、投稿者名でソートしたり、検索したり出来るようにしたいと思うでしょう。そういう機能を提供する(私の考えでは)最善の方法を以下に述べます。 検索用の属性を追加する 最初に Post モデルに検索文字列を格納する新しい属性を追加します。検索文字列の格納は外部キーのカラムを使っても出来ますが、私としては、外部キーのカラムの意味をオーバーロードしない方が良いと思います。というのは、検索のシナリオでは、外部キーの ID ではなく文字列を格納
Yiiにはビューで扱うJavaScriptやCSSを管理するために CClientScript というクラスが用意されています。外部のJavaScriptやCSSファイルを指定してHTMLに組み込んだり、直接ビューにてコードを追加するときなどにこのクラスを利用します。 また CClientScript はコアのアプリケーションコンポーネントでもあるので、アプリケーション全体での設定を protected/config/main.php にて調整でき、Yiiのコアで宣言されているデフォルトの値を変更することも可能です。 ファイルの組み込みについて では、早速使ってみましょう。例として Lightbox2 を使います。yiic webapp でアプリケーションの雛形を生成して、protectedディレクトリと同階層にDLして解凍したlightboxディレクトリを置く。loading.gif,
はじめに 私はPHP経験はほとんどなかったのですが、ひょんなことからYii2Frameworkを使うことになりました。 あまり色々なフレームワークを知っている方ではないですが(特にPHPは全然知らない)、Yii2は初期テンプレートやCRUD生成、各種ウィジットの力で、綺麗なUIのシステムがさくさく開発できてよいなぁと思っています。 というわけで今日はその中から、便利ウィジットの一つであるGridViewについて書いてみます。 GridViewとは GridViewとは、Yii2で用意されているData widgetsのひとつです。 DataProviderを用意して紐づけるだけで、いい感じの表(ソート、ページング機能付き)を出力してくれます。 例:Newsモデルの内容を表出力する <?php use app\models\News; use yii\grid\GridView; use y
私はPHP,Ruby,Javaなどを学生時代に書いていましたが、新卒での最初の仕事はSwiftでiOSアプリを開発することでした。もし私がもう一度始めから勉強するならばこういう手順でするだろう、ということを書きたいと思います。 はじめに ある程度他の言語でプログラミング経験がある方ならば、Swiftは非常にとっつきやすい言語ですので基本的な文法はすぐに理解ができると思いますので、Storybaord(AutoLayout)、UIKit、Xcodeの使い方に多くの時間を使いましょう。文法をちまちま写経していくよりも、作りたいものがあるならばそれを作りながら学んでいくのが一番です。以下に文法・UIKit・Stoaryboardを学ぶ上でのオススメのサイトを紹介していきたいと思います。 文法 ドットインストール(Swift入門) Swiftのレッスンがようやく登場しました。筆者が勉強し始める前は
最初に、JavaScriptにはクラスはありません。 コンストラクタからインスタンスを生成します。 なんだかなぁ・・と言う人は、 とりあえず単語は置いておいてコードから理解してください。 コンストラクタの基本 function Dog(name, cry) { this.name = name; this.bark = function() { console.log(cry); }; } var dog = new Dog('きなこ', 'わんわん'); console.log(dog.name); // きなこ dog.bark(); // わんわん もし「new」を忘れたら、関数呼び出しになってしまって一大事です。 これがわからない方はこちらの記事へ。 「JavaScript」の「this」は「4種類」?? newの挙動 もし「new」をつけた場合は何がおこっているのか。 実は暗黙の
Excel は滅びぬ! Excel の力こそ日本企業の夢だからだ! VBA 実装してて学んだこととかのメモ。 JavaJava してたかはあまり関係ないかも。 エディタの使い方 エディタを表示する Alt + F11 で VB エディタを表示できる。 環境設定 背景色・フォントを調整する デフォルトの白背景とか気が狂うので、暗い色にする。 「ツール」→「オプション」を選択し、「エディターの設定」タブを開く。 「コードの表示色」を選択して、「背景」の色を選択する。 ついでにフォントも見やすいやつに変更する。 これだけで開発効率が5割増しになる。 イミディエイトウィンドウ イミディエイトウィンドウを表示する いわゆるコンソールに当たるのが、イミディエイトウィンドウと呼ばれるウィンドウ。 Ctrl + G で表示される。 イミディエイトウィンドウに出力する ↓イミディエイトウィンドウに実行するプ
memcachedのインストール memcachedをインストールしていない場合はこちら libmemcachedのインストール brew install libmemcached 下記のような表示がされれば成功。 $ brew install libmemcached ==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/libmemcached-1.0.18_1.yosemite.bottle.tar.gz ######################################################################## 100.0% ==> Pouring libmemcached-1.0.18_1.yosemite.bottle.tar.gz ? /usr/local/
$ brew install memcached ==> Installing memcached dependency: libevent ==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/libevent-2.0.22.yosemite.bottle.tar.gz ######################################################################## 100.0% ==> Pouring libevent-2.0.22.yosemite.bottle.tar.gz ? /usr/local/Cellar/libevent/2.0.22: 48 files, 1.8M ==> Installing memcached ==> Downloadi
Adapterパターンのクラス図 Adapterパターンには以下の2通りが存在する。 クラスによるAdapterパターン:「継承」を利用 インスタンスによるAdapterパターン:「委譲」を利用 ※ 上図において、extendsはimplementsでもOK まとめ インターフェースが異なる2つの間に入って、そのずれを埋める(組み合わせる)ことができるのがAdapterパターン 既存で用意されているクラスを包み込んでいる様子から、Wrapperパターンと呼ばれることも。 もとから用意されているクラス【Adaptee】とClientが要求しているメソッドを定義した【Target】の間にあるずれを埋めるために、Adapterパターンを利用することで、以下のことが実現可能に。 1.既存のクラスを変にいじることなどをせず、再利用ができる ー 必要とするクラスがすぐ作れる&保守がしやすい 2.Cli
内容(3行) memoryの使用量を監視している所からアラートが来て調査した アプリケーションのheap使用率は高くなく、top等を見ても他に怪しいプロセスが存在しない /proc/meminfoからslab領域の肥大を確認、slabtopでdentry_cacheが肥大化している事がわかったので、echo 2 > /proc/sys/vm/drop_caches を実施した 何があったのか 運用中のとあるサーバーのmemoryが残り20%を切ったとアラートが来たため、調査を行った。 当初は何かしらのプロセスがメモリリークしているか何かだろうとあたりをつけていた。 freeで現状確認 キャプチャとるの忘れた… が、一旦確かにfree(buffers, cahceを足したもの)がtotalの20%を切っていることを確認。 topで確認する アプリケーションプロセスにメモリを大量消費しているプ
SoftEtherのVPNソフトがすごい! らしいので、EC2のAmazon Linuxで環境構築をしてみた。 2014年の頭にOSSになって、無償でつかえるようになったらしい。 [追記] 2022/05/27 最新版RTMの v4.38-9760-rtm の情報に更新 2020/04/08 最新版の v4.29-9680-rtm の情報に更新 2016/04/17 最新版の v4.20-9608-rtm の情報に更新 2015/11/16 最新版の v4.18-9570-rtm の情報に更新 環境 サーバー側 EC2 t2.micro Amazon Linux SoftEther VPN クライアント側 Mac OS X (10.9.5 or higher) iOS (8.1 or higher) Android, PC (動作未確認ですが、普通に動くはずです) Macしか手元に無く、S
sudo yum install gcc-c++ cd /tmp wget https://mecab.googlecode.com/files/mecab-0.996.tar.gz tar zxfv mecab-0.996.tar.gz cd mecab-0.996 sudo ./configure --enable-utf8-only sudo make sudo make install wget https://mecab.googlecode.com/files/mecab-ipadic-2.7.0-20070801.tar.gz tar zxfv mecab-ipadic-2.7.0-20070801.tar.gz cd mecab-ipadic-2.7.0-20070801 sudo ./configure --with-charset=utf8 sudo make sudo
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く