タグ

2014年5月27日のブックマーク (11件)

  • 使いやすいシェルスクリプトを書く

    できればシェルスクリプトなんて書きたくないんだけど,まだまだ書く機会は多い.シェル芸やワンライナーのような凝ったことではなく,他のひとが使いやすいシェルスクリプトを書くために自分が実践していることをまとめておく. ヘルプメッセージ 書いてるシェルスクリプトが使い捨てではなく何度も使うものである場合は,体を書き始める前に,そのスクリプトの使い方を表示するusage関数を書いてしまう. これを書いておくと,後々チームへ共有がしやすくなる.とりあえずusage見てくださいと言える.また,あらかじめ書くことで,単なるシェルスクリプトであっても自分の中で動作を整理してから書き始めることができる.関数として書くのは,usageを表示してあげるとよい場面がいくつかあり,使い回すことができるため. 以下のように書く. function usage { cat <<EOF $(basename ${0})

  • Go言語のコードレビュー

    SoundCloudが2年半ほどGo言語を利用したプロダクトを番で運用した知見をGopherConで発表していた(“Go: Best Practices for Production Environments”).その中で“CodeReviewCommentsというGoogleでのGo言語のコードレビューにおいてよくあるコメントをまとめたサイトが紹介されていた. 最近Go言語を書くようになり,使えそうなのでざっと抄訳してみた.“リーダブルコード”的な視点も含まれており,Go以外の言語でも使えそう. gofmtでコードの整形をすること コメントは文章で書くこと.godocがいい感じに抜き出してくれる.対象となる関数(変数)名で初めて,ピリオドで終わること // A Request represents a request to run a command. type Request str

  • CoreOS でシステムメトリクスを収集し、グラフ化する - Qiita

    どうも、僕です。 CoreOS Beta まできましたね。GCEにもイメージが乗るようなので興味をもった方多いかも知れません。 今回は CoreOS の運用のお話をしたいと思います。 まず CoreOS について知りたい方は CoreOS 入門を読んでおくとよいでしょう。 (少し古いですが) 今回はクラスタ上の CoreOS のシステム情報をかき集めてグラフ表示するというお話です。 以下のとこまでもっていくのがゴールです。 追記 期間限定でGCE上にデモを配置しました。 http://108.59.85.122/#/dashboard/elasticsearch/CoreOS CoreOS ならではの運用上の問題 CoreOS ですが、パッケージマネージャーを持ちません。 そのため、アプリケーションはほぼ Docker 上で動作させることになります。 ですが、Docker 上で動作させると

    CoreOS でシステムメトリクスを収集し、グラフ化する - Qiita
  • 巨大なリポジトリ を Git で上手く扱う方法 | Atlassian Japan 公式ブログ | アトラシアン株式会社

    git は、コードベースの発展過程を記録し、開発者間の協同作業を効率化する強力なツールです。でも、記録対象のリポジトリがとてつもなく巨大なものになったときは何が起こるのでしょうか? この記事では、いくつかの異なる意味での巨大化に正しく対処するためのアイデアと手法を少し紹介してみたいと思います。 二種類の 巨大なリポジトリ よく考えてみると 巨大なリポジトリ が生ずる理由はおおまかに言って二つあります: 非常に長い期間にわたって履歴が積み上げられた (プロジェクトが非常に長い期間継続的に拡大を続けたために開発成果が積み重なった) 場合 巨大でしかも履歴の記録が必要なバイナリ データが存在し、それがコードに反映される場合 その両方の場合 即ち、リポジトリの巨大化は二つの異なる方向に向かって起こることになります。それは、作業ディレクトリのサイズ (即ち直近のコミットのサイズ) の問題と全体の履歴

    巨大なリポジトリ を Git で上手く扱う方法 | Atlassian Japan 公式ブログ | アトラシアン株式会社
    y_uuki
    y_uuki 2014/05/27
  • 2014年5月26日のヘッドラインニュース

    現役のJリーガーが「キャプテン翼」に出てきた夢のシュートに挑戦する「Jリーグ×キャプテン翼 DREAM SHOOT.net」で、2人の選手が1つのボールを同時に蹴る「ツインシュート」を行うムービーが公開されました。作中では翼くん&岬くんコンビなどが放っているシュートで、挑戦したのはセレッソ大阪の山口蛍選手と扇原貴宏選手。YouTubeのコメント欄ではCGでは?という疑問も出ているので、どれぐらい練習を重ねたものなのかといったメイキングも見てみたいところです。 Jリーグ×キャプテン翼 #3 ツインシュート Captain Tsubasa super shot - YouTube ちなみに、1年前のGIGAZINEではこんな記事を書いていました。 「中米のシンガポール」も夢ではない経済発展で確実に変わりつつあるパナマについて - GIGAZINE アポロ11号が月面から持ち帰ってきた「月ダスト

    2014年5月26日のヘッドラインニュース
    y_uuki
    y_uuki 2014/05/27
    自分ののってた
  • アルバイト退職した - decadence

    はてなのアルバイトしてたけど退職した 自己語り入ってるし適当なことしか書いてない photo by JuhaOnTheRoad アルバイト アルバイト、大学に入る直前から初めて、初めてしたのが工場のライン、そこから牛丼屋、ライブハウス、変な中小企業っぽいのとかしてきた でもって、今回働いて退職したのははてなってWeb企業 経緯 エンジニアとしてアルバイトをしてた 働き始めたのは昨年のインターンが終わってから今までだから、期間としては8ヶ月って短い期間 インターンではてなブログの機能つけたりしてて、終わってから京都だしそのまま流れで働かせてもらった でもって、学生だし研究しなきゃってことで5月末をもって辞めるつもりで、そんな感じ はてなで働いていた事 プログラミング/就職に対する意識 プログラミングまともに始めたの、研究室配属される直前の大学3回生の冬休みだった 初めて触れたのは大学の講義だ

    アルバイト退職した - decadence
    y_uuki
    y_uuki 2014/05/27
    いい
  • ビットを数える・探すアルゴリズム

    作成日:2004.05.04 修正日:2012.09.01 このページは 2003年の9/11、9/28 の日記をまとめて作成。 はじめに PowerPC 系や Alpha などには population count と呼ばれるレジスタ中の立っているビット数を数える命令が実装されている。 集合演算を行うライブラリを実装したい場合などに重宝しそうな命令である。 職場でこの population count 命令について話をしているうちにビットカウント操作をハードウェアで実装するのは得なのか?という点が議論になった。 CPU の設計をできるだけシンプルにするためには、複雑で使用頻度の低い命令は極力減らした方がよい。 例えば SPARC は命令セット中にビットカウント演算があるが、CPU 内には実装しないという方針をとっている(population 命令を実行すると不正命令例外が発生し、それを

    y_uuki
    y_uuki 2014/05/27
    POPCNT命令
  • インターノット崩壊論者の独り言 - ATND消失 - RECRUIT がやらかして ATND が見えなくなったようなのでメモ

    EPIC2014 Google Public DNS (8.8.8.8, 8.8.4.4) および Cloudflare (1.1.1.1, 1.0.0.1) 経由ではサイトにアクセスできないよう措置させて頂いております。 権威サーバを新しく ns[1-3].x.recruit.co.jp に切り換えたようですが応答しません。そもそもゾーンが設定されていないのではないでしょうか。 なお、今も (注:復旧前) 見えていて、利用している DNS キャッシュサーバが BIND だったりすると幽霊ドメイン名脆弱性を抱えている可能性があります。OCN や 8.8.8.8 で見えているのは別な理由だと思います。(委譲元の TTL で古い NS をキャッシュしているのでしょう) (10:27 追記: ゾーンが設定され、引けるようになったようですが、旧サーバのゾーンデータは古いままなので、幽霊は漂い続け

    y_uuki
    y_uuki 2014/05/27
  • インフラエンジニアの僕がキーボードのすぐ隣に置いておきたい本 | 人間とウェブの未来

    棚は自分の机のすぐ隣にあるのですが、なんとなく安心感とか勉強してる感とかを含め、思い立った時に手元ですぐ開いて調べたり暇つぶしにふと読みたいってありますよね。自分はインターネット、特にWebやインターネット基盤技術に関わる研究・技術者をやっているわけですが、自分の手元に置いておきたいがやはりあります。 もちろん、手元に置くためのスペースは約20から30センチ程度なので、分厚いを置くと数冊程度になってしまいますが、今日は「自分が現段階で持っているのうち、キーボードのすぐ隣に置いておきたい」8冊をなんとなく紹介したいと思います。 自分が手元に置いておきたい8冊 1. Linuxプログラミングインタフェース(6.5センチ) 分厚さ6.5センチと最強に分厚いですが、Linuxに関わるプログラミングをする際の辞書として手元においておく安心感は半端ないです。自分はミドルウェアの実装やそれに

    インフラエンジニアの僕がキーボードのすぐ隣に置いておきたい本 | 人間とウェブの未来
    y_uuki
    y_uuki 2014/05/27
    参考になる
  • 中規模Web開発のためのMVC分割とレイヤアーキテクチャ - Qiita

    TL;DR MVCもレイヤで捉えて関係性の設計をするといいのでは 普通のRubyオブジェクトを積極的に使いたいですね 「パーフェクト Rails」に期待しましょう 長くなって面倒くさくなり、途中から手抜き感が半端ないですが許してください この記事の位置付けなど 7 Patterns to Refactor Fat ActiveRecord Models - Code Climate Blog [翻訳] エリック・エヴァンスのドメイン駆動設計 エンタープライズ アプリケーションアーキテクチャパターン これらの参考文献を踏まえてRailsアプリケーションのリファクタリングをしていて、だいぶ方向性や考え方がまとまってきたので、これからチームに合流する人を想定読者に、Qiitaがどんな感じで作られているのかを文書化したものです。(参考文献の一覧は記事の最後にあります) 内容的には文献[2,3]を踏

    中規模Web開発のためのMVC分割とレイヤアーキテクチャ - Qiita
    y_uuki
    y_uuki 2014/05/27
    前教わったやつだ
  • 中規模Web開発のためのMVC分割とレイヤアーキテクチャ - Qiita

    TL;DR MVCもレイヤで捉えて関係性の設計をするといいのでは 普通のRubyオブジェクトを積極的に使いたいですね 「パーフェクト Rails」に期待しましょう 長くなって面倒くさくなり、途中から手抜き感が半端ないですが許してください この記事の位置付けなど 7 Patterns to Refactor Fat ActiveRecord Models - Code Climate Blog [翻訳] エリック・エヴァンスのドメイン駆動設計 エンタープライズ アプリケーションアーキテクチャパターン これらの参考文献を踏まえてRailsアプリケーションのリファクタリングをしていて、だいぶ方向性や考え方がまとまってきたので、これからチームに合流する人を想定読者に、Qiitaがどんな感じで作られているのかを文書化したものです。(参考文献の一覧は記事の最後にあります) 内容的には文献[2,3]を踏

    中規模Web開発のためのMVC分割とレイヤアーキテクチャ - Qiita
    y_uuki
    y_uuki 2014/05/27
    前教わったやつだ