サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ブラックフライデー
qiita.com/wakaba260
この記事はRails AdventCalenderの23日目の記事への飛び入りです。 概要 parameter_parsersはRails5から ActionDispatch::ParamsParser に代わり追加された、MimeTypeに応じてリクエストパラメータをパースしてcontrollerのparamsに渡すための機能です。 register_encoderはRails5からの新機能で、controllerやrequestのテストの中で特定のMimeTypeのリクエスト・レスポンスのパラメータをエンコード・デコードしてテストを書きやすくするためのものです。 (4-2-stableだとgit grepしても見つからなかったので新機能だと言ってますが間違ってたら指摘してください ) 今回はMessagePackを追加する場合を例として解説しますが、jsonの場合も知っ得な情報だと思う
はじめに 自分はオブジェクト指向実践ガイドを読んでからテストの書き方、コードの書き方、リファクタリングの仕方など影響を受けた部分が多く、 それまでrubyで悩んでいた部分に光明を指してくれた一冊として非常に素晴らしい本だと思っています。 ですがテストに関する項目は社内で読書会をしたときも理解してもらうのが少し難しく、実践していくのは少し難しい点は否めないと感じていて、理解の一助としてこの記事を書くことにしました。 というわけで、この記事では、テストに関する原著のコードの引用と、それに対する簡単な解説を書いています。 また、TestUnitで書かれている原著でのテストコードをrspecで自分が書いた例と、そして自分の持つTipsや考え方を書いています。 なお、今回この記事では単体テストに焦点を当てて書いています。 request specなどのE2Eテストについてもまた書く機会があれば……
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Dockerconf2017で発表のあったlinuxkitとMoby Project。 デモを見て衝撃を受け、今後のDockerに新たなImmutable infrastructureの可能性を感じたので調べたり試したりしてみました。 実際に動かしてみたスクリーンショットも載せてあります。 皆さんにも僕の感じた衝撃と可能性を知ってもらいたいです。是非最後まで読んでいってください! (20170419 10:00 編集) Moby Projectとlinuxkitについて認識が違っていたことに気付いたので修正しました。 これを読んでわかる
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 一言で言うとお祭りでした。 Docker時代の分散RSpec環境の作り方 @joker1007 ざっくりいうとDockerでどうやってCIを回しているか、高速化をしたかという話。 CIとクラウドとDockerをどう組み合わせているかというところが焦点でした。 RSpecの分散実行には 実行のキューイング ポーリングするワーカー テストレポートの収集と統合 レポートの表示 が必要だけど「一切作る必要がない」。 Amazon ECSの活用 ECSのAPIを叩いてCI用のコンテナを起動する ノードでタスクが終わったらノードが開いて次のタスクを
この記事はRuby on Rails Advent Calendar 2016の19日目の記事です。 概要 いまゲームのAPIサーバとしてRailsを使っているのですが、dbを水平分割する必要があってgemを探していました。 最終的に自前でgemを作ったのですが、その調査内容と作成した経緯についてお話します。 要件 (なるべく)ノーメンテでスケールアウトしたい ゲームでシャードを追加するような状況で一番想定されるのが、初期導入によるユーザ数の爆発的な増加が上げられます。 このときにメンテをするのはビジネス的な損失が非常に大きいので、なるべくスケールアウトはノーメンテでやりたいですね。 (なので、スケールインはメンテありでも問題ありません) 自動で振り分けるのでなくある程度自前でハンドリングしたい ゲームではアイテムやスキル、フレンドなど「キャラクター*N個」のデータになるものがほとんどです
Dockerで快適なRails開発環境を手に入れるためにやった6つのこと はじめに この記事はDockerその2アドベントカレンダーの14日目です。 DockerでRails開発環境を作るに当たってしたことについて書きます。 普通のRails環境構築については他に記事がいっぱいあるのでそちらを見てください。 なお、現在RailsでAPIサーバを書いているのでフロントエンドでのみ必要になることについては触れません。 また、今回の記事を書くにあたってリポジトリをgithubで公開しています。 https://github.com/yuemori/docker-adventcalendar-example アジェンダ Dockerfileとdocker-composeを環境毎に分ける data volume containerを使ってデータをキャッシュする entrykit, dockerize
その1 その2 概要 ActionCableのコードリーディングをしつつメモ書き。 今回はWebSocketに対して登録されたイベントハンドラから見ていきます。 ActionCable::Connection::Base#process その1でも見ましたが、WebSocketへのイベントハンドラの登録はここで行われています。 # Called by the server when a new WebSocket connection is established. This configures the callbacks intended for overwriting by the user. # This method should not be called directly. Rely on the #connect (and #disconnect) callback ins
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
環境 MacOSX Yosemite docker 1.9.1 docker-compose 1.5.2 docker-machine 0.5.2 概要 簡単にprivate registryを立てれる環境が欲しかったので、作ってみました。 リポジトリはこちらになります。 認証つきprivate registry dockerはデフォルトだとHTTPSで通信を行うのですが、SSLの証明書を作成したりプロキシサーバを立てたりするのが面倒でした。 また、認証や権限周りの設定を一からやっていくのもめんどくさい……。 というわけで、こちらのimageを利用することに。 https://github.com/cesanta/docker_auth#installation-and-examples docker_auth 概要はリポジトリのREADMEを読んでもらえれば雰囲気がわかるかと。 また、こ
メモ書きのため雑。 環境 Rails 5.0.0.beta1 Unity 5.3.0(C#) 概要 RailsとUnityでwebsocketを使った通信が出来るか試してみた。 たぶん、同じやり方でC#以外の言語からでも通信できると思う。 ※Unityと言いつつ、C#の内容が100%です。 セットアップ Railsのサーバについてはこちらの内容そのまんまでセットアップ。 Rails 5 + ActionCableで作る!シンプルなチャットアプリ(DHH氏のデモ動画より) Unityでwebsocketするのにはwebsocket-sharpを使用し、MiniJSONを使ってJSONをエンコードする。 UnityでWebSocketを使用する [Unity] MiniJSON 使って json 読み込み サーバの起動 1つ気をつけなければいけないのが、websocket-sharpの実装の問
概要 slack apiでbotを作ってみたを見て、 slack-api gemを使ったら便利だったけれど、いくつか不便な点があったのでgemを作ってみました。 動機としては、rubyとdsl使ってhubotぐらいのノリでさくっとbot script書きたかったから。 rubotyとかlitaとかも見ましたがコードが長くなりそうで、もっとカジュアルに書けるものが欲しいなと。 Slappy? slack-apiでbotを作る際に不便な点 slack-api の仕様の問題で、slackから返ってくるパラメータがJSONそのまんま返ってくる イベントハンドラが1つしか登録できない slack-apiをそのまま使う場合 require 'slack' Slack.configure {|config| config.token = ENV['SLACK_TOKEN'] } client = Sla
ドットインストール様を参考にしつつ、記事を書きました。 開発環境 MacOS X 10.9(Mavericks) Vagrant 1.6.5 VirtualBox 4.3.18 CentOS6.5 Node.js 0.10.30 最新版は0.11.11(開発版)ですが、yumで入ったのがこのバージョンだったためこちらを使用しています MacではHomebrewを利用することで0.11.11をインストールできます Node.jsとはなにか? 概要 大量のリクエストを高速にさばくアプリケーションを作るためのプラットフォーム 大規模なシステムの大量のリクエストをさばく部分を作るのに向いている 例えばAPI、メッセージングなどの部分 Node.js単体でWebサービスを作ることも出来る 公式サイトはnodejs.org 日本語版の公式サイトもある APIDocsにAPIの詳細がある Node.js
ゲームクライアントについて プロジェクト要件 スマートフォンで遊べるオンラインゲームをリリースしたい リリース時期はなるべく早く! 開発開始は2012年冬 ブラウザ版ログレスを移植するのが良さそう サーバは使いまわせても、クライアントは完全新規 クライアントに求められた要件 TCP通信が可能である − iOS,Androidをターゲットとしたクロスプラットフォーム開発が可能 ブラウザ版ログレス用に作成された、豊富なFlashのアニメーションデータを再利用したい 大量の2Dオブジェクトが表示可能である その上で快適なプレイを保証する必要がある 以上の要件から、Cocos2d-xを採用 Unityは選択肢に上がったが、そのときは2Dのサポートがされておらず、今回の要件には向いてないとされた Cocos2d-xのメリット クロスプラットフォーム開発のサポート Unityに比べると、ミドルウェアや
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? アジャイル開発 アジャイル開発について簡単にまとめてみた。 ツッコミ、補足、なんでも歓迎です。 1)はじめに アジャイルソフトウェア開発宣言 アジャイルの本質はすべてここに書かれている。 私たちは、ソフトウェア開発の実践 あるいは実践を手助けをする活動を通じて、 よりよい開発方法を見つけだそうとしている。 この活動を通して、私たちは以下の価値に至った。 プロセスやツールよりも個人と対話を、 包括的なドキュメントよりも動くソフトウェアを、 契約交渉よりも顧客との協調を、 計画に従うことよりも変化への対応を、 価値とする。すなわち、左記のこ
SublimeText3のLinux版は、Windows環境と同じく日本語入力に対応していません。 Windows環境ではIMEsupportパッケージをインストールすれば終了ですが、Linux環境での日本語入力についてはなかなか良い環境が見つけられなかったのでメモ。 (※ちなみに私はLinux初心者です) 結論から言うと、見つかったのは3つあるのですがその中で一番おすすめなのはSublimeMozcInputです。 その1:InputHelper 参考:http://d.hatena.ne.jp/dai_yamashita/20121004/1349354987 記事を読んでもらえばわかりますが、ダイアログが開いてそこに入力するというもの。 しかし、プログラミングするには効率が悪そうにしか見えない……。 ということで別のものを探すことに。 その2:SublimeIbus 参考:http:
環境構築するたびに凡ミスするので書いておきます。 原因 1.error_repotingの設定がされていない php.iniのerror_repotingの値をE_ALL | E_STRICTに変更する。 2.html_errorsの設定がされていない php.iniのhtml_errorsの値をOnに変更する。 3.display_errorsの設定がされていない いつもこれを忘れる() php.iniのdisplay_errorsの値をOnにする。
以前アプリを組んでた時はActivityだけを使ってたけど、どうやら今はFragmentを使って画面制御をおこなうのが常識になっているみたいですね。 調べたことをメモ。 Fragmentとは? cf.今さら聞けないActivityとFragmentの使い分け Fragment以前の問題点 Activity という割と大きなオブジェクトを、タブのホストとタブのコンテンツの数だけメモリに乗せないといけない いくつかの専用のコンポーネントとガッツリ連携しなければ実現できないため、柔軟性に乏しい なるほど。 Fragmentのメリット UI を持ち、その UI の振る舞いを管理する、Activity の中に組み込むことが出来るコンポーネントが Fragment です。つまり、これによって、タグだけでは実現できなかった、コントローラのロジックを使いまわす事ができるようになったのです。 また、Acti
このページを最初にブックマークしてみませんか?
『@wakaba260のマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く