恥知らずのウェブエンジニア -web engineer, shameless

これは一歩を踏み出すことができない者たちのブログ

php

Set up gRPC server with Go and try requesting with PHP

Hi guys. In this time, I will set up the gRPC server and try requesting it. By the way, it seems that the gRPC server with PHP is spoken by ↓, but it seems that is no plan now.(2018 / February) groups.google.com So this time, I will set up…

なぜPHPはgRPCサーバーがサポートされていないのか?

なんかもうアレなので、前回少し触れたのですが、2018/2月現在公式なPHPのgRPCサーバーはサポートされていません。 GoでgRPCサーバー立てて、PHPでリクエストしてみる - 恥知らずのウェブエンジニア -web engineer, shameless 様々な迫害には慣れているPHPer…

GoでgRPCサーバー立てて、PHPでリクエストしてみる

なんかもうアレなので前回PHPでgRPCサーバーにリクエストするっぽいことをやったので、今回は実際にgRPCサーバーを立てて、リクエストをしてみる。 PHPでgRPC叩く手始め - 恥知らずのウェブエンジニア -web engineer, shameless ちなみにPHPでgRPCサーバーは…

PHPでgRPC叩く手始め

なんかもうアレなので、PHPでgRPCのサーバーを叩いてみる。まずは環境整備から 流れ的にはprotobufを定義して、それを元にPHPからgRPCと通信するclientを作ってそれを使ってgPRCを叩く模様 Environment 公式のままやってみる https://github.com/grpc/grpc/t…

Phanで静的解析するようにしてみる

なんかもうアレなので業務でとあるAPIを叩く用の簡単なSDKをを作った。 その際PHPDoc,型宣言とかしたので、せっかくなのでPhanで静的解析するようにしてみたメモ。 PhanはPHPDoc,型宣言などが整備されてないと真価を発揮しないということなので。 Phan https…

PSR-6(Caching Interface)を見ていく

要約ですので、所々省いている箇所あります。 オリジナルはこちら www.php-fig.org 導入 キャッシングはパフォーマンス向上の一般的な手法です。キャッシングライブラリを実装することはフレームワーク、ライブラリの一般機能の1つです これは複数のライブ…

PSR-4(Autoloading Standard)を見ていく

要約ですので、所々省いている箇所あります。 オリジナルはこちら www.php-fig.org 概要 ファイルパスからクラスをautoloadingする仕様 PSR-0も含め、その他のautoloadingの仕様と相互運用可能 このPSRはautoloadingされるためのファイルを配置する場所も記…

PSR-3(Logger Interface)を見ていく

要約ですので、所々省いている箇所あります。 オリジナルはこちら www.php-fig.org 概要 ロギングライブラリの共通インターフェースのドキュメント ゴールはライブラリがPsr\Log\LoggerInterfaceを受け入れることでログ出力をシンプルかつ共通化を行う フレ…

PSR-2(Coding Style Guide)を見ていく

要約ですので、所々省いている箇所あります。 オリジナルはこちら www.php-fig.org 要点 PSR-2はPSR-1を継承/拡張した基本的なコーディング基準 開発者間でのコードリーディング時の認識のズレを減らすためのガイドライン ルール自体にではなく、ルールを共…

PSR-1(Basic Coding Standard)を見ていく

諸々あってPSRを順番に確認していく・・・! オリジナルはこちら www.php-fig.org 概要

The difference of default charset when connect to mysql with php

When the monitors the product if use codeigniter,fuelphp that PHP framework by New Relic, execute query SET NAMES foo when every connect to mysql. This is not just problem, but execute when every connect and it was somehow eyesore, so I fi…

phpからmysqlに接続する際のデフォルト文字コードについて

PHPのフレームワークでcodeigniter,fuelphpなど使っているプロジェクトをnew relicで見てみると毎回DB接続の度にSET NAMES ~~~という文字コードを設定するクエリを毎回発行していました。 別にこれだけでどうってことはないのですが、毎接続時に発行されてい…

phpmdでコード解析+チェックルールのカスタマイズしてみる

youngforever.hatenablog.com 前回のphpcsに続きコーディングの品質向上のためphpmdを使うようにしてみました。 PHPMD - PHP Mess Detector phpmdは潜在的にバグになりそうなコードや改善の余地があるコードなどを検出してくれるツールです phpmdインストー…

phpcsでカスタマイズしたコーディング規約をチェックする

正直なところ、今まであまり厳格に規約に沿ってコーディングしてきませんでした。 ある程度守っていればいいだろ 統一させたいなら整形ツール的なやつで自動化すればいいじゃん など思っていたんですが、OSSなど作っていきたいと考えた時、ちゃんと標準的な…

FuelPHP,AdminLTE,Chart.jsで管理画面的なものを作る[1]雰囲気作り

雰囲気作りといえば、これですね。 いろいろアレなことがあり、FuelPHP,AdminLTE,Chart.jsでサービスの管理画面的なものを作ろうと思います。 具体的にはもろもろの指標をグラフとかで表示する感じです。今のとこのイメージは ・各指標でグラフで表示 ・期間…

phpでライブラリを使わずにhttpリクエストのbodyを取得する方法

