タグ

PHPに関するWackyのブックマーク (125)

  • PHPで動くファミコンエミュレータを作った | 長谷川智希 @tomzoh blog

    TL;DR PHPで動くファミコンエミュレータを作った php-terminal-nes-emulator画面描画は点字を使って文字出力コントローラは標準入力からfread() 経緯 2016年の2月にPHPで動くゲームボーイのエミュレータ、php-terminal-gameboy-emulator に衝撃を受けて、その実装の解説を勉強会やカンファレンスでトークしたりSoftware Design誌に書いたりしました。(*1) カンファレンスでのトークでは時間の都合もあって全体のごく一部しか話が出来ないのですが、Software Design誌では誌面をたっぷり頂いてCPU、メモリアクセス、画面表示とphp-terminal-gameboy-emulator のほぼ全域を解説出来たので満足し、その熱は落ち着いていました。 そんな中、9月に開催されたbuilderscon tokyo 201

    PHPで動くファミコンエミュレータを作った | 長谷川智希 @tomzoh blog
  • 2018年のパスワードハッシュ - Qiita

    数年前であれば仕方なかったところですが、2018年の今となっては、パスワードハッシュの手動計算はもはや"悪"です。 まずログイン認証と称してmd5とかsha1とか書いてあるソースはゴミなので投げ捨てましょう。 hashやcryptは上記に比べればずっとマシですが、使い方によっては簡単に脆弱になりえます。 あと『パスワードを暗号化する』って表現してるところも見なくていいです。 PHPには、ハッシュに関わる諸々の落とし穴を一発で解消してくれるpassword_hashという超絶便利関数があるので、これを使います。 というか、これ以外を使ってはいけません。 以下はフレームワークを使わずに実装する際の例示です。 フレームワークを使っている場合は当然その流儀に従っておきましょう。 ハッシュの実装 データベース ユーザ情報を保存するテーブルを作成します。 パスワードカラムの文字数は、システム上のパスワ

    2018年のパスワードハッシュ - Qiita
    Wacky
    Wacky 2018/02/11
    “PHPには、ハッシュに関わる諸々の落とし穴を一発で解消してくれるpassword_hashという超絶便利関数があるので、これを使います。”
  • GDB で php プロセスの覗き見 - hibomaの日記

    php を GDB でデバッグするのが便利。 以下のエントリで手法が説明されている qiita.com blog.anatoo.jp stackoverflow.com 以降、私が書くのはこれらのエントリに書かれている手順を真似たものなので、詳細を知るにあたっては是非リンク先も読んでほしい 検証: GDB で実行中の php プロセスを覗き見る GDB は実行中のプロセスを解析の対象とすることもできる。このエントリでは、無限ループするバグった php を GDB で覗いてみよう <?php function third($bar = "") { for (;;) { } } function second() { third(); } function first() { second(); } first(); 検証環境 CentOS7.4 (1708) php-5.4.16-42.el

    GDB で php プロセスの覗き見 - hibomaの日記
  • 味のりとこんにゃくゼリーのエンジニアブログ: phpを高速化する60の方法

    2012年3月15日木曜日 phpを高速化する60の方法 01. static にできるメソッドは static として宣言しよう。(4倍速い) 02. echo の方が print より速い。 03. echo ‘文’,'字’; (カンマ区切り)の方が、’文’.'字’ (ドット連結)より速い。 04. ループの最大値は、ループ「内」ではなく「前」にセットしておこう。 05. 大きい配列のような変数は unset() してメモリを解放しよう。 06. マジックメソッド(例: __get, __set, __autoload)は使用を避けよう。 07. require_once はハイコストなのです。 08. include や require でファイルはフルパスで指定しよう。 09. スクリプト開始時間は time() でなく $_SERVER['REQUEST_TIME

    Wacky
    Wacky 2012/03/16
  • PHPを使っているすべての人が知るべき無料のPaaSサービス | Act as Professional

    先日発売されたsymfonyの執筆に携わらせて頂いたので、今回はPHPのPaaSホスティングサービスである cloudControl で、無料で symfony1.4 を稼働させます。きっと、cakePHPやCodeigniterも稼働させることができるのではないでしょうか。 cloudControlって? 1時間あたり1BoxというcloudControlで定義している独自の単位は無料で使えます。簡単に言うと、少ないアクセスのサイトだったら無料で使えます。それ以上のアクセスを提供するためにはunlockの手続き(有料)が別途必要です。 また、無料で提供しているアドオンが利用できます。その中にはMySQLがあるので、PHPMySQLで稼働するフレームワークは大抵稼働するのではないでしょうか。 cloudControl で symfony1.4 を稼働させるところまで、解説することにしま

    PHPを使っているすべての人が知るべき無料のPaaSサービス | Act as Professional
    Wacky
    Wacky 2011/04/02
  • BugTrack/2081 - PukiWiki-dev

    ページ数が増えるとAutoLinkが原因でmake_link()が正常に動作しない† ページ: BugTrack 投稿者: nao-pon 優先順位: 普通 状態: 保留 カテゴリー: 体バグ 投稿日: 2005-06-20 (月) 20:04:57 バージョン: 1.4.5_1 メッセージ (from nao-pon)† ページ数が増えると、AutoLink の正規表現が原因で、make_link()が正常に動作しなくなり、空白を返します。 結果的にページが正常に表示されなくなります。 ページ数は5400ページほど、autolink.datのサイズが 38KB ほどで、この問題が出ています。 原因は解りませんが、正規表現パターンが大きすぎるのが原因かもしれません。 PHP: パターン構文 - Manual(http://www.php.net/manual/ja/reference.p

    Wacky
    Wacky 2010/12/23
    どうやら、うまい解決方法が無いようだ?
  • Monobook for PukiWiki

    For all your dog needs! Save up to 45% Today With Luntf Paws.

    Monobook for PukiWiki
    Wacky
    Wacky 2010/12/23
    PukiWikiにはAutoLinkを有効にしたまま大量のページを作るとページが表示されなくなるという問題があります。これを回避するためのパッチです。
  • DEX Lab(移転しました)

    サイト移転のお知らせ このサイトは http://dexlab.net/pukiwiki/index.php?Software%2Fwiki%BC%AB%BA%EE%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%2Finstag.inc.php へ移転しました。 新しいサイトへ自動的に移動します。 読み込みが長い場合は中断を押し、リンクをクリックして下さい。 ブラウザのお気に入り・ブックマークを利用されている方は、お手数ですがURLの変更をお願いいたします。

    Wacky
    Wacky 2010/09/05
  • PHPで行う動画変換(前編)

    はじめに オープンソースの動画変換ソフトフェアの一つにffmpegがあります。ffmpegはさまざまな形式の動画、音声データの変換に対応していて、コマンドラインから操作でき、PHPJavaなどで作成したアプリケーション内から呼び出すこともできます。 ffmpegの機能の一部をPHPで使えるようにしたエクステンションにphp-ffmpegがあります。php-ffmpegを利用するとPHP内でffmpegの機能を容易に呼び出せます。またphp-ffmpegとは別にPHPのみでffmpegの機能を使えるライブラリ FFMPEG-PHP Classが公開されています。 記事ではphp-ffmpegFFMPEG-PHP Classを使用して動画のプロパティ取得、flv(注1)への動画変換、Youtubeから動画をダウンロードして3gp(注2)への動画変換を実装する方法を2回にわたって説明します

    PHPで行う動画変換(前編)
    Wacky
    Wacky 2010/06/17
  • はてなブログ | 無料ブログを作成しよう

    来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…

    はてなブログ | 無料ブログを作成しよう
    Wacky
    Wacky 2010/05/23
  • Ruby,Python,PHP,JavaScriptでマルチプラットフォームなデスクトップアプリを簡単に作成する Appcelerator Titanium Desktop - 仙台 Ruby Vim JavaScript フリーランスプログラマ

    古いエントリーなのですが、まだ時折検索エンジン経由?でいらっしゃる方がいるみたいなので追記 Titanium Desktopは今はTideSDKと変わってオープンソースプロジェクトになっています。 いいたい事を先に。 Ruby,Python,PHP,JavaScriptやってる人でデスクトップアプリ作成に興味ある人は Appcelerator Titanium Desktop さわってみるといいと思います。OS X, Windows,Linuxとマルチプラットフォームなデスクトップアプリをhtml,JavaScript,Ruby,Python等の慣れ親しんだ技術で簡単に作成、公開することができます。 予想以上にブクマされてるみたいなので、Titanium Desktopの特徴を箇条書きですが追加しておきます。 一言で言えばJavaScriptで記述するAdobe AIRのようなRIAフレー

    Ruby,Python,PHP,JavaScriptでマルチプラットフォームなデスクトップアプリを簡単に作成する Appcelerator Titanium Desktop - 仙台 Ruby Vim JavaScript フリーランスプログラマ
    Wacky
    Wacky 2010/02/23
    OS X, Windows,Linuxとマルチプラットフォームなデスクトップアプリをhtml,JavaScript,Ruby,Python等の慣れ親しんだ技術で簡単に作成、公開することができます。
  • TaskTree - PukiWiki

    コメント † ご意見、アドバイスありましたらよろしくお願いいたします。 Apache2.2+SSL 環境で使用したいのですが、httpsでアクセスするとガントチャートの表示で「header情報が不完全です。」と表示されてうまく表示されません。分割数などが取得できていないようです。httpでアクセスするときれいに表示されます。なにか対応方法はありますか? -- en 2009-06-25 (木) 18:54:30 質問ありがとうございます。SSL環境を再現できないためわからないのですが、以下の関数をチェックすることで解決の糸口が見えるかもしれません。 (tasktree_browser.inc.php 150行あたりです) $str_projectpage_header:ヘッダー情報として取得した文字列(分割数などをまとめたもの) $g_int_offset:ヘッダーとして使用する行数(1行

    Wacky
    Wacky 2009/10/17
    pukiwiki上で使える日程管理用のプラグイン
  • htmlspecialcharsに関する残念なお知らせ - 岩本隆史の日記帳(アーカイブ)

    htmlspecialcharsのパッチ私案」に書いた件、バグレポートを出してみましたが、「すでに同じバグレポートがあるだろ」という理由により、あえなく却下されました。 せめて先方が「同じ」とみなしているレポート番号ぐらいは示してほしくて、そのようにコメントしましたが、お相手のjaniという人は気難し屋のようで*1、教えてもらえる気がしません。 私なりに探した結果、下記のレポートがくさいように感じました。 PHP :: Bug #43896 :: htmlspecialchars() returns empty string on invalid unicode sequence 「不正なUTF-8シーケンスの場合に空文字列を返すのはおかしい」というレポートで、私のそれとは正反対どころか、Shift_JISにもEUC-JPにも触れられていない別個のものです。もちろん、私はレポート送信前に

    htmlspecialcharsに関する残念なお知らせ - 岩本隆史の日記帳(アーカイブ)
    Wacky
    Wacky 2009/10/09
  • PHPの開発効率を上げる10個の関数 - PHP,MySQL,Flex,JSな日々+イラストとか

    「追記とか」にコメントの返答や追記をしてますので合わせてどうぞ。 かれこれ3年くらいPHPをやっているので、せっかくなので10個の便利な関数を並べてみました。 作業効率がかなりアップするので、これからPHPをやってみようかなぁって思う方は知っておくと便利だと思います。 変数、配列の内容をキレイに表示する関数「d」 変数や配列の内容をHTML構文でキレイに表示してくれます。 しかも、var_dumpと書くとタイピングが大変なので「d($hoge)」として簡単に記述。 これだけでも作業効率8倍 function d() { echo '<pre style="background:#fff;color:#333;border:1px solid #ccc;margin:2px;padding:4px;font-family:monospace;font-size:12px">'; foreac

    PHPの開発効率を上げる10個の関数 - PHP,MySQL,Flex,JSな日々+イラストとか
    Wacky
    Wacky 2009/08/19
  • データベースの基礎を理解しよう! プログラミング未経験から始めるPHP入門

    はじめに 連載では、PHPまたはプログラミング初心者の方を対象に、PHPを用いたWebアプリケーションの作成方法を説明していきます。今回は、データベースとSQLに関して、「おすすめレストラン一覧を閲覧できるWebサイトを制作する場合」を例にして、説明をしていきます。 対象読者 プログラミングが初めてでこれから学習する予定の方 プログラミングの経験はあるがPHPを初めて学習する方 この記事の内容 はじめに 対象読者 動作確認環境 データベースとは何か・・・データベースはどんな役割? データベース操作の基礎・・・データベース言語「SQL」とは SQL基礎:テーブルの作成・・・CREATE文を使ってみましょう SQL基礎:レコード追加・・・INSERT文を使ってみましょう SQL基礎:レコード検索・・・SELECT文を使ってみましょう SQL基礎:レコード更新・・・UPDATE文を使ってみまし

    データベースの基礎を理解しよう! プログラミング未経験から始めるPHP入門
    Wacky
    Wacky 2009/03/31
  • PHPプログラムを解析して何処が重いか?がブラウザ上で簡単に分かる「XHProf」:phpspot開発日誌

    PHPプログラムを解析して何処が重いか?がブラウザ上で簡単に分かる「XHProf」 2009年03月25日- XHProf Documentation (Draft) PHPプログラムを解析して何処が重いか?がブラウザ上で簡単に分かる「XHProf」。 通常、PHPでのプロファイリングというと、Xdebugでファイルを吐き出して、WinCacheGrindやKCacheGrindで読み込むというのが定番です。 ですが、この方法だと、ファイルを吐き出したファイルをGETして、ソフトに読み込ませる、というちょっと面倒な手順が必要でした。 XHProf を使えば、ブラウザ上で、プロファイリングが出来るみたいです。 XHProfの特徴 まず、セグメントごとの実行時間やメモリ利用の状況なんかがブラウザで見れます。 プログラムの構造を把握するのにも使えます。 プロファイリングの階層表示 2つのプロファ

    Wacky
    Wacky 2009/03/25
    PHPプログラムを解析して何処が重いか?がブラウザ上で簡単に分かる「XHProf」。
  • APIとの通信効率をよくする実装例(1) curl_multi

    こんにちは。ライフスタイル事業部のアリタと申します。 Yahoo!のサービスも裏側ではWebAPIが多用されています。1つのページを構成するのに5、6個のAPIを使うこともざらですが、それではさすがにパフォーマンスが問題となってきます。その原因と対策例を紹介していきましょう。 ■モデルケース 例として、3つのAPIから取得したデータをマッシュアップしたページがあるとします。(ここではサンプルコードを簡単にするため、APIの代わりに以下のRSSで説明としました) Yahoo!トピックス エンターテインメントRSS http://dailynews.yahoo.co.jp/fc/entertainment/rss.xml Yahoo!ミュージックマガジン最新情報RSS http://magazine.music.yahoo.co.jp/rss/ALL/rss.xml Yahoo!検索トレンドR

    APIとの通信効率をよくする実装例(1) curl_multi
    Wacky
    Wacky 2009/03/01
    Q.接続失敗時の処理をどうするのだろう。A.上記サンプルコードの30行目に curl_getinfo() という関数が出てきますが、通信結果のHTTPレスポンスコード、かかった時間など様々な値を得ることができます。
  • Web API並列通信で高速化する方法 - Yahoo! JAPAN Tech Blog | エンタープライズ | マイコミジャーナル

    Yahoo! JAPAN Tech Blog Yahoo! JAPAN Tech Blog 『APIとの通信効率をよくする実装例(1) curl_multi』において興味深い通信テクニックが紹介されている。PHP5以降を使ってWebアプリケーションやWebシステムを構築しているなら、そのまま処理速度の向上に直結する可能性を持ったテクニックだ。PHPプログラマは一度チェックしてみてほしい。 Yahoo! JAPAN Tech Blog APIとの通信効率をよくする実装例(1) curl_multi - より抜粋 APIとの通信効率をよくする実装例(1) curl_multiで紹介されているのは、PHP5のcurl_multi_機能を使って並列通信を実現するというもの。実例としてfile_get_contents()を使って順次通信する場合と、curl_multi__()を使って並列通信を実現

    Wacky
    Wacky 2009/03/01
    APIとの通信効率をよくする実装例(1) curl_multiで紹介されているのは、PHP5のcurl_multi_機能を使って並列通信を実現するというもの。
  • 【コラム】FileMaker×PHPで作る、簡単・便利なWebアプリ (1) まずは2大ライブラリを比較 | エンタープライズ | マイコミジャーナル

    MySQL、PostgreSQLSQLiteOracleSQL Server…Webアプリケーションの開発現場において、バックエンドデータベースの選択肢はさまざまだ。それぞれのデータベースにはそれぞれの長所と短所があるため、デベロッパが担当するプロジェクトで使用するデータベースは必ずしも1つとは限らない。どのデータベースを使用することになったとしても、同じ質とスピードで仕事が進められる環境を作っておきたいところ。選択肢は常に複数あったほうが安心だ。 最近ではWebアプリケーションを開発するにあたってFileMakerが少しづつではあるが採用されてきている。ご存知のとおり、FileMakerはGUIベースのデータベースソフトウェア。強力なユーザインタフェースとカスタマイズ性に富む機能を持ち併せた、Microsoft Accessと双璧をなすGUIデータベースアプリケーションだ。そのアプ

    Wacky
    Wacky 2009/02/20
    FileMakerはGUIベースのデータベースソフトウェア。強力なユーザインタフェースとカスタマイズ性に富む機能を持ち併せた、Microsoft Accessと双璧をなすGUIデータベースアプリケーションだ。
  • :: PHPとRubyとPythonでのCSVデータ操作のベンチマーク | vectorさんのブログ ::

    << April 2009 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 >>