Help us understand the problem. What is going on with this user?
Hiraku Nakano
@Hiraku
PHP, Go界隈をうろうろしています。最近はgRPCと戦ってる。 特に明示していなければ、記事中のソースコード片は `CC-0 1.0` とします。出典表示無しで自由にコピペして頂いて構いません。 ただ、記事自体をコピペされるのは嫌なので、ソースコード部分以外の文章は通常通り全ての著作権を私が保持するものとします。 引用を超える範囲のコピペは止めて下さい。

Tokyo, Japan

株式会社メルカリ

Organizations
Comments
@y-u さん、PHPにおいて `->` はオブジェクトの指定記号です。当時RFCに上がっていたarrow functionの構文の例として `~>` と記載していますのでtypoではありません。編集...
Makefileに代わるツールはないものかmemo https://github.com/istio/api https://github.com/uber/prototool https://git...
参考までに。 deprecatedオプションですが、実はfield optionだけでなく、ありとあらゆるところに書けるようです。(書けないのはoneofぐらいっぽいですね) https://gith...
確かにクロージャ使えば何でも書けますね!
引数の型宣言: 呼び出した際のstrictモードで挙動が変わる。関数定義時のstrictモードは無関係である 戻り値の型宣言: 関数定義時のstrictモードで挙動が変わる。呼び出し時のstrictモ...
おお、、、ちゃんと理解できてなかった。。難しい。。。 呼び出し経路でstrict_typesがoffになると、その先には波及しないんですね。
なるほど、構造体の場合は値ごとコピーできるんですね。
ミドルウェアの読みにくさが悩みだったが、こうした方が自然かもしれないと思い始めた。 ```php class OAuth2Bearer { private $token; private $...
traitで切り出すならこんな感じかなー。。 ```php <?php trait EnumTrait { private $scalar; final public functi...
メソッド名にぶつかりがない場合は、`PHPUnit\Framework\TestCase`自体でuseしてしまって、 `$this->` で呼び出すと単純です。
結果をキャッシュしてるので、使っている正規表現の数が限られていればコンパイルは1回で済んでいるはずです > 呼び出し毎に正規表現のコンパイルのオーバーヘッドが発生してしまう
オブジェクト指向風味が好きならSplFileObjectというものもあります。 ```php <?php $file = new SplFileObject('some.txt', 'r'); f...
確かPHP5.6で配列が定数に使えるようになったので、こんな風にも書けますね。リフレクションを使わなくて良くなるので少しスッキリします。 ```php <?php final class Suit ...
マージしました。ありがとうございます!
LIKE検索する場合はキーワードに `%` や `_` 自体が入っているケースを考慮する必要があると思います。MySQLだと3つありますね ```php //... foreach ($keywor...
今更ですが、欲しくなってきたのでライブラリ化しました。 https://github.com/spindle/spindle-collection
同じノリで `or throw new Exception`ってできないんですよねー。。不便ですが仕方ない。
`D`で出力した結果をstrtrで置換すると割と分かりやすく書けます。 ```php <?php $today = new DateTime('last Sunday'); echo strtr(...
@arai-ta 明示していなくてスミマセン、短いコード片ですので `CC-0 1.0` と致します。コピーライト表記も必要ないですし、自由にコピペしていただいて結構です。よろしくお願いいたします。 ...
memo: HandlerStackのpush順について。あとにpushした方が内側になるみたい。単にこう出力するだけのハンドラを作ったとすると、 - req1 ~ res1 - req2 ~ re...
連想配列のキーはstringかintしか使えないので、flipする場合は配列はもちろん、オブジェクトやリソースが含まれてても駄目ですね。
全バージョンと煽ってしまったけど、流石に3より前のバージョンは正常に取得できなかったみたい。 あと、windows用バイナリも http://windows.php.net で管理されてるからか、re...
自分で試したことはないんですが、GitLabのAPIを経由する場合はこんな感じで設定できそうでした。駄目でしたでしょうか? http://qiita.com/Hiraku/items/3b7ef5ee...
@tadsan 知らなかった。。クラス宣言や関数宣言はif文の中に書けるのに、constは無理なんですね。 しかもtrue/TRUEみたいな定数を作ることが可能なんですね!勉強になりました。
ちょっと確実なことは言えませんが、そもそも、`$_ENV` は環境によっては無効化されていることが多いです。 php.iniのvariables_orderに `E` が含まれていなかったら環境変数の...
C言語の関数は、配列の実体を渡すことができません。そんなことは言語仕様として **不可能** です。引数に配列っぽいものを書くことができますが、実はポインタに読み替えられてしまいます。 ```c v...
単にphpunitコマンドを使いたいだけであれば、 https://phpunit.de/ の説明にある通りpharファイルをダウンロードしてくるのが楽です。 カバレッジを取るためにはphpdbgか...
試してみました。 ``` # 先頭に文字列があるとき strpos 0.17434883117676 substr 0.16122508049011 preg_m...
なんか関係しそうなRFC出てきた PHP: rfc:add_str_begin_and_end_functions https://wiki.php.net/rfc/add_str_begin_an...
BUFFERED_QUERYは主にバッチでGB単位のデータを取ってくるときに使うものですね。
MySQL限定であれば、オプションでBUFFERED_QUERYを切れば、更に結果セットが大きくなっても対応することができます。ただし、結果セットを全部fetchしきるまでは、そのPDOインスタンスを...
素朴な実装をしてみた。 ```php <?php $a = [8, 9, 10, 10, 8]; $b = [2, 3, 3, 3, 1]; $uniq_a = $uniq_b = []; for...
コンパイルするパターンですが、生成後の結果でジェネレーターを使っているのが地味によくなかったらしく、完全なループに変換することでもっと速くできました。面白いのでこの方向でもう少し頑張って見るかもです。...
おー、なるほど。修正しますー
あんまり関係ない蛇足。 そもそも論として、ツール類をpharでインストールするかcomposerでインストールするかは派閥あると思いますが、PHPUnitの場合はassertionメソッドを調べたり...
投げられる型に制限がない言語の場合はthrowした行を取るしかないから、当然のような気がする。 Exception型が決まっていてそこに詰めてからthrowするって思想の時は、生成時に固定されても変で...
文字数が足りなかった時の挙動が確認できてなかった。substr_compareはエラーはいて上手く動かないので、substrを使うのがもっともよいという結果になると思われます。後で直します
ob_get_contentsとob_end_cleanを分ける案は採用させていただきました。 @rryu > やりたいことは例外を全て無視して最後にob_get_clean()を呼ぶことのはず ...
こういうことですか? 特に変換しなくてもstringに`&`を適用できます。 ```php <?php echo '生' & '死'; ```
goto用のラベルを組み合わせると更にそれっぽく! 全く意味は無いけど! ```php <?php do_foo: { $foo = getFoo(); doHoge($foo)...
  • 1 / 4
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした