タグ

2017年7月20日のブックマーク (12件)

  • Refactoring JavaScript

    If your JavaScript is a mess, frameworks can only do so much to help. No matter what framework, "compiles-to-JS" language, or library you use, bugs and performance concerns will always be an issue if the underlying quality of your JavaScript is poor. With this hands-on guide, you’ll learn how test and refactor your existing code to help reduce complexity, improve readability, and gain confidence i

  • 一から始めるFirebase | CodeGrid

    Googleが提供しているアプリケーションのためのバックエンドサービス、Firebaseの利用方法を解説するシリーズです。WebアプリケーションのバックエンドとしてFirebaseを使う方法を紹介していきます。

    一から始めるFirebase | CodeGrid
  • GitHub - d4l3k/go-pry: An interactive REPL for Go that allows you to drop into your code at any point.

    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

    GitHub - d4l3k/go-pry: An interactive REPL for Go that allows you to drop into your code at any point.
  • 枯白|KOKU|家具|室内道具|姫路市

    ​​​​​​​ 四時 season (中国 北京) 個展の様子をPhoto Albumにまとめました ご購入、ご来店、オーダーについて こちらにまとめました ​ 制作の背景やお手入れの方法など YouTube お家でできるワークショップ KOKU Home Workshop ​ オンラインストア「Koku Online」「現品販売の家具」 ​ 最新情報をメールでお届けします  枯白通信 ​ 販売店についてのご注意

    枯白|KOKU|家具|室内道具|姫路市
  • Railsアプリを66%スピードアップ ― Railsキャッシュの完全ガイド | POSTD

    (訳注:2016/3/2、頂いた翻訳フィードバックをもとに記事を修正いたしました。) Railsアプリでのキャッシングは、「たまに夕を一緒にするけれど、当はもっと頻繁に一緒にいるべき友達」に少し似ています。パフォーマンスをまじめに考えるRailsアプリのほぼ全てで、もっとキャッシングを使えるはずですが、ほとんどのRailsアプリでは、完全にキャッシングを避けています。それでも普通は、Railsで高速なサーバ応答を達成するための唯一の道は、キャッシングの知的な利用なのです。約250msの応答時間を、簡単に50~100msに高速化できます。 定義についての注意 ― この記事は、アプリケーション層のキャッシングのみを対象としています。HTTPキャッシング(これは全く別の難物で、あなたのアプリケーションに実装する必要はありません)は、別の機会で扱いましょう。 するべきキャッシングをしない理由

    Railsアプリを66%スピードアップ ― Railsキャッシュの完全ガイド | POSTD
  • 小さなコンパイラを作ろう

    About the content 2016年9月のtry! Swift NYCの講演です。映像はRealmによって撮影・録音され、主催者の許可を得て公開しています。 对绝大多数开发者来说,尽管我们每天都要与编译器打交道,然而实际上编译器对我们来说仍然像一个神秘的黑盒。在次 try! Swift 的讲演中,Samuel Giddins 从头搭建了一个全新的微型编译器,用来编译他自制的一门编程语言,从而借此去学习编译器的基工作机制。他还讲述了 Swift 是如何为复杂问题(例如语义解析、词法分析和代码生成)提供优雅的解决方案的。最后,我们将实现一门全新的编程语言,并完成对它的编译工作! 如果您对该主题感兴趣的话,可以在 Github 上的 segiddins/Sipquick 仓库找到完整代码。 概述(00:00) 我构建了一门名为「Sipquick」的编程语言,然后我用 Swift

    小さなコンパイラを作ろう
  • Rails のキャッシュ機構 - Railsガイド

    ガイドでは、キャッシュを導入してRailsアプリケーションを高速化する方法を解説します。 「キャッシュ(caching)」とは、リクエスト・レスポンスのサイクルの中で生成されたコンテンツを保存しておき、次回同じようなリクエストが発生したときのレスポンスでそのコンテンツを再利用することを指します。 多くの場合、キャッシュはアプリケーションのパフォーマンスを効果的に増大するのに最適な方法です。キャッシュを導入することで、単一サーバーや単一データベースのWebサイトでも、数千ユーザーの同時接続による負荷に耐えられるようになります。 Railsには、すぐ利用できるキャッシュ機能がいくつも用意されています。ガイドでは、それぞれの機能について目的を解説します。Railsのキャッシュ機能を使いこなすことで、応答時間の低下や高額なサーバー使用料に悩まされずに、Railsアプリケーションが数百万ビューを

    Rails のキャッシュ機構 - Railsガイド
  • Railsのマスタ的なModelのキャッシュについて[Redis]

    Railsで中規模なサイトを作っていく上で 避けて通れないのが、増えてきたモデルを適切にキャッシュするしくみのように思えます。 特に変更が少ないマスタ的なテーブルに対して、『多対多』で関連付け(アソシエーション: association)がある場合などは、 それなりのSQLの発行コストになることがあります。そこを適切にキャッシュすることでDBへの負荷が減り、 ユーザーへのレスポンスが改善されると思います。 今回は、最近実装しているキャッシュの方法について、紹介したいと思います。 (というか偉い人、ぜひいい方法教えてください><) 🍣 前提条件: RailsからRedisにキャッシュ今回は前提条件として、Railsのアプリケーションから『redis-store/redis-rails - GitHub』 のGemを使って、Redisにキャッシュをされているとします。 セットアップ方法は『r

    Railsのマスタ的なModelのキャッシュについて[Redis]
  • Ruby/Railsでの高速化の際に使うgem達 - Qiita

    1. ベンチマーカー プロファイルすると、プロファイル自体に時間がかかるので正しく速度が測れない。そのためベンチマーカーも使うと良い。 ただし、ベンチマーカーはどこが遅いか等の解決の糸口は教えてくれない。 benchmark-ips 2. プロファイラ 実際に速度のボトルネックを見つける際に使う。 stackprof どのメソッドに多くの時間を費やしているかがわかる これを入れても速度にさほど影響がない rblineprof 行ごとにかかっている時間を出してくれる peek-rblineprofを使うとブラウザで結果が見れる ただしプロファイリングに結構時間がかかる (3. NewRelic) 実際、これらのことを手元でやらなくても、特にstackprof的なことや、どこのページやどのSQLクエリが特に遅いかなどは、 New Relic がやってくれます。お金を払うと結構詳細な部分も見れま

    Ruby/Railsでの高速化の際に使うgem達 - Qiita
  • Commit Hash から、該当 Pull Request を見つける方法 - Qiita

    git blameなどを使用して、変更を加えたcommit sha hashだけわかった時、git show daced1d3のようにすれば、そのコミットの変更内容を見れます。ですが、当は内容よりその変更を加えたPull Requestを知りたいことありますよね? そんなコミットからプルリクエストを探したい時に使えるgit aliasコマンドを紹介します。 git showpr Pull Requestをマージしているコミットログを見つけます。 show pull request => showpr としてますが、名前は好きにつけてください。 .gitconfigのalias設定 [alias] showpr = !"f() { git log --merges --oneline --reverse --ancestry-path $1...master | grep 'Merge p

    Commit Hash から、該当 Pull Request を見つける方法 - Qiita
  • Go速習会 - Qiita

    この投稿は 2015/10/16にWantedlyで行われたGo速習会の内容です。速習会は事前知識ほぼ0を仮定して、あるテーマにおける知見を社内全体+少数の外部の参加者に広めるという公開社内勉強会です。=> 前回のSketch速習会の様子 今回は、Goで簡単なAPIサーバーを作ってみるというのをゴールにし、環境セットアップの部分はGo言語の開発環境セットアップの投稿を読んで事前にやっておいて頂きました。 当日はLive Coding形式で発表しました。各項目をCommitのDiffでみたい方は https://github.com/awakia/go_sokushu を参照ください。多少会話の流れで変わっていますが、だいたいここに書いてある内容と同じです。 この速習会でできるようになること Go言語で簡単なAPIサーバーが書けるようになります。 静的ファイル配信 (APIから少し脱線するけ

    Go速習会 - Qiita
  • Go言語でServer作る時に必要な知識メモ - Qiita

    http.Handle("/foo", fooHandler) http.HandleFunc("/bar", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, %q", html.EscapeString(r.URL.Path)) }) log.Fatal(http.ListenAndServe(":8080", nil)) ここで、http.Handle, http.HandleFuncすると、DefaultServerMuxと言うものにマッピングが登録される。 ServeMux ServeMux = HTTP request multiplexer リクエストを登録済みのURLパターンリストと照合して、マッチしたHandlerを呼び出す 複数マッチする場合はマッチが長いほうが優先される e.g

    Go言語でServer作る時に必要な知識メモ - Qiita