タグ

Programmingに関するSlightairのブックマーク (26)

  • RubyエンジニアのためのObjective-C Blocks入門 - As Sloth As Possible

    書こう書こうと思ってたけど忘れてたのを、PerlエンジニアのためのObjective-C Blocks入門を見て思い出した。すいませんタイトルは便乗です。 試しに書いてみる Blocksってのが何者なのかはさっきの記事なりAppleのドキュメントなりを見てもらえばいいと思うんですが、まぁウケが良さそうなので付けたタイトルにのっとってRubyと比較してみる。 f = lambda {|x| puts "#{x}のこと以外は何も考えられない" } f.call("うどん") void (^f)(id) = ^(id x) { NSLog(@"世界の全てを敵に回しても、僕は%@の味方だ", x); }; f(@"うどん"); なんだ、そっくりじゃない。似てる似てる。 上がRuby版、下がObjC版。下は普通引数にはNSString*とかを使うと思うけど、まぁRuby版と挙動を合わせるためにidに

    RubyエンジニアのためのObjective-C Blocks入門 - As Sloth As Possible
  • ActionScript 3.0 コンポーネントリファレンスガイド

  • LL Tiger

    軽量プログラミング言語に関する総合カンファレンス Lightweight Language Conference 2010 ————————————————————————————————————————- 2003年から始まったLightweight Languageイベントも8年目を迎えました。この8年の間に LLを取り巻く環境は大きく変化し、単に軽快なプログラミングができる言語というだけで はなく大規模なシステム構築にも十分に適応できる、プログラミング言語群の中でも強力 かつ大きな存在へと変貌を遂げました。 今年のLLイベントは、そのような位置づけにのし上がったLightweight Languageを「虎」 にたとえ、「Lightweight Language Tiger」と題して開催します。これまで以上に広い 分野へと勢力を拡大し、強くたくましく生きるプログラミング言語とプログラ

  • bayonやCLUTOが爆速な理由 - download_takeshi’s diary

    クラスタリングツールbayonを使っていて、常々「どうしてこんなに高速に処理できんのかなぁ」と疑問に感じていました。repeated bisectionという手法自体がk-means法などと比べると効率がいいのですが、それにしても、それだけでは説明がつかないほど爆速なわけです。 うまく例えられませんが、自前でk-meansのスクリプトを書いて比べてみると、自転車と新幹線くらいちがうという印象です。はじめてCLUTOを触った時、数万件程規模のクラスタリング処理が当に「あっ」という間に終わってしまい、びっくりした記憶があります。 きっと実装面でなにか特殊なことがあるんだろうなと思い、mixiエンジニアブログでbayonの記事を改めて読み漁っていたら、以下の部分が目に止まりました。 このクラスタの評価は、クラスタの各要素とクラスタの中心とのcosine類似度の和としています。この和が大きいほど

    bayonやCLUTOが爆速な理由 - download_takeshi’s diary
  • RubyからScalaに乗り換えた15くらいの理由 - ヽ( ・∀・)ノくまくまー(2010-04-26)

    ● [Scala] RubyからScalaに乗り換えた15くらいの理由 [注意] この文章を読むと、既存のRubyコードをScalaでrewriteしたくなる、 Rubyコードで型チェックをやるのがになる、Ruby案件でやる気が出なくなる、 などの幻覚や異常行動が報告されています。 現在関わっているプロジェクトや家族のことを常に意識し、 気を強く持って冷静に読むとよいでしょう。 「Scalaプログラミング入門」を読みはじめて、いきなり大きく頷いてしまった。 "コーディング時間の半分をテスト作成に費やさなければならなかった"(p.3) "Railsによって得られた生産性の向上は、テスト作成の作業に失われてしまいました"(p.3) まさにここ数年私が抱いてた漠然としたストレスの正体が、的確に文章となっていたからだ。そしてほどなく、「あ、この機能がRubyに欲しかった!」という驚きと共に Sc

  • Javaでセミコロンなしでプログラムを書く - プログラマーの脳みそ

    java-ja温泉2日目の夕。 @yoshiori がpythonのワンライナの楽しさを得々と語っていた。 @yoshiori「Brainf*ck を Python-oneliner にコンパイルする Python-onelinerを書いたけど全ッ然反応がなかった。こんなに面白いのに!」 @yamashiro「だって分かりにくいもん」 西尾先生が通常ワンライナではtry-catchが使えないけど子プロセス立ち上げて例外を出力してパースすればエラー処理ができるとか(http://www.nishiohirokazu.org/blog/2006/08/python_12.html参照)そんな話で盛り上がる中、 @nagise「Javaでセミコロンなしでプログラムが書けるような気がしてきた」 Javaの場合、普通にセミコロン(;)でマルチステートメントにかけるのでただ1行にしようというなら改行

    Javaでセミコロンなしでプログラムを書く - プログラマーの脳みそ
  • ロケスタの新サービス「ナナピ」で使った技術を紹介してみるよ - UNIX的なアレ

    http://nanapi.jp 日2009年9月1日、株式会社ロケットスタートの新サービス「ナナピ」をリリースしました。 「ナナピ」はライフレシピと呼ばれる生活の便利な知恵や、ノウハウをみんなに共有してしまおう!というサービスです。 なんとか予定通り9/1にリリースをすることができました。すでに投稿数が160ほどあり、生活に便利な内容が投稿されています。 http://r.nanapi.jp/162/%E3%81%82%E3%81%8F%E3%81%B3%E3%82%92%E6%AD%A2%E3%82%81%E3%82%8B%E6%96%B9%E6%B3%95/ http://r.nanapi.jp/158/%E3%83%AC%E3%83%99%E3%83%AB%E3%81%8C%E4%B8%8A%E3%81%8C%E3%82%8B%E6%8C%A8%E6%8B%B6%E3%81%AE

    ロケスタの新サービス「ナナピ」で使った技術を紹介してみるよ - UNIX的なアレ
  • 【特集】Leopardのアニメーションを簡単実装! Core Animationを使いこなす (1) アニメーションプログラミングを身に付けるには"とにかく動かせ" | エンタープライズ | マイコミジャーナル

    Core Animationを使ってみる Leopardのユーザインタフェースの大きな特徴は、アニメーションだ。Time Machineしかり、Cover Flowしかり、Spacesしかり。アニメーションが初見での大きなインパクトを与えており、またその同じアニメーションを使い込んでいくうちに手放せない機能となっていく。 そんなアニメーションユーザインタフェースを支えているのが、新しく追加されたフレームワークであるCore Animationだ。Core Image、Core Video、Core Audioに続く、新たなCoreメディアとして追加されたものになる。 Core Animationの利点は、なんといっても手軽さにある。一般にアニメーションのプログラミングは、ちょっと考えただけでも、絶望的に複雑だ。タイムラインの管理、非同期的な描画、アニメーション中のキャンセルやパスの変更、複

  • Adobe Edge: 2009年8月 AIR/FlashでFeliCa対応のアプリ開発が可能に

    FeliCaとは、ソニーが開発した非接触ICカードの技術です。FeliCaを知らなくても、EdyやSuica、おサイフケータイは知っている、あるいは使ったことがあるという方は多いでしょう。これらのサービスを実現しているのが、FeliCaです。FeliCaの特徴は、「数KB程度のメモリを持ち、触れるだけで通信できる」という点です。現在は、主に電子マネーや交通系電子乗車券として使われていますが、ネットとの親和性も高く、アイデア次第では様々な用途に使うことができそうです。 ソニーでは、アドビ システムズ社の協力を得て「SDK for FeliCa & Adobe AIR/Adobe Flash」を開発し、間もなく提供を開始します。記事では、FeliCaのネットでの活用シーンや、SDKの内容についてお届けします。ぜひ、いろいろと試してみて下さい。 ソニー株式会社 FeliCa企画開発部門 

  • Objective-C超入門!…の前に読む小話:新刊ピックアップ

    記事中に,「⁠Mac OS(Mac System Software 1.0)はC言語で開発された」とありますが,実際は「Object Pascal(Clascal⁠)⁠」で開発されており,C言語はその後に開発されたMPWで採用されました。不正確な情報を掲載したことを深くお詫びいたします。 今をときめく「iPhone」のアプリケーション開発言語として重要度を増している言語「Objective-C⁠」⁠。ここでは,この言語の知られざる真の姿を,薄皮一枚だけピッピッとはがしてみたいと思います。これを読めば,あなたも簡単にiPhoneアプリが作れるように,はなりません!(断言) Objective-Cに至る苦難の歴史 かつて,プログラミング言語の第一義はOSを作ること,OSの第一義はプログラムの開発環境を提供することでした。OSと言語は鶏と卵のような不可分な関係であり,原則としてセットで進化してい

    Objective-C超入門!…の前に読む小話:新刊ピックアップ
  • Haskell のお勉強

    Haskell は関数型プログラミング言語の”標準語”として、1990 年に 誕生 (Haskell 1.0) した比較的新しい言語です。 その後、1999 年に安定した言語定義 Haskell 98 が制定され、 徐々に知名度が高くなっています。 しかし、まとまった日語の解説がほとんど無いので、 簡単な解説記事を書いてみました。 目次 Haskell とは プログラムを動かす 関数を定義する 型 入出力 Haskell で最小二乗法 自前の data と class Monad 探索 種々のデータ構造 Module 詰碁を解く

  • Monadius - a scientist's toy box

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 第1回 関数型プログラミングの世界へようこそ - 本物のプログラマはHaskellを使う:ITpro

    Haskellというプログラミング言語を知っていますか? 全く聞いたことがないという人が多いかもしれません。そういう名前の言語があるのは知っているけど,どんな言語かは知らないという人もいるかもしれませんね。でも最近では,一部の先進的なソフトウエア開発者の間で,一種のブームと言えるほど熱狂的に受け入れられています。 なぜならば,Haskellは様々な優れた特徴を持っているからです。最初に,他の言語にはあまり見られない際だった特長を一つだけ紹介してみましょう。「遅延評価(lazy evaluation,怠惰評価ともいう)」です。 遅延評価とは,与えられた値を必要になるまで評価(計算)しないということです。この性質により,不必要な計算が行われる無駄をなくすことができます。また,「潜在的に無限の大きさを持つデータ構造」といった通常のプログラミング言語では扱いの難しいものを直接扱えるため,より直接的

    第1回 関数型プログラミングの世界へようこそ - 本物のプログラマはHaskellを使う:ITpro
  • 条件演算子・・・厨? - ぐるぐる~

    名前 症状 僕の状態 三項演算子厨 どんどんネストした三項演算子を書いてしまう.気が付くと自分でも良くわからなくなってる事もある 治療済み プログラマの麻疹 - YoshioriのBlog 三項演算子は多分条件演算子のことだろう、ってのはいいとして、ネストした条件演算子は書き方が悪いだけです!と言ってみる。 三項演算子?:の正しい書き方 で、ここのブクマコメに、id:nekora 「うーむ。一理あるような気がするけど、私ならifにする。」とか、id:PoohKid 「if文を1行で表記したいから三項演算子にするんだよね…」とか、id:sqrt 「改行したくなるほど複雑な表現になったら?:を諦めてif文などに置き換えるのがベストプラクティスだって偉い人がゆってた。だから、三項演算子は1行で書くのが正しい書き方。」とかあるんだけど・・・違うよ!全然違うよ! if 文を条件演算子で置き換えること

    条件演算子・・・厨? - ぐるぐる~
  • はてなブログ | 無料ブログを作成しよう

    来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…

    はてなブログ | 無料ブログを作成しよう
  • 敢えて取りあげるiPhone OS 3.0の「Core Data」サポート - builder by ZDNet Japan

    オープンソース活用はあたりまえ! そんな今だからこそ改めて考える 企業ITにおけるOSS活用のメリットとリスク 仮想環境データ保護の新次元 高度化・複雑化するIT環境の課題への解決策 最新鋭データ保護・管理ソフトウェア基盤 A Business New Era あらゆるモノ・コトが変化している今 デジタルでビジネスは生まれ変わる オリジナルコンテンツが満載! 意外と知らないNutanix HCI の情報を集約 読めばわかる!いまHCIが注目される理由 大事なのは”仕事の段取り” 幅広い業務を任されているからこそできる ひとり情シス流の業務改善術 膨大なアクセスを支える屋台骨 高い安定性とパフォーマンスを両立 ZOZOTOWNが選んだストレージ基盤を解説 最新ストレージで変わるIT運用 仮想化テクノロジーとFlashArrayの組合せで 運用負荷軽減と高性能化を実現したDMM DNSを守り、

    敢えて取りあげるiPhone OS 3.0の「Core Data」サポート - builder by ZDNet Japan
  • 【コラム】実践! iPhoneアプリ開発 (8) RSSリーダの作り方 (4) - libxmlでパースする | エンタープライズ | マイコミジャーナル

    前回はXMLパースライブラリの検討をして、libxmlを採用する事にした。今回は、実際にlibxmlを組み込んで、パースを行ってみよう。 libxmlのプロジェクトへの追加 まずプロジェクトにlibxmlを加える必要がある。 ここまででプロジェクトに追加されている外部のライブラリは、フレームワーク形式のものだった。UIKit.frameworkや、Foundation.frameworkなどだ。これらのファイルは、SDKフォルダの下の、Sysytem/Library/Frameworksに入れられている。SDKフォルダは、/Developer/Platforms/iPhoneOS.platform/Developer/SDKsにある。 これに対して、libxmlのようなUNIX由来のライブラリは、別のフォルダの中にある。SDKフォルダの下の、usr/libだ。インクルードファイルは、usr

  • PHPの比較の素晴らしさ加減は正常

    if ("0x0A" == "10") { print '(´ε` )チュッ'; } チュッ。されちゃいます。 文字列であっても整数と解釈できる文字列の場合は勝手に型変換しやがる今世紀最大の愚行を犯してしまうってのは有名な話だよね。 文字列であっても整数と解釈できる文字列の場合は自動的に整数に型変換してくれる超便利機能があるってのは有名な話だよね。 だけどなんでコレが一致するかわけがわからんかった。 0x0Aは10進数で10になるので一致する。と、言いたいところなんですがそう単純な話じゃないんだ。 以下の例を目ん玉見開いて見て欲しい。 var_dump(0x0A); var_dump("0x0A"); var_dump((int)"0x0A"); var_dump((float)"0x0A"); var_dump(intval("0x0A")); 実行結果 int(10) string(4

    PHPの比較の素晴らしさ加減は正常
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • CATiledLayerとUIScrollViewを使って、超巨大な画像を表示するサンプル - 24/7 twenty-four seven

    (参考) 無為空間 |タイルビューの挙動確認用サンプル CATiledLayerとUIScrollViewを組み合わせて、巨大な画像をスムーズにスクロールして表示するサンプルです。 表示する画像はこちらを使用しました。Garden | photo page - everystockphoto 画像の大きさは2448x3264です。 大きな画像を一度に読み込むとメモリが足りなくなるので、あらかじめ小さな単位に分割しておきます。 画像の分割はGraphicConverterなどを使用すると簡単です。 分割した画像を、画面に表示される部分だけ読み込むので、ファイル名を規則的に付けておきます。 GraphicConverterなら、自動的にimage-01-01.jpg, image-01-02.jpg, ...のような名前に自動的に付けてくれます。 今回は、タテ、ヨコそれぞれ10分割にしました。

    CATiledLayerとUIScrollViewを使って、超巨大な画像を表示するサンプル - 24/7 twenty-four seven