おやまのエンジニアリングブログ

某ゲーム開発会社のフルスタックエンジニアしてます

Javascript

サーバーとクライアントの時刻をシンクロさせる方法

本来ならNTP使ってろって話なんでしょうが、クライアントがNTP使ってる保証無いですし、絶対に合わせる必要があったので今回実装せざるを得なかったので実装しました。 まずサーバー側の時刻を正とした場合、一番単純な実装方法として、サーバーの時刻をクラ…

Turbolinksを実装するにあたっての注意点

はじめに Rails 4になってTurbolinksやpjaxなどの非同期通信を使ってページを更新する方法が広く知られるようになりました。自分も積極的にプロジェクトに取り込んだのですが、結構癖があり、実装するにあたって色々考慮が必要だったのでその実装方法をまと…

Javascriptのイベントハンドラーについて調べてみた

ユーザーがクリックした時に最初に実行されるイベントはどれだろう?という疑問が浮かんだので色々調べてみました。MDN(Event - Web API interfaces | MDN)やここ(Javascript - Event order)によるとどうやらイベントの実行順番は自分でコントロールでき…

jQueryで通信が失敗した時にリトライする方法

$.ajaxを使う際に、通信が切断された時のハンドリングによく困ります。 なので切断された場合、私はユーザーにダイアログを出して再送信を行ってもらうようにしています。あまり知られていませんが、失敗した時のリクエストと全く同じ内容で再送信することが…

HTTPステータスコードを使ってAJAX通信を整理する

クライアントサイドでAJAX通信をハンドリングするときに HTTPのステータスコードを使うと可読性がアップする上にサーバーもクライアントも 整理できるので非常に便利であることが最近わかったので ここに使い方をここにまとめておきます。実装例は以下のとお…