laravel news にlaravel scoutがmeilisearchに対応したと書いてあったので、今回試したみました。 meilisearchとは?オープンソースで高速な全文検索できるサーチエンジン。サーチ時のタイポにも対応している。 Laravelインストールしてからデータ挿入laravel インストール $laravel new meilisearch-test プロジェクトのディレクトリに移動 $cd meilisearch-test データベースを作成するためにmysql にログイン(ここは環境に依存) $mysql -uroot -p データベースを作成 (.envファイルのDB_DATABASEと同じにするとスムーズ) mysql> create database meilisearch_test; データベースを作ったらmysqlからexit mysql> exit
PEAR::Mail_mimeDecodeを使う。準備編はこちら。 標準入力からメールデータを読み込み、From,To,件名等各種ヘッダおよび本文を表示し添付ファイルを保存するサンプル。JIS文字コード本文に対応するため外部コマンドnkfを使っているので、それは入れておく。 apt install nkf テストメールは、以下のような感じでGmailで作成し自分に送信。 Subject: テストメールです(添付つき) From: Note Server <servernote.net@gmail.com> To: servernote.net@gmail.com こんにちは。 テストメールを送ります。 サンプル画像も添付します。 ---- WEBMASTER 添付ファイルは、以下のサンプル雲画像cloudy.jpgを添付。 受信側に送られて来るメールの生データは以下のような感じである。 M
PHPを使ったプログラムで、簡単なWebAPIを実装したい場合があります。 小さなWebAPIサーバなど、シンプルなサービスを実装する時にSlim Frameworkのようなマイクロフレームワークは助けになりますが、クライアントの認証がネックになることがあります。社内LANなど、閉じた環境でプログラムを実行したい場合なら認証なしでサービスを公開しても良いですが、インターネット上に公開されたサーバの場合、そうはいきません。 そこで、今回は、APIキーによる簡単なアクセス認証を実装してみます。 サーバ上に登録されたAPIキーをリクエストパラメータとして送ってきたクライアントからのみ処理を行い、キーを送って来ないリクエストはエラー応答を返します。 今回の記事では、Slim Frameworkのバージョン3を利用しています。 Slimにおけるミドルウェア機能 Slim Frameworkでは、サー
バーチー / GMO PEPABO inc. 2017.10.08 / PHPカンファレンス2017 http://phpcon.php.gr.jp/2017/#home PHPを利用したウェブサイトの約66%(※1)は、セキュリティサポートの切れたPHP5.5以下のバージョンを利用しています。 アップグレードの必要性は理解していても、後方互換性のない変更点の修正が課題となり後回しにする現場も少なくないでしょう。 先日ホームページ作成サービス「グーペ」をPHP5.2から7.1へアップグレードし、そこから得られた知見をブログ(※2)にて公開しました。 本セッションではブログでお伝えきれなかった内容を加えて、安全かつ短期間でアップグレードする方法をご紹介します。 ※1 https://w3techs.com/technologies/details/pl-php/all/all ※2 http
これ tanakahisateru.hatenablog.jp だいぶ古くなって、PHP7の事情とか反映できていないのもあって、計測し直してみるかと… で、そのときたまたま GitHub - phpbench/phpbench: PHP Benchmarking framework を使ったら、これが思いのほかよかった。というわけで GitHub に上げました。 github.com PhpBench はベンチマークフレームワークです。基本、PHPUnit のように、ベンチマーク用のクラスに各シナリオを表すメソッドを書けばOK、あとは CLI から vendor/bin/phpbench run ... で引数にオプションいろいろ指定して実行。 ここがよかった 1 setUp() 的なメソッドをアノテーションで指定できます。事前条件の準備がベンチマーク結果に影響しないよう、逃がせるのがいい
追記 (2018.12.30) PHP5.6, PHP7.1 に加えて、PHP7.2, PHP7.3 にも対応しました! また、PHP から memcached につなぐサンプルを追加しました。 はじめに こんにちは。小西です。開発環境の構築って面倒ですよねー。 今回、PHP, MySQL, PHP-FPM, nginx, memcached のローカル開発環境を、Docker を使ってコマンド一発で作られるようにしたところ、あまりに簡単で驚いたので、その方法をご紹介します。 ソースコードをgithubにおいておきます ので、すぐに起動できます! 開発環境構築のめんどくささ 僕はPHP+MySQL+nginx+PHP-FPMの環境をよく使うのですが、こういった構成をそれぞれのマシンで再現するのって結構面倒なんですよね。1プロジェクトならまだいいですが、大体プロジェクトによってそれぞれのバー
こんにちは、pixivでPHPをやってるうさみです。健全なコードベースは黙っても降ってこないので、チーム全体で開発効率を高めるような改善をするのがお仕事です。 テキストエディタはmicro推しです ヾ(〃><)ノ゙☆ さる11月3日に大田区産業プラザ PiOで開催されたPHPカンファレンス 2016にて大怪獣に蹂躙されながらPhanについて30分のセッション発表をいたしましたので、その内容を紹介します! Phanとは PhanはPHPの静的解析ツールです。開発元はハンドメイドのマーケットサービスを運営し、現在PHP作者のRasmus Lerdorf氏する米Etsy社です。もちろんRasmus Lerdorf氏も開発に参加してます。 Phanは以下のような項目を検出できます。 関数・クラス・定数・変数などがすべて定義済か、アクセスできるか 関数の型と引数の数が合ってるか PHP5とPHP7の
(Last Updated On: 2018年8月13日)PHPスクリプトを分析するツールをまとめたページの紹介です。 PHPのコードを分析して脆弱性を見つける為のツールから、PHPソースコードを整形するツール、PHPスクリプトの内容の分析をするツールなど色々あり、よくまとまっています。 https://github.com/exakat/php-static-analysis-tools ここに載っていない物でいつも利用している物に3v4l.orgがあります。PHPソースコード/スクリプトの解析ツールといっても良い物で、ちょっとしたコードをチェックするにはオススメです。簡単に機能を紹介します。 現在のリリース版からサポートが終了したPHP4まで含めた複数のPHP実行環境でPHPスクリプトを実行し結果を比較 複数のPHP実行環境でのスクリプト実行時間の比較 OPコードの表示(PHPバイトコ
PHPカンファレンス関西2016の基調講演です。
はじめまして。4月からオトバンクで働き始めました @kalibora と申します。よろしくお願いします。 さて、オトバンクでは Symfony2 を使っており、ORマッパーにはデフォルトの Doctrine2 を使用しているのですが、 そんな中で私が得た知見をいくつか紹介したいと思います。 Fetch mode の話 Doctrine2 には fetch mode という概念があります。 Annotations Reference - Doctrine Object Relational Mapper (ORM) を見ますと Doctrine2には下記の fetch mode があるようです。 fetch mode 定義できる場所 EAGER @ManyToOne @ManyToMany @OneToOne @OneToMany LAZY @ManyToOne @ManyToMany @O
CSSを小分けにして@importで読み込んで管理している方も多いかと思いますが、これではHTTPリクエストがファイルの数だけ発生して、パフォーマンス的に良くありません。 Googleがページの表示速度を検索結果に反映するとか言い出したりもしているので、これはもうリクエスト数を減らすしか無いですね! でも手動でファイルを一つ一つ連結するのはとても面倒です!と言うわけで、そんな面倒な作業を自動でやってくれるPHPのクラスを書いてみました。 ライブラリについて @importで複数のファイルを読み込んでいるCSSを、動的に解析し、連結・圧縮を行います。また、表示する際にLast-ModifiedやExpiresなどのHTTPヘッダーを送出したり、gzip圧縮を行うなど、リクエストを出来るだけ軽減できるようにしています。 ダウンロード CSS_DynamicCompressor ライセンス MI
こんにちは。西山です。 毎日続く炎天と夕方に来襲する豪雨で夏らしさが一気に全開になりましたね。 今回はデプロイツール「Rocketeer」についてご紹介したいと思います。 これは GitHub上で公開されているオープンソースソフトウェア (OSS) です。リポジトリは https://github.com/Anahkiasen/rocketeer にあります。ライセンスは MIT です。 デプロイツールというと、以前の現場で Capistrano を使っていたのですが、これは Ruby 製ですね。 Rocketeer は Capistrano に似た構成を持つ PHP 製のソフトウェアです。普段、PHP の案件に関わることが多いのですが、デプロイツールも同じ PHP で書かれていたほうが安心感(?)がありますよね。 また、Composer や PHPUnit の実行にもデフォルトで対応
ピクシブ株式会社 Advent Calendar 2015の18日めの記事でございます。 qiita.com こんにちは、うさみです。去年のAdventCalendarではEmacsにpixiv-novel-modeを作ったって記事を書きました。趣味はQiitaです。 現在pixiv.netではPHP 7に移行を進めていますが、それに先駆けて、この数年間に実施してきたpixivの改善について紹介いたします。 実際のところ私自身はあまり仕事をしてないので、この記事の内容のほとんどはほかのメンバーの業績チームの成果です p(ixi)v 最初に宣伝をしますが、技術評論社さまのWEB+DB PRESSにて、pixivの開発チームとして「PHP大規模開発入門」を連載しています。この記事でpixivのPHP開発に興味が湧きましたら、ぜひ購読していただければ ヾ(〃><)ノ゙☆ 1. デプロイ機能の抜本
Joomla!にコード実行脆弱性(CVE-2015-8562)があり、パッチ公開前から攻撃が観測されていたと話題になっています。 Joomlaに深刻な脆弱性、パッチ公開2日前から攻撃横行 「Joomla!」に再び深刻な脆弱性、3.4.6への速やかなアップデートを推奨 パッチ公開の前に攻撃が始まる状態を「ゼロデイ脆弱性」と言いますが、それでは、この脆弱性のメカニズムはどんなものだろうかと思い、調べてみました。 結論から言えば、この問題はJoomla!側に重大な脆弱性はなく、PHPの既知の脆弱性(CVE-2015-6835)が原因でしたので報告します。 exploitを調べてみる 既にこの問題のexploitは公開されていますが、悪い子が真似するといけないのでURL等は割愛します。以下のページでは攻撃の原理が説明されています。 Vulnerability Details: Joomla! Re
PHPの生みの親、ラスマス・ラードフ氏インタビュー 2015年12月に無事公開されたPHP7。その公開に先立ってPHPの生みの親であるラスマス・ラードフ氏に話を伺う機会がありました。英語で行われた一時間のインタビューは長大ですがラスマス氏の思想がよく分かる話題が多く、可能な限りそのままの形でお伝えすべく、その模様すべてをお届けします。 なお、インタビューは10月に開催されたPHPカンファレンス2015の講演終了後に行われ、リリースに関する話題などはその時点でのものです。 現在の仕事と生い立ち ―――― まずは、PHPを作ってくださってありがとうございます。今日の基調講演もすばらしかったです。 ラスマス:ありがとうございます。 ―――― いきなりですが、個人的な質問から始めてもいいでしょうか。 ラスマス:どうぞ。 ―――― Etsyではどのようなお仕事をなさっているんですか? ラスマ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く