WHAT'S NEW?
Loading...

CakePHPのテーマ機能を使う 【CakePHP Advent Calendar 2011】

今年もやって参りました、CakePHP Advent Calender。
21日担当の俺でやんす。

俺のことはむしろどうでも良いのですぐに本題に入る訳よ。どうよ。

まずこの記事の対象となるCakePHPのバージョンは1.3なので、
1.2をお使いのモノノフがオレオレテーマ機能を自前で開発する方向性ならば、残念ながらこの場でサヨナラするか、素直に1.3を使うのが良策かと。

というわけで早速やってみよう。

CakePHP1.3にSearch Pluginをいれてラクラク検索しよう【2/2】

さて、今回でSearch Pluginの説明は終わらせる予定だ。
CakePHPには他にもびっくりするくらい便利なプラグインが山盛り存在する。

もちろんヘルパ、コンポーネント、ビヘイビアなども沢山あるので、一度Bakeryを見てみるのも良いと思う。

というわけで本題に入るが、前回適当すぎて投げやりだった、ページャのスタイルを直してしまおうと思う。

CakePHP1.3にSearch Pluginをいれてラクラク検索しよう【1/2】

CakePHPには便利な機能が山盛りで、中でもページネータ(以下ページャ)はかなりの使用頻度があるんじゃないだろうか。

データベースの特定のテーブルを一覧表示する際なんか、数千件を1ページに収めるわけにもいかず、かといって先頭の10件だけを表示するなんてアホらしすぎるわけだ。

ページャというのは、1ページ10件、残りは次のページ!的な振る舞いをするコンテナのことだ。

代表的ないくつかのページャ

CakePHPではこのページャをヘルパを使っていろいろなスタイルで表示できるんだけど、一つ困ったことがある。それはなにか!?

JELLY JELLY CAFEに行ってきた

時代はノマド。そう、職場に縛られる時代は終わった。
一人ひとりが遊牧民。願望を込めてそう言ってみる。

別に最先端の機材がそろっていて、おしゃれにデザインされたものをありがたがっているわけではない。ただ、今の俺にはノマドが大いに必要なのだ。

とはいえ、必要だからといって、そこらのしょぼいものを追い求めてはいけない。
それなりのクオリティが必要なんだ。

モチベーションキーピング。立派なマネジメントだ。

もう、まるで昭和初期が背景の邦画に出てくるような、いわゆる対向島型の古臭い職場は気持ちが悪くなる。せめてフリーアドレス制くらいは導入してもらいたいものだ。

というわけで、しつこいようだがノマドである。
ノマドするにはお気に入りの場所が必要だ。

その場所だが、FACEBOOKでたまたま見かけたページで、レセプションがあるとのことなので、早速行ってきた。

Webエンジニアとは?

個人的にここ10年くらいのWeb業界を経て思ったことをまとめてみようと試みる。
思いつきを温めて考慮して考えてアイデアにしてみた。
ただしまだ決定ではないのであしからず。

THE TERMINALへ行ってきた

あなたはTHE TERMINALを知っているだろうか?

知らないのであれば知れば良い。
こちらがTHE TERMINAL。
http://theterminal.jp/


Linuxを使ったWeb開発環境を手早く構築する【3/3】

最終回。
まずはエディタの設定を行おう。

■geditでZen Coding

まずはプラグインを入れる場所を作る。
端末で、今ログインしているユーザで以下を実行。
% mkdir -p ~/.gnome2/gedit/plugins

次にプラグインをダウンロードしてくる。
ダウンロード元はこちら。
http://github.com/mikecrittenden/zen-coding-gedit

解凍して出来たフォルダ、ファイルを、先程作ったフォルダに移動する。
  • zencoding ディレクトリ
  • zencoding.gedit-plugin
の2つだ。

次にgeditを起動し、「編集」>「設定」>「プラグイン」を開き、「Zen Coding」にチェックを入れて「閉じる」ボタンで閉じよう。

Linuxを使ったWeb開発環境を手早く構築する【2/3】

さて今回はバックエンドの構築ということで、前回インストールしたApache、php、MySQL、Postfix、BINDの設定を中心に説明したいと思う。

繰り返しになるが、あくまで俺が何度も試してみた結果でしかないので、これが正解というわけではないことを断っておく。

ただ、Linuxを基礎から覚えたい!Webの仕組みを1から網羅したい!という人だけではないとおもうし、必要に迫られてググってたどり着いた人も多いとおもうので、なるべくかいつまんで説明する予定だ。

ただしかいつまむと言ってもさすが俺のことだ。DNSの部分など、可能な限り、「AするとBになる」という因果関係だけで終わらせるのは避け(これは俺の大嫌いなパターン)「AするとBになるのはCだから」まで掘り下げて書こうと思っている。しかしくどくならないように、全体的にはさっぱりサラサラのサラサーティ且つ、ダウニー的爽やかさを醸し出せるように意識して書いたつもりだ(おい、怒るな!)。

