サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大阪万博
qiita.com/niisan-tokyo
こんにちは皆さん 以前にPHPerもテストコード書こうぜ!みたいな記事を書いたわけですが、いざテスト書こうとするといろんな問題に突き当たります。 特に大きな問題は可読性だったりしますが、この可読性の問題を大幅に解決してくれたのが、Laravelのテストでした。 Laravelのユニットテスト テストの「可読性」問題 テストの可読性は大きな課題です。 というのも、テストというのは仕様と実装があっていることを確かめるものであるため、テストの可読性が低い<=>テストが何の仕様を確認しているかわからない状態では、そのテストの存在意義に疑問符がつくでしょう。もちろん、そんな状態では仕様変更が発生しても、どの箇所のテストを直せばわからなくなり、「結果としてテストコードが邪魔」になるというジレンマを生み出してしまいます。 また、可読性が低いということは、書きにくいということと同義ですので、「テストを書く
ちょっと知り合いの方に、アニメーションや操作の同期とかできないかと問われた時、まあ、WebSocket使えばいいんじゃない、とか気軽に言ったのですが。。。 実際に実証しなければ、よろしくないなーと思いましたので、一人ハッカソンしてみました。 2h位あればできると思います。 アニメーションと言ってもつまるところ、操作の同期です。 結果 https://github.com/niisan-tokyo/scratches/tree/master/nodejs/synchronous こいつをおとして、npm installを行い、 node app.jsでサーバを起動させることで、結果の動作を確認できます。 概要 アニメーションを同期すると言っても、描画処理丸々を同期するのではなく、フロントもしくはアプリに描画に必要な情報がほとんど整っていて、少数のパラメータを使うだけで、表示状態が同期できる、
こんにちは皆さん dockercon やばかったですね docker swarm モードの導入が個人的に一番衝撃的でした。 kubernetesみたいな外部ツール使わなければならなかったことが、docker engineでできてしまうという便利感がやばすぎです そんなわけで、最近Docker使った開発に染まりきってきたところで、Dockerを使用したLaravel開発環境があるというので、早速導入してみたわけです。 Laravel 最近やたらと人気の出てきたフレームワークです。 私はcodeigniterとかphalconとかは使っていたのですが、あまりlaravelを業務で使うことはありませんでした。 しかし、composerやオートローダを使用した自由な開発ができるフレームワークだし、人気もあるのでさわってみたいなぁとは思っていたのです。 Homestead? Homesteadはla
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
最近ランキングを実装する機会があって、どうやって実装しようかって話をしていたら、@attakei さんがRedisのsorted set使うと楽よ!って教えてくれたので、使ってみたら超楽ちんでした 2年位前に流行ったんですね、知らんかった。 リアルタイムランキング 旧時代の実装 私がゲーム制作していた時代は、ランキングというと一定時間ごとにバッチを回して、ランキングテーブルにソート済みのデータを流しこむという感じの実装でした。 おかげで、ユーザー参照用とバッチ作業用の二つのランキングテーブルと、ランキングテーブルを切り替えるためのスイッチングテーブルが必要になったり、バッチ流す必要があったり、とにかく面倒くさかったように覚えています リアルタイムなんて、いちいち全ユーザーの集計をしてデータをソートして順位を割り出すことになり、そんなことは無理な話でした Redis の sorted set
久方ぶりにPHPのレガシーなシステムを触りましたが、なんというか。。。 名前空間とcomposerが無いだけで、こうも大変になるのかと思いましたね というわけで、もはやデファクトスタンダードとなったcomposerを使用した開発について、その有り難みを噛み締めつつ、まとめていきたいと思います composer composerは依存性管理ツール composerは依存性管理ツールです。。。ってナンノコッチャですが、例えば以下の状況を考えてみましょう 便利そうなライブラリAを使用したいのだが、このライブラリは更に別のライブラリB, Cを必要としている。さらに、ライブラリBはライブラリD, Eを。。。 そう、ライブラリの依存性地獄です。 使用したいのはAなのに、そのために必要なライブラリがボコボコ必要になる こんなのは日常茶飯事です。 でもcomposerがあればどうでしょう。 ライブラリAが
こんにちはみなさん 今回はしょうもないことでふらふらと調べまわった挙句、 それほど困るものでもなかった問題に遭遇したので、 とりあえず備忘録として挙げたものです Docker Toolbox 今回はいろいろ面倒になったので、Docker Toolboxでdocker環境をオールインワンで突っ込んでいます Docker Toolbox は docker を動かすために十分な環境を用意するためのインストーラです。 これを使用すると、windowsだろうがmacだろうが、ネイティブのコマンドライン上でdockerコマンドを使えるようになります 一昔前のboot2dockerですな インストールが完了すると「Docker Quickstart Terminal」というアイコンが出てきて、これを起動すると、dockerを動かすための環境をセットアップして、動作環境を整備した状態にしてくれます Doc
みなさんこんにちは 非同期処理やろうって言うと、やはりjavascriptとかgoとかjavaとかでやって、PHPでやるなんてどうかしてるぜ!とか言われるわけですが。。。 PHPで実装できるということ自体に意味があるのです 目的の設定は、「非同期処理で何かをやる」ではなく「PHPで非同期処理をやる」なのです そう考えていたら、PHPの非同期処理ライブラリのまとめサイトがあるじゃないですか! というわけで、サラリと読んでみました Asynchronous PHP 肝心のまとめサイトはこれです Asynchronous PHP 2ヶ月くらい前に一時期Reactを調べたりしていたのですが、いやいや、世界は広かった。。。 ライブラリ紹介の前に、非同期の概念について参考となるところを紹介してくれているので、それらを読み返してみるのも一興でしょう それはさておき、ライブラリ群を早速見ていきましょう 検
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 動機 やっすいサーバでしかしパフォーマンスは出て、しかも大量のリクエストが来ても大丈夫なサービスを立ち上げたい。。。 そんなわがまま放題な欲求を満たすためにはやはりnode.jsで動作するアプリケーションがいいんじゃないのか、と思ったのです。 しかし、非同期とか超苦手だし・・・と思っていたところに、このKoaというフレームワークが来たわけです。 これまで、何回にもわたって、ES2015の話題を出してきたのは、ひとえにこいつを使うためでした。 ミドルウェア? しかし、Koaの説明の中で、頻繁に「ミドルウェア」というキーワードが出
Koaを勉強するに当たり、そもそもなんでジェネレータで非同期処理が同期処理みたいにかけるのかをきちんと理解していないと、始まらないような気がしたので、勉強がてら書いてみようかなと思います。 駄文が多いので、時間がないときは「ジェネレータを使った非同期処理」から読んでしまうといいと思います。 非同期処理の必要性 Node.jsとノンブロッキングI/O Node.jsでWebアプリを作ろうとするとき、やはり意識すべきはそのアーキテクチャだと思います。 WEBサーバとしてのNode.jsは、シングルプロセスで動作し、リクエストを順番に処理します。それゆえ、リクエストごとにプロセスを作るApacheに比べるとメモリ消費量が少ないことと、プロセス作成のコストを節約できるという利点があります。 一方で、シングルプロセスであるが故に、一つの時間のかかる処理が発生すると、後ろのリクエストが使えてしまい、パ
JavaScript はES6によっていろいろと機能が充実することになっているのですが、classとかgeneratorとかがよく取り上げられていると思っ立てたので、てっきりこれだけだと思ったのですよ。 まさか他にも機能があるとは。。。 というわけで、あまり話題に登っていないように見える新機能。。。というか新宣言について調べてみました まさかの記事書きで年越すとは・・・ 宣言が追加されてた! JSの宣言文といえば、「var」しかなかったのですが、なんとES6にて、「let」「const」が追加されていたようです。 いまのところ、'use strict'を使わないと動きませんでした。 let ・・・ 「再宣言」が不可 まずは「let」宣言です。 こいつは端的にいうと、「再宣言ができない」宣言です。 簡単な例を以下に示しています。
多くね!? ま、まあ、PSRは、PHP Standard Recommendation、つまり、提案とか推奨なので、コーディングスタイルに関わらずいろいろ出てくるんだろうが。。。 PSR-9はPSR-10のフォーマットだし、PSR-10なんて、ドキュメントじゃなくてGithub issue だしで、いろいろ自由すぎる ピックアップ PSR-8 抱きしめたいインターフェース 妙なインターフェースとともに提案された「抱きしめられる」インターフェース めっちゃ深読みすると、プロジェクト横断的に採用されるインターフェースとは、という意図を持ちたかったのかもと思ったけど。。。 コミット日が 2014/4/1 つまり、エイプリルフール。。。 ジョークで8番潰したんか。。。 PSR-12 新コーディングスタイル PSR-2 が古いってので、スタイルを更新しようってやつだけど、 PSR-2 を更新するんじ
このページを最初にブックマークしてみませんか?
『@niisan-tokyoのマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く