こんにちは。強いUIはボタンを捨てるをスローガンにScrapboxを開発しています。shokaiですshokai.icon
概要 本記事は、HTTP クライアントライブラリである axios の v1.0.0 が満を持してリリースされたため、何がどう変わったのか、マイグレーションしても良いのかについて個人的に調べてまとめた結果になります。 TL;DR axios の v1.0.0 は、パッケージのモダン化に向けた節目としてのバージョンともいえる v1.0.0 では多数のバグ修正と、いくつかの小規模の機能追加がまとめて取り込まれた 破壊的変更や非推奨化は少なからずあるが、基本的な使い方や挙動を大きく変える規模の変更はない 一方で劇的に良くなる変化もないので、急いであげる理由もない 公式マイグレーションガイドは記事執筆時点では提供されていない axios について axios は、JavaScript 向けの HTTP クライアントライブラリの一種で、この種のパッケージとしては比較的古くから普及している老舗ライブラ
ブラウザからAmazon S3に直接ファイルをアップロードしたい 先日、Amazon S3にファイルをアップロードするWebアプリを作ろうとして色々調べていたところ、S3にCORSという仕様のクロスドメインアクセスの設定をすることによって、ブラウザから直接S3にアップロードをする方法にたどり着きました。ただ、この方法を使うにあたってはCORSというクロスドメインアクセスの仕様をきちんと理解しておいた方が良さそうでしたので、まずはCORSについて自分なりに整理してみました。 なお、弊社の横田がCORSとS3についての記事を以前書いていますので、S3のCORSサポートに関する概要を知りたい方はそちらをご覧下さい。 CORS(Cross-Origin Resource Sharing)によるクロスドメイン通信の傾向と対策 CORS ブラウザでAjax通信を行う際には、同一生成元ポリシー(Same
Railsアプリをスマホアプリなどからも使えるようにする場合、まずはAjaxのリクエストでログインできるようにする必要があります。 その方法について調べてみました。 環境 Ruby on Rails 3.2.13 Devise 2.2.4 Deviseの設定 以下の2つの設定をconfig/initializers/devise.rbに追加します。 config.http_authenticatable_on_xhr = false config.navigational_formats = ["*/*", :html, :json] SessionsController DeviseのSessionsControllerを継承して、以下のようにAjax用のロジックを追加します。 class User::SessionsController < Devise::SessionsContro
ガリレオスコープ開発チームによる �最新Web動向、技術メモ ( Ruby, Rails, node.js ) です Backbone.js(http://documentcloud.github.com/backbone/)を2,3ヶ月触ってみて、導入して良かったことをまとめます。 Backbone.js単体での威力はそこまでではないかもしれませんが、Server側も含めた設計思想を絡めて考えると大きな効果が期待できます(サーバー側も含めた構造改革が全体的に必要になるとは思いますが・・・)。 ViewとControllerの結合強度低下 = Viewのアプリ化viewとcontrollerが1対1対応だった頃Rails単体で作成している場合、Viewにロジックが入れられない以上、 そのViewで必要な変数などは、全てControllerに書く必要がありました。 この状態では、Contro
Despite the many JavaScript libraries that are available today, I cannot find one that makes it easy to add keyboard shortcuts(or accelerators) to your javascript app. This is because keyboard shortcuts where only used in JavaScript games - no serious web application used keyboard shortcuts to navigate around its interface. But Google apps like Google Reader and Gmail changed that. So, I have crea
Ajaxローディング時に使える画像ジェネレーターが色々あったようなのでまとめてみました。 こうした細かいところも、他サイトと違うものを使って独自色を出したいという場合に、沢山あると選択肢が広がりますね。 Preloaders.net ちょっと変わったデザインから選んでジェネレート可能。 Ajax Loading デザインから、背景色、前景色を選んでジェネレートできる。 Loadinfo.net 多数のサンプルからクリックで好きなものを作れる。種類多いです Webscriptlab 500で見れなくなってるかも。 120+ Free Ajax Activity Indicator Gif Icons ジェネレーターではないけどサンプル多数 他にもあったら教えてもらえるとありがたいです。
JavaScript 2.0 支援ツール「XML 2 JSON service」って何? XML を JSON に変換するサービスです。この技術を用いることで、 クロスドメイン制限を超えて JSON 形式で XML 形式のデータを利用することが可能となります。 JSON は XML と比較して JavaScript 上で非常に扱いやすいため、コツを掴めば簡単に自分のサイトで利用できます。 既に幾つかのサイトで実装されていますが、不特定多数の方にサービス提供するために負荷対策を施し、XML 2 JSON service ベータサービスを公開することにしました。 最近良く聞く Ajax とは何が違うの? 最近、流行りまくっている Web 2.0 と呼ばれるものの基礎技術の1つとして Ajax があげられます。Ajax は大変便利な技術なのですが、セキュリティの観点から自ドメインへのアクセスしか
What is this? Adds "Access-Control-Allow-Origin: *" in the response header to everywhere. How To Use Please get these urls via XMLHttpRequest (level 2) Available browsers: Firefox 3.5+, Chrome 3+, and Safari 4+ (Note: IE 8+ has XDomainRequest instead of XMLHttpRequest) Request examples: http://allow-any-origin.appspot.com/http://news.google.com/news?ned=us&topic=h&output=rss Restrictions Suddenly
このブログはlifehackerを含むgawkerメディア系サイトの#!URLへの移行を批判している。 http://isolani.co.uk/blog/javascript/BreakingTheWebWithHashBangs/ 以下、isolaniとテングの見解をごっちゃ混ぜに紹介する。 lifehacker他のgawkerメディアサイトが数日前に長時間におよびアクセス不能になった。(厳密に言うとページ内のコンテンツアクセス不能になった) #!URLベースのサイトはJavaScriptにエラーがあるとコンテンツが一切ロードせずのっぺらぼう状態になってしまうようだ。 #!について 「#!」は何で呼ぶの? shebangと綴られる。 Hash=# Bang=!の略 発音すると「シバン」といったところか。(ちなみにUnixの#!とは無関係) 以下「#URL」は: サイト内のロケーション情
jquery からデータをphpにPOSTで送信すると文字化けが発生してしまいます。 jquery 側は下記のようなコードになっています。 $.ajax({ type: "POST", url : "hogehoge.php", data: { 'moge':'日本語のテキスト' }, success: function(request) { $("#view").empty().append(request); } }); このjqueryでテキストを送信すると、hogehoge.php側では日本語部分が「 \xe6\x88\x90\xe7\x8a\xac\xe3\x81\xae\xe4\xbd\x93\xe9\x87\x8d」のような、16進数?の文字列になって出てきてしまいます。 ※文字コードはいずれもUTF-8で行なっています。 何かしらでエンコードされているためだとは思うのですが
pjax is a jQuery plugin that uses ajax and pushState to deliver a fast browsing experience with real permalinks, page titles, and a working back button. pjax works by fetching HTML from your server via ajax and replacing the content of a container element on your page with the loaded HTML. It then updates the current URL in the browser using pushState. This results in faster page navigation for tw
WebSocket が、12月12日についにRFCになりました(RFC6455)。テキスト転送だけでなく、バイナリー転送もサポートされ、コネクションをキープするための ping/pongなどコントロールフレームも定義されました。rfcになる過程で様々なバージョンと、その実装系が出ていますので、そこのネゴシエーションの仕組みが入っていたり、以前は割と自由に使えそうだった subprotocolが、IANAにレジストレーションが必要になったりと、なかなかしっかりしたプロトコルに仕上がっている印象です。 さて、今年最後となる、今日のポストでは、このWebSocketにより、今後のWebはどうなっていくのかについて、僕が最近感じている妄想を書き連ねてみます。 WebSocketとは、いったい何なのか? さて、WebSocketとは、いったい何なのでしょうか?この問に対して、一般的には、 WebでP
口上 historyとAjaxといえば、JavaScriptからある程度任意でhistoryのエントリをpushできるhistory.pushStateとか、history.replaceStateは既に大分有名になった感がある。 素晴らしい未来では、全てのブラウザにpushStateが乗っていて「location.hashを使ったAjax遷移が許されるのは10年前のブラウザまでだよねー」というハッピーな世界が実現するのだろう。が、今現在ではまだpushStateに対応していないブラウザのシェアも多く、Ajaxによる擬似画面遷移をモリモリ行うようなサイトではpushStateのある環境、ない環境の両方を考慮してやる必要がある。 (ちなみに、要件によっては「pushStateがないブラウザは通常の遷移で我慢しろ!」という割り切りも全然ありだと思う) 先に言っておくと、この記事は長いです。 環
この何年かでWebアプリケーションは、サーバ上のみでプログラムが動作するものから、多くのJavaScriptコードがWebブラウザで動作し、背後でサーバと連携して、リッチかつスムーズな操作感を提供するものへと進化してきた。このことは、Webブラウザ上に悪意のスクリプトを送り込む「スクリプト注入(XSS)」攻撃を、より防止しづらく、悪用の懸念がより大きなものに変化させた。本稿は、WebアプリケーションにAjax等の進化をもたらした技術について振り返るとともに、スクリプト注入対策を考慮すべき新たな文脈について論じるものである。 Ajax(Asynchronous JavaScript and XML)[1]は、必要となるデータを非同期でWebサーバから取り寄せつつ、Webブラウザの画面上でなめらかな操作性を提供する形態のJavaScriptプログラムのことである。かつてのブラウザにおいてはこの
Dev fest 2020 taiwan how to debug microservices on kubernetes as a pros (ht...
昨日の日記の続きで、Ajaxに固有なセキュリティ問題について検討します。タイトルはXSSとなっていますが、今回紹介する脆弱性はXSSではありません。 作りながら基礎から学ぶPHPによるWebアプリケーション入門XAMPP/jQuery/HTML5で作るイマドキのWeから、Ajaxを利用したアプリケーションの概念図を引用します(本書P20の図1-23)。 Ajaxのアプリケーションでは、XMLHttpRequestメソッド等でデータを要求し、サーバーはXML、JSON、タブ区切り文字列など適当な形式で返します。ブラウザ側JavaScriptでは、データ形式をデコードして、さまざまな処理の後、HTMLとして表示します。以下に、Ajaxのリクエストがサーバーに届いた後の処理の流れを説明します。 サーバー側でデータを作成、取得 データ伝送用の形式(XML、JSON、タブ区切り文字列等)にエンコード
このエントリでは、あるPHPの入門書を題材として、Ajaxアプリケーションの脆弱性について検討します。全3回となる予定です。 このエントリを書いたきっかけ twitterからタレコミをちょうだいして、作りながら基礎から学ぶPHPによるWebアプリケーション入門XAMPP/jQuery/HTML5で作るイマドキのWeという本を読みました。所感は以下の通りです。 タレコミ氏の主張のように、本書はセキュリティを一切考慮していない 主な脆弱性は、XSS、SQLインジェクション、任意のサーバーサイド・スクリプト実行(アップロード経由)、メールヘッダインジェクション等 脆弱性以前の問題としてサンプルスクリプトの品質が低い。デバッグしないと動かないスクリプトが多数あった 上記に関連して、流用元のソースやデバッグ用のalertなどがコメントとして残っていて痛々しい 今時この水準はないわーと思いました。以前
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く