タグ

PHPに関するcmd08のブックマーク (349)

  • PDOの真の力を開放する - PHPでデータベースを扱う(3)

    ちょっと遅れましたが、シリーズの第3回です。前回までに論じた内容をふまえて、簡単な実装を示します。↓前回までの内容はこちら。 DAOの悪夢 - PHPでデータベースを扱う(1) - 泥のように ドメイン駆動設計という救世主 - PHPでデータベースを扱う(2) - 泥のように 題材 「記事にタグを設定できるブログ」みたいなシステムを考えてみます。ブログ記事を示すEntryテーブル、タグを表すTagテーブルの二つを用意しました。MySQL WorkbenchによるER図(鳥足記法)は以下になります。 1つのEntryに対して複数のTagがある、1対多の関係です。同じTagが複数のEntryに関連するため、多対多の関係と見なすこともできそうですが、タグ程度だとあまり意味がないので、これ以上のテーブル分割はやめておきます。 Entryテーブルの主キーがentryIdと冗長な名前をしているのは、自

    PDOの真の力を開放する - PHPでデータベースを扱う(3)
    cmd08
    cmd08 2017/12/21
  • Composerのバージョン指定方法でのチルダ(~)とキャレット(^)の違い — A Day in Serenity (Reloaded) — PHP, CodeIgniter, FuelPHP, Linux or something

    要するにキャレットはセマンティックバージョニングに従って互換性が維持されるような範囲を指定するということですね。 ^1.1や^1.1.5の場合は、メジャーバージョンが変わらず互換性が維持される間、バージョンがあがります。 バージョン1.0未満のバージョンではマイナーバージョンの変更でも互換性が維持されない可能性があるので、そこはあがりません。 まあ、使ってるパッケージがセマンティックバージョニングにきちんと従っているかどうかはパッケージの作者によりますし、セマンティックバージョニングに従っているというパッケージでもバグで後方互換性が破られる可能性もあるわけですので、あまり信用しすぎないことをお薦めしますが。 ちなみに、その他のバージョン指定方法については、次の記事がわかりやすいです。 composerのバージョン指定方法 | QUARTETCOM TECH BLOG 参考 https://

    cmd08
    cmd08 2017/10/22
  • PHPでも機械学習を試してみたい人のための「PHP-ML」の使い方

    最近、機械学習の話が増えています。ソーシャルメディアのフィードにはML、Python、TensorFlow、Spark、ScalaGoなどに関する記事が溢れています。その中で、PHPはどうかと思う人もいるのではないでしょうか。 PHPでの機械学習はどんな感じなのでしょうか。幸い、次のプロジェクトで利用できる汎用的な機械学習ライブラリーを実際に作った人がいます。記事では、PHP機械学習ライブラリー「PHP-ML」を紹介し、チャットやツイートのボットに利用できる感情分析クラスを作成します。具体的には以下の説明をします。 機械学習と感情分析の一般的な概念を説明する PHP-MLができることや、PHP_MLの短所を概説する 解決したい問題を定義する PHP機械学習を用いることが、決して無謀なゴールではないことを証明する(オプション) 機械学習とは? 機械学習人工知能のサブセットで、「明示

    PHPでも機械学習を試してみたい人のための「PHP-ML」の使い方
  • PHPで機械学習(php-ml) - Qiita

    概要 もう機械学習といえばやって当たり前でしょくらいの感覚になりつつあるような気がして 以前ちょっとさわってはみましたが、、、 【初心者向け】MacDockerを使ってTensorFlowを試す(Jupyter Notebook) 【初心者向け】MacDockerを使ってTensorFlowの画像認識を試す 当にサンプルを実行するだけ何となく動きはわかったものの、例えばこれを使って何かプロダクトに反映する みたいな部分は難しいなぁと思っていました。 理由はPythonが読めない、書けない!(笑)のも大きな理由だなと思い、 普段慣れているPHP機械学習がないかと探したところ良さそうなものがあったので試してみました。 準備 composerでパッケージのインストール 以上。 サンプルコード サンプルコードもいっぱい乗っていますが、いくつかピックアップして紹介します。 k近傍法 k近傍法

    PHPで機械学習(php-ml) - Qiita
  • PHPで列挙型(enum)を作る - Qiita

    <?php abstract class Enum { private $scalar; public function __construct($value) { $ref = new ReflectionObject($this); $consts = $ref->getConstants(); if (! in_array($value, $consts, true)) { throw new InvalidArgumentException; } $this->scalar = $value; } final public static function __callStatic($label, $args) { $class = get_called_class(); $const = constant("$class::$label"); return new $class($

    PHPで列挙型(enum)を作る - Qiita
    cmd08
    cmd08 2017/09/27
  • [それWeb] HTMLでデバイスのカメラから写真をとり、PHPでOCRにかけて文字列を返す - Qiita

    それWebでできるよ! こんにちは皆さん スマホのカメラを使って写真を撮ると、なんと文字列が返ってくる。 そんなアプリがあるような気がするのですが、現在ではブラウザでもカメラにアクセスできるので、わざわざアプリにする必要もなく ( OSの差異にあまり煩わされることなく ) Webアプリで簡単に作ることができるのではなかろうか、と考えました。 考えたらやるしか無いでしょう。 休日を利用して、ちゃっちゃか作ってみました。 あ、いつものようにPHP使いますね TL;DR 今回の見所は以下のとおりです。 HTML + JavaScriptでカメラを取る tesseract-ocrをインストールしたコンテナを作る PHPでOCRする 何がやりたいのか 掲示板とかで無線wifiのssidとか貼ってあるとき、いちいち手打ちするの面倒なんで、カメラで取ってそのままはっつけられるようになったら嬉しいのになぁ

    [それWeb] HTMLでデバイスのカメラから写真をとり、PHPでOCRにかけて文字列を返す - Qiita
    cmd08
    cmd08 2017/09/21
  • 続・ReactとPHP、WebSocketでゲーム開発 地形を生成してみよう

    ReactPHPでStardew Valleyのような経営ゲームを作りたい!」と考えた著者の挑戦は続きます。 以前、ゲームを作ろうと思った経緯を話しました。そして、非同期PHPサーバー、Laravel Mixによるビルドチェーン、ReactJSフロントエンド、すべてをつなぐWebSocketのセットアップ方法を説明しました。ReactJSPHP、WebSocketを組み合わてゲームの仕組みの作り方を解説します。 記事のコードはここにあります。PHP 7.1と最新バージョンのGoogle Chromeでテスト済みです。 牧場の作成 最初は簡単なものにしよう。10×10のタイルを使ってグリッドを作り、ランダムに生成した要素を入れていこう このように考えて、牧場をFarmとして定義し、それぞれのタイルをPatchとして定義することにしました。 app/Model/FarmModel.p

    続・ReactとPHP、WebSocketでゲーム開発 地形を生成してみよう
  • 診断文字列を打ち込まずにPHPのバージョンを推測する

    脆弱性診断においてApacheのバージョンを外部から調べる方法を複数の専門家がブログ記事に書いておられます。 Apache HTTP Serverのバージョンを当てる方法 僕が調べたApacheバージョン判定の小ネタ いずれも大変興味深いものですが、ApacheでできるのであればPHPはどうだろうかと気になる方も多いと思います。これは人間の自然な感情だと思うのです。 このあたり、各診断会社の「秘伝のタレ」みたいなところもあるのでしょうが、私からも少し知見を披露したいと思います。 タイトルにも書いたように、診断文字列を打ち込まずに、言い換えれば、通常のウェブ閲覧の範囲で分かること、さらに言えばHTTPレスポンスヘッダから分かることについて書きます。こういうと、「X-Powered-Byヘッダを見れば一目瞭然www」みたいな反応も考えられますが、そういう自明なものは対象外とします。 (1) キ

    cmd08
    cmd08 2017/09/08
  • PHPでのGPIO操作 | Feijoa.jp

    Raspberry Pi は簡単にいうと Linux マシンですから他の言語でも十分な開発が行えるようになっています。raspberry pi で推奨されている開発言語はどうも Pythonですが、 PHP でGPIOを操作するにはどうするか、という方法をざっと纏めてみました。 ご購入 もう少々お待ち下さい。 ダウンロード version 1.5 から、IPアドレス制限が無くなり、ライセンス制になりました。ライセンスされていない場合、起動後30時間後に自動的に HAL を終了します。 体験版のインストーラー・スクリプトをダウンロード インストーラー・スクリプト SHA-1: dd2a390b4f0f8c15301eaee23cd92bd5e831da91 ※インストール方法については ソケットサーバー「HAL」の概要 (version 2.0対応版)~導入方法 を御覧ください。 体験版パッ

    PHPでのGPIO操作 | Feijoa.jp
    cmd08
    cmd08 2017/09/06
  • PHP: Clean Code (clean-code-php) 蜜柑薬 - Qiita

    もくじ はじめに 変数 関数 オブジェクトとデータ構造 クラス S: 単一責任の原則 (SRP) O: オープン/クローズドの原則 (OCP) L: リスコフの置換原則 (LSP) I: インターフェイス分離の原則 (ISP) D: 依存逆転の法則 (DIP) 同じことを繰り返すな (DRY) はじめに この記事はRobert C. Martinの「Clean Code」のソフトウェアエンジニアリングの法則をPHPに適合させたものです。これはスタイルガイドではありません。読みやすく、再利用しやすく、そしてリファクタリングしやすいPHPコードを書くためのガイドです。 ここで挙げられるすべての原則は厳密に守らなくてはいけないわけではなく、少し守らなかったところで一般には許容されます。あくまでガイドラインですが、Clean Codeの著者たちがみな長年に渡って経験してきたことです。 この記事(

    PHP: Clean Code (clean-code-php) 蜜柑薬 - Qiita
    cmd08
    cmd08 2017/09/04
  • PayPal API決済の実装サンプル (PHP) - Qiita

    PayPal API決済をPHPで実装する方法について、簡潔に纏めます。 リファレンス PayPal API 決済 PayPal API決済 実装のお約束 決済実行の流れ 下記順番でPayPal API決済処理を実行していきます。 1. PayPal決済開始API(SetExpressCheckout)実行 2. PayPal決済開始APIから返却されたTokenを取得 3. 取得したTokenをキーにPayPalへリダイレクト 4. ユーザ側の決済処理完了後、PayPalからリダイレクトされたタイミングでPayPal決済API(DoExpressCheckoutPayment)を実行 5. PayPal決済APIのレスポンス(トランザクションID、ステータスなど)を取得 PayPal API決済 サンプルコード(PHP) PayPal API決済のサンプルコードを下記に記載する。 Pay

    PayPal API決済の実装サンプル (PHP) - Qiita
    cmd08
    cmd08 2017/08/05
  • PHP で Twitter API OAuth 認証 「タイムライン取得」「つぶやき投稿」 | WEPICKS!

    Twitter API を利用するためには、Twitterアプリケーション登録が必要です。まだ登録していない方は、次の記事のTwitter OAuth 簡単接続 REST APIPHP で活用! 「Twitterアプリケーション登録」をご覧下さい。また、以下でご紹介するサンプルコードでは、Twitterアプリケーションの Consumer key、Consumer secret、Access Token、Access Token Secret などが必要になるので、併せて確認しテキストに保存などしておいて下さい。 (1) OAuth接続するためのTwitterライブラリのダウンロードOAuth接続するためのTwitterライブラリを Twitter libraries で紹介されている、themattharris氏の tmhOAuth を使用します。使用するファイルは tmhOAut

    cmd08
    cmd08 2017/07/29
  • PHPアプリでファイルをクライアントからAWS S3に直接JavaScriptで送付する方法 - Qiita

    こんにちはみなさん サーバサイドの実装やっていると、クライアントには一見すると容易いのに、サーバ側では困難な状況が発生している、ということがあります。 ファイルアップロードなんてまさにそれで、PHPだとアップロードしたファイルの分だけメモリを確保しよるので、下手に動画ファイルなんてあげられると、送信途中でメモリを使い尽くしてリクエストが落ちるなんて事態になります。 HD画質の長時間動画なんて送信された日には、数GBのメモリを使うので、使用するインスタンスのサイズもそれ相応に大きくしなければならなかったりして、費用効率もあまり良くないように思います。 というわけで、やり方を幾つか探ったところ、JavaScriptを使ってクライアントから直にS3へアップロードする技があったので、そいつを実現してみましょう。ミニマム実装なので、ダサい感じですが、例示するものとしては問題ないでしょう。 TL;DR

    PHPアプリでファイルをクライアントからAWS S3に直接JavaScriptで送付する方法 - Qiita
  • [phpconfuk2017] PHP7で堅牢なコードを書く - 例外処理、表明プログラミング、契約による設計 和田 卓人

    2017年6月10日開催 PHPカンファレンス福岡2017 Fusicホール 10:30-11:15

    [phpconfuk2017] PHP7で堅牢なコードを書く - 例外処理、表明プログラミング、契約による設計 和田 卓人
    cmd08
    cmd08 2017/07/25
  • PHP カンファレンス関西 2017 にて基調講演をしました - Shin x Blog

    PHP カンファレンス関西 2017 の基調講演にてお話してきました。 発表資料 今回は、開発現場から見た PHP の特徴をあらためて見直すということで、私が日頃感じている特徴をお話しました。最後には現場で奮闘している PHP エンジニアへのメッセージを入れました。 朝一番のセッションにも関わらず、立ち見が出るほど多くの方に参加頂き、嬉しい限りでした。参加頂いたみなさん、ありがとうございました。 資料だけでは伝わらない部分もありますが、資料を上げておきます。 終わり際にある「繋ぐ言語」というのは、2014 年基調講演された郡山さんの「全てを結ぶ力」へのオマージュだったりします。発表後に会場でご人に伝えるとがっちり握手して頂けました :) 基調講演 これまで、招待講演も基調講演を招く側も経験していたのですが、基調講演で話すというのは初めての経験でした。 はじめは、いつもの発表のノリで軽く受

    PHP カンファレンス関西 2017 にて基調講演をしました - Shin x Blog
    cmd08
    cmd08 2017/07/19
  • PHPのsleep関数とusleep関数の挙動を調べてみた - hnwの日記

    筆者はPHPの現在時刻を上書きするPHP拡張モジュールphp-timecopを開発しているため、PHPの時間がらみのテストを世間一般の人より多く書いていると思います。テストケース中でusleep関数を多用しているのは世界中でも筆者くらいかもしれません。 ところで、先日php-timecopのテストをWindows上で動かしたところ、 usleep(100000) が99.8msくらいで帰ってきてテストに失敗するということがありました。 筆者はsleep関数やusleep関数は指定した時間と同じかそれより長い時間スリープすると考えていたのですが、当にそのような性質があるのでしょうか?また、sleep関数やusleep関数はどの程度の誤差があるのでしょうか? 稿ではこうしたsleepやusleepの挙動について深掘りしてみます。 sleep関数の挙動 まずはsleep関数の挙動から調べてみ

    PHPのsleep関数とusleep関数の挙動を調べてみた - hnwの日記
    cmd08
    cmd08 2017/07/18
  • php-excel2html - ExcelファイルをHTMLのテーブルタグで表示

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 業務システムでExcelファイルを扱う機会は多いかと思います。CSVファイルにしても良いですが、ユーザに一手間かけさせるのも面倒ですし、CSVと指定しているのにExcelファイルを送信されることもよくあります。であれば元々Excelファイルに固定してしまう方が手軽そうです。 そこで参考になりそうなのがphp-excel2htmlです。PHPを使ってExcelファイルをHTMLテーブルに変換するソフトウェアです。 php-excel2htmlの使い方 実行結果です。Excelファイルの内容がそのままテーブルになっています。 php-excel2htmlでは背景色や文字装飾などを再現できる訳ではないので、シンプルな表示ができる程度です。しかし、このようにHTML形式に情報が取り出せるな

    php-excel2html - ExcelファイルをHTMLのテーブルタグで表示
    cmd08
    cmd08 2017/07/17
  • PHP って JavaScript に変換できるの?できるわけないだろ! babel-preset-php ってのが今日リリースされた?これまさか・・・。ファーーーーーーーーーーーwwwwwwwwwwww - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    PHP って JavaScript に変換できるの?できるわけないだろ! babel-preset-php ってのが今日リリースされた?これまさか・・・。ファーーーーーーーーーーーwwwwwwwwwwww - Qiita
  • PHPのエラーと例外再入門 / php-error-and-exception

    PHPカンファレンス福岡2017の登壇資料です。

    PHPのエラーと例外再入門 / php-error-and-exception
    cmd08
    cmd08 2017/06/11
  • 7. PHP に DI は必要か?(hiro_y / ytake) | PHPの現場

    @hiro_y さん、@ytake さんと、Laravel 人気、現場での DI(Dependency Injection)、抽象化、ビューテンプレート、PHP の見え方、依存オブジェクトの型指定、抽象クラス、インターフェース、トレイト、リポジトリ、ワイヤリング、Laravel リファレンスについて話しました。 Show notes Hiroyuki Yamaoka 🐰 on Twitter: “PHPでDI流行ってるの、便利なんだけどもやもやはしている。もっと密結合でいいじゃん、という。” DI(Dependency Injection)に関するメモ - Shin x Blog PSR Naming Conventions - PHP-FIG Laravel リファレンス [Ver.5.1 LTS 対応] Web 職人好みの新世代 PHP フレームワーク - インプレスブックス con

    7. PHP に DI は必要か?(hiro_y / ytake) | PHPの現場
    cmd08
    cmd08 2017/06/07