タグ

PHPに関するnyomonyomoのブックマーク (31)

  • 休日個人開発で学ぶテストコード! 画像に“集中線”を合成するツールを作ってみよう - エンジニアHub|Webエンジニアのキャリアを考える!

    休日個人開発で学ぶテストコード! 画像に“集中線”を合成するツールを作ってみよう プライベートでも何か作りたい! そんなときの「今日からはじめる休日個人開発」シリーズ、第二弾はテストコードを書きながら簡単なMVCモデルの画像加工ツールを作ってみましょう。好きな写真に集中線を合成できます。 皆さん、プライベートで何か開発していますか? 「何か作りたい」という気持ちはあるものの、いまひとつ何から始めたらいいのか分からず、動けないままの人も多いと思います。 そんな皆さんのために、「仕事以外にも休日に個人で気軽に何かを作ってみよう!」という企画の第二弾です。今回は、第一弾で用意した開発環境を使って、画像を加工するツールを実際に作っていきます。 せっかくですので、ただ作るだけではなく、テストコードも一緒に書いてみましょう。最近は、CI(継続的インテグレーション)やCD(継続的デリバリー)も一般的にな

    休日個人開発で学ぶテストコード! 画像に“集中線”を合成するツールを作ってみよう - エンジニアHub|Webエンジニアのキャリアを考える!
    nyomonyomo
    nyomonyomo 2017/11/04
    とてもわかりやすい記事だった
  • PHP言語仕様のバグ - れぷそる・ふぁいやぁ・ぶれぇど

    先週の金曜にPHPで作った、UI系のプログラム。あっちこっちデバッグ文ぶち込んでも一向に動かず「衰えたかな?」とか思っていた。いくら考えても「変なところ」は見つからないのに、出てくる結果は確かに変。まさか?と思って、試しにカッコを付けてみたところ動いた。えー、ウソ。当に??で、ググって言語仕様を確認した。当だ。これさあ、PHP言語仕様のバグじゃん。三項演算子(a?b:c)が左結合ってあり得ないよ。基的に元はと言えばC言語をモロにパクって言語仕様決めたんでしょ?だったら、こういうところで、ボケな間違いをかまさないで欲しいよね。C言語の三項演算子は(C++JavaもC#も、あとJavaScriptもみんな一緒だけど)右結合だよ。それが明らかに自然だもん。これを意図的に変えるとは考えられない。ということは、PHP作った人ってバカなの?だから、形式言語ってものをまともに勉強したことのない人

    PHP言語仕様のバグ - れぷそる・ふぁいやぁ・ぶれぇど
    nyomonyomo
    nyomonyomo 2013/02/20
    $hoge>$foo>’値なし'の優先順位で値を採用したいときに$s=!empty($hoge)?$hoge:!empty($foo)?$foo:'値なし';って書いて$hogeに値が入ってて$fooがNULLだと$sが$fooの値をとってNULLになっちゃうっていう話題?
  • PHP: 配列 - Manual

    配列 PHP の配列は、実際には順番付けられたマップです。マップは型の一種で、 値をキーに関連付けます。 この型は、さまざまな使い道にあわせて最適化されます。 配列としてだけでなく、リスト (ベクター)、 ハッシュテーブル (マップの実装の一つ)、辞書、コレクション、スタック、 キュー等として使用することが可能です。 PHP の配列には他の PHP 配列を値として保持することができるため、 非常に簡単にツリー構造を表現することが可能です。 これらのデータ構造に関する説明はマニュアルの範囲を超えるので省略しますが、 各々について、少なくとも一つは例を示します。 この分野は広範囲にまたがり、さまざまな文献が存在します。 より詳細な情報については、それらの文献を参照ください。 array() で指定 配列 は、言語に組み込まれた array() で作成することが可能です。この構造は、 特定の数

    nyomonyomo
    nyomonyomo 2012/06/22
    タイプミスだと思うんだけど、例3の説明が上書きしてが上安芸市定期になってるけど、これどこにタイプミスあるって教えたらいいんだろうか
  • 8zip on Twitter: "php 5.3.8のモジュールをコンパイルするとエラーが出るけど、sed -i 's|PHP_FE_END|{NULL,NULL,NULL}|' ./ext/**/*.c sed -i 's|ZEND_MOD_END|{NULL,NULL,NULL}|' ./ext/**/*.c"

    nyomonyomo
    nyomonyomo 2012/05/05
    ZEND_MOD_ENDが無くてコンパイル出来ないのの解決策.{NULL,NULL,NULL}にすればいいらしい
  • PHPによるWebアプリケーションスーパーサンプル 第2版

    PHPによるWebアプリケーションスーパーサンプル 第2版
    nyomonyomo
    nyomonyomo 2012/01/27
    来年度のテキスト候補。検討中
  • Webアプリケーションに対する広範なDoS攻撃手法(hashdos)の影響と対策

    28C3(28th Chaos Communication Congress)において、Effective Denial of Service attacks against web application platforms(Webプラットフォームに対する効果的なサービス妨害攻撃)と題する発表がありました(タイムスケジュール、講演スライド)。 これによると、PHPをはじめとする多くのWebアプリケーション開発プラットフォームに対して、CPU資源を枯渇させるサービス妨害攻撃(DoS攻撃)が可能な手法が見つかったということです。この攻撃は、hashdos と呼ばれています。 概要PHPなど多くの言語では、文字列をキーとする配列(連想配列、ハッシュ)が用意されており、HTTPリクエストのパラメータも連想配列の形で提供されます。PHPの場合、$_GET、$_POSTなどです。 連想配列の実装には

    nyomonyomo
    nyomonyomo 2012/01/17
    PHP5.3.9で対応。ソレまではPOSTの最大サイズを小さくするとかで対応>>ハッシュ値が同じになるキーを多数POSTパラメータに含ませることにより、CPU資源を枯渇させる攻撃<<
  • VuXML: php -- NULL byte poisoning

    nyomonyomo
    nyomonyomo 2012/01/14
    新しいサーバにphp52入れようと思ったら、forbiddenって言われたのでおとなしくphp5(.3.9)入れた。自作のスクリプト5.3で動作チェックしてないけどまぁ動くでしょう
  • PHP を Ubuntu にソースからビルドしたときのエラーと対策 - わからん

    PHP を Ubuntu にソースからビルドしました。これは configure 時に発生したエラーとその対処です。エラーで検索して辿り着いた誰かの役に立つといいな。 エラー configure: error: xml2-config not found. Please check your libxml2 installation. apt-get install libxml2 すると既にインストール済みだが xml2-config はみつからない。 対策 sudo apt-get install libxslt1-dev libxslt をインストールすると /usr/bin/xml2-config が作成される。 エラー configure error please reinstall bzip2 distribution 対策 sudo apt-get install libbz

    nyomonyomo
    nyomonyomo 2011/12/15
    Ubuntuでxml2-configが見つからない時は libxslt1-devを入れる/apt-get build-dep パッケージ名で必要なパッケージインストールできる
  • GitHub - patrikf/glip: git library in PHP

    glip is currently unmaintained. If you are interested in taking over maintainership, send a message to <patrik@fimml.at>. glip is a Git Library In PHP. It allows you to access bare git repositories from PHP scripts, even without having git installed. The project's homepage is located at <http://fimml.at/glip>. Key features: - pure PHP (reads Git repositories without system() calls) - can read pack

    GitHub - patrikf/glip: git library in PHP
    nyomonyomo
    nyomonyomo 2011/12/13
    phpからgitを使いたくてexecで呼び出してどうにかしようと思ってたけど、ライブラリ作ってる人がいたから使ってみる
  • TwitterやFacebookへのログイン機能をこれ1個で実装できるPHPライブラリ「HybridAuth」:phpspot開発日誌

    TwitterやFacebookへのログイン機能をこれ1個で実装できるPHPライブラリ「HybridAuth」 2011年08月22日- HybridAuth, Open Source Social-Signle-Sign-On Solution for authentication through Facebook, Twitter, Google, Yahoo, MySpace, LinkedIn, AOL, Vimeo, FourSquare, OpenID and other Identity providers TwitterやFacebookへのログイン機能をこれ1個で実装できるPHPライブラリ「HybridAuth」 Facebook, Twitter, Google, Yahoo, Windows Live, MySpace, LinkedIn, FourSquare, O

    nyomonyomo
    nyomonyomo 2011/08/22
    便利そう
  • rep2のtGrepが使えなくなってた | qos webmaster's blog

    この記事は2年以上前に書いたものです。 そのため情報が古い可能性があります。ご了承ください。m(_ _)m 無いとかなり不便なので、find.2ch.netの結果を変換するスクリプトを書いてみました。 (かなり適当。。。) #自宅のFreeBSDサーバ上で動作することは確認しましたが、 #他で動くかは未確認。(Windows, Linux, Mac OS Xでも動くとコメント有り。) 【2011/11/07 20:58 追記】 PHP Simple HTML DOM ParserのVersionによっては動作しないとコメント頂きました。 v1.5では白紙状態になるそうです。。v1.11だとOK。 自分で確認した時もv1.11で確認。 【2011/12/29 17:12 追記】 v1.5でも問題ないとか。他要因かな。 【2011/05/07 00:17 追記】 rep2 part51 でバグ

  • Conditional Operator Associativities

    Blogged by Ujihisa. Standard methods of programming and thoughts including Clojure, Vim, LLVM, Haskell, Ruby and Mathematics written by a Japanese programmer. github/ujihisa In Ruby: a = true ? :a : true ? :b : :c p a Guess the answer! Yes, as you thought, the answer is :a. In JavaScript: var a = true ? 'a' : true ? 'b' : 'c'; alert(a); Guess the answer! Yes, as you thought, the answer is a. In Vi

    nyomonyomo
    nyomonyomo 2010/11/24
    うぉホントだPHPおかしい($a = true ? 'a':true ?'b':'c';print($a);の結果がbになる)
  • PEAR::DBの利用 | PHP Labo

    データベースに接続する PEAR::DBでデータベースに接続するには、DB::connect メソッドを使用します。接続に成功するとオブジェクトが返されます。 オブジェクト = DB::connect( 'データベースの種類://ユーザー名:パスワード@接続先アドレス/データベース名' ); MySQLに接続する場合、データベースの種類は mysql を指定します。もしPostgreSQLに接続したければ pgsqlSQLiteに接続したければ sqlite を指定します。他にも、色々な種類のデータベースに接続することができます。 DB::connect を実行後、実際に接続ができたかどうかチェックします。チェックは「返されたオブジェクトがエラーオブジェクトかどうか?」で判断しています。これは DB::isError を使用すれば調べることができます。 また、エラーの内容は $dbh->

    nyomonyomo
    nyomonyomo 2010/07/08
    phpのPEAR::dbの使い方
  • 3歩先を考えるのが無理でも1歩分だけ思考をバッファする - ぼくはまちちゃん!

    こんにちはこんにちは!! みなさんそろそろ会社には慣れてきましたか! ぼくはいまだに慣れません…! ところで、この春からプログラミングをはじめたって方もいらっしゃるんじゃないでしょうか! ぼくのまわりにも何人かそういうひとがいて、 たまにコードを覗き見てみたりもします! そんなプログラミングをはじめたばかりの書くコードの中で、 こういうのをときどき見かけます…! <div class="<?php if ($x == 1) { echo 'classA'; } elseif ($x == 2) { echo 'classB'; } elseif ($x == 3) { echo 'classC'; } ?>">Hello!</div> これってたぶん思考の流れそのままにコード書いちゃってるんですよね。 あっ、ここでクラス名かえなきゃ、とか。 でもこういうのって、 書く前に考えを一旦バッファ

    3歩先を考えるのが無理でも1歩分だけ思考をバッファする - ぼくはまちちゃん!
    nyomonyomo
    nyomonyomo 2010/06/28
    何でバッファした方が良いのかよくわからない(キレイにかけるとか拡張性があるとか?)short open tag使いたく無いな-とか
  • 推奨するプログラミング言語 - honjo2のITブログ

    うちの会社で、推奨するプログラミング言語を定義しました。結構個人個人好みでやってるところが多かったので。ポイントとして企業などグループによる開発を前提そのため保守性・可読性は重要社内ツールやラボ的なものは新しい言語をどんどん使っていくです。 アスタリスク(*)の数(0〜3)が多いほど推奨度が高いです。三ツ星が標準言語となります。プラス(+)表記は、プラットフォーム上使わざるを得ないものです。標準言語以外を使う場合は、許可制とします。 実際は、開発者それぞれ手馴れたもの、好き嫌いなどあるので以下の評価より、もうちょっとマイルドに手直ししたものを定義しましたが。 言語評価一言ActionScript+Flashを作る時使う。sh/bash/zsh+言わずもがな。C/C+++速度が必要など、ネイティブコードレベルで開発が必要な場合に使う。C#*Windowsアプリを作る時使う。Clojure*J

  • 「パッチを当ててやってもいいんだぞ、お前が嫌なら」 - moriyoshiの日記

    PHP では以下のように new してすぐメソッドを呼べない <?php new DateTime()->getOffset(); PHP で引数をそのまま返す関数を作っておくと便利 PHP はどうせマジメな言語ではないので自分用に作り替えるくらいが丁度いい。 以下 diff↓

    「パッチを当ててやってもいいんだぞ、お前が嫌なら」 - moriyoshiの日記
    nyomonyomo
    nyomonyomo 2009/08/05
    newしてすぐメソッドを呼べないに対する解としてZend/zend_language_parser.yを書き換えるという荒技/すごすぎるw
  • 携帯電話向けWebアプリのセッション管理はどうなっているか - ockeghem's blog

    最近購入したPHP×携帯サイト 実践アプリケーション集を読んでいて妙な感じがしたので、この感覚はなんだろうと思っていたら、その理由に気づいた。書に出てくるアプリケーションは、PHPのセッション管理機構を使っていないのだ。そんな馬鹿なと思ったが、目次にも索引にも「セッション」や「session」という語は出てこない。サンプルプログラムのCD-ROM上で session を検索しても出てこないので、セッションはどこでも使っていないのだろう。 そうは言っても、書にはブログやSNSなど認証が必要なアプリケーションも登場する。書で採用している認証方式はこうだ。 携帯電話の個体識別番号を用いた、いわゆる「かんたんログイン」のみを使う 認証状態をセッション管理機構で維持しない。全てのページで毎回認証する そのため、「iモードID」など、ユーザに確認せずに自動的に送信されるIDを用いる つまり、全て

    携帯電話向けWebアプリのセッション管理はどうなっているか - ockeghem's blog
  • PHP: 比較演算子 - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

    nyomonyomo
    nyomonyomo 2009/07/08
    PHPの三項演算子の振る舞いはわかりにくいってマニュアルにも書いてあった>>例3 三項演算子のわかりにくい挙動~echo (true?'true':false?'t':'f');~出力結果は 't'~三項演算子は左から右へ順に評価されるからです<<
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    nyomonyomo
    nyomonyomo 2009/07/08
    PHPの三項演算子は左結合(ほかの言語は右結合)だから注意ということらしい
  • WEBデザイナーな方向けのPHP入門によさそうな、CSS内でPHPで使うサンプル:phpspot開発日誌

    WEBデザイナーな方向けのPHP入門によさそうな、CSS内でPHPで使うサンプル 2009年04月15日- PHP Tutorials Examples Embedding PHP In CSS WEBデザイナーな方向けのPHP入門によさそうな、CSS内でPHPで使うサンプル。 CSSファイルをPHPとして実行して共通の値を変数にして使うというチュートリアルが公開されています。 PHPは知ってるという方には当たり前すぎるかもしれないですが、WEBデザイナーの方が最初に入門するにはよいかも。 ステップ1 AddType application/x-httpd-php .css .htaccess等に、AddTypeを追記して、.cssファイルがphpとしてサーバ側で処理されるように指定 ステップ2 <link rel="stylesheet" href="style.php" media="

    nyomonyomo
    nyomonyomo 2009/04/15
    1と2ってどっちかでいいのに何で両方やってるの?というか呼び出すのがstyle.phpなら1は全然意味無いような/PukiWiki付属のcssファイルがphpだったけど静的な物に書き換えた事を思い出した