タグ

2012年7月7日のブックマーク (11件)

  • RubyでBase64 - 今日覚えたこと

    Rubyでファイルアップローダおよびダウンローダを作った。ブラウザからファイルを投稿して、DBに保存して、あとでダウンロードできるやつ。 ファイル実体をファイルシステムに保存するのではなく、DBに入れる。Webから見える領域に置いてそのままダウンロードしたり、Webから見えない領域に置いてプログラム経由でダウンロードさせる方式は、簡単そうに見えて、罠が多い。DBに入れてプログラム経由でダウンロードさせるのが結果的に一番簡単だと思う。 通常バイナリデータをDBに入れるときははBLOB型のカラムを使うと思うけど、今回はRuby/MySQLを使っていることもあり (PreparedStatementが使えない)、文字列だけのSQLでやる必要がある。 そこで、バイナリデータをBase64でエンコードし、LONGTEXT型のカラムに入れることにした。もちろん、ダウンロードの際は取り出したテキストデー

    RubyでBase64 - 今日覚えたこと
  • ドイツ到着 - elm200 の日記(旧はてなダイアリー)

    ベルリン東部にあるシェーネフェルト空港は、想像よりずっと小さかった。私はここでドイツ最大手移動通信キャリア T-Mobile の SIM を買おうと思ったのだが、とてもそんな店がある雰囲気ではない。 私は今日、トルコ・イスタンブールから到着したのだが、同乗のトルコ人たちに対する入国審査官の高圧的な態度にはやや驚いた。「お前は何しに来た?」「カネはいくらもっているんだ?」等々、完全に不法就労を疑ってかかっている。私は旅行者として、入国審査官に好感を持ったためしがないが、それにしても先進国ドイツで入国審査官がこんな態度を取る理由をあれこれ考えさせられた。一つは、ドイツにおけるトルコ人不法就労問題が深刻なのかもしれない。もう一つは、このシェーネフェルト空港が旧東ドイツにあるため、職員たちも旧東ドイツ人であり、それが横柄な態度につながっているという可能性だ。 空港は当に小さくて一歩外に出ると田舎

    ドイツ到着 - elm200 の日記(旧はてなダイアリー)
    repon
    repon 2012/07/07
  • まつもと直伝 プログラミングのオキテ 第9回

    ソフトウエア設計に登場するパターンをまとめた「デザイン・パターン」について学びましょう。デザイン・パターンを使いこなせれば,複雑なプログラムを効率よく設計できます。今回は,既にあるものを使いまわすPrototype,抽象的にアルゴリズムを記述できるTemplate Method,強い依存性を断ち切るObserverの各パターンを紹介します。 前回は「デザイン・パターンとは何か」を学びました。設計上繰り返し登場する形をデザイン・パターンと呼びます。ごく簡単な例としてはforループがあります。はっきりと分類されたものとしては書籍『オブジェクト指向における再利用のためのデザインパターン』(ソフトバンク パブリッシング)が参考になります。 前回に取り上げたSingleton,Proxy,Iteratorの各パターンに続いて,今回は別のデザイン・パターンを考えてみましょう。Prototype,Tem

    まつもと直伝 プログラミングのオキテ 第9回
  • じゃあ、今日は、イジメの話をしよう。: 極東ブログ

    じゃあ、今日は、イジメの話をしよう。あ、そこでぐったりしている男子、たぶん、君が想像している話をはちょっと違うと思うよ。「「しがらみ」を科学する」(参照)というにある話をちょっとアレンジしただけなんだけどね。 まず、30人のクラスを想定しよう。ちょうど、このクラスと同じだ。そこで3人グループが1人の生徒にイジメをしていて、残り26人はイジメが発生していることを知っているとしよう。こういう状況があったとき、どうするかな? またぐったりしないって。みんなでイジメを無くしましょうとかいうお説教じゃないんだ。数字に注意を払ってほしいんだ。 この設定でイジメを傍観している生徒数は……26人。この26人は、イジメの状況をどう考えているだろうか? おれもイジメに参加したい、と思うかな。まあ、それはないとしよう。でも、おれには関係ないし、って思う人は当然いるだろう。そういうとき君たちならどうかな? はい

    repon
    repon 2012/07/07
    こういうのをね、ほんとは、スライダーで数値を動かすとサクっと分かる感じで表現したいんだ。というか、多分そういう表現が当たり前になるのが電子書籍の未来。
  • Ruby/RSSを読む - 俺の基地

    はじめに Rubyではバージョン1.8.2以降だったら標準添付ライブラリでRSSを読むことができる。 ってか簡単すぎw ▲ ▼ 読んでみる まずこのように書く require 'rss' rss = RSS::Parser.parse(rss_source, true) 第一引数にはXMLのStringソースそのものか、URL、ローカルファイルパスを渡す。 第二引数にはちゃんとしたRSSかチェックするかどうかを指定するtrueだとチェックして変なRSSだと例外を発生させる falseにすると変なRSSでも無視して読み込む RSSHTMLほどじゃないにしても結構へんなやつを平気で吐いているサイトもあるのでたぶん一発取り込みは無理が多い ここでソースのRSSのバージョンとかAtomとかの規格の違いは自動判定でリターンされるオブジェクトが変化する あとは自動的にXMLのツリー構造がオ

    repon
    repon 2012/07/07
  • RSS Parser::Tutorial.ja

    $Id: Tutorial.ja 325 2007-09-09 10:18:31Z kou $ 注意 RSS ParserはRSS 0.9x/1.0/2.0をサポートしていますが,RSS 0.90 はサポートしてません.ごめんなさい. Atom・Podcast用モジュール(itunes:XXX要素)を使いたい場合は 0.1.8以降を使ってください。 Slashモジュール(slash:XXX要素)を使いたい場合は0.2.0以降を 使ってください。 require 0.1.4以前はいろいろrequireしないといけなかったんですが, 0.1.5からは以下のひとつのrequireでよくなりました. require 'rss' パース フィードをパースしたい場合はRSS::Parserクラスを使います。 RSS::Parser.parseはフィードの文字列,ファイル名またはURIオブ ジェクトをパ

  • 雇用流動化へ「40歳定年を」 政府が長期ビジョン - 日本経済新聞

    国家戦略会議(議長・野田佳彦首相)の分科会は6日、国の長期ビジョン「フロンティア構想」の報告書をまとめた。国家の衰退を防ぎ、個人や企業が能力を最大限生かして新たな価値を生む国家像を2050年に実現するための政策を提言。「40歳定年」で雇用を流動化するなど労働生産性を高める改革案を盛り込んだ。学識者や企業人らで構成するフロンティア分科会(座長・大西隆東大大学院教授)が野田首相に報告した。首相は「

    雇用流動化へ「40歳定年を」 政府が長期ビジョン - 日本経済新聞
    repon
    repon 2012/07/07
    はぁ
  • いじめについて - orangestarの雑記

    いじめについて、いじめられている人間の今おかれている状況に対する個人的な対応の仕方について、色々な方がアドバイスをしていて、ソレについて、思うことを書くんですが、でも、以下に書くことは、今、既に、その現場から遠く離れた自分が描いていい事ではなくて、だから、2002年ごろの、まだ、20代前半の自分が書いた物として読んで下さい。 いじめられている人へのアドバイスとして、 朝日新聞デジタル:いじめられている君へ - 教育や 茂木健一郎(@kenichiromogi)さんの連続ツイート第646回「学校に行かないという、権利もあるんだよ。苦しかったら行くな」 - Togetter のように、「逃げろ!」というアドバイスがある。確かに、「いじめに負けるな!」とか「みんな君の味方だ!その耐えた経験は君の力になる!」とか「それをバネにして頑張れ!見返してやると発奮するんだ!」とかに比べたらマシだけど、し

    いじめについて - orangestarの雑記
    repon
    repon 2012/07/07
    「だから苛められている人間は、逃げられないし、戦うことも出来ないし、話し合うこともできずに、心身を削り取られながら、へばりついて生きていくしかない。そこを前提に話をする。」までが本題。
  • CoffeeScriptがさらに拡張されたLiveScriptの紹介 - mizchi log

    2ヶ月ぐらい前にHackersNewsで見かけて、触ってみたらやたらかっこよかったので紹介。 LiveScript http://gkz.github.com/LiveScript/ LiveScriptはCoffeeScriptがさらに拡張された、JavaScriptにコンパイルされる系言語。 JavaScriptが最初に名付けられた名前「livescript」に立ち返って、関数型の特色が色濃い言語のようです。 OOPと関数型のマルチパラダイムという点でScalaなどに近いのかもしれません。型が弱いScalaで、見た目はHaskell。 インストール npm install -g livescriptより関数型っぽくしたい人のための prelude-lsと一緒に使うのが推奨されているそうです npm install prelude-ls追加されるメソッドについては以下を参照 prelud

    CoffeeScriptがさらに拡張されたLiveScriptの紹介 - mizchi log
  • 画像を一切使わずに、CSS3だけでスタイリッシュな吹き出しをつくろう! | 株式会社LIG(リグ)|DX支援・システム開発・Web制作

    こんにちは、はやちです。 今回はcss3を使って簡単に作れる吹き出しを紹介したいと思います。 HTML 土台はこんな感じ <div id="textarea"> <div class="textinner"> <p>css3</p> </div> <!--/textinner--> <div class="triangle"></div> </div> <!--/textarea--> textinnerがボックス部分でtriangleが矢印部分になります。 ボックスを作る グラデーションの調整をcss上でやるのは面倒なので、ジェネレーターでちょちょいっとつくっちゃいます。 今回使用したジェネレーターはこちら □Grad3 http://grad3.ecoloniq.jp/ ブラウザ上でグラデーションとシャドーを細かく指定できるのですごく便利です^^ 自動生成されたソースをはっつけます。

    画像を一切使わずに、CSS3だけでスタイリッシュな吹き出しをつくろう! | 株式会社LIG(リグ)|DX支援・システム開発・Web制作
  • http://atnd.org/event/0726sakai/0?vos=cpatnsoccap0111026001

    repon
    repon 2012/07/07