タグ

2017年1月24日のブックマーク (6件)

  • Ruby/簡単なファイルアクセス(読み書き)の方法 - TOBY SOFT wiki

    一発でテキストファイルを読む方法 † 1.9.2でFile.read(IO.read)を使う場合、 s = File.read("hoge.txt", :encoding => Encoding::UTF_8) ruby 1.9では読み込むテキストの文字コード(:encoding)をなるべく明示することに注意。文字コードが異なる場合は、encodeでそのまま変換するのがいいと思います。 ※ File.readの:encodingを指定しないと、encodeで文字化けすることになるかと思います s = File.read("hoge.txt", :encoding => Encoding::EUC_JP).encode(Encoding::UTF_8) ファイルパスの扱い(相対パスの展開など)を考えると、Pathname#readを使うのも便利です。 require 'pathname' s

    akatakun
    akatakun 2017/01/24
    File.readだとバイナリは読み書きできないため、モードに"b"を追加するか、1.9.3だとFile.binwriteを使う
  • こんな学生、いりません【1/25 追記】

    就活生の皆さん、お疲れ様です。 もうとっくに始まってる人、決まっちゃった人、最近始めたばかりの人、もっと後からだと思ってた人、色々いると思います。 私はいわゆるクリエイター系の会社で働いている者ですが、自分の経験やこれまで出会ってきた学生さんのことを思い出しながら、 こんな学生、いらないです と思われてしまうケースをいくつか紹介したいと思います。 何も作ってないクリエイター職を目指してるのに、何も成果物がないというのはだいたいその時点でおしまいです。 学生時代は社会人になってからに比べ、自分の時間が非常に多いのです。 そんな膨大な時間があるのに何の成果物も作れなかった人が、プロで何か作れるなんて思えないわけです。 具体的なビジョンがない「すごいものを作りたいです」とか言っちゃう人のことです。 「すごいもの」とは何でしょうか。もっと具体的に言えないと何も伝わらないのです。 自分のなりたい道、

    こんな学生、いりません【1/25 追記】
  • install(1)コマンドが便利だった件

    はじめに install(1)という、cpとmkdirとchmodを同時に行うような便利コマンドがあることを知りました。 (忘れちゃいましたが、何かのMakefileを見ているときに存在に気付きました) これを使うと、プロビジョニングなどのスクリプトが簡潔に書けるようになりそうです。 ……というわけで使い方のメモがてらまとめてみます。 manの内容まとめ installはBSD版とGNU版があるようですが、ここではGNU版について書きます。 BSD版ではいくつかのオプションが使用できません。(-D はなかったと思う) ちなみにmacの場合は標準でBSD版のinstallが入っており、Coreutilsを入れるとGNU版のinstallが使えるようになります。 4種類の使い方 install [OPTION]... [-T] SOURCE DEST SOURCEをDESTにコピーする。-Tを

    akatakun
    akatakun 2017/01/24
    install: cp + mkdir + chmod
  • Mac で .gz を見るときは zcat ではなくて gzcat を使う - kakakakakku blog

    特に意識せず .gz を zcat で見ようとしたらエラーになったので,調べてみたところ,Mac だと gzcat を使わないといけないらしい! 知らなかった! zcat: can't stat: xxx.gz (xxx.gz.Z): No such file or directory https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/zcat.1.html https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/gzcat.1.html

    Mac で .gz を見るときは zcat ではなくて gzcat を使う - kakakakakku blog
    akatakun
    akatakun 2017/01/24
    zcat => gzcat
  • Ruby の yield って結局なんなの? - YNote

    yield って、いまいち分かりにくいですよね。。 わからない⇒調べる⇒忘れる⇒調べる⇒忘れる⇒… のエンドレスループから抜け出すために、自分なりにまとめることにしました。 ブロック いきなり yield じゃないやん!という感じですが、我慢して見てみてください。 …じ・つ・は、Ruby のメソッドはすべて「ブロック」を引数にすることができます。 最近知りました(;ω;)。 def hogehoge( x ) return x + 2 end p hogehoge( 3 ) p hogehoge( 5 ){ p "foo" } ブロックってのは、{ p "foo" } みたいに "{" と "}" に囲まれたやつね。"do" 〜 "end" でもいいみたいだけど。 これを実行すると、 5 7 となります。{ p "foo" } はまるっきりシカトです。 (・∀・) …が、以下のようにすると

    akatakun
    akatakun 2017/01/24
    block_given?: ブロックが渡されているか,
  • mattnさんのリファクタリングを読み解く - 生涯未熟

    現在絶賛開発中のkirimoriですが、なんとGolang界隈で有名なmattnさんにリファクタリングをして頂くという、とても嬉しい事態がありました✨ kirimoriについてはこちら↓ syossan.hateblo.jp リファクタリング前提でかなり雑に書いていたのですが、めちゃくちゃ良い感じにコードを直して頂けたので自分の勉強のために読み解いてみます👏 リファクタリング前 kirimoriは以下の機能を有しています。 initコマンドでkirimoriの設定ファイル(toml形式)を作成します addコマンドでコマンドライン引数に指定したプラグインを追加します removeコマンドでコマンドライン引数に指定したプラグインを削除します listコマンドでプラグインの一覧を表示します で、構成的には kirimori.go に全てのコマンドの処理をベタ書きにしてある感じになっております

    mattnさんのリファクタリングを読み解く - 生涯未熟