タグ

ブックマーク / blog.kyanny.me (49)

  • TECH STAND #9 GitHub #tech_stand - @kyanny's blog

    standfm.connpass.com 同僚が発表するのと、PLAID 社のカスタマーサポートが対応する問い合わせチケットもGithubのissueを使っています。というのが気になってオンライン視聴した。来週の RubyKaigi の予行演習(自宅で座ってオンラインストリーミングの発表を聴き続ける練習)も兼ねた。 発表① How GitHub uses GitHub speakerdeck.com Codespaces は最近個人開発でよく使うようになったがカスタマイズの類は一切手を出してないのでポインタとしてよかった。 GitHub Flow が「マージ前にデプロイ」なのは面らった、という話はGitHub flow では Pull Request をマージする前に production デプロイする - @kyanny's blogで書いた。 speakerdeck.com 発表②

    TECH STAND #9 GitHub #tech_stand - @kyanny's blog
    aki77
    aki77 2022/09/02
  • Rails と時刻 - @kyanny's blog

    時刻の扱いは難しい。タイムゾーンを跨ぐと格別に難しい。 Rails を使っていても難しさに変わりはない。むしろ時刻のやっかいな部分を隠蔽してくれるが故に余計にややこしくなることもある。 config.time_zone と config.active_record.default_timezone Rails アプリケーションで時刻を司る代表的な設定値は config.time_zone と config.active_record.default_timezone だ。いずれも config/application.rb で設定できる。詳細は Ruby on Rails Guides: Configuring Rails Applications 参照。 config.time_zone でアプリケーションのタイムゾーンを設定する。デフォルトでは UTC になる。日向けのウェブサイトで

    Rails と時刻 - @kyanny's blog
    aki77
    aki77 2018/05/20
  • GitHub のメール通知を見直した - @kyanny's blog

    流量の多いリポジトリを Not watching にするだけではさすがに絞りが甘すぎたので、もう一段絞った。 ポリシーを変えたポイントは Pull Request は mention の有無にかかわらず全て通知を受け取っていたが、流量も内容も流し読みするのは無理になったので、見るのを諦めた 浮いた時間を Pull Request を能動的に見にいく時間にあてたい mention されていないイシューコメント等も同様なので、見るのを諦めた その代わり mention されているものを見落とさないようにしたい カスタマイズしたのは GitHub の Notification settings で以下を変更 Watching の Email 通知をオフにした Participating のみ通知を受け取る Email notification preferences の Pull Request

    GitHub のメール通知を見直した - @kyanny's blog
  • Atom実践入門 - @kyanny's blog

    著者の id:tomoya さんからをいただきました。ありがとうございます。 d.hatena.ne.jp 宣伝に偽りなし。 Atom の操作方法から内部構造まで丁寧かつ徹底的に解説した一冊だ。 Chrome DevTools しかり、 Web Components しかり、 2016 年に書籍で読む価値のある Web 技術の話であり、それぞれ単体で一冊のになってもおかしくないトピックだ。それをテキストエディタの解説書でカバーしてしまう発想には脱帽する。 題のテキストエディタの解説部分も抜かりない。まず目次からしてひと味違う。操作の名前(日語)と対応するコマンド名(英語)が併記されているので、目当ての操作を見つけたらコマンドパレットにコマンド名を入力してすぐに使うことができる。さらに各項目の解説ページにはそのコマンドを呼び出すデフォルトのキーバインドも掲載されているので、メニューか

    Atom実践入門 - @kyanny's blog
  • 最近の英語 - @kyanny's blog

    細々とやっている。 HiNative 「Lang-8 + Quora でしょ?斬新なアイデアとはいえないね」なんて思ってたけど暇つぶしにやってみたら思いのほか面白かった。日語ネイティブの日人だからといって日語の正しい使い方に詳しいわけではないが、幸い調べるのには苦労しないのでだいたいの質問には余裕で答えられ「俺つえー」感を手軽に味わえるのがやみつきになる。自分から英語の質問は全くしないので当に暇つぶし。 Skype英会話 会社の福利厚生制度で指定の Skype 英会話の受講料を補助してくれるようになった(所定のノルマクリアが条件)ノルマがけっこう厳しいのでサボり防止に良さそうだが、 Skype 英会話が好きじゃないのでやっていない。そもそも知らない人と喋りたくない、自宅で他人と喋りたくない、何より予約という行為が嫌い、などネガティブポイントが多い。 Misterduncan と P

    最近の英語 - @kyanny's blog
  • Ginza.rb で Quipper のシングルページアプリケーション開発について発表しました - @kyanny's blog

    ginzarb.doorkeeper.jp Ginza.rb 第26回 シングルページアプリケーションのためのRailsJavaScript フレームワーク という勉強会で、 Quipper で JavaScript (CoffeeScript) と Rails によるシングルページアプリケーション開発をどうやっているかについて発表しました。お声がけいただいた @willnet さん、 Ginza.rb のみなさま、ありがとうございました。 発表で使った資料はこちらです。 Backbone, Chaplin, Marionette そして React - Quipper における Single Page Application 開発の変遷 もともと YAPC::Asia の CFP に応募して落選したネタだったのだが、ある意味で自分がこの 2 年間やってきた仕事の集大成ともいえる内容だっ

    Ginza.rb で Quipper のシングルページアプリケーション開発について発表しました - @kyanny's blog
  • livedoor Reader 終了に寄せて: Fastladder オープンソース版は GitHub で開発継続中です - @kyanny's blog

    【重要】 livedoor Reader サービス終了のお知らせ|livedoor Reader 開発日誌 livedoor Reader が 2014年12月25日(木) をもってサービスを終了します。自分でも永らく使っていたし、個人的に縁も思い入れもあるサービスなのでとても残念です。 Twitter で fastladder を検索 して眺めていると、やはりというか LDR 終了で移行先を探している方が多数いるようです。候補としてオープンソース版の Fastladder のセルフホストを検討している方もそれなりにいるようですが、 http://fastladder.org/ja/ のほうをみて「ずいぶん古そうだし、メンテナンスされてる気配もないからダメかな...」と諦めているつぶやきをみかけたので、ちょっとアナウンスを。 http://fastladder.org/ja/ のソースコー

    livedoor Reader 終了に寄せて: Fastladder オープンソース版は GitHub で開発継続中です - @kyanny's blog
  • クライアントサイド JavaScript (AltJS) のテストを書くのは本当に難しいのか? - @kyanny's blog

    TL;DR - 最初の一人はつらいけど後続はそうでもないので先駆者は自覚と誇りを持ってオールグリーンを維持しよう このエントリはMarionette.js ベースで3ヶ月開発したアプリのカバレッジ推移をまとめてみた - @kyanny's blogというエントリの続きにあたります。未読の方は先にそちらを一読されることをおすすめします。 Marionette.js ベースで3ヶ月開発したアプリのカバレッジ推移をまとめてみた - @kyanny's blogの結論で触れたように、今回テストを書くことにこだわったのは、「クライアントサイド JavaScript (AltJS) のテストを書くのは当に難しいのか?」という問いに対する自分なりの回答を実践して検証してみたかったという理由があったからだ。 以前から「クライアント JavaScript (CoffeeScript や他の AltJS を

    クライアントサイド JavaScript (AltJS) のテストを書くのは本当に難しいのか? - @kyanny's blog
  • Marionette.js ベースで3ヶ月開発したアプリのカバレッジ推移をまとめてみた - @kyanny's blog

    6月の頭から3ヶ月ほどかけて、 Rails + 一部 jQuery 的なよくある構成のウェブアプリケーションのフロントエンド部分を Marionette.js をベースに作りなおした。メンバーはいわゆるウェブ系のスキルセットを持つ開発者3名。 Marionette.js の経験者は一人もいなかったが、別プロジェクトが先行して Marionette.js を採用して同様のリニューアルを終えたタイミングで、ある程度のノウハウと「なんとかなりそう」という手応えはあった。 せっかく新しくはじめるのだからちゃんとテストを書きたい、そしてカバレッジも計測したいと思い、先行していたプロジェクトで利用していた konacha ではなく、カバレッジ計測機能をもつ teaspoon を採用した。どちらも Rails アプリの assets に置かれる JavaScript/CoffeeScript に対するテ

    Marionette.js ベースで3ヶ月開発したアプリのカバレッジ推移をまとめてみた - @kyanny's blog
  • Atom.io に乗り換えられなかった - @kyanny's blog

    きっかけは些細なことだった。 Emacs で RSpec のテストケースを書いていて、全体的に動作がのろくてイライラさせられた。どうやら ruby-mode だか ruby-electric だかが悪さをしているらしいが、何年も前に .emacs.d に放り込んだもので、どんな風に設定するのかも覚えていない。最新バージョンに入れ替えてみたら、手元でちょろっとカスタマイズしていた改行時のオートインデントだか何かの挙動が変わってしまい、気になってコーディングどころではなくなった。 もともと Emacs Lisp は読むのも書くのも苦手で嫌々ながらも騙し騙し付き合ってきたが、このときばかりは心底うんざりして、もうこんな古代のツールに頼るのはやめにしよう、自分の仕事は高度に知的な作業であるはずのプログラミングであって多彩で変態的なキーボード操作を駆使してテキストを編集しまくることではない、ならばも

    Atom.io に乗り換えられなかった - @kyanny's blog
  • Book: JavaScript Ninjaの極意 ライブラリ開発のための知識とコーディング - @kyanny's blog

    jQuery の John Resig (とテキサス在住の白ひげのおじさん)が書いた JavaScript の中上級者向けの。タイトルと表紙の奇抜さが気になって読んでみた。 独特すぎて評価が難しい。独自の assert 関数を全てのサンプルコードの実行結果に使うのにはおどろいた(console.log でいいじゃん)。全体的に、一般的でない手法を採用していて異質な印象を受けた。「関数的」とか、用語も奇妙。仕事で必要なので JavaScript を習得したいという人には薦めない。高度な内容も少なくないが、そういうトピックは Effective JavaScript を読めばいい。 独特なのは意図したもののようにも感じられた。一般的なプログラミングの専門書(実用書)と比べるとセオリーに沿っていないように感じられる部分が多いが、逆に言えば「お約束」に頼っていないということ。十分な前提知識を持

    Book: JavaScript Ninjaの極意 ライブラリ開発のための知識とコーディング - @kyanny's blog
  • Chromecast SDK で画像を一枚表示する最小限のサンプル - @kyanny's blog

    Chromecast を買ったので SDK で遊んでみた。 Happy casting! https://dl.dropboxusercontent.com/u/4289117/cast/sender.html ソースコードはこちら https://github.com/kyanny/chromecast-demo/tree/master Google Cast 拡張をインストール済みの Chrome ブラウザで上記のページを開くと、キャストするデバイスを選ぶウィンドウがポップアップする。デバイスを選ぶと我が家のの写真が表示されます :) デモ動画その1: Sender アプリケーション側。右側にあるのは Chrome DevTools のコンソールで、デバッグ用に仕込んだ console.log が流れている(なんか映像がボケてて見づらいけど...) デモ動画その2: 上記の操作をした

    Chromecast SDK で画像を一枚表示する最小限のサンプル - @kyanny's blog
  • git-prune-remote-branch が gem になりました - @kyanny's blog

    以前 git-prune-remote-branch というものを作ったのですが(どういうものかはリンク先参照)、 あれ、git-prune-remote-branchってgemになってないんだっけ。— 北市真 (@KitaitiMakoto) May 2, 2014 というリクエストがあり、 @KitaitiMakoto あ、 gem にし終わったら教えてください— Kensuke Nagae (@kyanny) May 2, 2014 と丸投げしてみたら、 おれがやんのかw— 北市真 (@KitaitiMakoto) May 2, 2014 という流れのあと、 Gemify by KitaitiMakoto · Pull Request #2 · kyanny/git-prune-remote-branch https://github.com/kyanny/git-prune-rem

    git-prune-remote-branch が gem になりました - @kyanny's blog
    aki77
    aki77 2014/05/04
  • Single Page Application ではない場合 JavaScript コードのエントリポイントはどこにあるべきか? - @kyanny's blog

    仕事で中規模程度の Rails アプリケーションのコードベースをいじっている。このアプリはもともと app/assets/javascripts 以下に必要に応じて JavaScript ファイルを置き、適当なテンプレートファイルから直接 JavaScript の関数を呼び出したりしていた。ごく普通の Rails アプリである。 このアプリは CMS で、いわゆる「ブログの管理画面」みたいな用途で使われている。一部の機能はそれなりに込み入った UI 操作を必要としページ遷移なしに操作できる必要があるが、旧来のやり方では JavaScript コードの管理が間に合わなくなってきたので部分的に Backbone.js を導入し始めている。 最近悩んでいるのが、 Backbone.js なコードのエントリポイントをどのように呼び出すべきなのか?ということ。そもそも自分が Backbone.js

    Single Page Application ではない場合 JavaScript コードのエントリポイントはどこにあるべきか? - @kyanny's blog
  • Increments は和製 GitHub の夢を見るか? - @kyanny's blog

    Quipper では日オフィスの開発者を中心に、 Qiita::Team を導入して社内のドキュメント共有を行なっている。書かれる内容は日報が多いが、技術 Tips の共有やチャットでは適切でない込み入った技術的問題を解決する議論の場としても活用している。 なぜわざわざドキュメント共有?ていうか日報書くなんてダサすぎじゃね?そう思ったあなた、日報を見くびっちゃいけません。上手に運用すればナレッジシェアやコラボレーションのみならず、チームビルディングにも役立つんです。 上手に運用された日報には前例がある。ペパボの社内 SNS であるタンパクがそれだ。毎日スタッフ全員が日報を書くきまりなのだが、来の目的である業務内容の記録以外に一言コメントを書く欄がある。定型文で済ます人もいればブログ並の長文を書く人もおり(それはわたしです!)、これがそこらの SNS なんかよりよっぽど面白いコンテンツな

    Increments は和製 GitHub の夢を見るか? - @kyanny's blog
    aki77
    aki77 2013/08/02
  • curl(1) で POST する際の --data と --form の違いについて - @kyanny's blog

    調べてみた。動作確認用のサーバは plackup で立てている。 app.psgi の中身は一番最後に。 --data (-d, --data-ascii) application/x-www-form-urlencoded 形式で POST する。 @/path/to/file のように value の先頭が @ ではじまっているとファイルを読み込んで改行文字を取り除く。パラメータや @ つきで指定したファイルの中身はすべて URL エンコードされていることが期待される。つまり curl(1) は URL エンコードしてくれない。 -d を複数回指定するとすべてのパラメータが & で連結される。 @ でファイルを指定する場合、 -d 'file=@sale.txt' のようにすると中身が展開されないので注意 (file=@sale.txt という文字列が渡される) $ curl -d '

    curl(1) で POST する際の --data と --form の違いについて - @kyanny's blog
    aki77
    aki77 2013/07/30
  • ルーク、 MongoLab を使え! - @kyanny's blog

    五月の終わりから Quipper で働いている。 Quipper は DeNA の co-founder である渡辺雅之氏がロンドンで創業したモバイル学習プラットフォームの会社で...みたいな話は長くなるし、読者の興味を引きそうにないのでやめておく。このへんの話を詳しく知りたい人は渡辺によるハーバード・ビジネス・レビューの連載をどうぞ。 ソフトウェア開発者にとって一番気になるのは、会社の事業内容とか売上利益よりも、「どんな環境でソフトウェア開発をしているのか」じゃないだろうか。どんなインフラを使っているのか、バージョン管理やタスク管理はどうしているのか、自動テストはどのくらいやっているのか、開発手法はアジャイルなのか、 Mac で開発できるのか、椅子は六万円以上か(冗談ですよ)、などなど。 こういった、ソフトウェア開発者が日々過ごす広義の「環境」について言えば、 Quipper はかなりい

    ルーク、 MongoLab を使え! - @kyanny's blog
  • Redis の maxmemory-policy について - @kyanny's blog

    Redis をキャッシュストレージとして利用する場合、 maxmemory によって利用可能なメモリの最大値を指定できる。 maxmemory の値を超えるデータの追加が発生した場合の振る舞いを maxmemory-policy によって指定できる。デフォルトの maxmemory-policy は volatile-lru で、 LRU アルゴリズムに従って古いキーの値が優先的に破棄される。 maxmemory-policy は数種類から選べるが、そのうち noeviction を選んだ場合、古いキーの値は破棄されず、新規追加はエラーとなる allkeys-lru または allkeys-random を選んだ場合、 expire の有無に関わらず、全てのキーの中から破棄対象が選ばれる その他を選んだ場合、 expire がセットされているキーのみが破棄対象となる という違いがある。実装

    Redis の maxmemory-policy について - @kyanny's blog
    aki77
    aki77 2013/05/27
  • rbenv のメカニズム - @kyanny's blog

    rbenv 環境下で実行された Ruby プログラムの中から他の Ruby プログラムを起動するときに、 rbenv 環境をリセットしたい―要するに別のバージョンの Ruby で外部プログラムを実行したい―という事情があったので rbenv のメカニズムについて調べた。 rbenv 環境下で ruby コマンドを実行するとき、実際にコンパイルされた ruby バイナリが直接実行されているわけではない。 rbenv 環境をお膳立てした上で ruby バイナリを exec するラッパーのシェルスクリプトが実行される。こういうものを binstub と呼ぶ。 binstub である ruby という名前のシェルスクリプトの中身をみてみると、最終的に rbenv exec というサブコマンドを呼び出している。 rbenv のサブコマンドはリポジトリでいうと libexec ディレクトリ以下にある。

    rbenv のメカニズム - @kyanny's blog
    aki77
    aki77 2013/05/25
  • markdown-highlight-mode.el - @kyanny's blog

    UPDATE id:syohex told me that the forked version of markdown-mode is hosted on github and fixed some bugs including weird behaviour of dabbrev-expand. I checked it and confirmed it works correctly. I strongly recommend to use it instead of my poor implementation. https://github.com/milkypostman/markdown-mode Markdown is popular markup language today. Many web sites support markdown such as GitHub

    markdown-highlight-mode.el - @kyanny's blog