タグ

rskyに関するshimookaのブックマーク (17)

  • これは凄い!iOSアプリ内で動作するPHP·iPHP MOONGIFT

    iPHPはObjective-C製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。 iOS上で動作するプログラミング言語と言えばObjective-CやJavaScriptくらいと思われています(アプリを開発できる言語はもっとありますが)。しかしその壁を打ち破るソフトウェアがiPHPです。名前の通り、PHPの実行エンジンをiOSアプリ内に埋め込んだソフトウェアです。 立ち上げました。さっそくphpinfoを実行します。 見慣れた画面です。PHPのバージョンは5.4.15となっています。 curlも組み込まれています。外部コンテンツを取り込んで…といったこともできるでしょう。 fileinfoやgdもあります。色々な使い方ができそうです。 evalを使って入力したテキストを評価させることができます。 こちらはベンチマークを実行した結果です。 iPHPは思

    これは凄い!iOSアプリ内で動作するPHP·iPHP MOONGIFT
    shimooka
    shimooka 2014/03/05
    安定のrsky印
  • GitHub - rsky/iphp: PHP embed SAPI sample app for ios

    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 - rsky/iphp: PHP embed SAPI sample app for ios
    shimooka
    shimooka 2013/06/25
    rskyセンセーの最新作
  • no globals

    config.m4 p?ݙ6V �i3�6V PHP_ARG_ENABLE(noglobals, for noglobals support, [ --enable-noglobals Include noglobals support], yes, yes) PHP_NEW_EXTENSION(noglobals, noglobals.c, $ext_shared) noglobals.c �|��6V 0�ܙ6V #ifdef HAVE_CONFIG_H #include "config.h" #endif #include <php.h> #define NOGLOBALS_VERSION "0.0.1-dev" #define DELETE_AUTO_GLOBALS(name) zend_hash_del(CG(auto_globals), name, sizeof(name))

    no globals
    shimooka
    shimooka 2013/04/25
    グローバル変数を削除するモジュール。作るの早すぎるw
  • 第4回 闇PHP勉強会レポート | チラシのうら

    スライドだけでなくて壁にマーカーで書いたり、ソースコードを参照しながら発表させてもらいました。 ミックスイン今回の発表の目玉(?)でもあったミックスイン記法は既存のPHPコード/ユーザーが自然にステップアップできる記法にできたなと自負しているので、是非とも次の次のPHP、おそらくPHP 5.6に入れるべく提案する計画です。(自負とか言ってもScalaの真似ですが) ミックスイン記法とは別に拡張モジュールとしてAOPサポートを入れようと目論んでおり、それがやりやすいようにAPIを整えるという末転倒な事も企んでいたり。 Zend Engineのcompilerからexecutorあたりの読みづらさは特筆に値するものがあり、これを改造してちゃんと動くものにするのは多少の慣れが必要ですが、まだまだ改善の余地のある子なので良くしていく手助けができればと思います。 しかしながら、長いことZend E

    第4回 闇PHP勉強会レポート | チラシのうら
  • ウノウの縁 | チラシのうら

    文を書く前に言っておくッ! おれは今やつのスタンドをほんのちょっぴりだが体験した い…いや…体験したというよりはまったく理解を超えていたのだが…… あ…ありのまま あのとき 起こった事を話すぜ! 『おれはウノウを受けていたと 思ったらいつのまにかジンガジャパンに勤めていた』 な… 何を言ってるのか わからねーと思うが おれも何をされたのかわからなかった… 頭がどうにかなりそうだった… ベンチャーだとかスタートアップだとか そんなチャチなもんじゃあ 断じてねえ もっと恐ろしいものの片鱗を味わったぜ… …さて、1ヶ月以上遅れてのウノウアドベントカレンダー記事です。(ごめんなさいごめんなさい) 僕がウノウに入ろうと思ったきっかけは、やはりウノウラボの存在が大きかった。 2000年代後半のPHP界ではあのブログを読んでなかったらモグリと断定できるぐらいあのブログはエッジが効いていた。 拙作のMe

    ウノウの縁 | チラシのうら
  • よみがえるQIQ | チラシのうら

    別エントリで実装等について書く前に、これまでの経緯のまとめ。 以前のエントリ で↓のように書いていたのだが、 Scalaライクなミックスイン はエイプリルフールネタです。申し訳ない。 気で取り組みたいですが、なかなか難しいですね。 求む、フルタイムでやらせてくれるお大尽。 プログラミングをしない人にPHPを少しわかりやすくする関数 “not” #phpadvent2012 に触発されて よーし、おじさんnot演算子をZend Engineに追加しちゃうぞー / “プログラミングをしない人にPHPを少しわかりやすくする関数 “not” #phpadvent2012 - 頭ん中” htn.to/HaqbQq 12月 14, 2012と言ってしまい、その流れでphp-srcをforkしてnot演算子を実装したり、until文/unless文を実装したりしているうちに気分がノってきて、Synfo

    よみがえるQIQ | チラシのうら
    shimooka
    shimooka 2012/12/21
    『構想8ヶ月半! 実装4時間半!』すばらしい!
  • PHP Memcached Extension をより軽量高速にしてみるテスト | チラシのうら

    php-memcached-dev/php-memcachedをforkしたmsgpack-and-snappyブランチで、シリアライズ方式にMessagePackを、圧縮方式にSnappyを選べるようにした。→GitHub MessagePackを使うにはPECL msgpackをインストールした上で、configureのオプションに --enable-memcached-msgpack を、Snappyを使うにはSnappyをインストールした上で --with-snappy-dir を付ければよい。 MacPortsでライブラリを入れている場合の例: phpize ./configure \ --enable-memcached \ --enable-memcached-msgpack \ --with-libmemcached-dir=/opt/local \ --with-snap

    PHP Memcached Extension をより軽量高速にしてみるテスト | チラシのうら
  • PHP 5.4.1の新機能: Scalaライクなミックスイン | チラシのうら

    2012年4月1日にリリースされたPHP 5.4.1では、マイナーバージョンアップにも関わらず言語仕様が拡張されるという、PHPクォリティ全開の変更があったので紹介しよう。 実体化時ミックスイン (Mix-in instantiation)クラスをインスタンス化する際にuse文でトレイトを追加できるようになった。トレイトは実行時に解決されるので、クラス宣言より後にトレイトを宣言することも可能。 例1<?php class JoJo {} trait HermitPurple { public function sayStand() { echo '隠者の紫'; } } trait StarPlatinum { public function sayStand() { echo '星の白金'; } } $joseph = new JoJo use HermitPurple; $jotaro

    PHP 5.4.1の新機能: Scalaライクなミックスイン | チラシのうら
    shimooka
    shimooka 2012/06/18
    rskyならやりかねんところが。。。
  • PHP5.4のリポジトリに新たに[]による配列の文法が追加 - id:anatooのブログ

    今までPHPでは配列を書くのにarray()という記法を使う必要があったが、PHP5.4のリポジトリに新しい配列の文法が追加された。[]で囲むことで配列を表現することができるようになっている。連想配列についても同様。 add short array syntax as defined in https://wiki.php.net/rfc/shortsyntaxforarrays, 2nd solution using => only http://svn.php.net/viewvc?view=revision&revision=313641 以下、配列の新しい文法に関するテストケースを引用。 --TEST-- Testing array shortcut and bracket operator --FILE-- <?php $a = [1, 2, 3, 4, 5]; print_r(

  • PHPカンファレンス関西の懇親会でLTしてきました - 讃容日記

    関西で初のPHPカンファレンス!これは参加せねばなるまい!ということで、PHPカンファレンス関西に参加してきました。 このところ仕事が忙しかったこともありLTの準備もできていなかったのですが、 id:cocoiti のウノウラボ記事にインスパイアされて「Brainf*ckで犬語」を実装→発表と相成った次第であります。 BFのPHP実装としては既にBrainPhackがあります。 しかし、それを使うだけではネタとして弱いのでフルスクラッチで実装です。 車輪の再発明が悪とはよく言われますし、そのとおりだと思います。 しかし車輪を自分で作ることで得られる知見があることもまた真実・・・かと思いきや、そんなことはなかったw 余談はさておき、ソースコードはGitHubにリポジトリを作ったので下記リンクよりご覧ください。 https://github.com/rsky/phpkansai-party-l

    PHPカンファレンス関西の懇親会でLTしてきました - 讃容日記
  • 書き初め - 讃容日記

    1月2日ということでブログの書き初めをする。 昨年後半を振り返って PHPカンファレンス2010とPHPMatsuriに参加した 9月末-10月頭にかけて東京でPHPのイベントに参加した。 PHPの「いま」に触れることができたのはもちろん、東京近郊だけでなく、地方から来られている方とも知り合いになれて良かった。 PHPカンファレンスの懇親会ではPHPの生みの親であるRasmus氏とお話しする機会があったのに上手く伝えたいことが言えず、もっと英語力をつけないといけないなと思った。 両イベントの間の1週間は東京観光・・・は、ほとんどせず、家を探したり会社訪問をしたりしていた。 ジンガジャパンに入社した その後、特に紆余曲折もなくジンガジャパン株式会社に入社した。 なにげに齢30にして初の会社勤めなので内心は不安だったのだけど、意外なほどチームにもすぐ馴染め、元気にやっている。 入社以前から面識

    書き初め - 讃容日記
  • Pirumを使ってみた - 讃容日記

    先日から公開を始めたPEAR(PECL)チャンネルでは、チャンネルサーバーの管理にPirumを使っています。 元々はChiara_PEAR_Serverを使おうとしていたのですが、インストール後のスクリプトがうまく動かずにコードを追っかけていたところ、@iteman 先生に「PHPUnitが移行したやつを使ってみてはどうか」と勧められたのがPirumを知ったきっかけでした。 “Pirum”はラテン語で“梨の実”という意味らしく、“PEAR”そのまんまですね。公式サイトの画像がなぜナスなのかは定かではありません。 以下に公式サイトの紹介文を和訳してみました。 Pirum is a simple and nice looking PEAR channel server manager that lets you setup PEAR channel servers in a matter of

    Pirumを使ってみた - 讃容日記
  • PHPエクステンションのリポジトリ始めました - 讃容日記

    長らく放置しておりましたブログとPHP拡張のメンテをぼちぼち再開します。 で、復活第一弾のエントリはPiece Network 3のテーマとして、PHP 5.3のサポートとGitHub/PEARチャンネルの公開をしましたので、そのご報告をば。 現時点ではよく使われているっぽいMeCabエクステンションと Tokyo Cabinetエクステンションを公開しています。他のものも需要がありそうなものから順次追加していきます。 PHP 5.3対応 PHP 5.3から ZEND_BEGIN_ARG_INFO_EX() マクロにstatic修飾子が含まれるようになったため、static ZEND_BEGIN_ARG_INFO_EX(...) としていた箇所が軒並みエラーになっていたので、これを修正しました。 また、php_set_error_handling(), php_std_error_hand

    PHPエクステンションのリポジトリ始めました - 讃容日記
    shimooka
    shimooka 2010/06/20
    復活エントリ
  • QIQの設計と実装 - 讃容日記

    QIQエクステンションがやっていることについて。 PHPというかZend Engineでは、コンパイラとエクゼキュータが関数ポインタになっており、それぞれファイルの内容から実行コードを生成するzend_comiple_file、文字列から実行コードを生成するzend_compile_string、実行コードに対応するハンドラを呼び出すzend_executeが定義されています。また、それらのデフォルト実装としてcompile_file()、compile_string()、execute()があります。 言語としては良いか悪いかは別にして、堅くも柔らかくもない独自のポジションにあるPHPですが、コアのZend Engineはコンパイラやエグゼキュータが差し換えられたり、実行時のフックが追加できたりと、実は拡張性に富んでいるのです。でもマルチスレッドと演算子オーバーローディングだけは勘弁な!

  • 続々・Zend Engine Hack (クロージャもあるよ) (拡張モジュールもあるよ) - 讃容日記

    php_qiq-0.5.0.tgz (PHP 5.2用拡張モジュール) php-5.2.5-rsky-080228.patch (PHP 5.2.5用パッチ) php-5.2.5-rsky-080228-win32.zip (Windows用バイナリ) 拡張モジュール版もできました。普通のPHP extensionとしても使えますし、Zend extensionとしてAPCやeAccelerator等より先にロードすればキャッシュも効きます。ただし、ZEND_APIで修飾されていない (dllexportされていない) 関数を多用しているため、Windows向けにはビルドできません。 モジュール名のQIQは「PHPの次」を意味します。読み方はたぶん「くいっく」。「きゅーあいきゅー」でもおk。小文字でPHPと並べると字面が対照的なのが気に入っています。 dvd btb qiq php Win

    続々・Zend Engine Hack (クロージャもあるよ) (拡張モジュールもあるよ) - 讃容日記
    shimooka
    shimooka 2008/02/28
    何でもありになってきた
  • ムラムラして作った。反省はしていない - 讃容日記

    我が家から直線距離にして約500km離れたサイボウズ・ラボでPHP拡張勉強会が行われている最中、Twitterとかid:shimookaさんの実況中継とか尾藤さんのUstream(主に音声)だけでは飽き足らず、自分も書いた。 PHPの配列操作関数は破壊的なものばかりなので、非破壊的な関数群を実装。やってることはcall_user_function_ex()でarray_shift()やらsort()やらshuffle()を呼んでるだけ。 実装した関数: array_poped, array_pushed, array_shifted, array_unshifted, sorted, ksorted, asorted, rsorted, krsorted, arsorted, usorted, uksorted, uasorted, natsorted, natcasesorted, sh

    ムラムラして作った。反省はしていない - 讃容日記
  • 実例で学ぶPHP拡張モジュールの作り方 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    実例で学ぶPHP拡張モジュールの作り方 記事一覧 | gihyo.jp
  • 1