php

先日、業務中に少しテンパったので、メモ。 とあるサービスのAPIを利用する際、 コールバックのhttpリクエストのbodyの内容でごにょごにょする必要がありました。その際、http_get_request_body()関数を使って、値を取得していました。 PHP: http_get_reques…

CIUnitでCodeIgniter のテストをする

前回に引き続き、テストするための環境作りをば。 今回はCodeIgniter を使っているので、 CIUnitを使ってユニットテストするところまで。 CIUnitをクローンしてくる Celc/CIUnit · GitHub こちらからソースを自分のプロジェクトにクローンする。 git clone h…

phpunitインストール

引き続きどうにかうまいことしたく、jenkins周りを調査中。 テストコードをガリガリ書く気は、さらさらアレなのですが、 ひとまずテストを自動化できるようしようとphpunitをインストールした際のメモ。CodeIgniter と Jenkins で継続的インテグレーション -…

VineのAPIをつかってみる

動画共有サイトのVineのAPIをちょっぴり使ってみたので、メモを。 https://vine.co/APIといってもどうやら公式のものはなく、 アプリ用?の非公式のものしかないもよう・・・基本的には下記のようにアクセスさえすれば、簡単にとってこれました。 require_on…

プログラム内でコマンド実行した時にnull文字にしてやられる!

業務中ログローテートのプログラムを作った時にハマったのでメモわさ! アクセスログなどとは別の、サービスとしてのログが、 プロジェクトのvar/以下にlog_*****_20140101などのように保存されていく。var/以下に、さらに○○_log/のようなディレクトリもあり…

smarty 月、日付を1桁の時は1桁で表示する

ちょっぴりメモ日付を表示しようとした時に月、日付を1桁の時は1桁で表示しようとしました。 渡している値は date('Y-m-d H:i:s')の形式。これを 月/日 時:分 で表示したい。 smartyを使っているので、smartyのdate_formatを使って整形しようと思い、ぐぐ…

var_dumpで省略せずに全部表示させる

var_dumpをして、変数の中身見る時に、中身の配列などが多い時に表示が省略されてしまう。。。調べてみるとxdebugの設定で省略されてしまうとのこと。全て表示されるためにはphp.iniに下記を記述すればよい xdebug.var_display_max_children = -1 xdebug.var…

もっとちゃんとPHP ~パーフェクトPHPを読んで~一発目

php

いきなりですが、 今までちゃんとPHPを勉強してきてないじゃまいかという気がすごくしています。 最初に「独習PHP」を読んだ後は、 プロジェクト内の先輩のソースを見たり、マネしたりでここまで来ました。 前回のxdebugを知らなかったりしたのもちゃんと体…

xdebugインストール

実は入ってなかったxdebug・・・ 前のプロジェクトではvar_dumpが、 綺麗に表示されていたのはxdebugのおかげなのね。。。 //インストール pecl install xdebug //php.iniを編集、追記 vi /etc/php.ini +zend_extension=/usr/lib64/php/modules/xdebug.so //…

yumでphpアップデート

業務していた時に、他の方が開発した部分を確認していたときにエラーになり報告したら、 私の個人開発環境のphpのバージョンが違ったためでした。。。□個人開発環境:php 5.3 → 5.4php5.4では動くのに、5.3では構文エラーになってました。 バージョンが低い…

APC(Alternatice PHP Cache)でphp高速に。

php

APC(PHPアクセレーター)とは、 PHPのスクリプトを最適化してコンパイルされた状態でデータをキャッシュし、 以後同じデータにアクセスがあった際、そのキャッシュを利用することでスクリプトの実行速度を高速化してくれるそうです。早速インストール。 //A…

Codeigniter インストール

さくらVPSの開発環境に、Codeigniterをインストールする。・ZIP パッケージを展開。 ・ドキュメントルートにindex.php移動 ・上に伴って、index.php編集 wget http://ellislab.com/codeigniter/download unzip CodeIgniter_x.x.x.zip //index.php をhtdocsの…

Codeigniterのredirectでexitするしない

勉強になったので、メモ。今まで自分の中の認識だとredirectを行うとその後の処理をすっ飛ばして、 redirect先に飛ばされると思っていたのですが、実はそうではないとのこと。今、業務で使っているCodeigniterのredirectのソースは↓ //** * Header Redirect …

日付フォーマット、加算減算

php

毎回忘れるので、ほんのちょっぴりメモ。■日付フォーマット format 内容 Y 下2桁の西暦 y 4桁の西暦 m 2桁の月 n 月(1桁の時は0つけない) d 2桁の日付 h 12時間表記の時間 H 24時間表記の時間 g 12時間表記の時間(1桁の時は0つけない) G 24時間表記の時間(1…

PHP Advent Calendar jp 2011〜気になったものをピックアップ その1〜

php

[php] PHP Advent Calendar jp 2011で気になったものをピックアップと感想を。まとめは下記。 PHP Advent Calendar jp 2011 まとめ フレームワークで語るMVCの話 PHP Advent Calendar #19 php:cakephp,Symfony 2 ruby:rails python:Django それぞれのフレー…