並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 125件

新着順 人気順

r7kamuraの検索結果1 - 40 件 / 125件

  • 個人で運用している Web サービスをどう管理しているか 2018年版 - r7kamura - Medium

    個人で運用している幾つかの Web サービスについて、自分がどう管理しているかを振り返る。 実験には Heroku を利用習作につくったアプリやβ版段階のアプリは、Heroku で動かしている。Heroku を使う場合のより具体的な条件としては、データベースが明らかに無料枠に収まりそうで、24時間動いていなくてもまあ誰にも怒られそうないような場合。Slack 用の Bot や、nippo という日報専用サービスのクローズドβ版などを主に置いている。 メリットに感じている部分は、無料で使えること。デメリットに感じている部分は、サーバが US に配置されることと、データベース系の Add-On が高くつくこと。例えば日本語圏向けのサービスだと、通信時間がそこそこ長くなり、結果的にサービスの体験が悪くなる(昨今の平均的な Web サイトの速度はまだまだ遅いので、それと比較すると悪くなるというほど

    • Incrementsを退職します – r7kamura – Medium

      IT エンジニアが退職するときに添えられることが多い東亜飯店の画像今月いっぱいで Increments 株式会社を退職します。今日が最終出社日で、残りは有給消化です。 Increments では何をやってたの?Increments と言えば Qiita を運営している会社というイメージですが、Qiita の開発に直接携わる機会はほとんどなくて、技術基盤や Qiita:Team の開発に携わったりしていました。 分かりやすい例を幾つか挙げると、Qiita API v2、トップページのフィード、通知購読、絵文字リアクション、タスクリスト、qiita-elasticsearch、qiita-markdown、アクセス権限付きグループ、サポートサイト、チーム統合機能の開発や、UI 刷新、絵文字画像セット移行、ログインセッション永続化、Docker 移行、VPC 移行、Terraform 導入、We

        Incrementsを退職します – r7kamura – Medium
      • 作業用に曲面ディスプレイを導入 - r7kamura - Medium

        主にプログラミング作業用に 34 型の曲面ディスプレイを導入したので、嬉しがって設置してみた様子を紹介する。 PC での作業用途ならアームが欲しいスタンドがしっかりとした構造になっている分、スタンドが奥行きを取る構造をしている。PC での作業用に使う場合は、少し近すぎるかもしれない。このままでもまあ良いけど、もう少し遠くても良いかな、ぐらいの感覚。 幸い標準的な規格のディスプレイアームに対応しているので、ディスプレイアームを取り付けるかどうか検討中。スタンド部分がかっこいいので微妙に惜しい。スタンドにボールベアリングが付いていて、角度調整がかなり柔軟に行えるようになっているので、机の奥側に適当な台を置いて角度を調整するだけでも良いかもしれない。 やはり曲面ディスプレイは作業に向いている以前までは作業用に 43型の 4K 平面ディスプレイを利用していたが、大画面で迫力がある一方、机の中央に座

          作業用に曲面ディスプレイを導入 - r7kamura - Medium
        • Gyazo 開発環境の Docker 化 - r7kamura - Medium

          The easy way to save screenshots, GIFs, and websites. Make everyone happy by sharing smarter, faster, and with your… 単純にスクリーンショットを保存するだけなら OS の機能だけでも十分ですが、GIF 動画を保存できたり、いつどこでどんなアプリケーションを利用しているときに撮影したのか、あるいは画面にどんな文字が写っているかといった情報を元に検索できたり、保存した画像をコレクションという単位でまとめて共有できたりと、Gyazo を使って保存しておくと意外と便利なことが多く、個人的にも重宝しているサービスの1つです。 我々が開発環境で Docker を使うメリットGyazo のサーバサイドの実装には、プログラミング言語の観点で見ると Ruby、Go、JavaScript などが

          • ActiveRecordを試すときに便利なやつ - r7kamura - Medium

            手元で ActiveRecord を試したいときに、いちいちデータベースを用意したり、再現性のあるコード片に整えたりするのは、結構な手間に感じてしまうかもしれません。この記事では、そういったケースで利用できる知識を幾つかまとめておこうと思います。 以下は今回題材に使うコード例で、これを上から順に説明していきます。 ActiveRecord で .count の挙動を試す例bundler/inlinebundler/inline は Bundler 1.10 から追加された機能です。これを利用すると、Gemfile を独立したファイルとして用意することなく、スクリプトの中にその定義を埋め込めるようになります。 続くスクリプトがどのバージョンの Gem で動かせるのかということを明示でき、必要であればライブラリを実行時に自動的にインストールし、依存関係を調べて $LOAD_PATH を調整し、

            • r7kamuraがIncrementsにJoinしました - Qiita Blog

              Incrementsにr7kamuraがJoinしました! 綺麗なコードが好きだと豪語するr7kamuraの参加に戦々恐々としつつも、一緒に仕事ができることにIncrements開発チームはとてもわくわくしています。Rubyマスターのr7kamuraは主にQiita、Qiita:Teamの開発を行います! なお、Incrementsでは引き続き一緒にQiita, Qiita:Team, Kobitoを作っていくメンバーを募集中です!r7kamuraと一緒に仕事をしたい!という方もどしどしご応募ください 採用情報 – Increments株式会社

                r7kamuraがIncrementsにJoinしました - Qiita Blog
              • Autodoc - r7kamura blog

                闇Advent Calendar 1日目の記事として、最近の開発における心の闇に触れます。 最近開発した Autodoc というツールについて簡単に説明した後、 この手のツールの開発にあたって考えていた、 創作活動の在り方や、社会の斥力、25歳定年説などについて触れようと思います。 Autodocとは Rack applicationで実装されたAPIに対して、RSpecで書かれたテストを元にAPIドキュメントを生成するもの。 テストを実行すると、テスト中に発行したリクエストやレスポンス、そのテストに付けられたメッセージを元に、 良い感じに情報をまとめ、Markdown形式でAPIドキュメントを記したファイルを生成してくれる。 例えばGitHubではMarkdownファイルを適当に描画してくれるので、 下図のようにGitHub上で簡単にドキュメントを閲覧出来るようになる。 テストの書き方

                  Autodoc - r7kamura blog
                • Gyazo の Web API の設計変更 - r7kamura - Medium

                  業務委託として現在 Nota 社の Gyazo のサーバサイドの開発をお手伝いさせてもらっているのですが、その中でやっていることについて幾つか紹介したいと思い、今回は開発環境で全面的に Docker を使うようにしたという話について書こ… ここでは、Web ブラウザやその他のクライアントから HTTP を介して利用し、JSON などのデータフォーマットでクライアントアプリケーションとやり取りを行うようなエンドポイントのことを Web API と呼んでいます。 Jbuilder からの移行これまでのコードでは、JSON を生成するために Jbuilder というライブラリを使っていました。これは DSL を用いて JSON を生成するライブラリで、Rails の場合は ActionView と協調して動きます。 Jbuilder からの変更の理由は幾つかあるのですが、主要な理由を挙げると、以

                  • チャットボットフレームワーク Ruboty を振り返る - r7kamura - Medium

                    Ruboty を利用したデプロイの様子この記事では、Slack や HipChat で動く Bot をつくるためのフレームワーク Ruboty の仕組みを振り返り、現状の実現方法を把握し、今後 ChatOps を改善するための足掛かりとしたい。 出勤、デプロイRuboty というチャットボットフレームワークを数年前から開発しており、仕事でも Ruboty でつくった Bot を使った業務フローを導入・運用する機会が増えてきた。例えば、いま働いている会社では、Qiitan という Bot が出勤管理やデプロイに使われている。 Qiitan に最もよく投げかけられている発言は、「@qiitan 出勤」である。この発言を行うことで、自動的に社で利用している出勤管理サービスに対して、発言者が出勤した旨を代わりに登録してくれる。他によく使われる発言として「@qiitan デプロイしたい」がある。これ

                      チャットボットフレームワーク Ruboty を振り返る - r7kamura - Medium
                    • config/routes.rb の書き方を見直した – r7kamura – Medium

                      開発を手伝っている Rails アプリの config/routes.rb の書き方を見直した。 ルール以下のようなガイドラインを設け、これを守るように書き換えた。 resource(s) などの DSL の利用を避けるパスの辞書順に定義するHTTP メソッドの部分だけ特別にインデントする具体例こういう形の、素朴なルーティングがひたすらに羅列されていくコードになる。実際のコードでは数百行以上に及ぶ。基本的に1行に1つのルーティングが定義される。 MyApp::Application.routes.draw do get '/' => 'top_pages#show', as: :top_page delete '/api/applications/:applicaiton_id' => 'api_applications#destroy', as: :application get '/a

                      • Sitespec - r7kamura blog

                        [Sitespec](https://github.com/r7kamura/sitespec)という静的サイト生成ツールを作り、このブログを移行した。 ## Sitespec Sitespecは、Webアプリとテストから静的サイトを生成するためのツール。 WebアプリにはRackを、テストにはRSpecを使う。 Rackを使った適当なWebアプリを用意し、 RSpecでHTTPリクエストを発行するように記述したテストを実行すると、 レスポンスの内容から静的ファイルが生成されるという仕組みになっている。 参考までに紹介しておくと、静的サイト生成ツールには他に [Middleman](http://middlemanapp.com/)や[Octopress](http://octopress.org/)、[Movable Type](http://www.movabletype.jp/) な

                        • Apiary - r7kamura per second

                          API(とそれに携わる開発者)の規模が拡大してくると、ドキュメントの整備や、仕様と実装の一貫性の維持、 クライアントとの知識の共有など、考慮すべき問題が沢山出てくる。 これらの問題に対する現実的な解決策を探るため、 ApiaryというAPI開発支援用のサービスを簡単に俯瞰することにした。 ここでは紹介しないが、他に RAML、 JSON Schema、 Swagger、 WADL、 Autodoc などが関連するものとして挙げられる。 Apiary http://apiary.io/ Apiaryは、API Blueprintと呼ばれる言語でAPIのインターフェース仕様書を記述する、という開発方法を提唱している。 API BlueprintはMarkdownを拡張した言語で、特殊な記述を用いて幾つかのメタ情報を付与出来る形になっている。 Markdownを採用することで人間にとって読み書き

                          • sinatraのソースコードを読んだ - r7kamura's Hakolog

                            RubyのWebApplicationFrameworkを読む会を新宿のルノアールで行った。 この日は@ainame氏を中心にSinatraを5時間ほど読んで、 Sinatra起動からRouting定義、setによる設定、 RequestとResponseの生成、Tiltによるテンプレート生成周りまで読んだ。 HTMLをrenderするところまでは至れなかったけども、 Sinatraの黒魔術をガンガン学びながら挙動を追えたのが良かったと思う。 コードリーディング、refe・pry・pry-docのおかげでだいぶ捗ったと思う。 大体/def method_name/で検索して移動して挙動を読み、 元の場所に戻る、の繰返しでSinatra::Baseのrunから始まる挙動を追った。 以下メモ。 sinatra/main.rb About ClassicStyleを利用している場合に呼ばれる 非

                            • OAuth Sign - r7kamura per second

                              OAuth 2.0 への理解を深めるため、自分がOAuthをどう捉えているかを整理します。 多分に誤解が含まれている可能性があるので悪しからず。 OAuth 2.0 OAuth 2.0を利用してリソースサーバ(=Web API)と通信を行う場合、 以下の処理が行われます。 ユーザは認証情報を認証サーバに渡してアクセストークンを発行してもらう ユーザはリソースサーバと通信する際にアクセストークンを一緒に渡す リソースサーバは受け取ったアクセストークンからユーザを識別する リソースサーバは識別結果をもとに適切な処理を行いレスポンスを返す 認証情報 認証情報には幾つかのパターンがあり、以下の情報が含まれます。 アプリケーションを識別するための情報 ユーザを識別するための情報 認証方法などを表すメタ情報 認証サーバとリソースサーバ 認証サーバは、アプリケーションを登録したり、アクセストークンを発

                              • Rack::Multiplexer - r7kamura blog

                                Rack::Multiplexerという、複数のRackを束ねるものをつくった。 Plack寄せ この前Perl界隈の人達と鍋を囲む機会があって、 !!1;の話、livedoor BlogのPlack化の話、ISUCONの話、 各社古いアプリ抱えていて辛いね苦しいね頑張ろうね若者に1日で書き換えさせようといった話をして、 結局、何となくこの界隈は全体的に「Plack寄せ」が進んでいるねという話に落ち着いた。 Rack寄せ 一方Ruby界隈だと比較的皆Rackに寄っている傾向にはあると思うけど、 もっと寄せてみると面白いんじゃないかと思って、Rack::Multiplexerをつくった。既にありそう。 Rack::Multiplexerは、所謂WebアプリのRouter(=Dispatcher)の処理を行うための実装で、 メソッドやパスの規則に従って受け取ったリクエストを別のRack app

                                  Rack::Multiplexer - r7kamura blog
                                • faraday-lazyable - r7kamura blog

                                  faraday-lazyableという、 HTTPリクエストを遅延評価させるためのライブラリを作った。 遅延評価はある種の複雑性を持ち込むが、ビジネスの要求に合わせて正しく使っていきたい。 遅延評価 HTTPリクエストにおける遅延評価とは何か。 遅延評価というのは、評価しなければならない値が存在するとき、 実際の計算を値が必要になるまで行わないことをいう。 HTTPリクエストを遅延評価するというのは、つまりHTTPクライアントはすぐにレスポンスオブジェクトを返すが、 レスポンスオブジェクトに対してメソッドが呼ばれたときに初めてHTTP通信を発生させるということを意味している。 Faraday Faradayとは何か。 faraday-lazyableは、FaradayというRuby製のHTTPクライアントのプラグインとして実現されている。 FaradayはRackのようにプラグイン(=この

                                    faraday-lazyable - r7kamura blog
                                  • Web アプリの JavaScript の初期化処理をどうまとめるか - r7kamura - Medium

                                    いわゆる JavaScript のエントリポイントを、どういうパターンで管理しているかについて。 ディレクトリ構成自分の場合、次のようなディレクトリ構成でまとめていることが多い。 client/javascripts/entryPoints/*.jsclient/javascripts/initializers/*.js実例を挙げると、現在携わっているプロジェクトでは以下のようなファイルが存在する。 client/javascripts/entryPoints/client.jsclient/javascripts/entryPoints/server.jsclient/javascripts/initializers/googleAnalytics.jsclient/javascripts/initializers/helmet.jsclient/javascripts/initiali

                                    • 人気サイトのfont-family - r7kamura's Hakolog

                                      国内でトラフィックランキング1-20位周辺のサイトの、body要素に対するfont-family指定方法を調べた。 /* yahoo.co.jp */ body { font-family: "MS PGothic", "Osaka", Arial, sans-serif } /* google.co.jp */ /* google.com */ /* youtube.com */ body { font-family: arial, sans-serif } /* fc2.com */ body { font-family: Verdana, Helvetica, "MS Pゴシック", "MS P Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif, /* Meiryo */; } /* facebook.c

                                      • nippo の Gemfile (2017-12-02版) - r7kamura - Medium

                                        Rails で使っている gem の知見が欲しいという話をいただいたので、いま開発している nippo という Web アプリの、2017年12月2日時点で master に commit されている Gemfile の中身を解説する。 定義順序について説明してから、個々の gem について簡単に説明する。 定義順序まず group 指定の無いもの、次に group 指定付きのものという順で定義している。細かいけど group それぞれも辞書順。複数の group を同時に指定する場合は、それらを繋げたものを順序指定時のキーとしてソートする。こういうルールなので、gem メソッドの引数の :group オプションは利用しない。 意図的に順序を気にして定義しないといけないケースが存在するので、各 group ごとにまず順序を気にしないといけないやつを記述して、後に辞書順のやつを記述するように

                                        • GitHub - r7kamura/autodoc: Generate documentation from your rack application & request-spec.

                                          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 - r7kamura/autodoc: Generate documentation from your rack application & request-spec.
                                          • 2017 年にお金を払った購読型サービス - r7kamura - Medium

                                            V 氏の次の記事が良かった。自分も真似すべく、本記事を書くことに。従量課金や一度きりの支払いのものは除いて、月額あるいは年額で支払っているものを対象に振り返ることにした。 継続しているものGitHub月額 $7。プライベートリポジトリが幾つかある。リポジトリ数の制限が無くなったことで本当に便利になった。 Heroku月額 $7。個人でやっているサービスの検証環境として使っている。日本向けのサービスばかりつくっているので、US リージョンに本番環境のサービスを置く選択肢が取りづらく、結果的に検証環境用途でしか使っていない。Pull Request ごとに検証環境を立てられる Review Apps は非常に重宝している。 Freee月額980円 (税抜)。青色申告をやるために利用している。特に税理士を雇わずに自分で確定申告をやる上では本当に助かっている。 Amazon プライム年額3900円

                                            • Speee Cafe Meetup #07 に参加した - r7kamura - Medium

                                              TypeScript, Flow最近会社で開発している Web アプリケーションに TypeScript を導入したという話を聞いたので、その辺に居た人を交えて、Flow と TypeScript を比較するとどういう感想ですか、という会話をした。あまり詳しくないという人向けに説明しておくと、どちらのプロジェクトも、JavaScript の文法に手を加えて静的な型検査を行えるようにしようというものである。

                                                Speee Cafe Meetup #07 に参加した - r7kamura - Medium
                                              • Private PaaS Beach - r7kamura per second

                                                デプロイこそが全て。 Dokku https://github.com/progrium/dokku/ Dokkuを使えばmini-Herokuのような環境を簡単に構築出来る。 Dokkuを利用して構築したホストに対してgit pushでコードをデプロイすると、 HerokuのBuildpacksの仕組みを利用して環境が構築され、 Dockerのコンテナ上でアプリが起動し、nginxの設定が更新される。 Dokkuのホスト上でnginxがHTTPリクエストを待ち受けており、 サブドメインを元に適切なコンテナにリクエストを渡すという仕組みになっている。 Digital Ocean https://www.digitalocean.com/ Dokkuを試しに使ってみるにはDigital Oceanを利用するのが便利。 最初からDokkuがインストールされた状態のイメージが用意されているこ

                                                  Private PaaS Beach - r7kamura per second
                                                • Database Encryption - r7kamura per second

                                                  データベースの暗号化界隈の話を調べたのでQ&A形式でまとめた。 なぜ暗号化を行うのか? 一般的には、以下の様な情報の漏洩を防ぐため。 個人が識別できる情報 個人の行動履歴 財務情報 知的財産 財産 その他開示されていない情報 最近日本で大きな情報漏洩被害にあった企業例は? Sony (PlayStation Network) Yahoo! Japan LINE 2ch @PAGES データベースの暗号化におけるベストプラクティスは? StackOverflow等の意見を集めた限り、この辺を全部やるというのがベストプラクティスという雰囲気。 通信データの暗号化: SSL 格納データの暗号化: FDE + TDE (後述) 格納データの暗号化機能を提供しているサービスの例は? Amazon RDS for Oracle Amazon RDS for SQL Server Amazon S3 G

                                                  • Device Specific API Design - r7kamura per second

                                                    The Netflix Tech Blog: Embracing the Differences : Inside the Netflix API Redesign Netflixの開発者ブログで触れられているように、Netflixは以下の4つの方針に沿って彼らのAPIを再構築した。 デバイスごとの差異を受け入れる コンテンツの収集と整形を分ける クライアントとサーバの境界線を再定義する 変化を促進する デバイスごとの差異を受け入れる REST APIのように1つの汎用的なインターフェースで全ての要件を満たそうというアプローチは、 APIへの理解が簡単になる一方、後から変更することは難しくなり、また非効率な処理を生み出しやすくなる。 この手のアプローチが重視しているのは、API提供者側の開発コストを下げることであり、 API利用者の利便性を第一に考えたものではないと彼らは考える。 API

                                                    • Rebuild: 10: RailsConf, Ruby 2.0, Rails 4 (mrkn, r7kamura)

                                                      Kenta Murataさん, Ryo Nakamuraさんをゲストに迎えて、RailsConf, Ruby 2.0, Rails 4, Chanko 2.0, RubyKaigi, YAPC などについて話しました。 Show Notes RailsConf Blind Reviews at RailsConf 2013 RubyKaigi 2013 DHH keynote at RailsConf 2013 Not sure if I should be offended by the Kansas barbs DHH RailsConf 2012 Keynote gist.github.com launched with Rails 4 What's new in Rails 4.0 Cookpad の本番環境で使用している Ruby が 2.0.0-p0 になりました Ruby 1

                                                        Rebuild: 10: RailsConf, Ruby 2.0, Rails 4 (mrkn, r7kamura)
                                                      • Draft.js と Slate.js と CodeMirror の感想 - r7kamura - Medium

                                                        幾つかの Web サービスや Electron ベースのアプリに組み込むエディタを実装するにあたって、Draft.js、Slate.js、CodeMirror を試してきて得た情報について、個人の感想を述べる。今更感があるので、ライブラリそのものについての解説はしない。 Draft.js冒頭で挙げている三つのライブラリの中では、単純に Server-Side Rendering してもエラーを出さず、普通に動くところが良かった。単純に動かないタイプのライブラリでは、例えば React ではライフサイクルイベントのコールバックである ComponentDidMount メソッドを利用するなどして、クライアントサイドのみでエディタが描画されるように工夫しなければならない。 Draft.js でエディタのスタイルを変更するには、Decorator という、描画前の内部データを DOM 要素へと変

                                                        • GitHub - r7kamura/works: 過去につくったもの

                                                          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 - r7kamura/works: 過去につくったもの
                                                          • Happy Pull Request - r7kamura blog

                                                            「おれはブログをGitHubに置いていたと思ったらPull Requestをもらっていた」 おれは今オープンソースのブログをほんのちょっぴりだが体験した。 いや、体験したというよりはまったく理解を超えていたのだが。 何を言っているか分からないと思うが、おれも何をされたのか分からなかった。 ホスティングサイトだとか、バージョン管理だとかだとか、そんなチャチなもんじゃ断じてない、 もっと恐ろしいものの片鱗を味わった。 人最高 自分のプロダクトに対してPull Requestを生まれて初めてもらったのは、確か去年の夏のことだった。 当時すごく嬉しかったことは今でも覚えていて、 それは「黒い画面のログをブラウザに流せるようにして、しかも工夫次第で音とか流せるようにしました、ゲラゲラ」 みたいなプロジェクトで、それをわざわざ拙い英語を見てインストールしてくれて、 しかも僕のミスで何か不具合があって動

                                                            • 2017年振り返り - r7kamura - Medium

                                                              突如として2017年を振り返る。主に仕事や技術面。 フリーランスとして仕事を請けるようになった2012年からクックパッドで正社員として働き、2014年からは転職して Increments で働いていたが、2017年6月に退職し、そこから個人事業主としてフリーランスの仕事を請けるようになった。 仕事内容は、設計レベルでのリファクタリング、別フレームワークへの書き換え、パフォーマンスチューニング、開発環境の改善、コードレビュー、コードベース全体を見てのコンサルティング、新機能の設計と実装という感じの内容が多く、まるまる1つ Web アプリを新たにつくって納品するというよりは、こういう仕事内容の方が確かに自分にも合っていそうだった。プログラミング言語としては、Ruby、PHP、JavaScript、CSS 辺りを触ることが多かった。請負先は、近所の会社であったり、海外の会社であったりと様々。勤務

                                                              • Atom Contribution Guideline - r7kamura per second

                                                                Atomの開発者向けガイドライン で紹介されている、汎用的に適用出来そうな項目をまとめた。 Pull Request 出来るだけスクショやアニメGIFを貼ろう 期待する挙動を書こう 似た機能をどこかで見たことがあれば紹介しよう 言語ごとのガイドラインに従おう コードにドキュメントを書こう 良い文章を伴った構造化されたテストを書こう ファイルの末尾には改行を入れよう プラットフォーム依存のコードは避けよう Commit Message 現在時制で書こう 命令形で書こう 1行目は72文字以内に収めよう 関連するIssueやPull Requestに参照を貼ろう 形式的なものには絵文字を使おう (整形、速度改善、ドキュメント更新など)

                                                                • GCを切る中村氏 (r7kamura) と GCを改善する中村氏 (nari3)

                                                                  mirakui_retro @mirakui_retro unicornのworkerのGC切るかわりにライフサイクルを短くしまくってると高速化はされるけど大量の初期化処理とどう向き合うかっていう問題にかわる 2013-02-20 17:03:03

                                                                    GCを切る中村氏 (r7kamura) と GCを改善する中村氏 (nari3)
                                                                  • Rails 4.2.8 の変更点 - r7kamura - Medium

                                                                    activerecordMySQL サーバとの再接続失敗時に発生する例外が改善されたMySQL サーバとの接続が閉じられたときに、これまではインスタンス変数 connection に nil が格納されていましたが、connection を再度利用するような処理が試みられた場合に NoMethodError が発生する状態でした。これが改善され、接続が閉じられたときにもインスタンス変数 connection はそのまま保持されるようになり、再接続試行時に適切な例外が発生するようになりました。 4-2-backport: activerecord/mysql2: Avoid setting @connection to nil, just close it by dylanahsmith… attribute でモデルの属性の定義を更新したときに attribute_names のキャッシュ

                                                                    • GitHub - r7kamura/altria: Casual CI server

                                                                      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 - r7kamura/altria: Casual CI server
                                                                      • 『アイソモーフィックJavaScript』を読んだ - r7kamura - Medium

                                                                        アイソモーフィックJavaScriptは、クライアントサイド(ブラウザ)とサーバーサイドで同じコードを実行できるようにするためのフレームワークの総称。本書では、従来のアプリケーションが持つ問題点(読み込みの遅さ、SEO対策の困難さなど)… 前半部分の、これまでの JavaScript のフレームワークがどういう流れで移り変わってきたのかという話が良かった。jQuery や Backbone、Angular や React などの話が綺麗にまとまっていて、納得感のある内容。 後半部分はあまり踏み込んだ話もなく、正直そこまで楽しめなかった。「クライアントサイドとサーバサイドとで同じコードを実行できるおかげでこんなに面白いことが出来る」というような話が特になくて、期待感の無い状態で実現手段の話が進んだ。合間に出てきた小ネタの、サーバサイドで React の描画結果をキャッシュする話の方がむしろ面

                                                                        • Asciinema - r7kamura blog

                                                                          Asciinemaの使い方、使われ方、使い勝手について。 使い方 Asciinemaという、端末上の操作を録画するツールとそのホスティングサービスがある。 「Record and share your terminal sessions, the right way」とのこと。 ざっくり言うとTerminal版Gifzoみたいなもので、こういう感じで利用できる。 # install sudo easy_install pip sudo pip install asciinema # usage - 新しいsessionが立ち上がり、exitするまで記録される asciinema rec 使われ方 例えば、AsciinemaはDockerのTutorialで使われている(またDockerか)。 Dockerは自分にとって新しい概念を導入するものだったので、 入力と出力の様子を見ながら外側から

                                                                          • GitHub - r7kamura/ruboty: Ruby + Bot = Ruboty

                                                                            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 - r7kamura/ruboty: Ruby + Bot = Ruboty
                                                                            • GitHub - r7kamura/rspec-json_matcher: RSpec matcher for testing JSON string

                                                                              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 - r7kamura/rspec-json_matcher: RSpec matcher for testing JSON string
                                                                              • 『ZERO BUGS』を読んだ - r7kamura - Medium

                                                                                Amazonでケイト・トンプソン, 酒匂 寛, 小田 朋宏の{ProductTitle}。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽… 全体が78個の物語によって構成されており、それぞれの物語において教訓が紹介される。ZERO BUGS というタイトルの通り、どの物語もソフトウェアの不具合をテーマにしている。文章の内容は平易で、プログラマ初心者にもわかりやすく、しかしながら示唆に富んでおり、経験が浅いプログラマであれば「なるほど」、経験が深いプログラマであれば「あるある」とどちらも頷きながら読み進めていけるはず。 それぞれの物語は2ページ程度でとても短く、何かの合間にも少しずつ読み進めていける。出来る限りコンパクトに話を収めようという気持ちで書かれていることが文面から伝わり、とても好感が

                                                                                  『ZERO BUGS』を読んだ - r7kamura - Medium
                                                                                • Includable YAML - r7kamura per second

                                                                                  YAMLの定義内で別のファイルに書いたYAMLを参照出来るようにしてみた。 YAMLに加える変更 YAMLの各要素には任意のタグを埋め込むことができ、またその振る舞いを定義出来る。 # test.rb require "yaml" YAML.add_domain_type(nil, "include") do |type, val| YAML.load_file(val) end # 折角なので再度YAMLに加工して出力してみる puts YAML.load_file("api.yml").to_yaml Includeする側 例えば、レシピデータを返すREST APIの仕様をYAMLで定義するというユースケースを考える。 レシピのスキーマをrecipe.ymlに書いて、各APIから定義を使い回すことにする。 # api.yml /recipes: GET: response: array