タグ

monochromeganeのブックマーク (1,518)

  • IE10 以下を切る場合の JavaScript チェックリスト - Qiita

    この投稿は、 JavaScript Advent Calendar 18日目の記事です。 更新履歴 こちら をご覧下さい JavaScript の書き方をアップデートする JavaScript Good Parts で書かれているような JS の書き方は、古くなりつつある部分も多いです。 正直なところ、自分はあのが「今でも」良書だとは思っていません。 初学者に勧めることもしません。まんべんなさと普遍性と客観性から「パーフェクト JavaScript」 を勧めています。 その頃と比べると、 JavaScript をとりまく環境は変わりました JavaScript の進化に合わせて書き方もアップデートしていくべきなので、今回は分かりやすいしきい値として 「IE10 以下を切れるとしたら」 という前提で、列挙してみます。 たとえば XHR2 や File API に依存したサービスをやる場合な

    IE10 以下を切る場合の JavaScript チェックリスト - Qiita
  • 『JavaScriptテンプレートエンジン「JsRender」のすすめ』

    1 pixel|サイバーエージェント公式クリエイターズブログ サイバーエージェントのクリエイターの取り組みを紹介するオフィシャルブログです。最新技術への挑戦やサービス誕生の裏話、勉強会やイベントのレポートなどCAクリエイターの情報が満載です。 こんにちは。フロントエンドエンジニアをしている清水です。 私は今、スマートフォン向けブラウザゲーム「天下統一クロニクル」を開発・運用しています。 記事では、天下統一クロニクルで利用しているJsRenderというJavaScriptテンプレートエンジンの基的な使い方とちょっとしたTIPSを紹介しようと思います。 JsRenderとは?JsRenderとは、テンプレートエンジンの一種です。 jQuery Templatesの作者でもあるBorisMoore氏が、同ライブラリの後継として作成しているライブラリです。 jQuery Templatesの後

    『JavaScriptテンプレートエンジン「JsRender」のすすめ』
  • JavaScriptテンプレートエンジンJsRenderの拡張機能

    対象読者 JavaScriptテンプレートエンジンに興味のある方 JavaScript、jQueryの基を理解している方 必要な環境と準備 JsRenderとjQueryを以下のサイトからダウンロードしてください。詳しくは、第1回を参照してください。 JsRender jQuery カスタムコンバーター コンバーターを使用すると、テンプレートで指定した値を変換してから出力できます。例えば、HTMLコンバーターを使用すると、値はHTMLエンコードしてから出力されます。第2回で紹介したように、JsRenderには標準でHTMLコンバーター、属性コンバーター、URLコンバーターが備わっています。同様に、カスタムコンバーターと呼ばれる独自のコンバーターを定義できます。 コンバーターとは引数を受け取り、それを変換した値を返す関数です。コンバーターを使用するには、renderメソッドを呼び出す前にコ

  • golang で streem を実装した。 - Qiita

    この記事は Go Advent Calendar 2014、16日目の記事です。 はじめに Matz さんが streem という、ストリーム指向言語の開発を始めるらしいです。 まだ文法の設計段階ではあるけど、それなのにかなりの量の pull-req がバンバンと来てて凄いなーと思いつつも「この pull-req 量だと僕には出番無いなー」と思ったので、README.md に書かれているサンプルだけを頼りに streemgolang で実装してみました。 先日はネタで streem のマネをして yacc 定義部分だけ公開していましたが、日ネタが無い中にTLがヒートアップして焦りに焦って勢いで実装してみました。いやはや異様な追い込みを感じます。。。 まずは streem を知る streem は README.md に書かれている通り並列実行を行いつつストリームを処理する言語です。

    golang で streem を実装した。 - Qiita
  • Live code reloading for Golang web projects in 19 lines

    In this article, I would like to show how you can organize your Golang web project with live code reloading. This approach can be easily adapted for a variety of scenarios regarding an OS process restarts with connection to files’ changes, independently to a language your project has been written in. Is this even an issue? There are plenty of projects for any kind of similar scenarios you can thin

    Live code reloading for Golang web projects in 19 lines
  • DocomoruでBOTと雑に会話する - Qiita

    docomoが提供している雑談対話APIを利用し、docomoruというライブラリを使いながらBOTと雑談する方法について説明します。後半では、Rubotyを使ってチャットサービス上でBOTと雑談する方法について説明します。 docomoru docomoruは、docomoのAPIを利用することを目的として作られたRuby製のライブラリです。gem install docomoru でインストールできます。docomoのAPIキーが必要なので、予め https://dev.smt.docomo.ne.jp/ からアプリ登録申請を済ませてAPIキーを発行してもらいましょう。 使い方 docomoruはCLI経由で利用でき、APIキーと文字列を与えると雑談対話APIにリクエストを送り、レスポンスをJSON形式で標準出力します。APIキーは、--api-keyオプションか、環境変数DOCOMO

    DocomoruでBOTと雑に会話する - Qiita
  • Goのデバッグに便利なpretty printライブラリ「pp」を作った - Qiita

    概要 k0kubun/ppという、pretty printライブラリを作った。 任意の型のオブジェクトをpp.Print()に渡すと色つきでpretty printしてくれるという非常にシンプルなもの。 作った背景 fmt.Printf("%#v", ...)等ではわかりづらい複雑なmapやstructをdebug printするときは、pretty printを使うと便利。既存のpretty printライブラリには、GitHubで人気なものだとdavecgh/go-spewやkr/prettyなどがある。 いままではGoでデバッグのために複雑な構造をダンプするときこれらを使っていたのだが、必要以上に型の情報が書かれていたり、大きなものだと白黒なのでパッと見てわかりづらいなどの問題があった。 そこで、型やフィールドごとに別の色をつけることで視認性を高め、ビルトインの型情報は色にまかせて省

    Goのデバッグに便利なpretty printライブラリ「pp」を作った - Qiita
  • Goサーバのモニタリング - Qiita

    5日目担当の@cubicdaiyaです。先月末のGoConではGoのカンファレンスなのにほぼnginxをビルドする話しかしてなかったので今日はちゃんとGoの話をします。 Goで書くサーバプログラム Goではサーバプログラムを書くためのユーティリティが豊富に揃ってる上に、ゴルーチンやチャネルを利用することで高いパフォーマンスが要求される環境でも十分な性能を発揮することができます。いつだったか「あれはHTTPサーバ書くための言語ですよ」なんて話をとあるエンジニアから聞いたことがあるくらいです。 例えば「Hello, World!」を返すだけのHTTPサーバであれば標準ライブラリのnet/httpを利用することで以下のように書くことが出来ます。 package main import ( "fmt" "net/http" ) func handler(w http.ResponseWriter,

    Goサーバのモニタリング - Qiita
  • フロントエンドエンジニアになってから11ヶ月間で覚えたちょっと捗るChromeの使い方 - Qiita

    はじめに 昨今のWebブラウザはどのような機能があるのか把握するのも大変なほど多機能で便利ですよね。 Webブラウザの機能を把握してうまく使いこなせること(とくに開発者ツール)が、フロントエンドエンジニアの前提スキルになってきてるのかなぁと感じる今日この頃です。 ということで自分のデフォルトの開発用ブラウザはChromeなのですが、これを覚えて捗ったなぁということをメモしていこうと思います。 思い浮かんだら追記していこうと思っているのでストックして頂けると幸いです。 基系 キーボードショートカットを覚える Chromeのキーボードショートカットの一覧 キーボードで出来ることはなるべくキーボードでやるけれども、マウスやトラックパッドでやったほうが速い場合は臨機応変に切替えることを心がけています。 Chrome Canaryを使う Chromeの開発者向けプレビュー版 Chrome Cana

    フロントエンドエンジニアになってから11ヶ月間で覚えたちょっと捗るChromeの使い方 - Qiita
  • groupcache‎ で組み込み型分散キャッシュ - Qiita

    groupcache‎ は Go で書かれた分散キャッシュライブラリで、複数プロセスでキャッシュを共有するプログラムが簡単に書けます。多くの用途で memcached を置き換えることを目指していて、Google のプロダクション環境で使われているようです。 個人的に groupcache の魅力は、 キャッシュを複数のピアに分散する (sharding) キャッシュに無いデータを同時に大量にリクエストしても、キャッシュ生成処理は1度だけ実行され、他のリクエストには生成されたキャッシュを返す(厳密では無いが、だいたいの場合1度きり) 頻繁にリクエストされるデータがリモートにあった場合、ローカルにもキャッシュする 一方、注意しないといけない点はキャッシュのアップデートには対応していないことです。groupcache には expire や明示的な破棄は存在しません。あるキーに対する値は 常に

    groupcache‎ で組み込み型分散キャッシュ - Qiita
  • CodeReviewComments

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    CodeReviewComments
  • Adobe製のJavaScriptデバッガTheseusがすごい - Qiita

    この前、研究室の先生に教えてもらったAdobe製のJavaScriptデバッガTheseusがかなり便利なのでご紹介します。 Theseusとは Theseusは、AdobeとMITの共同研究から生まれたJavaScriptのデバッガです(→学会論文)。ChromeとNode.jsの上で動きます。具体的に何をしてくれるのかをざっくり言うと、関数のコールを追跡して、BracketsというAdobe製のエディタに下画像のような感じで表示してくれます。 Theseusのすごいところは、コールバックの実行まで追跡してくれることです。もちろん、エラーが起きた箇所もすぐに見ることができます。また、デバッグをするとき、気になる箇所にconsole.logを挟むことがあると思いますが、Theseusを使えばその必要もありません。関数の横に表示されているコール回数をクリックすれば、その関数の実行ログを表示し

    Adobe製のJavaScriptデバッガTheseusがすごい - Qiita
  • Making a RESTful JSON API in Go

    Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.

    Making a RESTful JSON API in Go
  • 実践!ヌーラボサービスでの CloudFront の障害対策 | 株式会社ヌーラボ(Nulab inc.)

    CDNが単一障害点にならないようにするために ヌーラボでは 2010 年 Cacoo の商用サービスの開始に合わせて AWS における運用を開始しました。当時、運用環境として AWS を採択する決め手の一つになったのが CloudFront でした。その後も着々とエッジロケーションは増え、独自ドメインのサポートなど魅力的な機能も提供され、今ではヌーラボの全サービスの静的ファイルの配信で利用している、無くてはならないサービスとなっています。 その魅力の反面、CloudFront の障害は、アプリケーションそのものに問題がなくても、以下のような表示が崩れた画面が表示されて、ユーザが全くサービスを使えなくなるという、その影響が非常に大きいものです。また障害の原因が DNS やネットワークの経路における問題といった、私たちが直接解決しにくい領域にあることもしばしばです。 ただ、どんな事情であれ、障

    実践!ヌーラボサービスでの CloudFront の障害対策 | 株式会社ヌーラボ(Nulab inc.)
  • 2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 - Qiita

    はじめに もうすっかり年末なので、これから2015年にかけてアプリケーションアーキテクチャがどのようになっていくのかという個人的な考え/妄想や背景について、「リアクティブ」というキーワードをもとににまとめてみたいと思います。 Google Trendsを見ると"reactive programming"という言葉は2010年前後から、ゆっくりとバズをし始め、現在も上昇を続けています。 また、仕事としては、2010年ごろから大規模なWebサービス開発において、フロントエンド、バックエンド、アルゴリズム改善といった様々な箇所で、リアクティブプログラミングの要素を取り入れながら、アーキテクチャの改善を進めてきました。そのため、こういったアーキテクチャがコード品質の維持や安定性の向上、実際的で複雑な問題の解決にも適応可能であるということを実感として持っています。 近年、そういった要素が様々なツール

    2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 - Qiita
  • アジャイルのレトロスペクティブはなぜ難しいのか?

    レトロスペクティブ(ふりかえり)は,チームの作業方法を見直して修正することによって,自らの作業を改善するものだ。より多くの価値をユーザに提供する手段として,アジャイルの重要な手法のひとつに数えられることも多い。しかし時には,レトロスペクティブを行うのが難しく思われることもある。変更すべき対象がチームメンバのコントロール範囲外にあると感じられたり,改善の余地がないように思われたり,適切なアクションの定義が難しく感じたられりすると,アクションの定義よりも先に不満が口をつき始める。そうなるとレトロスペクティブがつまらない,単なる時間の浪費だと感じられてしまうのだ。このような問題に対処して,より有意義なレトロスペクティブを行う方法を見つけるには,どうすればよいのだろう? Keith McMillan氏のブログ記事 agile concept of the week: retrospective に

    アジャイルのレトロスペクティブはなぜ難しいのか?
  • Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto

    This is talk about Starting with building web application with GolangRead less

    Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
  • 私家版 Dockerfile Pattern

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    私家版 Dockerfile Pattern
  • Goでxxxのポインタを取っているプログラムはだいたい全部間違っている - Qiita

    Goで、文字列、インターフェイス、チャネル、マップ、スライスのポインタを取っているプログラムは、書いた人がきちんと自分がなにをしているのか理解しているのでなければ、ほぼ確実に間違っているといっていい。 Goではある種の型の値はそもそもポインタのようなものである。上記の型はどれも任意の大きさになり得るが、大きくなりうる実体のデータはヒープに確保されていて、値そのものが持っているのはそのヒープ上への値へのただのポインタ+多少の付随的なデータにすぎない。こういった値を値渡しではなくポインタ渡しする必要はない。ポインタのデリファレンスのほうがポインタのコピーより高くつくし、余計な混乱を引き起こすだけだからだ。もしこういう値をポインタ渡ししているとしたら、そのコードはなにか深い意味があるのではなく、それを書いた人が大きな値がコピーされると勘違いしていて書いた可能性のほうがずっと高い。 文字列は2ワ

    Goでxxxのポインタを取っているプログラムはだいたい全部間違っている - Qiita
  • [mruby][ruby] 30d.jp に ngx_mruby を導入した話, RubyPrize 2014 を受賞しました - HsbtDiary(2014-11-13)

    ■ [mruby][ruby] 30d.jp に ngx_mruby を導入した話 (社内で共有した内容の転記です) 30d.jp に ngx_mruby を導入して、誰も手出しができないミドルウェアの置き換えとパフォーマンス向上を実現しました。 前提要件 30d.jp に保存している画像はサービスにログインしている時のみ見えるようにしたい 画像は MogileFS に保存しており、Rails を介さないでレスポンスを返したい ngx_mruby 導入前のシステム構成 ngx_mruby 導入後のシステム構成 導入後の効果 siege を用いたベンチマーク(siege -b -c 8 -r 50)でレスポンスタイムで 1割ちょっと、転送レートで 2割ちょっとの改善となりました。 Elap Time, Resp Time, Trans Rate, Throughput, Concurrent

    [mruby][ruby] 30d.jp に ngx_mruby を導入した話, RubyPrize 2014 を受賞しました - HsbtDiary(2014-11-13)