来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…
来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…
新年あけましておめでとうございます。今年もボチボチやっていきます。 本稿ではPHP製のWebスクレイピングライブラリGoutteを紹介します。 Goutte(グット)とは Goutteは必要十分な機能を持ったWebスクレイピングライブラリです。そもそもWebスクレイピングというのは、外部Webページから必要なデータを取ってくるくらいの意味です。つまり、GoutteはWebスクレイピングを簡単に行う道具だと考えればいいでしょう。 具体的には、GoutteはWebクローラとHTMLパーサを組み合わせたようなものです。Cookieやフォームの扱いなどWebブラウザとしての機能は一通り揃っていますし、CSS風の要素指定もできるなど、機能面では他のライブラリと遜色ないように感じます。 さらに僕個人がGoutteに期待している点は、安定性とロングサポートです。Goutteは主要機能をSymfony2お
PHPのJITコンパイラ「HipHop Virtual Machine」、Facebookがオープンソースで公開 HipHop Virtual Machineは、PHPを高速に実行するためにPHPのコードをC/C++に変換してg++でコンパイルし、バイナリコードにするHiphop compiler(hphpc)と、PHPのインタプリタであるHipHop interpreter (hphpi)を組み合わせたもの。PHPのコードをダイナミックにバイナリコードへと変換することで、高速な実行を目指しています。 コンパイラと同等以上の実行速度へ HipHopはFacebookが開発し、オープンソースとして公開しています。今回のHipHop Virtual Machineも、これらの開発の延長線上にあるものです。 Our experiences with hphpc led us to start e
PHPの実行環境をPaaS型クラウドとして提供している「PHP fog」はブログで、いままで6カ月だった無料サービスの利用期間を、永久に無料のままにすると発表しました。しかも3つのアプリケーションまで無料にするとのこと。 もちろん無料で使えるリソースの範囲はそれほど大きくありませんが、PHPアプリケーションを自由にデプロイできるため、例えばWordpressを入れて自由にブログを運営する、といったことができるはず。 実はPHP fogだけでなくPaaS型クラウドでは無料でずっと利用できるコースを設定しているサービスがいくつもあります。この機会にまとめてみました。 PHP fog まずはそのPHP fog。名前の通りPHPの実行環境をクラウド上で提供します。MySQLデータベースもあらかじめ用意されており、WordPress、Drupal、Sugar CRM、Joomlaといった有名どころの
(2012/08/30) そろそろ CodeIgniter からの移行先についてもういっぺんだけ言っておくか - A Day in Serenity @ kenjis を書きました。 ということで、ライセンス問題で発火した CodeIgniter から移行するフレームワークを検討されている方も多いかと思います。 [2014/10/29 追記] CodeIgniter 3.0 は MIT ライセンスでリリースされることになりました! 詳細。 なので、参考のために移行先に関する情報を書いておきます。 似たようなフレームワークを探したい場合 断言しますが、候補はこの 3つです。 Kohana http://kohanaframework.org/ Yii http://www.yiiframework.com/ FuelPHP http://fuelphp.com/ Kohana Kohana
新しいことを勉強して、久々に心底感動しました。 Twitter である方が Fuel についてつぶやきをしているのを拝見し、この時初めてその存在を知りました。。 PHP の新しいフレームワークで、複数のフレームワークのいいところを集めたものということだったので、ちょっと触ってみるかとダウンロードしてドキュメントを読みながら Hello World! を作ってみる。すると・・・ こ・・これはすごい・・ なにがすごいって、これまで私は「CodeIgniter」を超愛用していました。CodeIgniter は、もちろんそのほとんどがすごくいいのですが、若干だけ不満があったのです。しかし、FuelPHP では CodeIgniter の好きなところはそのままに、不満が全部吹っ飛んでいたのです。 では、その全貌をご覧入れましょう。 [広告] FuelPHP 入門書の決定版が発売されました。詳しくは、
平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。 本件に関するお問い合わせはこちらよりお願いいたします。
JavaScript難読化を試してみました HTML5では、JavaScriptで結構色々できるようになりました。 今後HTML5対応の本格的なJavaScriptコンテンツが増えるのは間違いないでしょう。 プライベートでは良いですが、仕事でコードが平文でそのまま公開されるのは、、、という事も想定されます。 プライベートでも、自己利益のみや、悪意に利用されるのは避けたいですね。 そこで、JavaScript難読化を調べてみました。 調べただけならすぐに記事にできるのですが、そこは技術者魂が邪魔をしてついつい実装してみて、、、。 その成果は以下です。 ・簡易的に容量を圧縮し、難読化するバージョン http://ykata.net/o/php/packer_test2.php ・packerを使ったデコードが難しいバージョン http://ykata.net/o/php/packer_test
このエントリでは、あるPHPの入門書を題材として、Ajaxアプリケーションの脆弱性について検討します。全3回となる予定です。 このエントリを書いたきっかけ twitterからタレコミをちょうだいして、作りながら基礎から学ぶPHPによるWebアプリケーション入門XAMPP/jQuery/HTML5で作るイマドキのWeという本を読みました。所感は以下の通りです。 タレコミ氏の主張のように、本書はセキュリティを一切考慮していない 主な脆弱性は、XSS、SQLインジェクション、任意のサーバーサイド・スクリプト実行(アップロード経由)、メールヘッダインジェクション等 脆弱性以前の問題としてサンプルスクリプトの品質が低い。デバッグしないと動かないスクリプトが多数あった 上記に関連して、流用元のソースやデバッグ用のalertなどがコメントとして残っていて痛々しい 今時この水準はないわーと思いました。以前
LiveCart - Free and Open Source PHP Shopping Cart Software PHP+MySQLなオープンソースの超多機能ECサイト構築ソフトウェア「LiveCart」 管理画面もあって、SEOや多言語対応、決済対応、カテゴリ階層、Valid HTML+CSSなど、アピールポイントがかなり書かれていますがとにかく多機能。 デモページを見てもとりあえずショッピングカートとして問題なさそうな感じです。管理画面のデモも使えます カートへの追加はAjaxで追加されたりと、うっとうしくない程度にAjaxやJSも使われています 商品一覧もamazonっぽくて分かりやすいです。 テンプレートのカスタマイズはWYSIWYGで編集できちゃうところもクール 他にもECサイト構築ソフトウェアはあれど負けず劣らずの多機能っぷり。選択肢の一つとして覚えておいてもよさそうですね
たにぐちまことさんの書かれた『よくわかるPHPの教科書(以下、「よくわかる」)』を購入してパラパラと見ていたら、セキュリティ上の問題がかなりあることに気がつきました。そこで、拙著「体系的に学ぶ 安全なWebアプリケーションの作り方(以下、徳丸本)」の章・節毎に照らし合わせて、「よくわかる」の脆弱性について報告します。主に、徳丸本の4章と5章を参照します。 4.2 入力処理とセキュリティ 「よくわかる」のサンプルや解説では、入力値検証はほとんどしていません。しかし、入力値検証をしていないからといって即脆弱かというとそうではありません。徳丸本でも強調しているように、入力値検証はアプリケーション要件(仕様)に沿っていることを確認するもので、セキュリティ対策が目的ではないからです。 「よくわかる」の中で、私が見た範囲で唯一の入力値検証は、郵便番号のチェックをするものです。以下に引用します(「よくわ
PEAR2/Pyrus ってどうなったんだっけ? という話はとりあえず一旦置いておいて、最近わりかしカジュアルにPHPライブラリを開発して配布する方法がなんとなく自分の中で定着してきたので超ざっくりまとめておく。 ソースコードはGitHub、開発にはgitflow、配布はOpenpear Openpear で世界征服の話はどうなったんだ、というのは置いておいて、ざっくり、上記の通り、 ソースコードのホスティングは GitHubで 例: https://github.com/sotarok/git-daily 配布は Openpear で 例: http://openpear.org/package/Git_Daily 開発用ツールとしては、gitflow を使う というのが一番楽だと思っている。 ソースコードはGitHub Openpear はとっても便利なサービスで、SVNでのホスティン
PHP5.4にはトレイトという文法が導入されて、多重継承の便利さが享受できるようになるそうです。 いろいろ試してみることにしました。 トレイトといえば代表選手はScalaですね。Scalaでいうトレイトは、インターフェースの定義とメソッドの実装を同時にやってくれる便利な概念でした。単一継承のOOP言語では「〜は〜の一種」という制約が強すぎて、「ペンギンは鳥の飛行メソッドによって飛行できてしまう」という問題があります。でもちゃんと「ペンギンは飛べないが泳げる鳥」を綺麗に解決する必要はあって、その解答として、トレイトのあるScalaではこんな解が導けます。 abstract class Animal abstract class Bird extends Animal { def hasBeak = true // 鳥にはかならずクチバシがある def hasWings = true // 翼
ここ最近のPHP界隈では、興味深いニュースが続いています。最近PHPを追っかけていない人へ少しづつご紹介。 近頃、PHP界隈でホットなニュースを5つ、つまみぐいして見てみましょう。 1. PHP5.4.0-alphaリリース! PHPの次期バージョン、5.4.0-alphaがリリースされました。 まだ alpha1 ですが、すでに Traits や Array dereferencing support など様々な機能追加が行われています。 特に Traits は面白い機能で、いずれはこれを利用したフレームワークの登場が考えられます。ぜひ使ってみたい機能ですね。 今後、正式リリースに向けてさらなる新機能が追加されていくようなので、目が離せません。 PHP 5.4 alpha1 released 現状のPHP環境はそのままで、PHP 5.4 を試す PHP5.4 alpha1リリース! PH
この記事ではオープンソースなオススメCMSを5個紹介します。 ※ブクマコメントやツイートでいくつか他CMSの名前が挙がっていたり、リプライ等頂いたので、下部にて別枠で紹介させて頂きます。 コーポレートサイトの制作に特化したCMS。 いわゆる、中小企業の自社紹介サイト系を作成する場合に、十分な機能が組み込まれている。 ・ユーザ管理 ・ページ管理 ・簡易ブログ(ニュースリリースなど複数設置可能) ・メールフォーム(複数設置可能) ・フィードリーダー ・携帯サイト ・Twitter連携機能 など。 また、対応しているDBが、SQLite、MySQL、PostgreSQLと幅広く、更にはCSVでの利用も可能な変り種。 殆どのレンタルサーバ上で動作すると思うので、導入の敷居は非常に低い。 ライセンスはGPLと商用ライセンスの2種類。 株式会社日本情報化農業研究所が提供している国産のCMS。 主に一般
file_get_contentsは、ラクチンかつ便利です。 引数にURLを指定して、変数に代入すればあらびっくり。 変数にURLで指定した先のファイルの中身が入ってます。 一方、豊富なオプションが魅力のHTTP_Request。 その代わり、file_get_contentsのように1行ではすみません。 どっちを使うべきでしょう? file_get_contentsでも色々指定できる マニュアルを読む限り、フラグやオフセット位置、読み込むデータの最大バイト数ぐらいしか指定できないようにみえます。 ▽PHP: file_get_contents - Manual http://php.net/manual/ja/function.file-get-contents.php しかしコンテキストリソース(context)を使うことで、methodやheaderを指定できるそうです。 コンテキス
こんにちは。インフラの sotarok です。 先日から Git 関連の話をしている通りですが、社内で Git を使い始めています。 今日は、Git を使った日々の開発〜リリースまでのフローや、そうしたものの運用と、それをサポートするために作ったツール git-daily の紹介をしたいと思います。 ソフトウェア開発とウェブ開発の違い いやウェブ開発も広義のソフトウェア開発なのですが、ここでいうソフトウェア開発とは、クライアントアプリケーションやライブラリのようなものを指すと思ってください。 実際、ウェブ開発をしている方は感じていることだとは思いますが、両者の開発フローはかなり異なるものです。もちろん社風や開発の方針等によって色々あるとは思いますが、主に次のような特徴が挙げられると思います: ソフトウェア開発 アプリケーションはクライアントで動作する リリース間隔は比較的長く、次のバージョ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く