ちなみにLinuxのホスト名をtorhamzedd.comとし、ドメインもtorhamzedd.comとするのを前提として説明する。

というわけで早速いってみよう。

Linuxを使ったWeb開発環境を手早く構築する【1/3】

何度も言うけど、あくまで個人的な経験や思想になるが、Linuxで運用しているWebサーバにWebアプリをデプロイするためには、最初からLinuxクライアントで開発するのが手間が省けてよろしい思っている。思っているというか、事実だ。

現状、Linux(Fedora)で開発し、Linux(CentOS)にデプロイという流れでの作業を定番としているわけなんだけど、Windowsで開発してLinux(CentOS)にデプロイしてた時より遥かに良い。

なぜなら、コーディング中にデリミタを気にする必要もないしファイルシステム的にパーミッションの設定なども同じわけだから、開発マシンで動けば本番でも動くという可能性が極めて高いからだ。高いというより、普通はそのままで動く。

WindowsにXAMPPなんていうクソアプリを入れてしまっている人は、本来やらなくて良い作業が山盛りある事を理解したほうが良いと思っている。WindowsとLinuxの違いを意識しながらコーディングするなんて、精神衛生上、良い訳がない。

CakePHP for Designers 勉強会でLTしました

今まで勉強会というのは何度か参加したことはあるけど、LT(LightningTalk)は経験したことがなかった。
ライトニングトーク(Lightning Talk)とはカンファレンスフォーラムなどで行われる短いプレゼンテーションのこと。様々な形式があるが、持ち時間が5分という制約が広く共有されている。
wikipediaより
いつか、近いうちにLTを経験しておくべきかな、と思い、Twitter上でつぶやいたところ、なんとLTやってみないかとお誘いがあった(@konsan あざっす!!)。

