タグ

PHPに関するt-wadaのブックマーク (137)

  • BEAR.Sunday

    BEAR.Sunday is a resource orientated framework with a REST centered architecture, implementing Dependency Injection and Aspect Orientated Programming' at its core. Learn more »

    t-wada
    t-wada 2014/04/12
    REST の制約/思想をアプリケーション内部のアーキテクチャにまで適用した野心的なフレームワーク
  • ScaleOut | Supership

    2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。件に関する詳細は、プレスリリースをご確認ください。 2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。 件に関する詳細は、プレスリリースをご確認ください。

    ScaleOut | Supership
    t-wada
    t-wada 2014/04/09
    “テクノロジーのキャッチアップ自体を業務として組み込み評価対象とする” "非エンジニアにも技術の血液を" すばらしい
  • GitHub - sebastianbergmann/phpunit: The PHP Unit Testing framework.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - sebastianbergmann/phpunit: The PHP Unit Testing framework.
    t-wada
    t-wada 2014/03/07
    PHPUnit 4.0.0 がリリース。このバージョンからバージョニング規則を semver 準拠に変更。いくつもの機能が追加され、いくつかの機能は削除された。
  • TechCrunch | Startup and Technology News

    Welcome back to TechCrunch’s Week in Review — TechCrunch’s newsletter recapping the week’s biggest news. Want it in your inbox every Saturday? Sign up here. Over the past eight years,…

    TechCrunch | Startup and Technology News
    t-wada
    t-wada 2014/03/04
    Mt. Goxのソースコード、かなり腐臭がするのでレガシーコード改善 (テストの無いコードにテストを書きながら構造を改善すること) の良いお題になりそう
  • Composer のセキュリティ上の問題が直ったので PHP な方は今すぐ更新を - co3k.org

    Composer の以下の問題が 2 月半ばあたりから話題になっていました。 Limit Replace / Provides to packages required by name in root package or any dep · Issue #2690 · composer/composer https://github.com/composer/composer/issues/2690 一言で言うと、 条件によってはユーザの意図しないパッケージがインストールされてしまう という問題です。悪意のあるパッケージをインストールしたことに気づかれなければ、攻撃者の思い通りのコードを実行させることができてしまいます。 ざっくり説明すると、 Composer には fork したパッケージや、リネームしたパッケージ から 、元のパッケージを置き換えることのできる機能が存在する (エン

    t-wada
    t-wada 2014/03/04
    1. composer を self-update する 2. インストールしたパッケージが期待通りのものかを都度確認 3. 自動化時は composer update ではなく、信頼できる lock ファイルを生成した上で composer install
  • <?phpタグが無くなる日 〜PHPの開発プロセス〜

    PHPスクリプトを記述する際に使われる<?phpタグの利用をオプションで有効無効を切り替えるようにするという仕様がPHPの開発コミュニティでの議論に挙がっています。 この仕様変更が実装された場合、PHPスクリプトには必ず<?phpのタグがあるという前提条件が変わる事になります。 まずこの議論がどのような形で行われているのでしょうか?ご存知でない方もいるかと思いますが、PHPの文法や機能へどのような変更を加えたいか、という議論はRFC (Request For Comment)という形でパブリックに行われています。Wikiページに仕様や背景、実際のパッチなどを添付し、開発者やユーザーからの投票を行った結果を元に実際にPHP体への変更を行うかどうかが決定されています。 過去に実装された機能の際の例などと一緒に見てみましょう。 Array Short Syntax # 従来の記述の場合 $a

    <?phpタグが無くなる日 〜PHPの開発プロセス〜
    t-wada
    t-wada 2014/02/12
    かつて Array Short Syntax やビルトイン Web サーバーが議論の末に採用されたように、 "<?php" タグのオプション化も PHP の RFC でパブリックに議論されているという話
  • 数字6桁パスワードのハッシュ値の総当たり、PHPなら約0.25秒で終わるよ

    JALの6桁数字パスワード問題から派生して、JALのサイトがパスワードリマインダとして「現在のパスワード」を教えてくれることから、JALサイトではパスワードを平文保存しているのではないかという疑惑が持ち上がっています。それに対して、「いやいや、従来の主流と思われるソルト付きMD5ハッシュでの保存しても、実用的な速度でハッシュ値から元パスワードを『解読』できるよ」と、JALを擁護(?)するエントリが現れました。 パスワード問合せシステムを作る (clojureのreducers) この記事では、最初Clojureによる単純な総当たりで36秒、Clojureのreducersによる並列化で11秒でハッシュ値から元パスワードが求められるよ、と説明されています。まことに痛快な記事ですので、未読の方には一読をお勧めします。 とはいうものの、100万件のMD5の総当たりが、逐次実行で36秒、並列化して

    t-wada
    t-wada 2014/02/10
    「○○(任意の言語の名前)なら約n秒で終わるよ」というエントリが沢山出て来そう。マルチスレッドの代わりに iframe というのが面白い
  • 4 Reasons Why All PHP Frameworks Suck? - PHP Classes

    Top featured articles 33. How to Create a Simple PHP Custom CMS Tutorial in 2019 Way with PHP SEO Friendly URL Generated HTML Links34. PHP Multithreading using pthreads extension35. PHP security exploit with GIF images35. PHP in Arabic35. This article Author: Manuel Lemos Viewers: 1,357 Last month viewers: 536 Categories: PHP opinions Recently, Rasmus Lerdorf, the creator of PHP, stated in a PHP f

    4 Reasons Why All PHP Frameworks Suck? - PHP Classes
    t-wada
    t-wada 2014/02/07
    PHP のフレームワークの世界にも独立性が高くて個々に再利用可能なものが出てきたり、 Composer で依存管理を行う文化が育ってきているので、言語の父としては暖かく見守った方がいいんじゃないかな……と思った
  • 書籍「気づけばプロ並みPHP」にリモートスクリプト実行の脆弱性

    書籍「気づけばプロ並みPHP」のサンプルスクリプトにリモートスクリプト実行の脆弱性があるので報告します。 はじめに Yahoo!知恵袋の質問を読んでいたら、以下の質問がありました。 気づけばプロ並みPHP (著)谷藤賢一 (発行)リックテレコムP112の画像をアップロードする機能でエラーがでます。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11119835496 より引用 質問に対しては回答が既についてクローズされていましたが、引用されているソースを見て任意のファイルを任意のファイル名で、Web公開ディレクトリにアップロードできることに気づきました(下記)。 <?php // 略 $pro_gazou=$_FILES['gazou']; // 略 if($pro_gazou['size']>0) { if ($pro_

    t-wada
    t-wada 2014/01/27
    “HTTPリクエストを送信するだけであれば、相手側の許可がなくてもできてしまいます。そして、CSRF攻撃は、HTTPリクエストが送信できれば攻撃可能であり、HTTPレスポンスは必要ありません”
  • PDOでの数値列の扱いにはワナがいっぱい(2) — A Day in Serenity (Reloaded) — PHP, CodeIgniter, FuelPHP, Linux or something

    PHP Advent Calendar 2013 in Adventarの18日目です。昨日は、takc923さんの「PHPのissetの罠」でした。 「PDOでの数値列の扱いにはワナがいっぱい」を書いたところ、以下のように結構反響がありました。 PDOでの数値列の扱いにはワナがいっぱい — A Day in Serenity (Reloaded) — PHP, FuelPHP, Linux or something http://t.co/kDJAWzdMqr | 先日思いっきりハマったところ。 — K.K. (@kkmym) December 16, 2013 他の方も書いてるけど、バインドで型を明示すればおk / “PDOでの数値列の扱いにはワナがいっぱい — A Day in Serenity (Reloaded) — PHP, FuelPHP, Linux or somethin

    t-wada
    t-wada 2013/12/19
    "PDO::PARAM_INTはboolをintに変換(他は何もしない)" な、なんだってー!?
  • PHPが糞言語なのはどう考えても参照をポインタだと思っているお前らが悪い - なんたらノート第三期ベータ

    この投稿はPHP Advent Calendar 2013の12日目の記事です。 PHP恒例行事の参照と三項演算子のdisりですが、そろそろあさってな議論はやめませんかという話です。 今年のPHP-dis大賞といえばこちら。 PHPとかいう糞言語|いんまのブログ ※ 追記: これ書かれたのは2012年でしたすんません。 なんで君たちそんなコードが必要なのかね、と。結論から先言うと、きみたちがPHPが使えないって思うのは、そんな挙動に左右されるようなコードを書くからでしょ、だからCとかRubyとかそういう簡単な言語でわかった気になっている初心者はまったくもう...というわけでPHPの言語文法の基礎んとこ、いきますね。 まず、PHPのarrayは「値」です。もちろん文字列も「値」です。値は値なんだけど、それはミュータブルです。PHPのarrayもしくは文字列の代入は、一見すると、ポインタを使わ

    PHPが糞言語なのはどう考えても参照をポインタだと思っているお前らが悪い - なんたらノート第三期ベータ
    t-wada
    t-wada 2013/12/12
    Copy on Write の話とか参照の値渡しの話とか。 "PHPで、すごく層の厚いフレームワークが案外実用的な速度で動く理由は、実はこのへんが効いているんですね" そうなのか
  • 第0回 開業のごあいさつ(診断するPHPコードも大募集!) | gihyo.jp

    PHPは実用的な言語 こんにちは。新原と申します。連載では、PHPプログラミング診断室ということで、世のPHPコードが健全になるべく、診断していきたいと思います。よろしくお願いします。 PHPを開発したRasmus Lerdorf氏は、「⁠PHPは歯ブラシのようなものだ」とPHPを表しています。歯ブラシは毎日使うもので、それは仕事であり、シンプルな道具である、と。筆者はこの発言を知ったときにPHPを端的に表した良い表現だと感じました。そう、PHPはシンプルな道具ゆえに誰もが簡単に使い始めることができます。HTMLの中に埋め込んで、動的にHTMLを生成するのはとても簡単です。また、コードも柔軟に書くことができ、ユニークな書き方をしてもそれなりに動いてくれます。 PHPは、これまでとても多くのユーザを獲得してきました。特に特徴的なのが、プログラミングを行う人(プログラマですね)だけではなく、

    第0回 開業のごあいさつ(診断するPHPコードも大募集!) | gihyo.jp
    t-wada
    t-wada 2013/12/06
    おおお「PHPプログラミング診断室」とは! 診断を要するPHPプログラムも大募集とのこと。
  • Symfony 2.4.0 released (Symfony Blog)

    Services Platform.sh for Symfony Best platform to deploy Symfony apps SymfonyInsight Automatic quality checks for your apps Symfony Certification Prove your knowledge and boost your career SensioLabs Professional services to help you with Symfony Blackfire Profile and monitor performance of your apps

    Symfony 2.4.0 released (Symfony Blog)
    t-wada
    t-wada 2013/12/04
    Symfony 2.4.0 リリース。目玉はデバッグに便利な Form Panel と新しい Expression Language コンポーネント。
  • CodeceptionとAspectMockを使って和田卓人さんの現在時刻に依存するテストを書いてみた - think it over

    TLで話題になっているCodeIQでの問題と解説はこちらです。 これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE 大変丁寧な解説、とても参考になりました。 ただ、参加されている方の採用したテスティングフレームワークにCodeceptionがない! 日PHP開発者にCodeceptionを流行らせたいワタクシとしては看過できない事態(=チャンス)です! ってことで、Codeceptionを使って書いてみました。 といいつつも、今回はCodeceptionがメインではなく、AspectMockがメイン。 AspectMockとは Codeceptionの開発者の@davertさんによる「ちょーすげー(not an ordinary)」PHP

    CodeceptionとAspectMockを使って和田卓人さんの現在時刻に依存するテストを書いてみた - think it over
    t-wada
    t-wada 2013/11/29
    先日 CodeIQ で出題 & 解説した問題に対して、 PHP のテスティングフレームワーク Codeception と黒魔法系モックライブラリ AspectMock を使って挑戦してくださっているエントリ。これはなかなか強力そう……
  • 和田卓人さん出題のテスト駆動開発問題『現在時刻とロケールに依存するテスト』をPHPを使ってオブジェクト指向で解答してみました #php #object_oriented|CodeIQ MAGAZINE

    テスト駆動開発の巨匠・和田卓人さんからの『現在時刻とロケールに依存するテスト』問題をPHPメンターズの後藤秀宣さんが解答してくださいました! この記事は、その後藤さんによる解答コードの公開と解説記事になります!! by CodeIQ運営事務局 PHPメンターズの後藤です。 和田卓人さん出題の『現在時刻とロケールに依存するテスト』問題をPHPを使ってオブジェクト指向のアプローチで解答してみました。 ※問題文については、和田卓人さんの解説記事を参照にしてください。 https://codeiq.jp/magazine/2013/11/1475/ 解答例は次の環境で作成しています。 PHP 5.5.4 PHPUnit 3.7 Composer サンプルコードのリポジトリをGitHubにて公開しています。コミットログなど合わせてご参照ください。(解説中にも各コミットへのリンクを貼ってあります) g

    和田卓人さん出題のテスト駆動開発問題『現在時刻とロケールに依存するテスト』をPHPを使ってオブジェクト指向で解答してみました #php #object_oriented|CodeIQ MAGAZINE
    t-wada
    t-wada 2013/11/26
    先日 #CodeIQ に出題した問題に対して Symfony や DDD の啓蒙で有名な後藤さん (@hidenorigoto) が「模範解答」を書いてくださいました。誠にありがとうございます!
  • PHP: The Right Way

    ようこそ 時代遅れの情報がウェブ上にあふれている。そんな情報を見たPHP初心者は戸惑ってしまうだろう。そして、まずい手法やまずいコードが広まってしまう。 そんなのはもうやめよう。PHP: The Right Way は気軽に読めるクイックリファレンスだ。PHPの一般的なコーディング規約、 ウェブ上のよくできたチュートリアルへのリンク、そして現時点でのベストプラクティスだと執筆者が考えていることをまとめた。 大事なのは、 PHPを使うための正式なお作法など存在しない ってこと。 このサイトの狙いは、はじめて PHP を使うことになった開発者に、いろんなトピックを紹介すること。 経験豊富なプロの人にとっても、これまで深く考えることなく使ってきた内容について、新鮮な見方を伝えられるだろう。 このサイトは、決して「どのツールを使えばいいのか」を教えるものじゃない。 いくつかの選択肢を示して、それぞ

    t-wada
    t-wada 2013/10/23
    モダン PHP を学ぶための情報が集約された、内容も日本語訳も充実しているサイト
  • GitHub - gree/cascade: Cascade defines a lightweight, consistent interface for accessing databases in PHP

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - gree/cascade: Cascade defines a lightweight, consistent interface for accessing databases in PHP
    t-wada
    t-wada 2013/10/23
    OSS として公開された GREE の社内ライブラリ(かな?)。 RDB や KVS, CSV, ini ファイル等を同じように扱えるシンプルなインターフェイスを提供する。
  • PHPカンファレンス2013 & WordCamp Tokyo 2013 講演資料まとめ #phpcon2013 #wctokyo

    当日の発表資料がアップされはじめているようなので、今年も講演資料などの情報をまとめさせていただきたいと思います。随時更新予定です。 ※執筆時点では、WordCamp側の資料が圧倒的に不足しております…(´;ω;`)ブワッ 2013年9月16日 追記:WordCamp側の講演資料も追加しました! リンクの誤りや追加情報などございましたら、星影(@unsoluble_sugar)までご連絡いただけるとありがたいです。よろしくお願いします。 昨年の講演資料ちなみに昨年の講演資料まとめはこちらになります。 PHPカンファレンス2012 & WordCamp Tokyo 2012 講演資料まとめ #phpcon2012 #wctokyo | Time to live forever PHPWordPressに興味のある方は、ぜひご覧ください! タイムテーブルPHPカンファレンス2013 タイムテ

    PHPカンファレンス2013 & WordCamp Tokyo 2013 講演資料まとめ #phpcon2013 #wctokyo
    t-wada
    t-wada 2013/09/18
    #phpcon2013 の資料まとめ。結構良い資料が多かった印象です。
  • PHPカンファレンス2013で「モデルとの向き合い方:ドメイン駆動設計体験ワークショップ」を行いました

    2018年1月10日に開催された DCI Tokyo 1 に続き、2018年3月27日に DCI Tokyo 2 が開催されました。今回も James Coplien @jcoplien さんをお招きしてのトークセッションとなりました。会場は 株式会社ヴァル研究所 様に提供していただきました。 セッションは、前回同様 @remore さんと @ganchiku さんによる同時通訳とともに進められました。 今回のテーマはマルチパラダイムデザイン(Multi-Paradigm Design: MPD)の中核を成し、DCI / リーンアーキテクチャ(Lean Architecture)とも深く関係する 共通性/可変性分析 でした。 レポートは @smori1983 が担当させていただきます。 当日の様子は Coplien さんの許可を得て YouTube の DCI Tokyo 公式アカウントに

    PHPカンファレンス2013で「モデルとの向き合い方:ドメイン駆動設計体験ワークショップ」を行いました
    t-wada
    t-wada 2013/09/15
    ドメイン駆動設計についての良い入門資料になっている。参考文献の最後に『ジェネレーティブプログラミング』があるのが渋い。
  • Emergent design with phpspec

    This document discusses emergent design and test-driven development using PHP and PHPSpec. It emphasizes designing software through describing how objects interact to solve problems, focusing on messaging between objects. Simple design rules like removing duplication and complexity are recommended to make code more testable, modular, and change-friendly. Designing for delegation using mocks is pre

    Emergent design with phpspec
    t-wada
    t-wada 2013/09/15
    TDD/BDD についての非常に良い資料で、さすが PHPSpec の開発者だなと思う (ただし内容はかなり mockist 寄り) 。p.60 の "use simple design rules to refactor" や p.67,68 の "Opacity / Complexity Smells" がとてもいい