タグ

programmingに関するfacetのブックマーク (22)

  • split の研究 - bkブログ

    split の研究 split 関数の挙動が言語ごとに微妙に異なると知人と話題になったので調べてみました。結果はまとめをどうぞ。 Ruby まずはRubyから調べてみます。irb を使って調べました。 % irb ... まずは普通に分割 >> "a,b,c".split(",") => ["a", "b", "c"] 末尾に空要素があると、省略されてしまう >> "a,,c,,".split(",") => ["a", "", "c"] 末尾の空要素を省略しないためには -1 が必要 >> "a,,c,,".split(",", -1) => ["a", "", "c", "", ""] 空文字列だと結果も空 >> "".split(",") => [] -1 をつけても同様 >> "".split(",", -1) => [] 分割パターンを指定しない場合も同様 >> "".split

  • ゆの in languageとは コンピュータの人気・最新記事を集めました - はてな

    結構趣旨が違うものもありますが、どこからが違うか微妙なので全部載せてあります。 並び順は言語名アルファベット順、同一言語内は概ね時系列順。 言語 リンク AWK http://gauc.no-ip.org/awk-users-jp/blis.cgi/DoukakuAWK_033 ActionScript3.0 ゆの in ActionScript3 - #生存戦略 、それは - subtech ActionScript3.0 ゆの in ActionScript3.0 - BeInteractive!@g1986 - ハチロク世代 ActiveBasic ゆの in ActiveBasic - イグトランスの頭の中 Ada ゆの in Ada | 指向性メモ - 技術 Apache 2008-07-16 AspectJ おくむらたんぶら - ゆの in Java feat. AspectJ

    ゆの in languageとは コンピュータの人気・最新記事を集めました - はてな
    facet
    facet 2008/09/19
    [X / _ / X]←w
  • 第7回 Scala 2.6.0-final | gihyo.jp

    Scalaは、オブジェクト指向と関数型というそれぞれの要素を兼ね備えた設計がされているスクリプト言語とその実装(処理系)です。スイス連邦工科大学ローザンヌ校(EPFL)のMartin Odersky教授によって、2001年から設計が開始されました。最初の実装がリリースされたのは2003年です。これから紹介するバージョン2.6.0-finalのリリースは、2007年9月11日でした。 Scalaで開発されているプロダクトとして、Webフレームワークのlife、テストツールのRehersalやScalaCheck、振る舞い駆動設計(Behaviour-Driven-Design)フレームワークのspecsなどが挙げられます。また、ビルドツールMavenのScalaプラグインも存在します。 Scalaの実装は学内のProgramming Methods Laboratory(LAMP)を中心に行

    第7回 Scala 2.6.0-final | gihyo.jp
    facet
    facet 2008/04/11
    「オブジェクト指向と関数型というそれぞれの要素を兼ね備えた設計がされているスクリプト言語とその実装(処理系)」。「スイス連邦工科大学ローザンヌ校(EPFL)のMartin Odersky教授によって,2001年から設計が開始」。
  • 第3回 日常的な学習について | gihyo.jp

    日常的な学習の方法 日常的な学習はプログラマにとって不可欠な活動です。ソフトウェアの世界には次々と新しい流行が登場しますし、基礎的な事柄だけでもマスターしておきたいことは山ほどあります。今回は日常的な学習の方法について、私のパターンに照らし合わせて考察してみたいと思います。 ブログ ブログは学習というよりは情報収集に適したメディアです。ブログの記事は、だいたい小粒で、1つの記事で内容が完結しています。ほかの人がどんなことに興味を持っているかわかるのも、流行を知るといった点でプラスです。とはいうものの、ブログで得られる情報の大半は、断片的な雑多なノウハウであるため、長期的に役立つような知識のかたまりはほとんど残りません。 雑誌 プログラムを書いている最中に「今すぐ知りたい」といった類いのピンポイントの情報(たとえば、Perlで文字コードを変換するにはどうすればいいんだっけ、とか)は、Webを

    第3回 日常的な学習について | gihyo.jp
    facet
    facet 2007/09/17
    続けるコツ:「1回で理解できなくてもOK」「だらだらやってもOK」「間隔を空けても気にしない」「「今さら」でも気にしない」(Better late than never)「刺激を受けすぎない」// 「猛スピードで流行に振り回されるオレ」www
  • プログラミングの光景:第1回 デバッグについて|gihyo.jp

    プログラミングに関する雑多なあれこれ 今号から、「⁠プログラミングの光景」と題して連載することになった高林と申します。プログラミングは趣味として、仕事として、かれこれ10年ほど行ってきました。連載ではプログラミングに関する雑多な事柄について書く予定です。 第1回は、プログラミングとは切っても切れない関係にある「デバッグ」について取り上げてみようと思います。 デバッグの時間 ソフトウェア開発において、デバッグに要する時間は相当のものです。プログラマとしては「いやいや、自分はそれほどデバッグに時間を使ってないよ」と否定したいところですが、冷静に考えてみると、現実には自分が考えているよりも(そうであってほしいと考えているよりも)デバッグに時間を要しているように思えます。それに、バグは他人が書いたコードに混入していることもあるので、たとえ自分がバグを入れなくてもデバッグするはめになります。 デバ

    プログラミングの光景:第1回 デバッグについて|gihyo.jp
    facet
    facet 2007/09/17
    面白いなあ。 「分割と統治」← Divide et impera. [di:wide et impera:] [latin] だな。 あとはやっぱりぬいぐるみか。w
  • 正規表現の XPath 字句解析その2 - IT戦記

    またまた XPath ネタです。 先日、XPath の字句解析をワンライナーで作ってみた。 - IT戦記で書いた正規表現の XPath 字句解析ですが、よく考えるといろいろおかしかった(不正な文字が無視されたりする)& id:otsune さんからコメントやブクマの突っ込みもありまして、1から正規表現を勉強してから新しく書き直すことにしました。 正規表現の勉強方法 以下の二つの方法で勉強しました。 1.SpiderMonkey の正規表現デバッグオプションを使う SpiderMonkey をビルドするときに、以下のフラグを付けてビルドします。 $ make -f Makefile.ref "DEFINES=-DREGEXP_DEBUG -DDEBUG"こうすると正規表現がどういう風に実行されたかを調べることができます。 こんな感じ $ js js> 'foobar'.match(/o+/)

    正規表現の XPath 字句解析その2 - IT戦記
  • どうしてプログラマに・・・プログラムが書けないのか?

    Jeff Atwood / 青木靖 訳 2007年2月26日 レジナルド・ブレイスウェイトが書いていることを読んだとき、私はそんなわけないだろうと思っていた。 私と同様、この著者は、プログラミングの仕事への応募者200人中199人はコードがまったく書けないということで苦労している。繰り返すが、彼らはどんなコードも書けないのだ。 彼が引用している著者というのはイムランのことで、彼は単純なプログラムも書けないプログラマをたくさん追い払っているということだ。 かなりの試行錯誤の末に、コードを書こうともがいている人たちというのは、単に大きな問題に対して苦労しているのではないことがわかった。やや小さな問題(連結リストを実装するというような)に対して苦労するということでさえない。彼らはまったくちっぽけな問題に苦労しているのだ。 それで、そういった類の開発者を見分けるための質問を作り始め、私が「Fizz

    facet
    facet 2007/05/14
    元ネタが見れない[orz]のでよくワカランな。:via http://d.hatena.ne.jp/Hamachiya2/20070509/FizzBuzz # ワンライナー作ってみた → http://javascript.g.hatena.ne.jp/facet/20070513/1179074451
  • 継続を使ってSjaxをAjaxに簡単に変換する方法 - llameradaの日記

    JavaScriptによる全文検索エンジンの最初のバージョンはAjaxではなく、Sjaxであった。その為、サーバへのリクエストが発生する毎にブラウザが固まってしまい、応答性が悪かった。なぜ、Sjaxで記述したかというと、連続してサーバへリクエストを送り、しかも、サーバからのレスポンスに応じてリクエストを変更するようなAjaxプログラミングが面倒だった為である。このようなSjaxのコード例を次に示す(prototype.jsを使用)。 // (Sjax)サーバからpathのデータをoffsetの位置からlengthバイト取得 function fetch(path, length, offset){ var range = ["bytes=" + offset + "-" + (offset + length - 1)].join(""); var options = { method: "

    継続を使ってSjaxをAjaxに簡単に変換する方法 - llameradaの日記
  • ユビキタスの街角 全世界プログラミング

    という論文を 夏のプログラミングシンポジウムに 投稿予定... ------------------------ 計算機やインターネットの爆発的普及にもかかわらず、 プログラミングを楽しむ人の数は全然増えていないようである。 初期のパソコンでは購入者の多くがBasicプログラミングを楽しんでいたものだが、 現在のパソコンにはプログラム開発環境は標準搭載されておらず、 環境の整備には多大な労力と資金が必要で、 プログラミングするのは計算機オタクだけという状況が続いていた。 しかし幸いなことに、以下のような理由により状況は好転しつつある。 手軽な開発環境が増えてきた 標準的なWebブラウザではJavascriptを利用できるし、 Basic並の手軽さで使える Processing のようなシステムも普及しつつある 扱える対称が増えてきた Phidgets や GAINER のようなシステムを利

    facet
    facet 2006/07/10
    Processing, Phidgets, GAINER
  • OBB vs AABB - Radium Software Development

    iPhoneの一般修理店は予約なしでも来店できる? 基的には飛び込みで修理に行ってもOK iPhoneを置いていたソファにうっかりと腰かけてしまい、パネルを割ってしまった、こんな時はスマホの一般修理店へ行きましょう。画面割れは、スマホやタブレットの故障原因として非常に多いものです。予約なしで突然お店に行っても平気かしらと、不安に思う方々もいらっしゃるかもしれません。結論としては特に問題はなく、予約なしで訪問しても画面割れの修理はお願いできます。 ただし他のサービス業のお店同様、予約なしの場合、お店が混雑していると順番待ちをしなければいけないです。特に繁盛しているスマホ修理のお店だと、行列が店内で出来ており、予約なしだと、自分の順番が巡ってくるまで長時間待たされる可能性があります。平日の朝、昼なら利用客が少ない場合が多く、飛び込みでも比較スムーズに修理が頼めます。 予約は入れた方が時短に、

    facet
    facet 2006/07/10
    サピア・ウォーフの仮説
  • キーリピート間隔を短くしたらプログラミングが快適に - higepon blog

    id:secondlifeが僕がエディタで入力しているのを見て「キーリピート間隔、ストレスたまりませんか?」と聞かれた。 そのときは今のまま(デフォルト)で問題ないと思ったんですが、「コントロールパネルーキーボード」からキーリピート間隔を短くしたらとても快適になりました。 同じキーを長時間押し続けて、同じ文字を連続して入力すること。1文字入力するつもりで複数文字入力されてしまう現象を防ぐため、キーを押し始めてから0.5秒〜1秒程度経過するまではキーリピートされない。連続して入力する際、それぞれの間隔を何秒空けるかをソフトウェアで設定できるようになっていることが多い。この間隔のことをキーリピート間隔という。 追記: id:krackmaniaさんとid:secondlifeにつっこまれた http://www.jsdlab.co.jp/~kamei/ にある、kbdacc を使うのが常識のよ

    キーリピート間隔を短くしたらプログラミングが快適に - higepon blog
    facet
    facet 2006/02/18
    kbdacc(win/xyzzyの人の), insenvim(vim), kbdrate(linux)
  • Martin Fowler's Bliki in Japanese - クロージャ

    http://martinfowler.com/bliki/Closure.html 動的言語に興味がでてくると、 クロージャやブロックと呼ばれる概念に出会うと思います。 C/C++/Java/C# などクロージャを持たない言語をご使用の方は、 どういったものなのかご存知ないかもしれません。 ここでは簡単にクロージャについて説明します。 クロージャを持った素晴らしい言語を使ったことある方にとっては、 あまり面白くない話かもしれません。 クロージャは長年使用されてきました。 私が最初に出会ったのは、おそらく Smalltalk だったと思います。 Smalltalk ではブロックと呼んでいました。 Lisp ではクロージャを多用しています。 Ruby でもクロージャが提供されています――多くの rubyist がスクリプト言語に Ruby を選ぶのはこのためです。 基的にクロージャとは、ブ

  • 月のオリジン - bkブログ

    スクリプト言語の挙動について、コマンドラインから試すには次のように実行します。 % perl -le 'print((localtime)[4])' 0 % echo "print ((new Date).getMonth())" | js 0 % ruby -e 'p Time.now.month' 1 % ruby -rdate -e 'p Date.today.month' 1 % perl -MDateTime -le 'print DateTime->now->month' 1 % perl -MTime::Piece -le 'print Time::Piece->new->mon' 1 % python -c 'import time; print time.localtime()[1]' 1 % python -c 'import datetime; print datet

    facet
    facet 2006/01/02
    へえ。漸く0始まりが駆逐されて来たという感じ?
  • 窓の杜 - 【NEWS】「Visual Studio 2005 Express Edition」日本語正式版の一般向け無償公開開始

    マイクロソフト(株)は15日、統合開発環境“Visual Studio”シリーズの最新版となる「Visual Studio 2005」日語正式版を“MSDN”会員向けにダウンロードでの提供を開始し、同時に、同製品の機能限定版である「Visual Studio 2005 Express Edition」日語正式版の、一般向けの無償公開を開始した。“Express Edition”は“MSDN”会員に限らず、誰でも同社ホームページからダウンロードして利用でき、使用期限はない。なお、“Express Edition”の一般向けの無償公開は1年間の期間限定となっている。 「Visual Studio 2005」は、「.NET Framework 2.0」をサポートしたWindowsアプリケーションの統合開発環境。今回、日語の無償版が公開されたのは、プログラミング初心者向けの機能を数多く搭載し

  • なぜ関数プログラミングは重要か

    John Hughes, Institutionen för Datavetenskap, Chalmers Tekniska Högskola, 41296 Göteborg, SWEDEN. rjmh@cs.chalmers.se この日語訳は原著者の承諾を得て山下がここに公開するものです。 この訳文についての、御指摘などは山下伸夫(nobsun .at. sampou.org)までおねがい いたします。 翻訳最終更新日 : 2011-09-17 原文 "Why Functional Programming Matters" 日語訳PostScript この論文は1984年以来何年ものあいだChalmers大学のメモとして回覧された。 1989年と1990年に幾分か改訂をしたのが[Hug89]と [Hug90]である。この版はもとのChalmer大学のメモ のnroff原稿をもとに

    facet
    facet 2005/10/12
    Why functional programming matters.
  • http://itpro.nikkeibp.co.jp/err/notlogin.jsp?URL=http%3A%2F%2Fitpro.nikkeibp.co.jp%2Fmembers%2Fbn%2Fbnsearch.jsp%3FBID%3D1182%26OFFSET%3D0%26MAXCNT%3D20%26TITLE%3D%25A4%25DE%25A4%25C4%25A4%25E2%25A4%25C8%25C4%25BE%25C5%25C1%25A1%25A1%25A5%25D7%25A5%25ED%252

    以下のページでログインをお願いします。 [SSL(Secure Sockets Layer)プロトコルで入力いただいた内容を保護いたします] ■登録されているユーザーIDとパスワードをお忘れの方は,「日経BPパスポート」の「ユーザーID・パスワードのお問い合わせ」ページでご確認いただけます。 ■ITpro-News,ITpro-Reportなどのメール配信サービスをご利用の方も, Web上のコンテンツをご覧いただくためには,改めて登録をお願いいたします。

  • 最速インターフェース研究会 :: 実践JavaScriptリファクタリング

    同じ事をやるにも、いろんな書き方があるわけでいかにして短くてわかりやすいコードを書くかというノウハウを紹介します。 例として"abcde"を80回繰り返した文字列を作るとして実際に自分のコーディングスタイルがどんな風に変化していったのか、という。 短くなるのは確かなんだけどわかりやすいかというと、人によるかもしれない。 グローバル関数を定義2年前なら、多分こういう具合だった。 //ふつうに関数として定義する function x(str,num){ var tmp = ""; for(var i=0;i<num;i++){ tmp += str; } return tmp; } x("abcde",80) Stringのメソッドとして定義1年前だとこんな感じ。 //Stringのメソッドとして定義する String.prototype.x = function(num){ var tmp

  • 50年の歴史に秘められた高階プログラミングのヒミツ - sshi.Continual

    「Collection & Copy - JavaScriptにおける高階プログラミング(http://d.hatena.ne.jp/brazil/20051004/1128435079)」というJavaScriptでの高階プログラミング入門記事の和訳エントリがはてなブックマークで大人気になっている。 だめだよー、高階プログラミングの秘密ばらしちゃ。他の人との生産性の差がつかなくなるじゃないか。でもまあ、この記事はさすがに入門だけあって全体的にあっさり書かれていて、特に記事中で紹介されている高階関数reduceの定義が中途半端。これだけ読んでもそんなたいした高階プログラミングはできないだろう。ひと安心。 でもこれを足がかりに、RubyのEnumerableモジュール*1のeachメソッドやinjectメソッド、さらにLispのmap関数とかfold関数を勉強されると、勘のいい人には高階プロ

    50年の歴史に秘められた高階プログラミングのヒミツ - sshi.Continual
  • 最速インターフェース研究会 :: 三項演算子の正しい書き方ってあるのだろうか

    最近は、三項演算子を多用しているのだけれど、やっぱり人が使ってるのを見ると気持ち悪い。 http://d.hatena.ne.jp/brazil/20050921/1127314004 Test.Builder.globalScope = typeof JSAN != 'undefined' ? JSAN.globalScope : typeof window != 'undefined' ? window : typeof _global != 'undefined' ? _global : null; これは解読するのにやたら時間がかかる気がする。コロンの後が値なのか条件なのかわからないからだ。 俺ならこう書く。 Test.Builder.globalScope = (typeof JSAN != 'undefined') ? JSAN.globalScope : (typeof wi

  • ウェブマスターはてな JavaScript プログラマの方にお聞きします。近頃注目を集めている JavaScript ですが、どのような開発環境で開発していますでしょうか。(ブラウザ、デ・・

    JavaScript プログラマの方にお聞きします。 近頃注目を集めている JavaScript ですが、どのような開発環境で開発していますでしょうか。(ブラウザ、デバッガ、エディタ、ブラウザのプラグイン、そのほか) サードパーティ製のツールなどをお使いの方は、できればそれがどんなものか、なぜそれがいいのかも教えてください。 ちなみに僕は Firefox の JavaScript コンソールと Emacs の java-mode というとてもしょぼい感じですw