ブログ

  • 小論文の型について

    先日、あるテレビ番組を見ていると、受験で役立つ「小論文の型」について特集されていました。

    小論文には型があり、そのパターンに従えば高い評価が得られるとのこと。

    その型とは次のようなものです。

    【だろうか。たしなよ。】

    1.問題提起(イエス・ノーの問いを立てる)
    「・・・だろうか?」

    2.意見提示
    「たしかに、・・・。しかし、・・・。」

    3.展開(理由付け3W1H)
    「なぜなら、・・・。」

    4.結論
    「よって、私は・・・と考える。」

    上記の1~4に従って、文章を作ると良い評価になるそうです。

    こうした文章のパターンを覚えておくと、何かしらの文章を書く際に役に立ちそうです。

  • 【書評】即戦力になるための PHPシステム開発の教科書

    ■ 書評対象: 即戦力になるための PHPシステム開発の教科書

    ■ 良い点

    ・ 開発工程の流れが具体的でわかりやすい
    ・ サンプルアプリ(顧客管理システム)が実践的
    ・ 図表がわかりやすい
    ・ DBの正規化の説明が秀逸
    ・ 全体を通して読みやすい
    ・ 各種設定についても比較的詳しい

    ■ 悪い点

    ・ 基礎的な文法の解説は薄い(実践的な本なので仕方ない)
    ・ コード内のCSSの記述が解説の邪魔に感じられた

    ■ 総評

    結論から言えば、読みごたえのある、なかなかの良書です。PHP(CakePHP2)を使ったシステム開発の工程を体感できます。

    本の難易度は、やや中級者向けレベルとなっています。LinuxコマンドやPHPの基礎をマスターしていることが前提のつくりとなっており、CakePHPについても基礎的な知識が前提となっています。

    ■ 内容的には、大きく3つに分けられます。

    前半・・・システム開発の工程の流れ
    中盤・・・CakePHPを使った顧客管理システムの開発
    終盤・・・応用的な使い方(CSV、PDF、WEB連携、JQuery、Ajax、テストなど)

    メインは、中盤のCakePHPを使った顧客管理システムの開発です。
    基礎的なCRUDシステムを実装し、その後、アソシエーションを使った複雑なデータ集計まで扱います。さらに、ユーザー認証機能も実装します。ここら辺の知識は、CakePHPの開発で必須といえるので、かなり参考になります。

    前半部分は、WEB開発工程についての記述となっており、開発現場での作業の流れをイメージしながら読み進めることができます。DBの設計にも比較的詳しく、正規化等の復習にもなります。

    後半部分は、CakePHPと周辺技術の応用的な使い方であり、必要に応じてその時々に参考にすればよいのではないかと思います。ちなみに、TwitterやFaceBook等との連携にも触れられています。

    CakePHPの基礎を学んだあとで、実践的かつ応用的にシステム開発をしたい人にオススメできる一冊です。

    即戦力になるための PHPシステム開発の教科書

  • PHP逆引きレシピ 第2版本日発売

    タイトルのとおり、PHP逆引きレシピ 第2版  が本日、発売されました。

    第1版には、PHPの学習当初からお世話になったので、この第2版も楽しみです。

    第1版が発売されたのが、たしか2009年なので、早4年が経過しています。

    この間、PHPの開発状況は大きく変わったと思います。当時は、PEARやSmartyが全盛でしたが、昨今では、フレームワークが幅をきかせてきているように感じます。

    また、PHPネイティブでも、DBまわりなどは、PDOがほぼ主流となったように思います。mysql_—なmysql系関数は非推奨になってますし。

    ですから、第2版にあわせ、内容的にも大きく変わっていることを期待したいと思います。

    本日発売なので、まだ未読ですが、読み次第、書評を掲載したいと思います。

    PHP逆引きレシピ 第2版 (PROGRAMMER’S RECiPE)

  • 【WordPress】コメントスパム防止プラグイン

    WordPressを使っていると次第にコメントスパムが増加してきます。

    その対策としては、Akismetプラグインを入れることなどが挙げられますが、Akismetだとスパムの判別は出来ても、スパム投稿そのものは防ぐことはできません。その結果、データベースのオーバーヘッドが増加し、サイトのパフォーマンスも低下してきます。

    そこで、PHPを使い、コメントが、スパムの特徴であるURL入力している場合、投稿そのものを中止する簡易スクリプトを組んでみました。

    wp-content/pluginsディレクトリ内に、stopping_spamsディレクトリを作成します。そして、その中に、次のstopping_spams.phpファイルを新規に作成します。

    ※お約束ですが、ご利用は自己責任でお願いします。

    <?php
    
    /*
    Plugin Name: Stopping Spams
    Plugin URI: http://webmaster.chielog.com/
    Description: For Stopping Spams before Insert to DB
    Author: webmaster.chielog.com
    Version: 1.0.0
    Author URI: http://webmaster.chielog.com/
    License: GPLv2 or later
    */
    
    //pre_comment_content(コメント本文)
    //コメント本文がデータベースに保存される前に適用されるフィルター。 
    
    add_filter('pre_comment_content', 'stopping_spams');
    
    function stopping_spams($comment_content){
    
        $spam_flag = false; //初期値はfalse
    
        //URL欄判定(入力されていればスパムと判定)
        if (!empty($_POST['url'])) {
            $spam_flag = true;
        }
    
        //スパム時の処理
        if ($spam_flag) {
    
            wp_die('comment error.'); //終了
    
        } else {
    
            //スパムでなければそのまま返す
            return $comment_content;
        }
    }

    コメントが投稿されDBに保存される直前にフィルターフック(pre_comment_content)により、$_POST[‘url’]の入力をチェックし、URLの入力を判定しています。

    たった30行程のコードですが、このプラグインを設置することによりスパムが随分と減りました。

    以上です。

  • Notepad++でFTPS接続する方法

    Notepad++でFTPS接続する方法の覚書です。

    プラグインのNppFTPを使っている前提で、接続先のサーバーは、CORESERVERです。 (XREA等でも同様だと思います)

    (お約束ですが、以下の記事のご利用は自己責任でお願いします。)

    一般に、単純なFTP接続では、セキュリティに不安が残ると言われています。なぜなら、通信内容が暗号化されていないから。

    そこで、FTPSという方法等を使い暗号化した通信を行うことが推奨されています。

    Notepad++にも、FTPS接続できる機能があるので、試しに使ってみました。

    設定は、Notepad++のSettingsアイコン(歯車マーク)から、Profile settingsを選択します。

    ftps1

    Connection typeは、FTPESを選択します。ポートは、21のままになります。

    FTPSには、2種類あり、wikipediaでは次のように説明されています。

    引用
    『 FTPSには、認証コマンド(AUTHコマンド)実行後に暗号化通信を開始するExplicitモードと、 FTPSサーバ接続開始時点から暗号化通信を開始するImplicitモードの2種類が存在する。 このExplicitモードは特にFTPESとも呼ばれる。』

    ちなみに、Implicitモードでは、接続が出来ませんでした。

    上記設定を終えたら、FTPと同様に、パスワードを入れたりして、接続を試みます。

    すると最初の接続では、次のようなメッセージがNotepad++より表示されます。

    ftps

    あまり英語は得意ではないので、適当に意訳してみました。

    FTP(E)S証明書確認
    証明書が有効期限切れです。
    理由:発行者の証明を取得不能(コード20)
    続行しますか?
    注意。これは他の問題を引き起こす可能性があります。

    ちょっと怖い警告ですが、おそらく、SSLの証明書の期限切れだろうと勝手に推測して「はい」を選択。

    すると、FTPと同様に、接続できました。

    途中の通信経路で、どのように、通信されているのかまでは、確かめていないので、なんとも言えませんが、設定でFTPESを選択しているので、FTPS接続できているはずです。(もし、出来てなかったら、ご指摘ください。)

    ちなみに、二回目からの接続では、上記の警告は出ないようになりました。

    最後に、蛇足ですが、SFTPとFTPSは、別物なのでご注意を。

    以上です。