タグ

ブックマーク / d.hatena.ne.jp/shunsuk (23)

  • 【やってみた】シングルファーザーやってみた。 - このブログは証明できない。

    NHKの「あさイチ」という番組でシングルファーザーを特集していたらしい。仕事なので観ていない。というか、うちにテレビがなかった。サイトを見てみると軽く内容が載ってる。そのうちNHKオンデマンドでも観れるようになるんじゃないだろうか。 知って欲しい!シングルファーザー 【番組冒頭】使用期限切れ鶏肉|NHK あさイチ シングルファーザーの実態があまり知られていない。そのこと自体が問題でもあるようだ。となると、自分のような余力のあるシングルファーザーが情報発信したほうがいいのかなという気がしてくる。でも自分の場合、恵まれすぎてて参考にならないんじゃないかとも思うのだけれど。 とりあえず、自分のスペックを。35歳。この春から宮崎在住。ITエンジニア結婚11年目で離婚。シングルファーザーとして、小3、小1、年長の3人の子どもを育てている。シングル歴10ヶ月。自分の意志でシングルファーザーになったの

    【やってみた】シングルファーザーやってみた。 - このブログは証明できない。
  • RubyでPythonのdecoratorを実装する。 - このブログは証明できない。

    こちらのスライド。RubyRubyを拡張する。つまりメタプログラミングの話。 Extending Ruby with Ruby // Speaker Deck メタプログラミングを使って他の言語の機能を実装しようという内容になってる。 Python: Function decorators Scala: Partial application Haskell: Lazy evaluation 今回は、この中でPythonのdecoratorを実装するというのをピックアップ。 githubにソースコードがあがってて、スライド中では未解決になってた問題がすでに解決されている。 michaelfairley/method_decorators ここから載せるコードは、githubの方じゃなくてスライド中のコードに一部手を入れたものになってる。ひとつのメソッドに複数のdecoratorを指定でき

  • 表記ゆれでも大丈夫。あいまいな文字列の比較。 - このブログは証明できない。

    こんなことは誰かがすでに考えていて、正式な名称があるのだと思いますが。思いついたので、サラッと書いておきます。表記ゆれに対応した、文字列の比較です。 追記2010-09-11 くはぁ。dankogai先生からつっこまれました。fuzzyのスペルを間違えています。はずかしいけど、あえてそのまま。 A, B, Cという3つの文字列があります。厳密に比較すると、もちろん異なる文字列です。大文字や小文字の違い。スペースの有無。記号の違い。 A = "First Love / Utada Hikaru" B = "FirstLove - UtadaHikaru" C = "first love : utada hikaru" p A == B #=> false p B == C #=> false p C == A #=> false ですが、これを同じ文字列として扱いたいのです。そんなシチュエー

  • プログラマーの感覚とデザイン。 - このブログは証明できない。

    プログラミングとデザインにおける論理と感覚って、同じようなものなんじゃないかな。とようやく実感してきた。だからこそ、僕たちがプログラミングに触れてきたようにデザインに触れてきたデザイナーさんの力を借りたいよね。あと、コミュニケーション大事。そんな話。 祝日の朝にカフェでダラダラ書いたので、グダグダで読み返すと何言ってるかわからない。でも、休みの日にカフェでプニプニと文章書いてると、気分転換になってよかった。事をとらずに費を浮かせてカフェラテを注文したかいがあった。 デザインが見えない。 今年の1月ごろからずっと「デザイン」「デザイン」と言ってるけど、まったく何もやってない。とっかかりがわからなくて、手が出せない感じ。デザインという言葉自体、幅が広くて、デザインの対象がコミュニケーションだったりユーザーインターフェイスだったりする。そこも絞れていない感じ。絞れていないというか、共通する基

    プログラマーの感覚とデザイン。 - このブログは証明できない。
  • 彼氏が(function(){...})()を即時関数って言ってた。別れたい。 - このブログは証明できない。

    JavaScriptの(function(){...})()について、初心者向けの記事があがってました。いい記事ですね。長いけど、いい記事ですね。でも、(function(){...})()を即時関数と呼ぶのに違和感があります。あ。違和感しかありません。 知ってて当然?初級者のためのJavaScriptで使う即時関数(function(){...})()の全て - 三等兵 記事から引用。これですね。 (function($){ $.hoge = function() { }; })(jQuery) (function(){...})()が、「JavaScriptパターン ―優れたアプリケーションのための作法」というで「即時関数」と名付けられてるらしいです。えー。これ、関数じゃないですよね。(function(){...})という無名関数を()でコールしてる処理に見えます。 動詞を名詞とし

    彼氏が(function(){...})()を即時関数って言ってた。別れたい。 - このブログは証明できない。
  • タダで読めるHaskell本。5冊。 - このブログは証明できない。

    少し前にHaskellのを買いました。Haskellのを買ったりスシをべたりしていました。でも、iPhoneアプリ開発が忙しくて、ほとんど読んでいません。スシはべましたけど。 タダで読めるHaskellの参考書が紹介されています。 5 Free E-Books on Haskell 参考書の前に。ブラウザ上で試せるインタラクティブなチュートリアル。これ、いいですね。 Try Haskell! An interactive tutorial in your browser Learn You a Haskell for Great Good。 これ。このを買いました。タダで読めるって知らずに。私は生まれつき英語をスラスラ読めない体質なのですが、このは読みやすいです。内容も、説明のテンポがちょうどよくて、頭に入りやすいです。人生に余裕ができたら続きを読みます。 Real World

    タダで読めるHaskell本。5冊。 - このブログは証明できない。
  • 25冊のコンピュータ技術書がタダで読める! - このブログは証明できない。

    これはスゴイ。有名なのもありますが、こんなのも読めるのか、というカンジです。 25 Free Computer Science Books Computer Science Booksとなっていますが、コンピューターサイエンスには含まれないだろうというも多いようです。コンピューター技術書としておきました。プログラミング系が多いですね。 We’ll Have More Soon The Cathedral and the Bazaar brpreiss.com no title no title Getting Real: The smarter, faster, easier way to build a successful web application no title Git Magic - Preface GPU Gems - Foreword How to Design Pr

    25冊のコンピュータ技術書がタダで読める! - このブログは証明できない。
  • 7週間で7つのプログラミング言語を学ぶ本。 - このブログは証明できない。

    7週間で7つのプログラミング言語を学ぶ。「Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages」です。こういうコンセプトのははじめて見ました。 追記。日語版がでるみたいです。 7つの言語 7つの世界|Ohmsha 学ぶ言語はこちらです。 Ruby Io Prolog Scala Erlang Clojure Haskell クラスベースのオブジェクト指向言語。プロトタイプベースのオブジェクト指向言語。論理型言語。マルチパラダイム言語。並列処理指向言語。関数型言語。という感じで、いろんなパラダイムを体験できます。いいですね。 Amazon.comのレビューを見てみると、インストール方法なんかも載ってるようです。ここは賛否両論ですね。どのへんのプログラマーがターゲットなんでし

    7週間で7つのプログラミング言語を学ぶ本。 - このブログは証明できない。
  • RubyでUUIDを生成する。 - このブログは証明できない。

    毎日更新するのがこのブログのウリだったんですが、まったく更新していません。これには理由があって、更新するのが面倒だという理由なのですが、仕方がないんです。でも、知り合いが生存確認できるように、小ネタを投下しておきます。RubyUUIDを生成する。 汎用一意識別子 - Wikipedia UUIDToolsというライブラリを使えばいいだけです。 no title % gem install uuidtools requireして。 require 'uuidtools' あとは、公式サイトのサンプルを。 UUIDTools::UUID.md5_create(UUIDTools::UUID_DNS_NAMESPACE, "www.widgets.com") => #<UUID:0x287576 UUID:3d813cbb-47fb-32ba-91df-831e1593ac29> UUIDTo

  • Titanium Mobileの暗黒ノウハウを公開します。 - このブログは証明できない。

    WEB+DB PRESS Vol.61の特集は、Titaniumでした。実際にアプリを作りながらのチュートリアルになっています。正統派な入門記事です。 でも。期待してた内容ではありませんでした。私は、Titaniumの暗黒面が知りたいのです。いつものWEB+DB PRESSなら、そんな記事が多いのですが、さすがにまだ開発者が少なそうなTitaniumではアッサリ目に仕上げるしかないのでしょう。そこで、このどうでもいいブログで、Titaniumのバッドノウハウ、いや、暗黒ノウハウをメモっておきます。 アプリを1開発しただけですので、そこまでTitaniumのことを解っているわけではありません。間違っているところなどがありましたら、指摘してもらえるとありがたいです。暗黒ノウハウをみんなで共有しましょう。あと、スシなどをおごってもらえると、もっとありがたいです。 前提。 Titaniumのバー

    Titanium Mobileの暗黒ノウハウを公開します。 - このブログは証明できない。
  • Rubyのblock、Proc、lambdaを理解する - このブログは証明できない。

    新年おめでとうございます。2009年の最初のネタはプログラミングのネタにすることにしました。 Rubyについてのステキなエントリーがあったので、紹介します。 no title 私は翻訳能力がないばかりか、リーディング能力も貧相です。ぜひ、原文を読んでみてください。 はじめに Rubyblock、Proc、lambdaはパワフルですが、解りにくい。Rubyはクロージャを使う方法が4つあって、それぞれチョットずつ違います。ここでは、そのへんを解説したいと思います。 Block もっとも簡単で、かつRubyっぽいと言えば、Blockですね。 array = [1, 2, 3, 4] array.collect! do |n| n ** 2 end puts array.inspect # => [1, 4, 9, 16] 何が起こっているか? まず、block付きでArrayの"collect

  • ループをたくさん回す処理を高速化する初歩の初歩。 - このブログは証明できない。

    テキスト処理を中心にやっていましたが、画像処理に興味が出てきて、さっそくアプリを作りました。もともと下の記事のあたりでユーザーとして画像処理に興味を持って、当然の流れながら、自分でもつくってみようと。 Color Splash + TiltShift Generator + Instagramの写真加工が面白い。 - このブログは証明できない。 で、何かを間違えて、普通の画像処理ではなく、カメラの映像をリアルタイムに加工しはじめました。そうすると、パフォーマンスがかなりシビアなんですね。 iPhoneでカメラの映像をリアルタイム画像処理してみる。 - このブログは証明できない。 全ピクセルを操作しなければなりませんから、ループをたくさん回す必要があります。なんとか高速化できないかと考えてみたところ、あっさり高速化に成功しました。私が気づくぐらいですから、初歩の初歩なんだと思います。 追記:

  • Rubyでコマンドライン引数を扱うOptionParserが便利。 - このブログは証明できない。

    夕飯をべていて、おかずが足りないとき、納豆を出してくるかRubyでコマンドラインツールをつくるか迷うときってありますよね。コマンドラインツールでコマンドライン引数を扱いたい場合、納豆では役に立ちません。奥さん、RubyにはOptionParserがありますよ。 「-a」と「-b」という引数をとりたいとき。こんな感じで書いておきます。 require 'optparse' OptionParser.new do |opt| opt.on('-a [A]') {|v| puts v} opt.on('-b [B]') {|v| puts v} opt.version = '3.14' opt.parse!(ARGV) end 実行します。 % ruby order.rb -a "とんかつ" -b "豚抜きで" とんかつ 豚抜きで 自動的にヘルプもつくってくれます。 % ruby order.

    Rubyでコマンドライン引数を扱うOptionParserが便利。 - このブログは証明できない。
  • RubyのDate/DateTimeを20〜200倍高速化するhome_run。 - このブログは証明できない。

    home_runというライブラリ。RubyのDate/DateTimをC言語で実装したものです。標準ライブラリと比べて、20〜200倍パフォーマンスが良いそうです。標準ライブラリと、「ほぼ」互換性があります。 no title README.rdocに載っているベンチマーク。 i386i386i386i386amd64 WindowsLinuxLinuxLinuxOpenBSD 1.8.61.8.71.9.11.9.21.9.2 Date.civil82x66x27x21x14x Date.parse56x56x33x30x25x Date.today17x6x2x2x2x Date.strptime43x62x63x37x23x DateTime.civil252x146x52x41x17x DateTime.parse52x54x32x27x20x DateTime.now78x35x

  • Rubyの軽量Webフレームワーク「Sinatra」がステキ - このブログは証明できない。

    フルスタックがウリのRails。そこまで必要ないよ。と、ERBでゴリゴリ。メンドクセー。やっぱ、Railsで。などと、陽はまたのぼりくりかえしてーゆく。RubyのWebフレームワークは他にもあるけど。。軽くていいんだ。PHPを使いたくないだけなんだ。 そんな悩ましさを解消してくれるフレームワークを発見してしまいました。「Sinatra」でございます。こいつは、軽そうだ。 Sinatra サイトのトップページに書かれているコード。これが、サクサク感をかもし出してくれています。 require 'rubygems' require 'sinatra' get '/hi' do "Hello World!" end 説明読まなくても解るよ、これ。 日語の解説スライドがあります。よく解る解説ー。 公式サイトのREADMEを読めば、だいたいOK。 Sinatra: README パラメータを取得し

  • プログラマーが覚えておくべき10のLinuxコマンド。 - このブログは証明できない。

    ls -l 上司が通りかかったときに使うコマンド。 date 出社後、朝イチで使うコマンド。 su ログインしたら必ず最初に使うコマンド。 apt-get moo 仕事中に2ch見てたときに使うコマンド。 who 自分が何者かわからなくなったときのコマンド。 yum search 愛 No Matches found banner KAERITEEEE 大声で叫びたいときに使うコマンド。 halt 定時ダッシュ前に使うコマンド。 wget -r -l 1 -A .jpg -H -D blog-imgs-42-origin.fc2.com http://kanasoku.blog82.fc2.com/blog-entry-13978.html オカズ画像をダウンロードするコマンド sudo rm -rf / 何もかも忘れて幸せになれるコマンド。 プログラマーが覚えておくべき10の英語フレーズ

  • ループも再帰も継続も使わずに配列の順序を逆にする。 - このブログは証明できない。

    ループを使わずに配列の順序を逆にする。なんか流行ってるらしいです。 元ネタは、これの2ページ目。 プログラマーの力量を見極める--面接官になったら尋ねるべき質問実例集 - ZDNet Japan valvallowさんがやってたので、自分も参戦します。 vallog: 流行ってるようなので「ループを使わずに配列の順序を逆にする」 vallog: ”再帰も”ループも使わずに配列を逆順にする:継続呼び出し編 私は、ループも再帰も継続も使わずに、配列の順序を逆にします。要は、「繰り返し」を使わずに、配列の順序を逆にします。もちろん、スポンジや器用洗剤も使いません。ただし、油汚れは落ちません。 a = [0, 1, 2, 3, 4] a.size.times do |i| puts a[i] end class Array def indexer_alt(nth) self.indexer_or

  • Rubyの構造体を超簡単に作る会。 - このブログは証明できない。

    データ構造を適宜したクラスを作りたい時があります。メソッドは必要ありません。C系統の言語で言えば、構造体でしょうか。Rubyでは、構造体を超簡単に作ることができます。 まずは、普通にクラスを書いてみましょう。 class Person def initialize(name, age) @name = name @age = age end attr_accessor :name, :age end eita = Person.new("瑛太", 27) juri = Person.new("上野樹里", 23) 非常に冗長な感じを醸し出していますね。そんなのRubyじゃない。。。 そこで、Structを使います。 person = Struct.new("Person", :name, :age) eita = person.new("瑛太", 27) juri = person.new

  • Brainf*ck基礎文法最速マスター - このブログは証明できない。

    各種プログラミング言語の基礎文法最速マスターの記事を、忠実にBrainf*ckに置き換えました。 Perl基礎文法最速マスター - Perlゼミ(サンプルコードPerl入門) Route 477(2010-01-25) PHP基礎文法最速マスター - Shin x blog 2010-01-26 Haskell基礎文法最速マスター - think and error Bash基礎文法最速マスター - いろいろ解析日記 VBA基礎文法最速マスター - いろいろ解析日記 VBScript 基礎文法最速マスター - CX's VBScript Diary - VBScript グループ JavaScript基礎文法最速マスター - gifnksmの雑多なメモ 基礎 命令8個。 > ポインタをインクリメントする。 < ポインタをデクリメントする。 + ポインタが指す値をインクリメントする。 - ポ

  • プログラミングスキルを磨く20のパズルサイト - このブログは証明できない。

    オリオン座流星群が流行ってるみたいですね。ここで、心理テストです。 流星群と聞いて思い出すのは? A. 鬼束ちひろの流星群 B. ペガサス流星拳 この心理テストでは、あなたが流星群と聞いて思い出すものが分かります。Aを選んだあなたは、流星群を見ると鬼束ちひろの流星群を思い出します。しかし、どちらかと言うと「月光」の方を思い出し、しかも月光が明るすぎて流星群がイマイチ見えないタイプです。Bを選んだあなたは、流星群を見てもペガサス流星拳しか思い出せない貧相な思い出の持ち主です。ちなみに、私は高原で家族と過ごしたステキな一夜を思い出します。 さて、題です。プログラミングのパズルを出題するサイトがあります。調べてみると、たくさんあるんですね。プログラミングのパズルを解くと、プログラミングスキルだけでなく、論理的思考や問題解決能力も高まると思います。また、新しいプログラミング言語を練習するときにも