Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
(150522追記)本稿の続編としてAngularJSモダンプラクティスを掲載しました。本稿は2014年9月に執筆し、情報がかなり古くなっています。続編では、AngularJS 1.4やAngular 2に関する情報をまとめ、入門者への新鮮なチュートリアル、熟練者の移行手引として作成しました。どうぞご覧ください。 この記事は記録のため残します。 AngularJS歴1年の筆者による個人的なAngularJSアンチパターン集です。自分のための戒めとメモを兼ねています。個人差があると思いますので、参考程度に。 また、筆者はTypeScriptで書いています。 Components ComponentsのDI数が6以上になる 危険度★★★ angular.module('myApp') .service('FooService', [ '$q', '$resource', '$rootScope
REQUEST_TIME_FLOAT, REQUEST_TIME は $_SERVER を直接参照しないと取得できない。 <?php var_dump( $_SERVER["REQUEST_TIME_FLOAT"], $_SERVER["REQUEST_TIME"], filter_input( INPUT_SERVER, "REQUEST_TIME_FLOAT" ), filter_input( INPUT_SERVER, "REQUEST_TIME" ) ); // float(1396327090.6449) // int(1396327090) // NULL // NULL <?php $user = filter_input( INPUT_SERVER, 'PHP_AUTH_USER'); $pw = filter_input( INPUT_SERVER, 'PHP_AUTH_
C言語は使うべきではない言葉なので修正してくださいのクロスプラットフォーム言語だと思っていて、 iOSもObjective-Cの中でC言語が使えるし、 AndroidもNDKでC言語が使えるので、 UI以外のロジックはすべてC言語で書けば、それはすべてのプラットフォームで使えるのではないかと思っていました。 しかし、FireFoxOSでは、それができなくて、基本JavaScriptのAPIを呼び出すという形になってC言語が使えませんでした。 失意のどん底に陥っていたのですが、 そこの打開策に、Emscriptenがあったのです! !!! Emscriptenとは EmscriptenはC/C++言語からLLVMを生成し、それをJavaScriptに変換するコンパイラのことです。 C言語の標準ライブラリやPOSIXの一部もサポートし、OpenGL ES2.0も使えるそうです。 Emscrip
天気情報を取得できるAPIはたくさんありますが、 今回は、OpenWeatherMap - actual and forecast weatherという無料サービスを使って、天気情報をjsonで取得します。 都市名で取得する http://api.openweathermap.org/data/2.5/weather?q="都市名","国" //例 http://api.openweathermap.org/data/2.5/weather?q=Tokyo,jp http://api.openweathermap.org/data/2.5/weather?lat="緯度"&lon="経度" //例 http://api.openweathermap.org/data/2.5/weather?lat=35&lon=140 { "base": "cmc stations", "clouds":
Octopressの記事が大量になってくると、タグによるアクセスが欲しくなってきますよね。しかし、Octopressには、デフォルトでタグリストやタグクラウドを表示させる仕組みはありません。 Octopressで、タグリストやタグクラウドを表示させるプラグイン @tokkonopapaさんが提供しているプラグインを利用します。 このプラグインの詳細は、記事がありますのでそちらを参照してみて下さい。 プラグインを組み込む プラグインを組み込むと言っても、単純にファイルコピーをするだけです。 まずは、GitHubからプラグインをダウンロードします。 $ git clone git://github.com/tokkonopapa/octopress-tagcloud.git Cloning into octopress-tagc
はじめに GitHub PagesとOctopressで簡単にブログを始められます。 Octopressは、Themeも豊富で、容易にダウンロード、適用できるのでオススメです。 Octopressとは、jekyllをベースに面倒な作業を自動化してくれるものです。 様々なテンプレート(ライブラリ)が用意されていて、基本的なカスタマイズについては、設定ファイルに書くことで、一瞬で反映できます。 また、プレビューも簡単です。CSSは、Sassで書いたものが変換されます。 今回は、Themeにoctostrap3を使ってみます。 注意点 メールアドレスの認証(verify)を事前に済ませておく必要がある。 ページの構築に、10分ほど時間がかかる可能性がある。 リポジトリの作成 GitHubリポジトリを作成します。 リポジトリ名は「username.github.io」とします。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>HTMLファイルからPOSTでJSONデータを送信する</title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> <script type="text/javascript"> $(function(){ $("#response").html("Response Values"); $("#button").click( function(){ var url = $("#url_post").val(); var JSONdata = { value1: $("#value1").val()
読了時間の目安:5分 Deferredとは? jsにおける非同期実行を簡潔に記述するための仕組み Deferredを1分で試してみる 1.下記をchrome consoleに貼りつける QiitaはjQueryの新しいバージョンを使っているので、このままconsoleを開いても実行できます(Mac&Chromeなら、command+option+j)。 dfd = $.Deferred() dfd.done(function(){ console.log("遅延処理させたい処理を記述する。"); console.log("後述のdfd.resolve()を実行したときに実行させたい処理を記述する。"); }).fail(function(){ console.log("遅延処理させたい処理を記述する。"); console.log("後述の=dfd.reject()を実行したときに実行させ
{% if site.qiita_user %} <section> <h1>Qiita 人気の投稿</h1> <ul id="qiita_post" class="post"> </ul> <script type="text/javascript"> $(document).ready(function(){ $.getJSON("https://qiita.com/api/v1/users/{{site.qiita_user}}/items",function(response){ # 全投稿を取得して人気順に並び替える response.sort(function(a, b){ a = a.stock_count; b = b.stock_count; return b - a; }); for(var i = 0; i < response.length ; i++){ var
QiitaAPIのTOKENを取得するのに、いちいちサーバーサイドを構築するのは面倒だったので、jQueryを使って1ファイルだけでTOKENを取得できるようにしてみました。 <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Qiita TOKEN</title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> <script type="text/javascript"> $(function() { $("#send").click(function() { $.ajax({ type: "POST", url:
QiitaAPIが公開されていたので,JavaScriptから使ってみるサンプル(jQuery使用)です. target_nameで指定したユーザの投稿をすべてストックします. JavaScriptはそんなに書かないので,怪しい部分は突っ込み大歓迎です. var API_END_POINT = 'https://qiita.com/api/v1'; stockAllPostByUserName('target_name'); function stockAllPostByUserName(user_name) { var qiita_test = {}; getToken(qiita_test); $.getJSON(API_END_POINT + '/users/' + user_name + '/items', null, function(response) { response.f
Chrome拡張を作っていると,最近のモダンなWebサイトが後から動的にDOM要素を追加してきて困ることがある.毎度対処方法をぐぐっているので,ここにまとめておく. 追加される要素にイベントハンドラを付加したい jQueryのonメソッドにselectorを渡すことで,あとから動的に追加された子要素に対してもイベントを発火することができる. liveメソッドでも同様のことが出来たが,1.7で廃止された. $("#parent").on("click", ".child", function(){ console.log("click");}); $("#parent").append("<span class='child'>Click Here</span>"); 要素が追加されたことそのものを検出する DOMNodeInserted: 非推奨 要素が追加されたときに発火するDOMNod
うちの息子(9)はいっつも「おとうさんいつ帰ってくるの?」と聞くそうだ。そんな息子のニーズに応え、おとうさんいまどこメーターを日曜工作で作ってみた(最初は天気予報メーターにしようと思ったけど息子にいらんと却下された)。 スマホのWiFiとGPSの位置情報をIFTTTで拾ってcloudBitでサーボを動かす簡単なしくみ。電子工作の経験は不要で、こーいうのを子どもでも誰でも30分くらいで作れてしまう。cloudBit is AWESOMEである。 以下、このメーターの作り方を簡単にまとめ。 littleBitsって? まずはlittleBitsを知らない人のために簡単に紹介しておこう。littleBitsは子供が遊びながら電子工作を学べるおもちゃで、ボタンやLED、モーター、光センサーといったいろんな電子部品のモジュールを組み合わせて回路を組める。電子工作っても、難易度はパズドラより低い。モジ
https://api.foursquare.com/v2/hoge/fuga ?param1=value1 ¶m2=value2 &client_id=YOUR_CLIENT_ID &client_secret=YOUR_CLIENT_SECRET &v=YYYYMMDD バージョニング すべてのリクエストには v=YYYYMMDD が必要です。foursquare APIは YYYYMMDD に指定した日付時点の仕様で動作します。例えば、v=20140208 を指定しておけば、2014年2月9日にfoursquare側で大幅な仕様変更があった場合も、2014年2月8日時点での仕様で動作し続けるため、突然アプリケーションが動かなくなった!ということを防げます。 https://developer.foursquare.com/overview/versioning 国際化 例えば
「ある単語で画像検索した結果を返す」みたいなAPIが使いたかったので無料で使えそうなのを探してみた。 写真共有系サービス Flickr search API 3600クエリー/時間 フォト蔵 search_public 「1リクエスト/秒を目安」 Panoramio Widget API 100000/日 Instagram media/search 5000リクエスト/時間 検索エンジン 制限がきついのが多い Google画像検索API 2011年5月に廃止 Google カスタムサーチ API 無料だと1日100リクエストまで? Bing (Microsoft) 5000リクエスト/月まで無料 Yahoo!画像検索 API 2013年3月に提供終了 Ookaboo API Creative Commons の画像を検索できるらしい, 1000リクエスト/API key or IPアドレ
まえがき データにIDを持たせたいとき、単純な方法としては、DBの提供するauto incrementを使う場合やUUIDを利用することがある。それぞれの方法の利点欠点は以下の通り。 データベースのauto incrementを使う場合 利点: 特別な実装が必要ない 欠点: DBを1台で運用するとデータベースがパフォーマンス・障害のボトルネックになる DBを二台にするとIDのユニークさや順序の保証が困難 UUID(v4)※1を利用する場合 利点: 分散環境で各々がIDを生成しても衝突しない IDを公開したくない場合に、推測されにくいIDを生成できる 欠点: 128ビット必要、DBのインデクシングやプログラミング言語で扱うときに不利なことがある IDから時間の情報が失われる、例えば2つのIDを比べてどちらが古い投稿か判断できない 世界の大企業がどうしてるか 調べてみると多くの企業がブログなど
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く