タグ

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

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

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

    peketamin
    peketamin 2018/04/15
  • 2017年振り返り - r7kamura - Medium

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

    peketamin
    peketamin 2018/01/08
  • Gyazo の Web API の設計変更 - r7kamura - Medium

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

    peketamin
    peketamin 2017/12/25
  • 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 のサーバサイドの実装には、プログラミング言語の観点で見ると RubyGoJavaScript などが

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

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

    作業用に曲面ディスプレイを導入 - r7kamura - Medium
    peketamin
    peketamin 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

    peketamin
    peketamin 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

    peketamin
    peketamin 2017/09/23
  • 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
    peketamin
    peketamin 2017/06/06
  • チャットボットフレームワーク Ruboty を振り返る - r7kamura - Medium

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

    チャットボットフレームワーク Ruboty を振り返る - r7kamura - Medium
    peketamin
    peketamin 2017/05/25
    “HomepageSign up ”
  • 1