タグ

ブックマーク / medium.com/@r7kamura (10)

  • 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 のキャッシュ

    invent
    invent 2018/04/08
  • ディスプレイアームを導入したら机が広くなって最高 - r7kamura - Medium

    自分の利用しているディスプレイは結構な重量があるので、それに耐えられるアームにしようということで、信頼のおけそうな製品を選ぶ方針に。このディスプレイには背面に 100 x 100 mm のネジ穴が用意されているので、耐荷重・可動域を考慮して、結果的にエルゴトロン MX を選択。他社の製品よりも比較的微調整が行いやすく、重厚感のある見た目が好印象だった。 様子まず以下が導入前の様子。

    ディスプレイアームを導入したら机が広くなって最高 - r7kamura - Medium
    invent
    invent 2018/03/18
  • Gyazo の Web API の設計変更 - r7kamura - Medium

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

    invent
    invent 2017/12/26
  • 作業用に曲面ディスプレイを導入 - r7kamura - Medium

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

    作業用に曲面ディスプレイを導入 - r7kamura - Medium
    invent
    invent 2017/11/15
  • 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

    invent
    invent 2017/11/11
  • 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

    invent
    invent 2017/09/23
  • 『アイソモーフィックJavaScript』を読んだ - r7kamura - Medium

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

    invent
    invent 2017/09/10
  • 『ZERO BUGS』を読んだ - r7kamura - Medium

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

    『ZERO BUGS』を読んだ - r7kamura - Medium
    invent
    invent 2017/06/09
  • 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
    invent
    invent 2017/06/06
  • チャットボットフレームワーク Ruboty を振り返る - r7kamura - Medium

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

    チャットボットフレームワーク Ruboty を振り返る - r7kamura - Medium
    invent
    invent 2017/05/26
  • 1