タグ

ブックマーク / thinca.hatenablog.com (10)

  • builderscon tokyo 2018 に行ってきた - 永遠に未完成

    「知らなかった、を聞く」でおなじみ、builderscon tokyo 2018 に行ってきた。初参加! 行けば何か面白い話が聞けるだろうという感じで講演内容はあまり事前に確認してなかった。適当すぎた。 しかし期待を裏切らず、面白い話をたくさん聞けた。 個人的に特に興味深かったのが bokuweb さんの「ファミコンエミュレータの創り方」(発表資料)。若干の興味はありつつも自分でガッツリ調べるまでは行かない分野だったので、聞けてよかった。 また、今回わかったのは、いくら「知らなかった、を聞く」と言えども、基礎もまったくわかってない話を聞いても何もわからないということ。まあ当然なんだけど。 とあるセッションにうっかり間違えて入ったのだけど(スマヌ)、間違えたとは言え知らないから聞いてみるかって聞いてたけど全然わからなくてとてもつらかった…。他に移るにしてもほとんどの部屋は満席なので移動も困難

    builderscon tokyo 2018 に行ってきた - 永遠に未完成
  • ssh 越しにクリップボード共有したり URL 開いたりする lemonade の便利設定 - 永遠に未完成

    私は普段は Windows マシンから自宅サーバの Linux に ssh で接続して作業しており、端末内で作業が完結している間はいいのだけど、Web ブラウザはローカル側なので、URL を開いたりクリップボードのやりとりなどが面倒。 そこで便利なのが lemonade! GitHub - lemonade-command/lemonade: Lemonade is a remote utility tool. (copy, paste and open browser) over TCP. ssh 越しから URL を飛ばしてローカルでブラウザを開いたり、リモート側からローカルのクリップボードの読み書きができる。便利。 lemonade を使う上であれこれやったのでメモ。 port forwarding lemonade 作者の pocke さんはローカルマシン内で動いている仮想環境との

    ssh 越しにクリップボード共有したり URL 開いたりする lemonade の便利設定 - 永遠に未完成
  • master への push を禁止するローカル git hook の正しい書き方 - 永遠に未完成

    GitHub などで Pull Request ベースで開発をしていると、master には間違っても push したくないわけです。 GitHub 側には残念ながら master への push を禁止するような設定はできないので、仕方ないのでクライアント側の Hook で対応しようってことになり、この方法についてググるとこことかこことか、いくつか方法を紹介しているページが出てくるんですが、どれもやり方が間違っている*1ので、正しい方法を紹介。 何がまずいのか 上記に挙げた方法では、細かい部分は違ってたりするけど、git symbolic-ref HEAD を使って現在ブランチを見て、master だったら push を禁止する、という方法を取っている。 しかし、push はカレントブランチから行われるとは限らない。dev ブランチにいるときに git push origin maste

    master への push を禁止するローカル git hook の正しい書き方 - 永遠に未完成
  • 無料で使える CI サービス 8 個まとめ - 永遠に未完成

    CI サービスをいくつか触ってみたのでまとめ。 今回の目的は、テストを実行すること。なので、ビルドやデプロイ辺りはちゃんとは見ていない。 ドキュメントで確認しただけの項目などもあったりするので、間違っていたらごめんなさい。教えてもらえると助かります。 ただ、これは記事を書いた時点での比較で、今後のサービスの変更に対応する予定はないです。 触ってみたサービス一覧 アルファベット順。 AppVeyor CircleCI Drone IO Magnum CI semaphore shippable Travis CI wercker codeship ってのもあったけど、無料プランは月100ビルドまでとかで常用には耐えないと感じたので中身見てない。 機能比較 機能比較は全て無料プランでのもの。有料だと対応している場合でもここでは x にしている。 比較項目は私の独断と偏見で適当に選出した。 項目

    無料で使える CI サービス 8 個まとめ - 永遠に未完成
  • Vim でバイナリデータを扱う - 永遠に未完成

    Vim Advent Calendar 2013 の 128 日目の記事です。 Vim でバイナリデータを扱う方法についてのまとめです。 基礎知識 Vim script で扱える文字列は、C 言語の文字列と同じです。すなわち、'\0' 文字終端のバイト列です。これはつまり、NUL 文字が扱えないことを意味します。文字列でバイナリデータを扱おうとすると、ここでつまづきます。 文字列の配列 NUL 文字が扱えないなら、それを区切りとする文字列の配列で扱えばいいじゃない、ってことで、文字列の配列です。 Vim 体組み込みの readfile() と writefile() 関数では、これに少し手を加えて、改行文字区切りで配列にして、各文字列内の NUL 文字を改行文字にする形式が使われています。ちょっとややこしいですが、普段文字列は改行区切りで扱うことの方が多いので、こちらの方が都合が良いです

    Vim でバイナリデータを扱う - 永遠に未完成
  • git pull したときに自動で git stash save と git stash pop をする - 永遠に未完成

    なんか作業している時に最新版取ってきたいとき、git stash してから git pull してまた git stash pop するのダルいので自動でやる設定。 [rebase] autostash = true 設定の名前見るとわかるけど、rebase の時にも動く。当然 conflict した場合は手動の時と同じように対応が必要。 便利。

    git pull したときに自動で git stash save と git stash pop をする - 永遠に未完成
  • VimConf 2013 が開催されました - 永遠に未完成

    記事を書くのが遅くなりましたが、2013年11月16日、VimConf 2013 が開催されました。 私は今回、発表したくなかったのでスタッフという立場で関わらさせていただきました。色々勉強になりました。 さて、固いのは抜きにして、いつものゆるい感想書きまーす。 How to suggest new features for Vim - @kaoriya 資料: http://koron.github.io/vimconf2013/ いつもお世話になってる香り屋さんの発表。 いつものようにリハーサルなしとのことで、すごい。 Vim に限らず応用の効く話で、今後意識していきたい。 あと溜まってるパッチの投稿期待。 Evil is Justice. - @esehara 資料: http://www.slideshare.net/esehara/evil-is-justice-1 Emacs

    VimConf 2013 が開催されました - 永遠に未完成
  • git reset --hard HEAD を安全にした - 永遠に未完成

    昨日、git reset --hard HEAD してしまって大変なことになった話を書いた。私は普段これを cancel と言う名前に alias して使っている。 [alias] # 中略 cancel = reset --hard HEAD しかし前回のようなことがまたあってはたまらない。人間はミスするものだ。 alias があって実行しやすいのが問題なのだろうか? いや、割とよくする操作*1だし、alias しなくても使うだろう。 てことで、cancel が安全になるようにしてみた。 [alias] # 中略 cancel = !git commit -a -m 'Temporary commit for cancel' && git reset --hard HEAD~ 一旦コミットしてからそのコミットを消す。こうしておけば最悪 git reflog から元に戻せる。特にコミットす

    git reset --hard HEAD を安全にした - 永遠に未完成
  • Git で変更されたファイルを簡単に無視する設定 - 永遠に未完成

    管理下に置かれてるんだけどなぜか無駄に変更されてしまうファイルというのがたまにあって、まあ管理方法見直せという話もあるんだけど、それも叶わない場合、そういうのは無視したい。 その方法についてはこの記事が詳しいのだけど、私はこれを以下のように alias 設定している。 [alias] ignore = update-index --assume-unchanged unignore = update-index --no-assume-unchanged ignored = !git ls-files -v | grep "^[a-z]"これで、 git ignore {file} ファイルを無視する git ignored 無視されたファイルの一覧を表示する git unignore {file} 無視されたファイルを元に戻す という風に直感的に扱えるので便利。

    Git で変更されたファイルを簡単に無視する設定 - 永遠に未完成
  • git add .; git reset --hard HEAD してしまったファイルのサルベージ - 永遠に未完成

    % git add . (あ、add じゃなかった。取り消そ) % git reset --hard HEAD (あれ?…ファイルは!?)ってなことが最近あって*1、サルベージ方法を調べたので覚書。 まず git fsck する。*2 % git fsck --full Checking object directories: 100% (256/256), done. Checking objects: 100% (316/316), done. dangling blob 05fc993def3f6d6130e530d1a8fca9c81e05d4c0 dangling blob 089434c22dd051562c3ca2193ebe3e562274a555 dangling blob 2338da1104c033c8266d6ec82833f051521b1063 dangling

    git add .; git reset --hard HEAD してしまったファイルのサルベージ - 永遠に未完成
    orangeclover
    orangeclover 2012/09/23
    https://t.co/wREdHJwc commitじゃなくて、add しただけでreflogでどうにかなるの?? このパターンでも? →
  • 1