タグ

mirroredのブックマーク (619)

  • Java脳でもわかるObjective-C入門

    ちょいAndroidTypescriptいいよ。JenkinsとかGradleとか。APTもいいなー。 photo: Some rights reserved by yukiv Javaと比較しながら「へぇーObjective-Cってそういう感じか」と理解した気になろう。 流れ 軽くジャブ クラスファイルの構成 コメント import文 変数の定義 クラス定義 メソッドの定義 メッセージ式 プロパティ セレクタ プロトコル カテゴリ 文字列リテラル ログ出力 ひと通り使ってみる感じのソース まとめ 軽くジャブ まずは以下のソースを眺める //SampleClass.h #import <Foundation/Foundation.h> #import "SampleClassDelegate.h" @interface SampleClass : NSObject <sampleclas

    Java脳でもわかるObjective-C入門
  • reduce関数は結構有用っていうお話 - あと味

    JavaScriptに限った話ではないのですが、reduce関数を持つプログラミング言語がいくつかあります。 JavaScriptに関しては、一応、ECMAScript5の仕様に登場するようで、将来的にはどのブラウザでも使えるようになりそうな気配はあります。 Standard ECMA-262 また、MDCではreduceのアルゴリズムが掲載されているので、これを利用すれば現時点でもどのブラウザでもreduce関数を利用することができます。 reduce関数とは? MDCに掲載されている文章を引用します。 配列の(左から右へ) 2 つの値に対して同時に関数を適用し、単一の値にします。 JavaScriptのreduceは、配列のメソッドです。左ら右へとありますが、右から左へ関数を適用するreduceRightという関数もあります。*1 どういう時に使えるか 元となる配列があって、それを累積

    reduce関数は結構有用っていうお話 - あと味
    mirrored
    mirrored 2011/09/24
    reduce
  • アルゴリズムの勉強のしかた - きしだのHatena

    この記事で、アルゴリズムの勉強はアルゴリズムカタログを覚えることじゃないよということを書きました。 プログラムの理論とはなにか アルゴリズムの勉強というのは、スポーツで言えば腕立て伏せや走り込みみたいな基礎体力を養うようなもので、「ソートなんか実際に自分で書くことないだろう」とかいうのは「サッカーは腕つかわないのに腕立ていらないだろう」とか「野球で1kmも走ることなんかないのに長距離の走り込みいらないだろう」とか言うようなものです。 Twitterでアルゴリズムの勉強とはなにかと尋ねられて、「アルゴリズムの基的なパターンを知って、それらの性質の分析のしかたをしって、いろいろなアルゴリズムでどのように応用されているか知って、自分が組むアルゴリズムの性質を判断できるようになることだと思います。 」と答えたのですが、じゃあ実際どういうで勉強すればいいか、ぼくの知ってるからまとめてみました。

    アルゴリズムの勉強のしかた - きしだのHatena
    mirrored
    mirrored 2011/09/22
  • Node.jsとCommonJSについて - 自分の感受性くらい

    日経ソフトウェア8月号にJavaScriptの特集がありまして、そこでNode.jsが紹介されていました。 それを読んで、僕は以下のようなツイートしました。 日経ソフトウェア8月号のJavaScript特集のNode.jsの記事みたけど、これはちょっとひどいな。非公式のWindowsバイナリを使ってるせいでnpmの使い方おかしいし、「Node.jsのAPIはCommonJSに従った形で実装」とか嘘書いてあるし。 #nodejs_jp 2011-06-26 13:43:59 via web *1だと言わざるをえません。Node.jsはCommonJSの仕様のうち「Module 1.0」と「Unit Testing 1.0」には一応準拠していることになっています(http://wiki.commonjs.org/wiki/CommonJS#Implementations)。が、Node.jsの

    mirrored
    mirrored 2011/07/09
  • GitHub、プログラミング言語識別ライブラリ「Linguist」をオープンソースで公開 | OSDN Magazine

    GitHubは6月27日、ファイル内に記述されているプログラム言語を識別するライブラリ「Linguist 1.0」を公開した。ライセンスはMIT License。 Linguistは、ファイルで使われているプログラム言語を識別する目的でGitHubが開発したライブラリ。ファイルの拡張子で言語を判別するだけでなく、拡張子のないスクリプトファイルや、C/C++/Objective-Cのような互換性を持つ言語については中身を調べる「ディープコンテンツインスペクション」により言語を検出する。これによって言語を検出し、Pythonシンタックスハイライター「Pygments」向けのRubyラッパー技術「Albino」によりシンタックスハイライト処理を行わせる、といった処理が可能。 このほか、MIMEタイプ検出、バイナリファイルのチェック、使われている言語のグラフ生成などの機能もある。ライセンスはMIT

    GitHub、プログラミング言語識別ライブラリ「Linguist」をオープンソースで公開 | OSDN Magazine
    mirrored
    mirrored 2011/07/05
  • JavaScriptでradiko.jpを制御する·RadikoJS MOONGIFT

    RadikoJSはJavaScript/Flashによるオープンソース・ソフトウェア。radiko.jpの人気が高い。ラジオの電波状況など関係なく、滅多にラジオを聴いてこなかった人もパソコンからであれば手軽に使えて聴けるようになる。さらに最近ではTwitterなどを通じて他のユーザと情報交換も可能だ。 おうっ、小さい! だが聴くために都度rakiko.jpへアクセスするのは面倒という人も多い。特にあの大きなプレーヤが常時表示されているのはノートPCでは邪魔に感じる人は多いだろう。そんな人に朗報だ、RadikoJSはごくごく小さなrajiko.jpプレーヤだ。 大きさで言えば小さなバナー程度の大きさだ。自分のサイトに貼り付けておいたりすると便利かも知れない。小さいとは言え、放送局の選択はもちろん、再生と停止もできる。全く機能的には問題ないレベルだ。これ以上の軽量化はないのではないだろうか。

    JavaScriptでradiko.jpを制御する·RadikoJS MOONGIFT
    mirrored
    mirrored 2011/07/05
  • JavaScriptでゲームが作れるようになる、そんな未来を感じさせる·jgen MOONGIFT

    jgenはJavaScript製の2Dゲームエンジン。 [/s2If] jgenはJavaScript製のフリーウェア(ソースコードは公開されている)。2010年はモバイルゲームに注目が集まった年だった。2011年も同様にしばらくの間は目が離せない状態が続くだろう。ゲームを作るには一般のWebサイトを作るのと訳が違うと思っていた人にとって朗報がある。 戦車のゲームデモ jgenがそれだ。Webベース、JavaScriptを使ってゲームを開発できるようになる。これを使えばこれまで培ってきた技術を使ってトレンドに入る込むことができるはずだ。しかもWebベースなら対応プラットフォームも多い。 jgenが使うのはJavaScriptだが、あまりに軽量なのでびっくりしてしまう。せいぜい20KB程度のファイル群で、タンクゲームが動いている。自分のタンクだけしか動かせないが、弾を発射して止まっているタン

    mirrored
    mirrored 2011/07/05
  • これが次世代型ターミナル?WebKit + node.jsによるグラフィカルコンソール·ターミナル MOONGIFT

    TermKitはnode.jsとWebKitを組み合わせたグラフィカルなコンソール。 TermKitWindows/Mac OSX/Linux用、node.js製のオープンソース・ソフトウェア。ターミナルと言えば英数字の並ぶ白黒の世界が一般的だ。カラー設定を行えば白黒ではなくなるが、それでも二色だ。さらにカラー設定を行えばANSIカラーが使える。UTF-8が使われるようになり日語も問題なく表示されるようになった。 アイコンが表示される だがグラフィカルな世界とは全く縁遠い所にいる、それがCUIなのだ。そんな孤高の世界に果敢に挑む、新世代のターミナルがTermKitだ。 TermKitはnode.jsと専用ターミナルを組み合わせた全く新しいターミナルだ。ターミナルはWebKitをラッピングしたものになっており、Webベースだ。そこに文字を打ち込むと、入力候補になるコマンドやファイル、フォ

    mirrored
    mirrored 2011/07/05
  • node.js製のWeb版iTunesフロントエンド·nTunes MOONGIFT

    nTunesはnode.jsで作られたiTunes API接続型メディアサーバ。 nTunesはJavaScript/node.js用のオープンソース・ソフトウェア。iOSをはじめ、iPodを利用している人であればiTunesをメディアサーバとして動画や音楽を管理していることだろう。機能は多いが、画面が巨大で動作が重たいのが難点だ。 トップ そのため音楽などのデータはメディアサーバ中に、操作は外部から行いたいと思ったことがあるはずだ。それをnode.jsを使って実現するのがnTunesだ。 nTunesはnpmでインストールできるソフトウェアで、立ち上げると8888番ポートでWebサーバが立ち上がる。後はWebブラウザからアクセスすると簡単な一覧が表示される。音楽や動画の再生、音量の調整、トラック一覧の閲覧といった機能がある。 音楽再生 音楽や動画は操作しているWebブラウザ側で再生される

    mirrored
    mirrored 2011/07/05
  • RPGや2Dスクロールアクション対応。スマートフォン向けWebブラウザベースのゲーム開発に·enchant.js MOONGIFT

    enchant.jsは主にスマートフォン向けのゲームを開発する際に使えるJavaScriptライブラリ。 enchant.jsはJavaScript製のオープンソース・ソフトウェア。かつてはゲームを開発するためには専用の機器が必要だった。パソコンでも開発できるようになり、さらにFlashを使ってWebベースでゲームが開発、遊べるようになった。次はJavaScriptだ。 RPG風デモ JavaScriptゲームを作ることで、デスクトップはもちろんスマートフォンでもゲームが開発できるようになった。とは言えできるようになったというだけでは不十分で、開発を補助するライブラリは必須だろう。その一つがenchant.jsだ。 enchant.jsは2Dのゲームを作るのに使えるライブラリだ。スクロールマップや当たり判定、仮想パッドを使ったキャラクター操作ができる。デモゲームとしてRPGのようにマップ

    mirrored
    mirrored 2011/07/05
  • 既存のコードをCoffeeScriptで書いたらどうなるか·Js2coffee MOONGIFT

    Js2coffeeはJavaScriptファイルをCoffeeScriptへ変換するnode.js用ライブラリ。 Js2coffeeはJavaScript/node.js製のオープンソース・ソフトウェア。ここ数ヶ月で注目を集めているのがCoffeeScriptだ。JavaScriptの癖のある書き方をせず、オブジェクト指向的な記法でプログラミングし、JavaScriptファイルを生成する言語だ。 生成されたコード 実際、どれくらい違うのかやってみないと分からないだけに躊躇してしまっているかもしれない。そこでまずは既存のコードをCoffeeScriptにするとどう書くのか、Js2coffeeでチェックしてみよう。 Js2coffeeはJavaScriptファイルを読み込んでCofeeScriptに変換するソフトウェアだ。公式サイトではWeb上でJavaScriptからの変換を試すことができる

    mirrored
    mirrored 2011/07/05
  • Backbone.jsを利用したクライアントサイドMVCの導入についてそろそろ書いておくか - 出町ミスド攻防記

    jQueryヘビーなアプリケーションの問題点と、MVCによる構造化の必要性 jQueryは、ブラウザ上で動くJSアプリケーションの開発生産性を劇的に向上させました。DOM操作による動的なページ書き換え処理などは、セレクタを使ってちょろっとコードを書くだけで、ほんの数行で記述できてしまいます。 しかし、この方法の延長で、大規模なJSアプリケーションを構築することは果たして現実的でしょうか。例えば「GMail」や「New Twitter」程度の規模のJSアプリケーションを書かなければならないとしたら、どうでしょう? 大規模なJSアプリケーションを開発するには、こういった手法を延長するのではなく、より洗練されたデザインパターンを導入する必要があります。この目的にぴったりのデザインパターンが、「MVC」デザインパターンです。 MVCパターンは、Webの世界ではサーバサイドプログラミングで広く知られ

    Backbone.jsを利用したクライアントサイドMVCの導入についてそろそろ書いておくか - 出町ミスド攻防記
    mirrored
    mirrored 2011/07/05
  • Underscore.js

    Table of Contents Collections each, map, inject, detect, select, reject, all, any, include, invoke, pluck, max, min, sortBy, sortedIndex, toArray, size Arrays first, last, compact, flatten, without, uniq, intersect, zip, indexOf Functions bind, bindAll, delay, defer, wrap Objects keys, values, extend, clone, isEqual, isElement, isArray, isFunction, isUndefined Utility uniqueId, template Collection

    mirrored
    mirrored 2011/07/05
  • 考察:Appleはスマホサイトを作らない。

    今まで気づかずにいたが、Appleはスマホ(スマートフォン)向けサイトを作っていない。それは何故か。 予算がないとか、(どこぞのメーカーと違って)ウェブデザインや自社製品についての理解度が低いとか、おそらくそういったネガティブな理由ではない。Appleのウェブサイトには、自社のプロダクトデザインに通じる主張が表現されている。 Mobile Safari のUIデザインの質を垣間見るウェブデザイン 自社のプロダクト(ここでは特にMobile Safari)のUIデザインが、何を理想として、どう調整されてきたのか、このサイトのデザインから読み取ることができる。 Appleのウェブサイトの裏側をちょっとだけ覗いてみると、viewport に width=1024 が記述されている。これは、iPhoneの小さな画面でも1024px分の幅があるものと仮想してレンダリングされるようにする、呪文のよう

    mirrored
    mirrored 2011/06/23
  • Graphviz チュートリアル

    Graphviz というツールは、 「DOT 言語」という言語で書かれたグラフ表現を GIF や PNG などのファイルフォーマットに変換してくれるシステムです。 家のホームページは http://www.graphviz.org/ です。 ここでは、Graphviz のインストールと使い方についてまとめてみました。 なお、ここでインストール/使用する Graphviz は version 2.4(2005-08-01 現在)です。 また、インストール先の環境は Cygwin です。 ダウンロードとインストール 簡単なサンプル グラフ全体の属性 ノードの属性 エッジの属性 その他の事項 レコード サブグラフ 無向グラフ 形の一覧 トップへ ↑

    mirrored
    mirrored 2011/06/14
  • 卜部昌平のあまりreblogしないtumblr

    昔と違って今は{PostNotes}がテーマに入ってるから、wgetでページぶっこ抜いてきてawkかperlでちょろっと整形してgraphvizに突っ込むだけでこういう画像が簡単に。 zsh % export target="http://shyouhei.tumblr.com/post/339223403/tumblr-tumblr"; \ zsh -c 'wget -O - $target | tidy -i -w 0 -utf8 | ruby -n <(cat) | neato -Tpng -o tmp.png' <<'EOF' BEGIN { require 'open-uri' require 'thread' $h = Hash.new $q = Queue.new $th = Thread.start { loop { url = $q.deq $th.exit unless

    卜部昌平のあまりreblogしないtumblr
    mirrored
    mirrored 2011/06/14
  • ecl.js (Escape Codec Library) と Sleipnir の相性が悪い件について

    とあるサイトで ecl.js を使っています。ecl.js とは JavaScript で文字コード変換を行うライブラリで Escape Codec Library が正式名称です。配布元は Escape Codec Library: ecl.js です。ちなみに yaplog に組み込まれている /blog/js/urlEnDecoding.js も元ネタは ecl.js みたいですね。もちろん Sleipnir で yaplog 見ると激遅です・・・ Shift_JISエンコードやEUC-JPエンコードなども可能な escape エンコード・デコード関数のライブラリ 文字列をすべてのコンピュータで読めるような形式に変換したり、変換されたものを元の文字列にデコードすることができる関数のライブラリです。 ビルトイン関数 escape() , unescape() とは異なり、どの種類のブラ

    mirrored
    mirrored 2011/05/23
  • ECMA 5 Mozilla Features Implemented in V8

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    ECMA 5 Mozilla Features Implemented in V8
    mirrored
    mirrored 2011/05/17
  • クロージャとメモリリークについてのコピペ - こんにちはこんにちはmonmonです!

    前に見た時に理解できずにいた2chスレを備忘録としてコピペ。 時間あったら整形する。 + JavaScript の質問用スレッド vol.52 + 元々のスレ:http://pc8.2ch.net/test/read.cgi/hp/1161422792/ 過去スレ保管庫:http://wing2.jp/~mirrorhenkan/2ch/javascript/read.php/1161422792/ 670 名前:Name_Not_Found[sage] 投稿日:2006/11/24(金) 11:42:28 ID:??? >>666 自分でそういう関数を1行で定義して使うのはいいんじゃねの? >>669 setAttributeダサイ! >>667 ホレ。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html><head><tit

    クロージャとメモリリークについてのコピペ - こんにちはこんにちはmonmonです!
    mirrored
    mirrored 2011/05/17
  • livedoor Techブログ : wikipediaのデータや顔文字辞書からmecabのユーザ辞書を作成するフレームワーク

    突然ですが,mecabの辞書 (mecab-ipadic) をデフォルトのまま使って,mecab意外と使えねぇとか文句言ってる悪い子はおらんかね? mecab-ipadic は比較的お行儀のよい日語をベースに作られているので,そのままでは web上の口語文体のテキストはうまく扱えないことがあります。来は教師データを用意し,学習させるといった手法を使うのが正攻法だと思いますが,とりあえず名詞を充実させるだけでも実用度はだいぶ上がるでしょう。 人間の話す言語には,動詞の語幹や名詞には日々新しく語彙が増えるけど,助詞や活用のルールは簡単には変化しない,という特性があります。特に「いま最もつぶやかれている単語ランキング」といった集計をするような場合は,名詞の範囲の切り出しさえ間違えなければそれなりの結果を出せることも多いのです。 ただ,辞書への単語追加はここにある通り簡単にできるのですが,単語

    mirrored
    mirrored 2011/05/17