タグ

phpとprogrammingに関するKiskeのブックマーク (32)

  • 典型的PHPerの13の悪癖

    はてな匿名ダイアリーで不穏なことが書かれていたが、職場などで見かけない事も無いので解説をつけて内容を転載しておく。 典型的な“嫌なタイプ”のPHP使いの特徴を「典型的PHPerの13の悪癖」というタイトルでまとめてあるものだ。PHP育ちの叩き上げの人が陥りやすい問題も含まれていると思うので、紹介したい。 1. パスワード認証sshでサーバーにログインし、vimemacsで開発をする。 PHPerは、生産性が低く、セキュリティ的に問題のある開発環境を愛用しているケースが多々ある。セキュリティ向上の為にはsshは公開鍵認証で使うべきだし、生産性向上のためには、一般的にはローカルに開発環境を用意して、Eclipse/PDT等の統合開発環境を使うべきであろう。 2. SVNなどのバージョン管理システムで、使い方が分からないのでブランチを切った事が無い。 開発ツールの学習に無頓着なPHPerは少な

    典型的PHPerの13の悪癖
    Kiske
    Kiske 2011/03/30
    3つ当てはまり。DISるならこれくらい遠慮ない方がいい。
  • CakePHPを使ったMVC設計のベストプラクティス - Sooey

    CakePHPを使ったMVC設計のベストプラクティス 個人的にはCakePHPはあまり好きではないのですが、CakePHP開発メンバーによるMVCデザインの記事 (CakePHP のおいしいべ方)で紹介されていたBest Practices in MVC Design with CakePHP (php|architect’s C7Y)はMVCフレームワーク利用者にとってとても有用な情報だったので、訳してみました(php|architectの方には翻訳許可を頂いています)。 この記事を読んでドメインモデルに興味を持った方は、エンタープライズ アプリケーションアーキテクチャパターン(PoEAA)やDomain-Driven Design: Tackling Complexity in the Heart of Softwareに手を出してみるのもいいかも。他に、InfoQにユーザー登録すれ

    Kiske
    Kiske 2008/03/27
    symfonyで言うと、コントローラでnew Criteria()するの禁止
  • 40 signs you really are a lousy PHP programmer // Reinhold Weber

    // about I am a german web developer, web designer, css expert, php/mysql developer & ruby on rails enthusiast. I follow the latest web trends and develop stable web solutions using a combination of PHP5, MySQL, XHTML, CSS, and Javascript. » more about me // tags css css anatomy css snippets best practices workflow css diagnostics css debgging css frameworks cssDoc design webdesign style quotes ec

  • コメント: PHPは駄目な言語なのか? - スラッシュドット・ジャパン

    趣味でやっている人のことは、まあ、いいとして(踏み台にされる可能性はあるけど)、仕事PHPを使うときの注意を書いておこう。 コーディング規約を守る。組織にコーディング規約がないなら、Zend Framework PHP標準コーディング規約 [zend.com]を使う。オレ流コーディングスタイルは禁止。 内部コードにはEUC-JPかUTF-8を使う。入出力もできるだけShift JISを避ける。Shift JISを使う場合には2byte目に0x5Cを含む文字の動作を忘れずに確認する。 開発環境の警告レベルをE_STRICTにする。番環境ではdisplay_errorsをオフにする。 register_globals、magic_quotesはオフにする。 type hintingを積極的に使う。 スコープの長い配列をクラスでラップする。 プレゼンテーションとロジックを分割すること。プレゼ

  • 「PHPは“誘い受け”」─プログラミング言語評価に新たな指標 - bogusnews

    オブジェクト指向、関数型…。採用しているパラダイムによって分類・評価されることの多いプログラミング言語だが、ここにきてまったく新たな分類指標が提案され、注目を集めている。しかも、それによると 「最強のプログラミング言語はPHP」 との、驚くべき結論が出るというのだ。 この新指標は 「やおい指向」 というもので、警視庁在籍の腐女子専門家・星秋子博士が提唱している。簡単に説明すれば、その言語がボーイズラブ的世界に置かれた場合「攻め」であるか「受け」であるか─を検討することで分類をおこなってゆくものだ。業界では「ダイクストラ以来のパラダイムシフトを引き起こす可能性がある」として注目されている。 たとえばおなじみのC言語は、基的には“攻め”だがバッファオーバーフローなどの弱点を衝かれると乱れきってしまう “ヘタレ受け言語” であると博士は分析する。同様にスクリプト言語の「Perl」は“両刀”、「

    「PHPは“誘い受け”」─プログラミング言語評価に新たな指標 - bogusnews
    Kiske
    Kiske 2008/02/01
    「Perl」は“両刀”、「Ruby」は“オレ様攻め”。注目すべきは「PHP」で、“誘い受け” / このくだりに吹いた
  • 配列からランダムで要素を抽出する - Unknown::Programming

    覚え書。 Perl版。 my @array = (0,1,2,3,4,5); my $value = splice @array, int rand @array , 1; PHP版。 <?php $array = array(0,1,2,3,4,5); $value = array_shift(array_splice($array,array_rand($array),1)); PHPのことだから一発で抽出できる関数あるもんだと思ってたけど無かったっぽい。 肝心なとこで関数無いんだよないつも・・・。 追記: ちょっと言葉足らずだったので補足。 配列からランダムで要素を”取得”したいわけではなく、”抽出”したいわけです。 つまり上記のソースを実行すると、 @array = (0,1,2,4,5); $value = 3; みたいな感じで元配列から抜き取るような結果になって欲しいと。 Li

    配列からランダムで要素を抽出する - Unknown::Programming
  • PHPでcamelize - Unknown::Programming

    前にPerl版書いたけど hoge_mugeをHogeMugeにする - Unknown::Programming それのPHP版です。 Perl版と同じくワンライナーで書いてみた。 <?php function camelize ($str) { return str_replace(' ','',ucwords(str_replace('_',' ',$str))); } function decamelize ($str) { return ltrim(preg_replace('/([A-Z])/e',"'_'.strtolower('$1')",$str),'_'); } ってかこーゆー処理のことをcamelizeっていうんだね、最近まで知らなかった。

    PHPでcamelize - Unknown::Programming
  • 値の検証を楽にしてくれるDataValidator_SimpleというPHPクラスを作った - Unknown::Programming

    これもだいぶ昔に作ったやつなんですが、処理とドキュメントをちょこちょこっと手直ししたので公開します。 →DataValidator_Simple-0.02.tar.gz いわゆるPerlのFormValidator::SimpleのPHP版と思ってもらって結構です。 使い方は至って簡単 <?php require_once 'DataValidator/Simple.class.php'; $valid =& new DataValidator_Simple(); // プラグインロードして・・・ $valid->load_plugin(array('Standard')); // チェックの定義をして・・・ $valid->add_check_table(array( 'name' , array('NOT_NULL',array('LENGTH',1,50)), 'mail' , ar

    値の検証を楽にしてくれるDataValidator_SimpleというPHPクラスを作った - Unknown::Programming
  • PHPクラスClass_LoadClassをバージョンアップしますた。 - Unknown::Programming

    (PHP4)クラスの動的ロードを支援するクラス - Unknown::Programming ↑の記事書いたときに作ったクラスですが、少し更新しました。 <?php class Class_LoadClass { var $_base_ext = 'class.php'; var $_load_base_classname = ''; function Class_LoadClass ($base_class=null,$base_ext=null) { if ( !is_null($base_class) ) $this->load_base_classname($base_class); if ( !is_null($base_ext) ) $this->base_ext($base_ext); } function load_class ($class) { if ( strpos(

    PHPクラスClass_LoadClassをバージョンアップしますた。 - Unknown::Programming
  • PHPにおける文字列比較の2a問題 - Unknown::Programming

    PHPの文字列比較に関しては古の時代から皆がいばら道を通っているので今更何か語ることも無いんだけどやっぱり良くハマっちゃうということで軽くメモを残しておく。 とりあえずは先人達の苦悩ということでこのあたりの記事は見ておいた方がいいだろう。 素晴らしき自動的な世界〜或いは「型のない」世界〜 - がるの健忘録 PHPでの入力値チェックのすり抜け 上記記事の方が名づけたと思われる(w)いわゆる「2a問題」というものについて書いていく。 この2a問題というのはもう一度再確認すると <?php $a = '2a'; $b = 2; if ( $a == $b ) { // ここを通る } という問題のことだ。 何故こうなるかは元記事やマニュアル等に詳しく書かれているが、カンタンに説明すると「2a」という文字列を数値評価すると「2」として扱われるということだ。 実はコレはPerlでもまったく同じ問題を

    PHPにおける文字列比較の2a問題 - Unknown::Programming
  • ウノウラボ Unoh Labs: PHPによるテキストファイルへのロギング

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    ウノウラボ Unoh Labs: PHPによるテキストファイルへのロギング
  • MySQLのクエリを最適化する10のTips - PHPプロ!ニュース

    平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。 件に関するお問い合わせはこちらよりお願いいたします。

  • PHP でファイルを読み取るための正しい方法

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    PHP でファイルを読み取るための正しい方法
  • ハタさんのブログ : PHPで並行処理

    PHPというか、PHP + Unixでやってみる並行プログラミングシリーズ ググってみてもKoshigoeBLOG: PHPで並列処理や個人的なメモと備忘録 2003年 11月くらいしかヒットしないPHPのプロセス制御(pcntl)をやってみるテスト。 JavaをパクってThreadクラスとRunnableインタフェースを書いてみた。(正確にはProcessクラス?) interface Runnable { public function run(); } abstract class Thread implements Runnable { private $status; private $isRunning = false; public function __construct(){ } public function __destuct(){ // callee, exitti

  • サービス終了のお知らせ

    平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。 件に関するお問い合わせはこちらよりお願いいたします。

  • Oracle10gでのSQLチューニング - Do You PHP はてブロ

    今佳境のプロジェクトに突っ込まれていて、外部パートナーさんが作ったSQLをチューニングしているのですが、今回「え?そうなの?」と思ったことがあったのでメモ。どうせ次にやるときには、また忘れてるんで。。。(^^; 環境は Oracle 10g Release2 Standard Edition コストベースオプティマイザ ANALYZE TABLE ... SAMPLE 30 PERCENT な感じです。 OR条件をREGEXP_LIKE関数に変更する 当然indexの状態や式などモノによっても変わりますが、今回「複数カラムの値に対する複数のOR条件」をREGEXP_LIKE関数に変更するとかなりコストが変わりました。以下で、valA、valB、valCは同じSQL内の別ストアド関数で算出された値で1〜5です。 ■使用前 WHERE (valA != '1' OR valB != '3' O

    Oracle10gでのSQLチューニング - Do You PHP はてブロ
  • foreachでIndirect modification of overloaded propertyが発生する

    Home > PHP > foreachでIndirect modification of overloaded propertyが発生する マジックメソッドの__get()ですが、配列を返すとforeachでNoticeが発生する場合があります。 < ?php error_reporting(E_ALL); class A { private $array = array(1, 2, 3); function __get($name) { if ($name == 'hoge') { return $this->array; } } } $obj = new A(); foreach ($obj->hoge as $elem) { var_dump($elem); } ?> PHP Notice: Indirect modification of overloaded property

  • 「すべての漢字を取り出す正規表現」をPHPで試す、を正しく行う:phpspot開発日誌

    Information Flow and Stock: [PHP] mb_ereg()じゃない、preg_match_all()に/uをつけるんだ! なので、できる限りpreg系の関数を使いたいわけですが、検索対象や検索パターンに日語が含まれているときは、日語処理に対応したereg系の関数であるmb_ereg系の関数が使われることが多いようです。 以前、「すべての漢字を取り出す正規表現」をPHPで試す、を正しく行う方法。 以前はmb_eregによる方法を示しましたが、次の方法の方がうまく動作するようです。 preg_match_all('/[一-龠]+|[ぁ-ん]+|[ァ-ヴー]+|[a-zA-Z0-9]+|[a-zA-Z0-9]+/u', $strToSplit, $aMatches); print_r($aMatches); // マッチ結果が全出力 確かに、なぜか取れない漢字があ

  • [PHPウォッチ]第31回 パフォーマンス向上など,数々の新機能を搭載したPHP 5.2.0リリース

    PHP 5.2.0が2006年11月2日にリリースされた。機能拡張だけでなく,200を超えるバグフィックスも行われている。ここにはセキュリティ・ホールへの対応も含まれているため,速やかにアップグレードすることが望まれる。 PHPリリース関連情報 PHP 5.2.0にて搭載された主な新機能 PHP 5.2.0は最初にRC版が公開されてから3カ月以上の期間を経て,リリースされたPHPの最新版である。PHP 5.1系と比べて,数多くの新しい機能が搭載されたため,まずは主な新機能の特徴を紹介していく。 ・ パフォーマンス向上と,より正確なメモリー利用状況のトラッキングを備えたメモリーマネージャの採用。 PHPの実行エンジンであるZend Engineにおいて,新しいメモリーマネージャが実装された。これにより,PHPが大きなブロック単位でメモリーの割り当てを行い,そのヒープをPHP自身で管理するよう

    [PHPウォッチ]第31回 パフォーマンス向上など,数々の新機能を搭載したPHP 5.2.0リリース
  • gotAPI.com :: documentation search engine

    このドメインを購入する。