そのカンファレンスは「デザイナー向けCakePHP勉強会」。つまりロゴ的には「CakePHP for Designer」だ(Twitterでのハッシュは#cakephp4d)

Windowsにサヨナラだ!!〜 Fedora15 〜【6/6】

さて今回で最終回の予定。

早速行ってみよう。

■フォント

MiguWindowsで言う所のメイリオ的存在。
みかちゃんフォント商用可能な無償フォント。可愛いフォントの決定版。

【Migu】

Fedoraに入っているVL ゴシックなどにそれほど文句があるわけではないが、良い素敵なフォントがあればそっちを使おうじゃないか。

Windowsにサヨナラだ!!〜 Fedora15 〜【5/6】

さて、少し時間が空いてしまったが、早速再開だ。

今回何をするのかというと、Windowsを使っていた時の作業を違和感なく進められるように、いろいろなアプリをインストール、設定し、使ってみようと思う。

まずは準備段階として、基本的なアプリをインストールする。

Windowsにサヨナラだ!!〜 Fedora15 〜【4/6】

今回はFedora15の設定をいろいろいじってみよう。

設定に先立って、余計な機能は落としておく。


■個人使用向け設定

rootになって、SELinuxを禁止にし、ファイアウォールを停止させる。
SELinuxが有効になっていると、rootなのに出来ない事が多すぎて困る。
ファイアウォールも然り。

$ su -
パスワード
# vi /etc/sysconfig/selinux
SELINUX=enforcing

SELINUX=disabled
に変更し、保存する。

現在どういう設定になっているのかを調べる場合、
# getenforce
とうつと内容が表示されるので、最初からdisabledだったら何もしないで良いし、enforcingだったらファイルを編集することになる。

次にファイアウォールを停止だ。
# service iptables stop
で停止する。
もしコマンドが失敗するようなら、すでに停止しているということ。
# chkconfig iptables off
で自動起動させない設定となる。

ファイアウォールに関しては、実はIPv6向けのiptablesが存在する。
NTTのBフレッツを使っている場合、BフレッツはIPv6に対応していないので、IPv6向けiptablesが意味をなさなくなる。

というわけで、IPv6向けのファイアウォールも止めてしまう。
# service  ip6tables stop
# chkconfig ip6tables off

念の為OSを再起動しよう。
これでまずは準備が整った。

Windowsにサヨナラだ!!〜 Fedora15 〜【3/6】

さて、早速Fedora15をインストールしよう。
まずは前回の続きから。


新規にインストールするので、この画面の一番上にある「Install a new system or upgrade an existing syste」を選択している状態でEnterキーを押す。

Windowsにサヨナラだ!!〜 Fedora15 〜【2/6】

さてと、ようやく待ちに待ったFedora15が今日、リリースされた。

しばらくはFedora14で記事を書こうと思っていたのだが、書いた後直ぐに新しいバージョンがリリースされるのも忍びないとおもい、どうせなら15が出てからでいいかな、と思い、しばらく放置していた。

それがやっと、今日リリースされて嬉しく思うわけだ。
ちなみにこの記事を書きながらダウンロードしてる最中。

というわけで、みんなもWindowsとかMacで開発して悦に入ってないで、やるなら本物、つまりLinuxで開発しようぜ、ということで、まずはダウンロードから解説したいと思う。

Fedoraのサイトはここだ。
http://fedoraproject.org/
決してWindowsやMacを否定しているわけではないけど、もしそう聞こえるのであれば、そう捉えてもらっても、俺は全然かまわない。何しろ人の主観というのは俺には全く操作することができないのであるし。

念のため詳しく伝えておくけど、俺はゲームやるならWindows、ダイアグラムやグラフィック系はMac、開発はLinuxという風に捉えているだけでしか無いし、それ以上でもそれ以下でもない。

冬に着ていた服が暖かいからといって、夏も着ることはないだろう。夏には夏の服がある。OSも同じだ。マックしか認めない!という人は、真夏に厚着するただの傾奇者。
まずはFeoraのサイトへ行こう。今日の段階では、以下のような画面になっているはずだ。
ここで「いますぐぐダウンロード!」のリンクをクリックしてしまうと、ライブCDのダウンロードになってしまうので注意が必要。


ライブCDのというのは、いわばインストール作業をしないでもそのまま使えるよ、的な、イメージファイルをそのままフリーズしたようなファイルだ。

Windowsにサヨナラだ!!〜 Fedora15 〜【1/6】

そう、みんなLinuxサーバで動く何らかのWebアプリをつくっていると思うので、開発環境もLinuxにしてしまえば良いわけだ。

そのために必要な構築方法と、あなたのためのちょっとした勇気が出る方法を書いてみたい。

当然、WindowsだけではなくMacユーザにもおすすめしたいのは言うまでもない。Linuxでの開発に慣れてしまうと、WindowsもMacも同じに見えるようになってしまう。

WindowsもMacも、Linuxサーバへデプロイする開発には向いてないOSなんだと言うことが分かる。けしてWindowsやMacをけなしているわけではない。俺は目的に合わせた環境ってのが大事だぜ、というのが言いたいだけだ。

Windowsは、俺にとって人生でもあるゲームをやるには最高にイカしたプラットフォームだ。Macは残念ながら持ってないが、ライフスタイルの向上にはWindowsよりMacの方が向いているだろう。カフェでDELLやVAIOなどと書かれたノートPCを使っているのが恥ずかしくなったりする人は、素直にMacを買えば良い。※個人的主観だけど、同じWindowsノートPCでも、HPとIBMはカフェでも違和感がないと思っている


実際問題、職場のマシンをWindows XPからFedora 14に変えてみたところ、今では開発速度が4〜5割ほどアップした事をお伝えしよう。何しろいちいちグローバルのサーバに接続する必要がない。
当然、隣に置いてあるローカルのLinuxサーバに接続する必要さえない。※このサーバはもう電源を落としてしまっているんだ

なにしろ自分がサーバと同じだから、その場でコンソール開けば良い話。
ざっくりとしたまとめだけど、簡単にWindowsと比較してみた。

初めてSEO対策をやる時に取るべき3つの行動

以下の3つを守ると、あなたも今日からSEO大臣だ。
  1. あし@に登録
  2. ZenBackを利用
  3. 良い記事を書く
以上だ。
SEOってのはこんなもんだ。

ちなみに当ブログはセッション数で言うと、
当時1〜2くらいだったのが瞬間的に3,400くらいに増えた。
つまり1,700倍になった。

そして、よくGoogle検索でヒットしてしまう、「~する方法! 〜したらできた!終わり!」だけの、役に立たない自己満足な記事が嫌い(俺がブログ嫌いな理由)なので、俺の場合はどうしてそうなったのか、まで掘り下げて、可能な限り視覚的にわかるような記事を心がけているせいもあり、その後も結構安定したセッションを稼げている。

結局「”良い記事に辿りつける道を作る”のがSEO」なわけで、「手段」であるSEOを「目的」として金儲けしている企業が許せないわけですよ。えぇ。

SQLでちゃんとしたランキングを作る【2/3】

実に7ヶ月ぶりにこのシリーズを再開することにした。
前回なにをやったのか、というと、率直にリンク先を見ていただければ良いと思う。
SQLでちゃんとしたランキングを作る【1/3】

つまりseletしてorderしてlimitするだけでは正しいランキングがでない、ということだ。

幸いにも識者の方から色々アドバイスをもらい、俺なりに試してみた結果を書いてみようと思う。

まず、識者、つまりDupont氏から引用してもらったSQLがこれだ。
select (select count(distinct b.sal) from emp b where b.sal <= a.sal) as rnk, a.sal from emp a
個人的にSQLは改行を入れて見やすくする主義なので、以下のように適宜変更してみる。
select
  (
    select
      count(distinct b.sal)
    from
      emp b
    where
      b.sal <= a.sal
  ) as rnk, a.sal
from
  emp a
コードというものは、改行やインデントで適切にフォーマットしておくべきだと思っている。

しかしSQLに関してはまだ拘りはないので、だいたいいつもフォーマットは違う。統一しておいたほうが良い場合と、統一しないでも良い場合があるのだが、SQLは俺にとってまだ後者の方だ。