サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
パリ五輪
qiita.com/mosa_siru
学生時代まで一人でしかコードを書いてこなかったひよっこエンジニアが、「企業で、チームで作るってこんな別種の大変さがあるのか!」とビクンビクンした話です。僕がある企業のAPIエンジニアとして1年間学び、そこで得たことを書こうと思います。 目次 チームで作るということ 障害との向き合い方 新しい技術の導入に必要なこと チームで作るということ 優先度と見積もり 「俺が作りたいもの作るぜ!!俺様の気の向くままに気が向いたときに作るんだURYYYYY!!」みたいなノリは当然ダメです。つらいですね。 (社内の立ち位置によっては許されるかもですが) やるべきタスクは何か? 優先度は? それぞれの見積もりは?リリースはいつか? タスクの依存関係は? 今は進捗遅れてるの?遅れてるとしたらどうするの? 僕らの労働時間はリソースなので、これらをチーム内にもチーム外にも説明できるようにしておかないといけません。
各サイトに埋め込めるタグなどを配布側として開発する場合の注意です。 (例:Tweet Feed) おもにiframeまわりの話となります 埋め込みスクリプト 以下みたいなのを各サイトに埋め込んでもらう前提です。 <div id ='hoge'></div> <script type="text/javascript"> (function() { var js = document.createElement('script'){ js.async = true; js.src = '//yourOrigin/hoge.js'; document.getElementsByTagName('head')[0].appendChild(js); })(); </script> 要するに、各サイトに//yourOrigin/hoge.js を読み込んでもらいます。 hoge.js は$('#h
結論 blessは、オブジェクトを返すんじゃなくて、 受け取ったリファレンス自体をオブジェクト化して返す →blessは破壊的メソッド。 これを知らないと、以下の罠にはまります。 追記(2013/11/19) package Class1; sub new{ my ($class, %args ) = @_; bless +{ hoge => 'initial value', %args, }, $class; } Class1->new( hoge => 1)
TwitterAPI ver1.0対応となります。 $bundle installで準備完了。 API制限 ver1.1 1アカウントのエンドポイントごとに、15分で15回or180回となります。(1時間あたり60回または720回) ツイートの表示やユーザー検索などは多くできます。 ver1.0 1アカウントごとに、1時間あたり350リクエスト。場合によっては多くとれますが、2013年3月初旬までしか使えません。 認証 Twitter developerにてログイン後、右上のアイコンから「My Application」→「Create a new application」で詳細を入力します。 websiteはhttp://localhostは許可されないですが、http://192.168.0.1:8080などは大丈夫です。 Callback URLは適当でいいので必ず書いてください。 登
Twitter SmartList 自動であなたの属するコミュニティを解析し、ビジュアライズした上でリスト作成ができます。 便利で、コミュニティ解析を見るだけでも楽しいので、ぜひ試してみてください! 特徴 卒論で研究している、複雑ネットワークのコミュニティ分類手法の高速化を利用しています。 Twitter APIが非常に曲者でした。詳しくはQiita(TwitterAPI devise連携/グラフ可視化/データの効率的格納/API高速化)を参照。並列処理で速くしたりしてます。 コミュニティ分類抜きにしても、実働2週間ほどかかってます。中でもUIデザインは非常に苦労しました。JQuery PowerTipが便利。 使用した技術 標準的なRailsの構成ですが、データ格納のためにRedisを利用してます。コミュニティ解析ではPythonのNetworkXライブラリを利用しています。 特徴的なg
追記:この技術を使って、コミュニティ解析をするサービスをリリースしました。 Qiita「Twitter API (Ruby)」の続きです。 年末から僕は、TwitterAPIでユーザー情報とフォロー関係を取得し、友人を自動でコミュニティ分類するサービスを作っています。その途中で得られた知見をまとめます。 目次 Devise連携 :ログインユーザーがTwitterAPIを使えるように。 データ取得 :TwitterAPIから大量のデータを取るサンプル。重いので非同期処理。 Visualize :得たソーシャルグラフを可視化してみる(綺麗) 高速化(DB) :redis、それは危険なほどのスピード 高速化(並列処理) :並列処理でAPIアクセスがこんなに速く! 1.Devise連携 認証用Gem, Deviseとの連携です。Qiita「deviseでfacebook,twitter認証」の続き
単純な文字列を渡すとかならともかく、オブジェクトをJSON形式で渡せると便利ですよね。それもいちいち通信してコールバックから貰うとかは面倒! ここでは簡単にできる2通りのやり方を紹介。 1. Viewに埋め込む 一番単純な方法。 ERB
railsのdeviseでは、閲覧やアクションのためにログイン必須なページを作ることができます。 また、未ログイン状態でログイン必須ページにアクセスした場合、自動的にsign_in_pathに飛ばされます。 このredirect先が都合が悪い場合の変更方法。(OAuth認証のみにした場合、都合が悪くなりました) deviseの導入や環境は前回の記事を参照してください。 「deviseでfacebook,twitter認証」 http://goo.gl/0Mnl4 1. ログイン必須なページを作る Controller側で、以下のように設定してください。
追記:Qiita「TwitterAPI Devise連携/グラフ可視化/データの効率的格納/API高速化」 にて続きを書きました。 qiitaにもある、「twitterでログイン」を実装します。 devise(railsのユーザー認証用gem)を使ってtwitter,facebookなどのOAuth認証。 今回はOAuth認証のみでdevise本来の追加認証はしません。tokenも使いません。 deviseの導入から解説していきます。 環境 ruby(1.9.3) rails(3.2.3) devise(2.0.4) omniauth (1.1.0) omniauth-oauth (1.0.1) omniauth-oauth2 (1.0.2) omniauth-facebook (1.3.0) omniauth-twitter (0.0.9) devise+omniauth認証 まずはde
201402追記 これは全く良い方法ではないです(コメント参照) なお同期通信にするのもあまり筋の良い方法ではなくて、コールバックで順序を保障するのが普通です。 本気で設定ファイルとして読み込みたいなら、renderingの段階で渡すのがよいかもしれません。 概要 JQueryのgetJSONは非同期通信なので、JSONで書いた設定ファイルから値を取ろうとしても、取れないまま処理が進んでしまう。 コールバック関数の中で処理を完結させれば問題ないが、グローバル変数に値をセットしたい場合は、同期通信にしてからgetJSONする必要がある。 具体的には、$.ajaxSetup({async: false});を使う。 気付かないまま詰まったので参考にどうぞorz コード var hoge function setPreference(){ $.ajaxSetup({async: false});
このページを最初にブックマークしてみませんか?
『qiita.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く