タグ

phpに関するarikuiのブックマーク (17)

  • レガシーコード改善勉強会 開催レポート

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog ヤフー株式会社の有地です。 9/27(土)の昼から6時間にもわたり、さまざまな視点から「レガシーコード」について知識を深めるための勉強会を開催いたしました。 「そもそも正しい仕様を知っている人がいない」 「システムのブラックボックス化が留まるところを知らない」 こんな不条理なレガシーコード(テストコードが無いコード)と日々戦うエンジニアも多いことと思います。 今あるレガシーコードをどうやって保守・改善していけばよいのかという課題に気で取り組んでいる、または取り組みたいと考えている大勢の方々に参加していただきました。 <開催趣旨・目的> テストコードが無いプロダクションコードをレガシーコードと定義し、テストコードによって保護され、

    レガシーコード改善勉強会 開催レポート
  • Cookieによるhashdos攻撃と対策

    このエントリでは、Cookieを用いたhashdos攻撃の可能性について検討し、実証結果と対策について報告します。 はじめに既に当ブログで報告の通り、hashdosと呼ばれる攻撃手法が公表されています。HTTPリクエストのパラメータ名に対するハッシュ値を故意に同一にした(衝突させた)ものを多数(数万程度)送信することにより、Webサーバーを数分程度過負荷にできるというDoS攻撃手法です。 先の記事でも説明しているようにPOSTパラメータ(HTTPリクエストボディ)に多数のパラメータを仕込む攻撃が典型的ですが、POSTパラメータ以外のパラメータを用いた攻撃についても検討しておかないと、防御漏れの可能性が生じます。 そこで、POSTパラメータ以外を用いた攻撃方法について検討します。 POST以外に多数のパラメータを仕込めるかPOST以外に多数のパラメータを仕込む場所があるでしょうか。候補となる

  • チューニンガソンで優勝してきました : DSAS開発者の部屋

    7/9(土)にチューニンガソン というイベントに参加して優勝してきたので、その報告と、何を考えてどんなチューニングをしたのかを 記憶の範囲で公開したいと思います。 今回のチューニンガソンのお題は、WordPress(ja) + php + Apache + MySQL で、 ab を使って wp-comment.php 経由でコメントのポストをすることで計測が行われました。 MySQLとApacheを立ち上げたらWordPressが動く環境が渡され、そのWordPress自体は設定ファイルを含めて 改造が一切禁止、WordPressの実行をショートカットするチートも禁止です。 0. 試合前日 環境がAWSとAMI Linuxということは事前に公開されていたため、前日にAWSに登録して少しだけAMI Linuxを 触ってみました。yumベースだけどCentOSと違って結構新しいバージョンが用

    チューニンガソンで優勝してきました : DSAS開発者の部屋
  • Webアプリケーションに対する広範なDoS攻撃手法(hashdos)の影響と対策

    28C3(28th Chaos Communication Congress)において、Effective Denial of Service attacks against web application platforms(Webプラットフォームに対する効果的なサービス妨害攻撃)と題する発表がありました(タイムスケジュール、講演スライド)。 これによると、PHPをはじめとする多くのWebアプリケーション開発プラットフォームに対して、CPU資源を枯渇させるサービス妨害攻撃(DoS攻撃)が可能な手法が見つかったということです。この攻撃は、hashdos と呼ばれています。 概要PHPなど多くの言語では、文字列をキーとする配列(連想配列、ハッシュ)が用意されており、HTTPリクエストのパラメータも連想配列の形で提供されます。PHPの場合、$_GET、$_POSTなどです。 連想配列の実装には

  • ウノウラボ Unoh Labs: Flash Liteコンテンツを動的に合成してみる

    おはようございます。うちだです。 日、mixiアプリモバイルにて「バンドやろうよ!」をリリース致しました。是非遊んでみてください。 今回は「バンドやろうよ!」でも使った、Flash Liteコンテンツの合成を軽めに紹介します。 Ming Flash Liteの合成にはMingを使います。 Mingを用いるとswfの合成や変数書き換えが非常に簡単にできます。 但し、一部機能にバグがあるので要注意ですが、合成や変数書き換えだけに利用するのであれば今のところ問題は見つかっていません。 さっそく合成 「バンドやろうよ!」では自キャラクターのギターを持ち替えすることでき、その部分に利用しています。 合成するパーツ毎にswfを用意します 1.swf 2.swf 3.swf guitar.swf ming_useswfversion(4); $swf = new SWFMovie(); $swf-

  • サーバーサイド jQuery をやってみる! - IT戦記

    最近、社内で PHP Spidermonkey が流行って(?)いるようです><! Cybozu Inside Out: SpiderMonkeyを使ってPHPでサーバーサイドJavaScript id:ama-ch さすがです>< というわけで 僕も、 PHP の Spidermonkey でどのくらいのことが出来るのか試してみました>< まず、 Hello, world! <?php // new して $js = new JSContext(); // print 関数作って $js->registerFunction(function($v) { print $v; }, 'print'); // こんにちはこんにちは! $js->evaluateScript('print("Hello, world!!")'); Hello, world!おおお、簡単! 次は、 id:m-hiy

    サーバーサイド jQuery をやってみる! - IT戦記
  • 人工無能を作ろう〜RSSからマルコフ連鎖(php)

    2007/12/13 この記事が古いので最新記事書きました Yahoo!APIを利用してマルコフ連鎖で文章生成(php) ----- 今までの応用で、RSSからマルコフ連鎖をするphpのサンプルを作って見ました。 実際の動作は、RSS読み込み→適当に一つの記事を選択→形態素解析→マルコフ連鎖用テーブル作成→デバック用にマルコフ連鎖用テーブルの中身を出力→マルコフ連鎖で文章生成→生成した文章の出力、となってます。 実際に下記ソースを利用する場合、汚染チェック・エラーチェック等を行って下さい。 parse(); # 形態素解析を行う文章 $rand = array_rand( $RSS->items ); $str = $RSS->items[$rand]["description"]; // 形態素解析をしたい文章を渡しつつ、ChaSenへのハンドルオープン $handle = p

  • Cybozu Inside Out: SpiderMonkeyを使ってPHPでサーバーサイドJavaScript

    はじめまして。2009年に新卒で入社しました天野祐介です。amachang を期待された方はゴメンナサイ! 先日 SpiderMonkey を利用して PHP から JavaScript を実行する方法を調べる機会がありましたので、ご紹介します。 SpiderMonkey とは SpiderMonkey は  C で実装された Mozilla の JavaScript エンジンです。 これを PHP から実行する拡張を利用すると、 PHP コード内で JavaScript が実行できます。 SpiderMonkey extension のインストール こちらhttp://devzone.zend.com/article/4704に記載されている方法で CentOS にインストールしてみました。 PHP 5.3.0 以上が必要です。 $ wget http://ftp.mozilla.org

    Cybozu Inside Out: SpiderMonkeyを使ってPHPでサーバーサイドJavaScript
  • この先生きのこるには

    Twitter / Yoshinari Takaoka: (´ー`; )マジで仕込んだのかコナミコマンド – … な、なんだってー!? 実行すると実行結果 on Flickr – Photo Sharing!のようになる。 ソースコードを見ると以下のような行が追加されてた。 php_konami.gifっていうファイル名がいいですね。

    この先生きのこるには
  • SplFixedArrayはPHP標準の配列よりメモリを消費しない - hnwの日記

    PHP5.3.0から実装されたSplFixedArrayというSPLクラスがあります。これはマニュアルによれば下記のようなクラスです。 SplFixedArray クラスは配列の主要な機能を提供します。 SplFixedArray と通常の PHPの配列との主な違いは、 SplFixedArray は固定長であって、整数値で指定した範囲内の添字しか使用できないところです。これにより、より高速な配列の実装が可能となりました。 http://docs.php.net/manual/ja/class.splfixedarray.php 制限はあるけれども高速な配列もどきのクラスだと紹介してありますね。このクラスについて少し調べてみました。 SplFixedArrayの速度 まずはSplFixedArrayが当に速いのかどうか、下記のようなプログラムで実験してみました。実験はPHP5.3.0で行

    SplFixedArrayはPHP標準の配列よりメモリを消費しない - hnwの日記
  • iPhone Geolocaion Test

    「昔から自分のナニのサイズが小さいのがコンプレックスになっています」 コンプレックスになったきっかけは中学の時の修学旅行です。 それまで特に気にならなかったのですが、お風呂の時間に友人のを見て、自分が小さい方なことに気が付きました。 それからは恥ずかしく思うように。 それから10年近く経ちましたが、特にサイズは変わっていないです。 大人になってふと思ったんです。 コンプレックスを解消する方法って無いのかなと。 そして調べてみたら、最近は色々な方法があることを知りました。 特に気になったのは【凝縮黒ウコンDEX】という増大サプリメントです。 全体的に評価も高くて、レビューを読んでいてもかなり期待できるなと思いました。 ですが初めてのことなので、自分に効果があるのかという不安もあります。 なので凝縮黒ウコンDEXについて詳しく調べてみたいなと。 調べ尽くして、使いたいという気持ちが強ければ注文

    iPhone Geolocaion Test
  • RejectKaigi で発表した require 'php' のソースをアップしました - 星一の日記

    RubyKaigi2009 お疲れ様でした! スタッフをはじめ、皆様どうもありがとうございました! さて、僕は今回 RejectKaigi にて「require 'php'」というタイトルで発表いたしました。内容は以下のような Ruby プログラムを実現するライブラリの紹介です。 p 42 == '42' # => false require 'php' p 42 == '42' # => true 開始早々にトラブルが起きて*1プレゼン資料が表示できず、デモだけで強引に乗り切りました。しかしながら、スライドを用いないで発表することでむしろ良かったなあと思える点があって、それは、我々の共通語である Ruby 語のみを用いることで、自ずと国際的な発表になったんじゃないかなあということです。海外の方からも「病的だ」「身の毛もよだつ」という評判をいただきました。ありがとうございました。 php.

    RejectKaigi で発表した require 'php' のソースをアップしました - 星一の日記
  • http://www.codediesel.com/tools/detecting-duplicate-code-in-php-files/

    http://www.codediesel.com/tools/detecting-duplicate-code-in-php-files/
  • spidermonkey拡張モジュール - Do You PHP はてブロ

    SpiderMonkeyは、Cで書かれたGeckoのJavaScriptエンジンで、Firefoxにも採用されています。 で、このSpiderMonkeyのPHPバインディングが出てきました。PHP5.3以降が必要です。 PECL :: Package :: spidermonkey 「PHPjavascriptを動かす」モジュールらしく、javascriptコードにPHPの関数や変数を引き渡して使えるっぽいとのこと。とりあえず試してみました。環境は PHP5.3.0β1 spidermonkey 0.1.1 です。 まずはインストール。libjs 1.7.0以上が必要とのことで、こちらからインストール。。。。なんですが、Compiling and Installing SpiderMonkey 1.7.0 in Linux. « the DtTvB's Old Blogを参考に手動でイ

    spidermonkey拡張モジュール - Do You PHP はてブロ
  • PHPでワードファイルへの差し込み&PDF生成·phpLiveDocx MOONGIFT

    これはなかなか面白そうだ。Webシステムを構築する際に厄介なものの一つが帳票システムだろう。今であれば大抵PDFで出力する必要があり、ユーザがメンテナンスしやすいテンプレートシステムを採用する必要がある。 テンプレートファイル。一部の文字列が置き換わる対象 有償であれば幾つかのプランはある。だが無料で、かつ汎用性のあるシステムは数少ない。そこでトライしてみたいのがMS Officeを使った帳票システムだ。 今回紹介するオープンソース・ソフトウェアはphpLiveDocx、LiveDocx.comの提供する帳票システムへアクセスするPHPライブラリだ。 phpLiveDocxはWordファイル(Docx)をテンプレートとして差し込みで文字列を置き換え(住所や請求項目など)、PDFファイルやDoc、Docx、RTFを生成することができる。ライブラリ単体で動作する訳ではなく、LiveDocx.c

    PHPでワードファイルへの差し込み&PDF生成·phpLiveDocx MOONGIFT
    arikui
    arikui 2009/02/21
  • Lux IO(ラックス アイオー)をPHPから使ってみる - ユーウツな雨がふりつづいても雪がハートを曇らせてもドアの中で待っていた君に魔法をかけたいのさ

    Lux IOという高速なデータベースマネージャ(DBM)を公開しました。元々は、keyに対して長く拡張していくvalueを保持できるように、Luxの内部ストレージエンジンとして開発を始めましたが、一般的なDBMのような使い方においても、非常に高速に動作します。(詳しくは、sourceforgeのページのベンチマークを参照ください。) Lux IO - Yet Another Fast Database Manager : no hacking, no lifeLux IOという非常に高速なdbmが公開されました。Lux IO用のphp bindingを作ってGitHub — Server Error使ってみました。 サンプルコードが下記で $luxiobtree = new LuxIOBtree(); $luxiobtree->open('test', LUX_DB_CREAT); $re

  • Build seven good object-oriented habits in 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.

    Build seven good object-oriented habits in PHP
  • 1