タグ

phpに関するfoaranのブックマーク (87)

  • PHPの構文チェックを自動で行う方法 - SHOYAN BLOG

    私のチームではCIで自動的にLINTをする仕組みを構築しています。 この仕組みにより、レガシーコードでテストコードがない環境でもシンタックスエラーの混入を防ぐことができます。 中身はシンプルで以下のスクリプトを作成して、CIプラットホームで実行するようにします。 php-lint.sh #!/bin/sh RESULT=`find . -type f -name "*.php" -exec php -l {} \; 2>&1 | grep "PHP Parse error"` if [ "$RESULT" != "" ];then echo "$RESULT" exit 1 fi

    PHPの構文チェックを自動で行う方法 - SHOYAN BLOG
    foaran
    foaran 2019/10/21
  • GitHubとPackagistをウェブフックで連動させる方法

    さてさて、プログラマーにとってGitHubといえばほぼ誰でも1アカウントは持っているといってもいいぐらいの超有名サイトですよね。 私もずっと前からこのサイトを使ってプログラムを公開し続けているので「いつもお世話になってます😊✨」という気持ちでいっぱいです。 さらに、composerにプログラムを公開する場合に必要となってくるサイトがPackagistです。私の場合も例にもれず、このPackagistを利用してパッケージを公開しています。 ただ、実はある時期から私が公開したパッケージの詳細ページに以下のような警告が表示されるようになりました。 This package is using the legacy service integration that GitHub deprecated in January 2019 and will not auto-update anymore.

    GitHubとPackagistをウェブフックで連動させる方法
    foaran
    foaran 2019/07/12
  • LaravelでPassportパッケージ(OAuth2)を使用したAPI認証を構築 – helog

    Laravelを使った認証方法をいくつかあるようですが、Passportパッケージを使ったAPI認証の構築にチャレンジしてみます。 今回は、Facebook APITwitter APIのようなAPIを介してサービスを提供する側の認証や、vue.jsなどWebアプリを構築する際にサーバサイドへのアクセスに認証を設けるケースを想定します。 ちなみに、構築した環境は以下の通りです。 Windows 11 Home PHP 7.3.33 Laravel 6.20.44 Passportパッケージをインストールと設定 Composerを使ってPassportパッケージをインストールします。私の場合、Laravel 6.xが最新のpassport 10.xに対応していないようだったので、一つバージョンを落としてインストールしました。 > composer require laravel/passp

    LaravelでPassportパッケージ(OAuth2)を使用したAPI認証を構築 – helog
  • 「PHPはどのように動くのか」を読んだ。その後、Zend EngineとGCのこともちょこっと勉強。 - Mitsuyuki.Shiiba

    娘の絵を書いに行った屋で、面白そうだなーと思って買ってみた。 books.rakuten.co.jp 感想 面白かった!流し読みしただけだけど。「俺、今、難しいを読んでるぞ!」って雰囲気で「なるほど?」とか言うのを楽しんだ(分かってない 第2章 オペコードのパフォーマンスを考える オペコードを見ながら「こうなるからパフォーマンスに違いがでるんだよ」って教えてくれてるの「へー!」ってなって面白かった。 第3章 PHPコアの仕組みと開発の定石を知る zval構造体とかコピーオンライトとかHashTableの仕組みとかの説明が書いてあって面白かった。「zvalは、どの型にも対応している、美しく万能な構造体です」ってところが好き。 第4章 オブジェクト指向だとなぜ遅いのか 『オブジェクト指向だと遅くなる』だけで終わらずに『でも、保守性などを重視してオブジェクト指向で開発することをおすすめしま

    「PHPはどのように動くのか」を読んだ。その後、Zend EngineとGCのこともちょこっと勉強。 - Mitsuyuki.Shiiba
    foaran
    foaran 2018/08/21
  • [ThinkIT] 第1回:意外と知らないZend Engine (1/3)

    「Webシステムを支えている言語は何か」と聞かれたときに何と答えますか。 ThinkITを読んでいる方なら即座に「PHP」と答えていただけるでしょう。「Java」と答える方もいるかもしれません。しかし、インターネットの普及と共にPHPは多くのWebサイトで使用されるようになり、今ではWeb 2.0と呼ばれるような新しいスタイルのWebサイトのほとんどがPHPで構築されています。 ここまで普及しているPHPですが、実際にPHPを使用してWebシステムを開発されている方でもその根幹となっているZend Engineについて、ご存知ない方も多いでしょう。Zend Engineとは、簡単にいえばPHPの高速性を支えている重要なモジュールですが、それ以外の機能も備えています。 そこで連載では、全2回に渡って意外と知られていないZend Engineにフォーカスを当て、Zend Engineの存在と

    foaran
    foaran 2018/08/21
    “ ちなみに「Zend」は、Zeevの「Ze」とAndiの「nd」を組み合わせたものです。日本の禅(ぜん)という言葉もフューチャーしています。”
  • 初心者がテストコードを書くようになった経緯とオススメのテストフレームワーク|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

    初心者がテストコードを書くようになった経緯とオススメのテストフレームワーク 初めまして会社の隅っこで働いているvolと窓際で働いてるnagodonです。 今回は機会がありまして別のプロジェクトメンバー同士で技術ブログを書くことになりました。 テストコードを業務で使ったことがなかった二人が探りながらテストコードを書いたお話を、 前半をvol、後半をnagodonが行っていきたいと思います。 よろしくお願いします。 テストコードを書き始めた切っ掛け 私、volのプロジェクトでの切っ掛けは唐突でした。 ちょっと難しい機能を実装する事になり以下の内容で悩んでました。 1.時間足りない・・・ 2.仕様が複雑で設計大変 3.分担難しいけど一人じゃ間に合わない・・・ でもやらなくちゃいけないんだよ!! 時間が無いながらも大きな機能から小さい機能を切り出して 一個一個丁寧に設計 設計が出来上がった所、 手

    初心者がテストコードを書くようになった経緯とオススメのテストフレームワーク|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
  • OSC2015北海道で「phpspecで学ぶLondon School TDD」という発表をしてきました - iakioの日記

    見た目を重視してこんなタイトルにしてみましたが、基的には私が「実践テスト駆動開発」と「phpspec」をどう解釈したか、というような内容になっています。 45分あってもなかなか伝えるのが難しいテーマだったのですが、とりあえず時間厳守はできてよかったです(一部デモを飛ばしてしまいましたが)。 phpspecで学ぶLondon School TDD from Akio Ishida www.slideshare.net いくつか補足を。 伝えたかったこと(あるいは上手く伝えられなかったかもしれないこと) 外から中へ、あるいは依存関係の上から下へ実装することで、上位が下位に要求するものが明確になる。 setFoo()のような、プライベート変数をセットするだけのメソッドであっても、それは外から観測できる何かに影響を及ぼすはず(影響を及ぼさないのであればそのメソッド自体不要)。その外から観測できる

    OSC2015北海道で「phpspecで学ぶLondon School TDD」という発表をしてきました - iakioの日記
    foaran
    foaran 2015/06/15
  • ZOZO Technologies TECH BLOG

    2020-07-01 ZOZOTOWNのインハウス広告運用を支援するデータと仕組みの話 BigQuery データ マーケティング 広告 記事では、ZOZOのマーケティング部門の広告運用のインハウス化に伴って、これまで取り組んできた広告データの収集と活用、その仕組みにフォーカスして事例をご紹介します。 ZOZOTOWNのインハウス広告運用を支援するデータと仕組みの話 2020-06-29 【オンラインMeetup イベントレポート】ZOZOテクノロジーズの大規模データ活用 イベントレポート GCP Elasticsearch 検索 機械学習 こんにちは、ZOZOテクノロジーズ CTO室の池田(@ikenyal)です。 ZOZOテクノロジーズでは、6/22にZOZO Technologies Meetup -ZOZOテクノロジーズの大規模データ活用-を開催しました。 zozotech-inc

    ZOZO Technologies TECH BLOG
  • ノーフレームワークレガシーPHPから始めるユニットテスト

    巨大なアクセスを抱える大規模サイトは経験ないので分かりません。 あと、当にレガシーな PHP しか考えてません。とにかくイマドキのフレームワークを使ってください。こんなこと気にする必要ないんでしょ? 設定できるだけphp.iniに依存しないまず、PHP のコードで設定できるものは PHP のコードで設定した方がよいそうすれば複数サイトの開発のための切り替えも比較的スムーズに行えるextension など php.ini にしか書けないものは php.ini に書けばよいこれを踏まえたうえで、自分の場合はプロジェクトごとに .htaccess および php.ini を同時に生成する setup 用のスクリプトを用意している。.htaccess に書く rewrite の設定などもここで展開するようにしている。で、このスクリプトをリポジトリに入れてある。 必要に応じて RewriteBas

    foaran
    foaran 2014/12/26
  • phpt 形式による回帰テスト

    php でのテストツールとして、単純に出力結果と比較する .phpt 形式というフォーマットがあります。 PHPT - Test File Layout http://qa.php.net/phpt_details.php 以下は php の配布ソースに含まれている tests/basic/001.phpt です。 --TEST-- Trivial "Hello World" test --FILE-- <?php echo "Hello World"?> --EXPECT-- Hello World このような .phpt 形式のファイルを pear コマンドを使ってテストできます。 $ pear run-tests tests/basic/001.phpt Running 1 tests PASS Trivial "Hello World" test[tests/basic/001.p

  • 20万行の大規模サイトのPHPを5.1から5.4に上げた話の続き · DQNEO日記

    「ソースコード20万行の大規模サイトのPHPを5.1から5.4に上げるためにやったことまとめ」の続きです。 前回記事の反響が予想以上に大きく、たくさんの人に読んでいだたきました。 はてぶやTwitterで感想をいただいたみなさんありがとうござました。 補足を書きます。 「3年」を強調しすぎたかも 着手しはじめてから完了するまでが2年9ヵ月だったので「3年」と書いたわけですが、「3」という数字にインパクトがありすぎたようです。 実際には途中で心が折れて放置してた時期が数か月あります。 他にも、バージョン管理システムをSubversionからGitに移行するのに5ヵ月かかってる(これも日々の開発・運用の片手間でやった)ので、その間はPHPバージョンアップ作業は止まってました。 って移行プロジェクトばっかりやってるなw 仕事で使ってる巨大SVNレポジトリをGithubに移管するためにやったことま

    20万行の大規模サイトのPHPを5.1から5.4に上げた話の続き · DQNEO日記
    foaran
    foaran 2014/02/28
  • ソースコード20万行の大規模サイトのPHPを5.1から5.4に上げるためにやったことまとめ · DQNEO日記

    所要期間 着手しはじめたのが2010年12月ごろ、完了したのが2013年9月だったので何と3年近くかかったことになります。 長引いた原因は、日々の機能追加や運用をしながら孤独に片手間で細々とやってたからです。(単純に人手不足とも言う) また、PHPバージョンアップと同時にCentOSサーバを5から6にあげることにしたのでサーバ再構築のための工数も含まれています。 後半は仕事仲間が増えてその人が専業でバージョンアップ作業をやってくれたのでだいぶ楽できました。 それと専任のテスターさんたちにも参加していただいたので番で大きなトラブルなく完了することができました。 感謝感謝です。 サーバ入れ替え作業が終わってPHP5.1の入った古いサーバを削除したときの、まさに「技術的負債」を返済し終わった瞬間の、あのスッキリ感、もう言葉にはできません。 終わってみてこの件に関するRedmineのチケットを数

    ソースコード20万行の大規模サイトのPHPを5.1から5.4に上げるためにやったことまとめ · DQNEO日記
    foaran
    foaran 2014/02/28
  • HomebrewのphpenvでPHPをインストールしたメモ

    Vagrant使ってたから、OSXPHP使う必要なかっただけだから..(震え声) そういうわけでphpenvでPHP環境を作ってみました。まずは基礎知識。 phpenv Rubyのrbenv、Perlのplenvに相当。複数バージョンのPHPをHOMEにインストー ルし、切り替えて使うツール。というよりシステムを汚さないために使う感じ。 pecl, pear RubyのgemPerlのcpanmに相当。peclはCで書かれ、pearはPHPで書かれて いる。PHPはCで書かれたライブラリ(要は*.so)を動的にロードできないた め、このように分かれているそう。 composer Rubybundler、Perlのcartonに相当。アプリごとにライブラリを切り替え ることが出来る。 Homebrewのphpenvをインストール# 普通にbrewコマンドでインストールします。 (実際は

    foaran
    foaran 2014/02/10
  • SublimeText2でPHPファイルをビルド&Build Systemを使いこなす

    foaran
    foaran 2014/01/23
  • Manual - Documentation - Zend Framework

    Caution: The documentation you are viewing is for an older version of Zend Framework. You can find the documentation of the current version at: https://docs.zendframework.com/ クラスの読み込み - Zend Framework Performance Guide Zend Frameworkアプリケーションのプロファイルをとってみた人は誰でも、 Zend Frameworkではクラスの読み込みが比較的高くつくことにすぐ気がつくでしょう。 多くのコンポーネントのために読み込まれる必要があるクラスファイルの当の数、 クラス名とファイルシステムとの間に1対1の関係が成立しないプラグインの利用、 include_once(

    foaran
    foaran 2014/01/23
    「findおよびsedコマンドを使ってrequire_onceの呼び出しを取り去る」
  • PHPのテスティングフレームワークとBDD(ビヘイビア駆動開発)について調べた。 | 48JIGEN *Reloaded*

    PHPのテスティングフレームワークとBDD(ビヘイビア駆動開発)について調べた。 2011/04/03 2月に北海道は定山渓温泉で行われた1泊2日のLTハッカソンLOCAL DEVELOPER DAY ’11 /Winter(以下LDD11Winter)に参加してきて気力も体力もすっかり充実してきた@remoreです。 LT大会楽しかったな。高橋さん(高橋メソッドのお方)とこいわさんのプレゼンを生で見れたのが特に勉強になりました。LOCALの皆さん、期間中は大変お世話になりありがとうございました。 充実してきているPHPのテスティングフレームワーク で、今日の記事を書こうと思ったきっかけがLDD11Winterでこんな話を小耳に挟んだことだったのでした。 ”Rubyではテスト駆動開発(TDD)の環境が充実していて、テストのことを学びたい人も集まってきているよ” 帰って調べてみると、確かにR

    foaran
    foaran 2014/01/04
    phpでのtdd実践。PHPSpec開発止まってるのか。。。
  • アジャイル開発とTDDを半年間実践してみた顛末と、これから

    PHP Conrefence Japan 2011 Sep 10thでの発表資料 http://phpcon.php.gr.jp/2011/Read less

    アジャイル開発とTDDを半年間実践してみた顛末と、これから
    foaran
    foaran 2014/01/04
  • 8時間耐久PHPUnitの教室

    1. The document discusses various social media and video sharing platforms and tools for integrating them, including YouTube, Twitter, Flickr, iTunes, and Facebook. 2. It mentions several services that allow embedding or sharing content between platforms, such as CDTube for YouTube, ZonTube for Amazon, and amz.ly for shortening Amazon URLs for Twitter. 3. Programming languages and APIs mentioned i

    8時間耐久PHPUnitの教室
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    foaran
    foaran 2013/12/01
  • PHPのパッケージ管理Composerを使う | Basicinc Enjoy Hacking!

    PHP界隈で静かに盛り上がっているらしいパッケージ依存管理ツールComposer。正直、今まで格的に使ったことはなく普通にPEARで直接インストールしてたりしたんですが(そもそもPEAR自体そんなに使ってなかった)、アプリケーション…というかフレームワークによって必要なバージョンが違うケースが多いため、試しに導入をしてみましたメモ。 あ、Composerを使うためにはPHP5.3.2以上が必要です。まぁ、今どきそれより古い環境がメインってこともない…と思いたい。 Composerのインストール ローカルMacにComposerをインストールします。 % curl -sS https://getcomposer.org/installer | php #!/usr/bin/env php Some settings on your machine make Composer unable

    PHPのパッケージ管理Composerを使う | Basicinc Enjoy Hacking!