タグ

ブックマーク / r7kamura.hatenablog.com (19)

  • 最終掲示板戦争 - ✘╹◡╹✘

    こんにちは、r7kamuraです。26年なにも考えずに生きてきて、レールに沿った人生を歩んできました。 さて、数日前からなんとなく気が触れてRuby on Rails掲示板をつくってみている。上の画像はいまつくりかけのもの。CSS全部手で書いてみてるからまだ見てくれがかなりショボい。最初に手を動かしはじめたきっかけは、2007年頃に「Railsを使って15分で掲示板をつくってみよう!」という記事を見たのを思い出したのがきっかけ。いまのところ10時間ぐらい経過している。15分はちょっと無理そう。2016年にもなって10時間以上かけて掲示板つくってるのは皮肉すぎる事実。もはや何故掲示板をつくっていたのか分からなくなってきつつある。とりあえず濁り切らない内に考えていることを書いておく。最近なんで掲示板つくってんのって聞かれることが増えてきたので、そのときにこの記事のURL出せると多分便利。 掲

    最終掲示板戦争 - ✘╹◡╹✘
    kamipo
    kamipo 2016/09/29
  • リモートワークの地味な知見 - ✘╹◡╹✘

    華やかなところはまあググれば出てくるんで、地味なところに触れる。 日報にまとめておく リモートワーク中は、毎朝10:10 - 10:20の間、Google+ ハングアウトのビデオ通話を利用して進捗・問題共有しているんだけど、慣れてないと共有過多で時間が長くなりがち。8人居て、1人5分とかになると重い。いま取り組んでいる実装の話とかを始めてしまったり、あと会議参加者に対して「これどうですかね?」と質問する内容が含まれていたりすると、特に時間が長くなりがち。この辺は、事前にQiita:Teamの日報に前日やったことや翌日やることをまとめておいて、詳しくは日報に書いたんで見てくれという風に改善されたりした。日報、リモートワークで特に役に立つ。では日報を書いておけばミーティングは不要になるのではないかという話になるかもしれないが、この先は君の目で確かめてくれ。 情報の倍率を変えられるようにしておく

    リモートワークの地味な知見 - ✘╹◡╹✘
    kamipo
    kamipo 2014/12/08
    「この先は君の目で確かめてくれ」
  • 他のホストのコンテナに接続するパターン - ✘╹◡╹✘

    他のホストDockerコンテナには接続しづらい 1つのホストの上で複数のDockerコンテナを動かす場合、あるコンテナからあるコンテナに接続するためにはコンテナに付けた名前が利用できる。具体的には、コンテナの名前をもとにDockerが環境変数を提供してくれて、そこにアドレスとポート番号が入っている。しかし、複数のホストの上で複数のDockerコンテナを動かす場合、他のホストで動作しているコンテナに接続したいのであればこの方法は利用できない。単純に接続先のホストのアドレスとポート番号をコンテナ起動時に指定する方法もあるが、この方法では他のホストに接続する全てのコンテナに対して逐一指定する必要がある。 ホストごとにリバースプロキシを置く 他のホストのコンテナへ接続するためのリバースプロキシとなるコンテナを各ホストごとに設置する。これにより、他のホストのコンテナに接続したい場合でも、あたかもコ

    他のホストのコンテナに接続するパターン - ✘╹◡╹✘
    kamipo
    kamipo 2014/08/09
  • リゾートワーク - ✘╹◡╹✘

    1週間ほど休みとって沖縄旅行いってきた。 快適な空の旅 同乗者と空港でゆっくり朝ごはんべてたら普通に飛行機もう飛んじゃっててウケた。 ギークハウス沖縄 2日間泊めてもらったり近場の飯屋に連れて行ってもらったりとにかくお世話になった。 台風で落ちてきたココナッツ割ってべた。 屋上の見晴らしが良くて羨ましい。 東京に来る機会があれば卓球ハウスに是非。 レール 那覇空港から首里城付近まで、ゆいレールというモノレールが通っているので初日は主にこれで移動。 700円で24時間のあいだ乗り放題で重宝した。 主要なところしか通っていないのでモノレールだけでは行けないところもあるけど、 特にめっちゃここに行きたいみたいな願望は無くて漠然と沖縄吸いたいという感じだったから、 むしろレールが引いてあって便利だった。 首里城 観光地にしてはそこまで観光色が強くなくて印象が良い。 城壁 城壁好きなので一周出来

    リゾートワーク - ✘╹◡╹✘
    kamipo
    kamipo 2014/07/18
    (゚A゚;)ゴクリ
  • scheman-rails - ✘╹◡╹✘

    沖縄開発合宿2日目: Rails用のDBスキーマ管理ツール scheman-rails を開発した。 使い方 db/schema.sql に理想的なスキーマをSQLで記述する rake db:schema:diff で現在のDBのスキーマとの差分を確認する rake db:schema:apply でSQLを適用して差分を埋める 基的にはこれの繰り返しで、開発者は理想的な db/schema.sql を保つことに集中していれば良いという世界観。 DBスキーマどういう構成だったったっけという場合にもこのファイルを見れば良いのでちょっと楽。 導入時に既にDBが存在するときは、いちいちdb/schema.sqlを書くのはだるいので適当に mysqldump --no-data --compact の結果を貼り付けとけば良いかもしれない。 解決されそうな問題 この辺が解決できそう。 複数ブランチ

    scheman-rails - ✘╹◡╹✘
    kamipo
    kamipo 2014/07/15
  • scheman diff - ✘╹◡╹✘

    https://github.com/r7kamura/scheman 旅行を兼ねて沖縄に開発合宿に来ているので、1日目の成果を書き出しておく。 目的 Webアプリの開発フローで次のような状態を実現したい。 DBの変更のたびに変更用のSQLやMigrationファイルを人間が書かなくて良い migrationファイルを書く代わりに人間はスキーマを編集する スキーマはSQLで記述できる (DSLの使用を強制されない) SQL以外の言語でも記述できる (DSLを使用しても良い) 方針 次のような実装を試みた。 SQLを構文解析してスキーマデータに変換する (解析器は事前に実装済み) 適用すべきSQLを2つのスキーマデータの差分から自動で計算する SQL以外の解析器も作成可能に scheman diff scheman diffというコマンドを実装した。 これは変更前後の二つのスキーマの差分を標

    scheman diff - ✘╹◡╹✘
    kamipo
    kamipo 2014/07/15
  • Give me JSON, plz - ✘╹◡╹✘

    https://github.com/r7kamura/plz 13日の金曜日ということで、JSON Schemaを読み込んで動作するCLI HTTP Clientをつくった。 手元にschema.jsonかschema.ymlがあればそこに定義されてるコマンドが使える。 $ gem install plz $ curl tqchain.herokuapp.com > schema.json $ plz list user サンプルで tqchain.herokuapp.com というAPIサーバをHerokuに置いてみてる。 schema.jsonを返すAPIも生やしているので、それを手元に持ってきてplzでAPIを叩いている。 APIサーバの実装はここ https://github.com/r7kamura/tqchain

    Give me JSON, plz - ✘╹◡╹✘
    kamipo
    kamipo 2014/06/17
  • 全てがJSONになる - ✘╹◡╹✘

    TL;DR JSON Schemaを使ってこういうことが実現可能になった。 ダミーAPIサーバの提供 ドキュメントの自動生成 APIクライアントの動的定義 APIサーバのバリデータの動的定義 APIサーバのレスポンスの自動テスト JSON Schemaとは JSON SchemaというのはあるJSONのデータ構造を記述するための方法および書式の仕様で、 JSON SchemaもJSONで記述される。 これを利用すれば、リソースベースの(=RESTfulライクな)APIの仕様が簡便に記述できる。 例えば、我々のAPIレシピとユーザというリソースを扱っていて、 それぞれCRUDのAPIを備えており、レシピはidとtitleとdescriptionという属性を持つ、 という旨をJSON Schemaで表現できる。 なんで最近ちょっと流行ってんの Mobile First、 Service Or

    全てがJSONになる - ✘╹◡╹✘
    kamipo
    kamipo 2014/06/10
  • Chronoつくった - ✘╹◡╹✘

    * * * * * T T T T T | | | | `- wday --- 0 .. 6 | | | `--- month -- 1 .. 12 | | `----- day ---- 1 .. 31 | `------- hour --- 0 .. 23 `--------- minute - 0 .. 59 https://github.com/r7kamura/chrono Rubycron形式の構文を利用するために、Chronoというライブラリをつくった。開発動機はRubotyというHubotクローンで利用するためで、チャットからcron形式でジョブを登録することで定期的に発言をしてくれるような機能をつくろうと考えてた (こういうやつ)。 既存のもの clockwork - A clock process to replace cron rufus-scheduler - J

    Chronoつくった - ✘╹◡╹✘
    kamipo
    kamipo 2014/04/20
    クロノトリガー
  • Railsアプリつくった - ✘╹◡╹✘

    最近APIサーバ用途でRailsアプリを1個つくったので振り返る。 概要 接続元はiOSやAndroidアプリとか、Webブラウザとか、別のWebアプリケーションとか。1ホストあたり秒間数百リクエスト、平均応答時間10msぐらい。Rails 4.1.0.rc2、Unicorn、Nginxを使ってる。正直Railsは全部入りで重いイメージがあったので何となく平均50ms以内程度であれば良いところだろうと思ってたけど、意外と速い。多分そもそもサーバの性能が良いんだと思う。実装時に気を付けたことは普段の開発と特に変わりない。いつもは大勢でワイワイ開発するものに少し手を加えるということが多いんだけど、今回は珍しく自分一人でつくったから目が行き届いてたのかもしれない。DBへの問合せの効率に気を配るとか、Rubyでの処理の無駄を省くとか、アプリケーションのプロセスに無駄なコードを読み込ませないとか、計

    Railsアプリつくった - ✘╹◡╹✘
    kamipo
    kamipo 2014/04/06
  • 体育の日って高速に唱えるとテストの日に聴こえる - ✘╹◡╹✘

    テスト書きすぎ問題 - hitode909の日記 階層が増えるとテストが増える - はこべブログ ♨ テストと対応関係 - $shibayu36->blog; 最近書いているWebアプリは、HTTPリクエストを送ってレスポンスと状態をテストする、というテストだけ書くようにしてる。リクエストするとブログエントリを返す、というサービスだとこういう風なテストを書いてる。(HTMLを返すようにすると話が広がって説明が面倒なのでJSONを返すAPIで説明する) describe "Entry resource" do let(:params) do {} end let(:env) do { "HTTP_AUTHORIZATION" => "Bearer: #{access_token.token}" } end let(:access_token) do AccessToken.make(user

    体育の日って高速に唱えるとテストの日に聴こえる - ✘╹◡╹✘
    kamipo
    kamipo 2013/10/15
  • 卓球ハウスに引っ越した - ✘╹◡╹✘

    友人と一軒家を借りて引越した。 3月頃からインターネットから人が集まって物件を探し始め、 5月頃に物件が決まり部屋の退去届を出すも物件がキャンセルされ住む場所が無くなり、 ちょっと高いけど良さ気な物件を見付け、もうこれ以上良い物件は出ないだろうということで6月に契約を進めて先週末に引越した。 地下室とか屋根裏とか面白スペースがあってめっちゃいい。 引越し初日にはインターネットの方から人間が沢山やってきて、蕎麦粉と綿棒と秒速5cmを差し入れて頂いた。 引越し初日でまともな包丁が無かったのでMacbookAirで蕎麦を切った。 住人間で家の情報をまとめるのにGitHubを使ってみてる。 ウォーターサーバー欲しいとか家賃徴収とかのIssueをどんどん登録して、適当にラベリングしたりMilestone作ったりして遊んでる。 家計簿を取るのにはZaimを調べてみたものの、複数人での管理が難しくて結局

    kamipo
    kamipo 2013/07/02
    ぼくの年収だとこんな家住めない
  • RailsのView開発用にViewSourceMap.gemつくった - ✘╹◡╹✘

    @todesking氏のRails、レンダリングされたHTMLのどこがどのpartialから来たのかをコメントとして埋めるが良かったので、完全にパクって、改良して相対パス名表示するようにして、config/initializers/以下に置いたら開発環境でのみ働くようにしてみた。ここのテキストちょっと弄りたいけどどのファイルに書いてあるの...みたいなケース多いので、ChromeのInspectorとかで見たらHTMLコメントでファイル名分かって便利。render layout: "wrapper" do ... という風にrenderを呼んだときに上手くパス名を取得する方法が分からないので、どなたかよろしくお願いします。 @miyagawa gemified :) http://t.co/A3LSJFC1— r7kamura (@r7kamura) December 4, 2012 ht

    kamipo
    kamipo 2012/12/05
  • Webtail - ✘╹◡╹✘

    https://github.com/r7kamura/webtail 昨日ブログに書いたものをつくった。 使い方 標準入力を受け取ってブラウザに出力する。 $ gem install webtail $ tail -f log/development.log | webtail 拡張 ~/.webtailrc にJavaScriptを書けば、1行出力されるたびにそのコードが実行される。 var line = $('pre:last'); var text = line.text(); // Change empty line to border with lime color if (text == '\n') { line.css({ margin: '3em 0', height: 1, background: 'lime' }); } // Change SQL lines to

    kamipo
    kamipo 2012/08/06
  • エンタープライズ開発の裏側 - ✘╹◡╹✘

    厳しいコードレビュー エンジニアのレビュー疲れ

    kamipo
    kamipo 2012/07/06
  • 僕の中でのコードレビューのイメージ - ✘╹◡╹✘

    最近社内でのコードレビューが楽しいです。 レビューする人 レビューされる人

    僕の中でのコードレビューのイメージ - ✘╹◡╹✘
    kamipo
    kamipo 2012/04/20
    コードレビューすごい
  • はてなブログの記事をスライド表示するやつ作った - ✘╹◡╹✘

    記事下部の"Slide"をクリックすればスライド表示できる。 これは何? はてなブログの記事をスライド表示するやつ どこにあるの? https://gist.github.com/1653521 どう使うの? サイドバーにscript要素で追加して使う 見出し記法(*)ごとに1枚のスライドになる 見出し記法を使っているエントリに開始ボタンが付く なぜ作ったの? JavaScriptパターン読んだので何となく スライドすぐ作れると良さそう どういうときに使うの? 研究室の週1のミーティングで使っているよ 工夫したところは? ブログのデザインを極力そのまま利用する 下にはみ出た場合もスクロールできる スライドに関係無い要素を非表示にしていく実装とか hideOutside: function() { this.sections.siblings().not(this.selectors.sec

    はてなブログの記事をスライド表示するやつ作った - ✘╹◡╹✘
    kamipo
    kamipo 2012/02/06
  • 開発中に求めること - ✘╹◡╹✘

    7月1日にCookpadにインターンとして参加してから1週間が経過した。「インターンに参加する」では齟齬があり、「インターンとして参加する」が最もしっくりくる雰囲気。ここでは時間が過ぎていくのが速すぎて恐ろしい。月と太陽まで高速なサイクルを回さなくてもいいのに。 今まではてなで働いた経験しかなかったけど、今回クックパッドで働いた経験が1週間貯まった。これまでは「はてなだからこうしているのかもしれない」という捉え方しか出来なかったけど、この時点で「ああどこも共通してこうなっているのかも」という視点に立って考えることが出来る状態になった。その視点から考えてみて、幾つかの共通する意見が明確になってきた。 学習コスト Cookpadの開発は、途中からJoinしやすい環境が整っていた。Railsを採用しているところは特に、内製フレームワークに対する理解の為の学習コストが発生することなく、開発に取り掛

    開発中に求めること - ✘╹◡╹✘
    kamipo
    kamipo 2011/07/26
  • httpd.confについて調べたのでまとめたよ - とある技術の備忘録

    最近学科の友人3人とサーバ/セキュリティについての勉強会を週1で行っていて、毎回何か調べてくることになっており、今回は apache の設定について少し調べてきました。初心者がまとめたので間違っている部分があるかもしれませんが、勉強の役に立てて頂ければ幸いです。 httpd.confはどこにある? 最小限のhttpd.conf 3つのセクション セクション1: GlobalEnvironment セクション2: MainServerConfiguration セクション3: VirtualHosts モジュールの追加 外部設定ファイルの読込み サーバリソースの監視方法 httpd.confはどこにある? OSによって異なりますが、以下の階層に置いてある可能性が高いです。 CentOS、FedoraなどRed Hat系 /etc/httpd/conf/ SUSE系、MacOSX /etc/a

    httpd.confについて調べたのでまとめたよ - とある技術の備忘録
  • 1