タグ

programmingに関するRanTairyuのブックマーク (108)

  • 第1回 なぜScalaなのか?

    大手SIベンダにてSEやPMやアーキテクトとして勤務したのち,現在は株式会社豆蔵のチーフコンサルタント。主に超上流のプロセスである要求開発やオブジェクト指向,アジャイル開発のコンサルタントとして活躍中。開発の現場にこだわり,開発の現場を少しでもよくしたいと日夜奮闘している。要求開発アライアンス 執行委員。著書に『オブジェクト脳のつくり方』や『eXtreme Programming実践レポート』(ともに翔泳社発行。後者は共著)などがある。 連載では,次世代のエンタープライズ・プラットフォームを支える言語として,このところ最も注目を集めている言語「Scala」の魅力をお伝えしていきたいと思います。Scalaは,技術的にもかなり刺激的で,楽しい言語に仕上がっています。最初の一歩から刺激的な技術解説まで,幅広くScalaおもしろさ,楽しさをお伝えしたいと思います。 Scalarはじめの一歩 S

    第1回 なぜScalaなのか?
  • よいサブルーチンを作成するための心がけ。★★★ - サンプルコードによる Perl 入門

    Perl › サブルーチン › here サブルーチン作成に関するわたしの考えを殴り書きしました。 見出し 引数と戻り値について理解する。 小さなサブルーチンを作成する。 サブルーチンに柔軟性を持たせる。 呼び出しの階層を浅く保つ。 機能を実現するサブルーチンを作成する。 ユーザーを意識する。 将来を楽にすることを考える。 完全な抽象化は求めない。 1. 引数と戻り値について理解する サブルーチンを理解するためには、引数の受け取り方と、戻り値の返却のし方を覚えれば十分です。なぜなら、引数を受け取ってから、戻り値を返却をするまでは、今まで学習したプログラミングとなんら変わることがないからです。引数と戻り値の扱いを、覚えたら、すぐに実践に移りましょう。 サブルーチン作成で、難しいのは、以下の4点です。 何をサブルーチンにするか どのような名前をつけるか 引数を何にするか 戻り値を何にするか 正

    よいサブルーチンを作成するための心がけ。★★★ - サンプルコードによる Perl 入門
    RanTairyu
    RanTairyu 2008/06/17
    「 抽象化は、バランスの上に成り立っています。抽象化は、たいていは良いことですが、徹底的に抽象化を求め」
  • 【コラム】Hello Worldコレクション (9) Python編 - フレキシブルなオブジェクト指向スクリプト言語 | エンタープライズ | マイコミジャーナル

    PythonのHello World 第9回は、オブジェクト指向のスクリプト言語であるPythonを使ってみましょう。PythonのHello Worldは、リスト1のようにprintを使って記述すればOKです。文字列の最後に改行コードを付ける必要はありません。Pythonの文字列は、Perl等とは違って、シングルクォートで囲んでもダブルクォートで囲んでも同じ意味になり、どちらも、文字列中の「\」は特別な意味で解釈されます。 リスト1 printを使う方法(python_print) #!/usr/bin/pythonPythonスクリプトであることを指定 print 'Hello World' ← printを使ってメッセージ出力(改行コードは不要) Pythonスクリプトは、実行例1のようにchmodコマンドで実行属性を付ければ実行できます。Pythonスクリプトに拡張子を付ける

  • amachangのすごいところ(d:id:amachang:20080611)

    mutexはmutual executionの略で、書籍とかには「ミューテックス」とはあまり書かない。Wikipedia(ja)くらいである。カタカナで書く場合は「ミューテック」と書くことが多い。口語では「ミューテクス」だろうがなんでもいいが「みゅーてっくつ」とか書かれると大丈夫かなと思う。charをたむけんよろしく「ちゃ〜」と読んでないか心配である。「ちゃ〜配列の終端には「なる」をせっていする」とか書いてくれそうでそれは期待。 そしてPOSIX関数の醍醐味であるpthread_createで引数に値を設定しない、呼び先で参照しない。せっかくのvoid*の使い方を覚える機会を捨てている。コンパイル時のエラーを消すためだけにvoid *でキャストしてないか心配である。 pthread_mutex_tは初期化する時にPTHREAD_MUTEX_INITIALIZERを使うかPTHREAD_RE

    amachangのすごいところ(d:id:amachang:20080611)
  • 窓の杜 - 【REVIEW】プログラミングに適したテキストエディター「NotePad++ EUC-JP 対応版」

    NotePad++ EUC-JP 対応版」は、プログラミングなどの用途に適したタブ切り替え型テキストエディター。Windows 95/98/Me/NT/2000/XP/Server 2003に対応するフリーソフトで、編集部にてWindows Vistaでの動作も確認した。作者のWebサイトからダウンロードできる。 オープンソースで開発が進められている「NotePad++」は、海外で人気のあるプログラマー向けテキストエディターだが、日語環境で利用するには一部支障があった。そこで「NotePad++」に、文字コードEUC-JP対応や日語環境特有の不具合修正などを施したのが「NotePad++ EUC-JP 対応版」だ。 画面は一般的なタブ切り替え型テキストエディターと同様だが、ソースコードの編集に必要な機能が豊富に備わっているのが特長。統合型の開発環境よりも動作が軽快なので、小さなコンソ

  • 【はてなを見ている学生向け】学生時代にプログラミングのバイトをしなかったのが本当に悔しい - 西岡Blog

    はてなを見ている学生向け】学生時代にプログラミングのバイトをしなかったのが当に悔しい 今日、はてななどに興味を持っていて、ギークになりたくて、でもプログラミング業界はとっても怖くて、 大変なところだなと思っている大学生に出会った。きっとはてななどで、10年泥発言を見たり、SIer下請けの地獄を見聞きしたりして、 すっかりおびえてしまっているのだなと思った。 まるで昔の自分を見ているようだった。ぼくはもともとコンピュータ好きの子供だった。だからプログラマでっていくことも考えた。 しかし、IT業界のあまりに過酷なイメージにおびえた。ぼくには当時、エロ動画検索によって得たインターネットによる情報リテラシがあった。 デスマーチや3K、徹夜、病、ぼくはインターネットからそのようなひどいIT業界の惨状をいくらでも見聞きすることができた。 結局学生時代にITの勉強をろくにせずに就職した。で、今結

    【はてなを見ている学生向け】学生時代にプログラミングのバイトをしなかったのが本当に悔しい - 西岡Blog
  • fast strlen and memchr by SSE2 (mitsunari@cybozu labs)

    strlen()とmemchr()のSIMD版を作ってみました. 今回は最速よりもお手軽さを重視したのでアセンブリ言語ではなくintrinsic関数を使っています.そのためVisual Studio 2008, gcc 4.xの両方でコンパイルでき32-bit, 64-bit OS上で動作します. WindowsLinuxでのみ確認していますが恐らくIntel Mac OS X上でも動作するでしょう(sample source). ベンチマークはランダムな長さの文字列の平均長(average length)を変化させつつ取りました.数値は1byteあたりにかかった処理時間比で小さいほど速いことを表します. strlenが3種類(ANSI, BLOG, SSE2)とmemchrが2種類(ANSI, SSE2)あります.BLOGというのは今回試してみようというきっかけになったCounting

  • Mac OS Xで動かす軽量プログラミング言語 − @IT

    繁田 卓二 株式会社 qnote 2008/6/5 Mac OS X(Leopard)では、Webアプリケーション開発でおなじみのPerlPHPPythonRubyといった軽量プログラミング言語を扱うことができます。その設定方法を紹介しましょう(編集部) 名実共にUNIXと認定されたMac OS X 10.5 Leopard。最近ではUNIX系Webアプリケーションの開発機としてMacを使用されている方も多いのではないでしょうか? その理由の1つとして、Webアプリケーション開発に必要な一連の工程が、1台のMac上でシームレスに行えるというメリットが挙げられます。従来のようにプログラミング・動作デモ・デバッグ・単体テスト・性能評価などといった環境それぞれを「構築する」のではなく、手元のMac上に「乗せる」というスタイルは、迅速さと適応性を求める最近の開発スタイルにうまくマッチしている

  • 開発者注目のはてなブックマーク@CodeZine

    CodeZineについて プログラミングに役立つソースコードと解説記事が満載な開発者のための実装系Webマガジンです。 All contents copyright © 2006-2008 Shoeisha Co., Ltd. All rights reserved. ver.1.5 掲載記事、写真、イラストの無断転載を禁じます。 記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。

  • 第1回 Perlの文法の基本

    Perlとは何か Perlはテキスト処理に特に優れた非常に強力なプログラミング言語です。でも,うまく使えばシステムをきれいに掃除させることもできますし,さらにあなたの心もいやしてくれるに違いありません。また,多くのディストリビューションで標準的にインストールされていますし,自分でインストールすることも難しくはありません。 「PerlってCGIじゃないの?」と思う方がいるかも知れません。確かに,CGIで利用するためにPerlに出会った人は多いでしょう。主な利用方法といえば,Webアプリケーションの作成かもしれません。しかし,「プログラミングPerl」*1によれば,Perlは最初,システム管理のためのツールとして作られたものだったのです。 FedoraなどのLinuxディストリビューションでは導入時に開発環境を選ぶとPerlがインストールされます。同時にPerlのドキュメントもインストールされ

    第1回 Perlの文法の基本
  • Cuckoo Hashing - Radium Software

    ハッシュテーブルからエントリーを検索する処理は,一般に定数時間で済むとされている。つまり,どんなにエントリーが増えても検索の速さは変わらない,ということ。データ構造の教科書には必ず載っていることだね。 でも実際には,ハッシュの衝突が起こった場合に,速度の低下が発生する可能性がある。例えば,一般的なチェイン法(オープンハッシュ)だと,衝突したエントリーに関して線形検索を行うことになるから,衝突が多ければ多いほど,定数時間からは遠のいてしまう。 この速度低下を防ぐ方法はいろいろある。なかでも cuckoo hashing (カッコウ・ハッシング)は仕組みが面白い。こいつは,エントリーの検索を必ず定数時間で済ませてくれるという優れものなんだ。 Cuckoo hashing では,2つのハッシュ関数と,2つのテーブルを用いる。ここでは,2つのハッシュ関数をそれぞれ h1, h2 として,2つのテー

    RanTairyu
    RanTairyu 2008/06/01
    「……と,こんな感じの cuckoohashing,見ての通り挿入処理にかなりのクセがあるのだけれど,検索が必ず固定」
  • ニワン語による最初の言語処理系? - * *scrap*

    こっちも貼っとく。 ( Grass the grass-planting programming language ) 初めて触った関数型言語がコレなんだけど、FizzBuzzが書けません。 これもzick氏が作ったのかなと思ったけど違うみたい。 Grassのページからもリンクしてあったけど、原作者製でもないのかな。 追記 ブクマにPerlの偉い人のGrassコードが!と思ったらどう見ても適当なw連打です。ありがとうございました。 投稿者コメにあるコードをCommonLispで適当に解説 wWWwwww (wを一個出力) (defun main (self) (out w)) wWWwwwwWWww (ずっとwのターン) (defun main (self) (progn (out w) (funcall self self))) main関数は (main #'main) という感じで、

    ニワン語による最初の言語処理系? - * *scrap*
    RanTairyu
    RanTairyu 2008/05/30
    「あとで書く」
  • 言語のGC機能と参照カウント (前編) - moriyoshiの日記

    たまにはちゃんと書いたほうがいいかなと思って書いてみる。 あらまし 原始的な参照カウントベースのガーベジコレクションは、循環参照が発生すると、その参照に含まれるオブジェクトを回収できないという厄介な問題を抱えている。循環参照とは、1つ以上のオブジェクトが環状の参照関係を形成している状態のことで、このような参照を持つオブジェクトは、やがてルート (ある時点で言語ランタイムが管理しているすべてのスコープと考えてもいい) から辿りつけなくなって、解放されずにリークしてしまう。 この問題はいろんな LL 言語に見られる。 Perl の場合 use Devel::Peek qw(Dump); sub make_circular { my $foo = {}; my $bar = {}; my $baz = {}; $foo->{'bar'} = $bar; $bar->{'baz'} = $baz;

    言語のGC機能と参照カウント (前編) - moriyoshiの日記
    RanTairyu
    RanTairyu 2008/05/28
    「(後編につづく)」
  • 「どの言語を学ぶか」ではなくて「どの言語から何を学べるか」 - 二十代は模索のときブログ

    Tech僕はプログラミング言語論争に首を突っ込む気は一切ない。好きな言語も嫌いな言語もあるし、各言語の長所や短所もある程度分かっているつもりであるが、結局どの言語を使うかなんていうのは、自分が勤めている企業や、自分の回りのエンジニアや、マーケットの状況によって決定されてしまう事がほとんどなので、決定されたものに自分をチューニングしていくしかないであろうと思っている。ただし「どの言語を使おう」とか「どの言語を学ぼう」といった視点ではなく「どの言語から何を学べるであろうか」という視点から考えると、プログラマの成長にとってプログラミング言語の選択というのは非常に大切であろうと思っている。以前勤めていた企業では、製品の多くの部分がCOBOLにて実装されていたので、相当量のCOBOLの実装やデバッグを僕も行っていた。COBOLと聞くと「COBOLプログラマなんて駄目だよ」とか「時代遅れだよ」というよ

    RanTairyu
    RanTairyu 2008/05/26
    「ここに書いたことは大事な事であると思っているのだが、筆力の無さからあまり言いたい事が伝えられない。そ」
  • トラックの排ガスを削減するプログラミング言語、国立情報学研究所 ― @IT

    トラックの排ガスを削減するプログラミング言語、国立情報学研究所:エコ物流実現のための研究成果を発表 国立情報学研究所は5月23日、コンピュータプログラムの技術を応用して物流を効率化し、トラック輸送による大気汚染や燃料消費を抑制する「エコ物流」を実現する研究成果を発表した。 日全体のCO2排出量のうち、運輸部門は約20%、さらにその中の約90%を自動車が占めるといわれている。特にその多くを占める物流トラックのCO2排出量削減は、地球温暖化対策にとって急務とされている。 トラック輸送の効率化を実現する手段としては、複数の企業で配送業務を共同で行う「共同配送」や、少数のトラックで複数の集荷先を巡回する「ミルクラン方式」などがあるが、現状では普及が進んでいない。その理由を国立情報学研究所教授の佐藤一郎氏は「現実の物流の世界では、あらかじめ決められた集配時間や、鮮度が求められる品の集配時間を削る

    トラックの排ガスを削減するプログラミング言語、国立情報学研究所 ― @IT
  • 長文日記

    RanTairyu
    RanTairyu 2008/05/18
    「もうしばらく封印かなあ」
  • はてなブログ | 無料ブログを作成しよう

    顔に見える?最近「送水口」が気になるという話 「送水口」が気になる今日この頃 最近街中で気になる存在、それがこの「送水口」です。地上のフロアが7階以上あるビルなど、一定の条件を満たした建築物には設置が義務付けられているもので、火事が発生したフロアにただちに水を送るために使われるものです。ポンプ車…

    はてなブログ | 無料ブログを作成しよう
    RanTairyu
    RanTairyu 2008/05/16
    「僕は天才ではありません。ハッカーでもありません。あくまでも中途半端なGEEK気取り、ってとこだと思います」
  • 現在も使われている、最も古いプログラムは? | スラド デベロッパー

    現在も使われているプログラムで、何らかの形で再作成や再実装などされていない、最も古いものは何だろうか?ちなみに「プログラム」とはもちろん完全なアルゴリズムを指し、一行コードなどは含めないとする。 家でも活発に意見が交わされており、1972年に打ち上げられたPioneer 10号や、1977年打ち上げのVoyager 1号および2号に搭載されているプログラムなどは手を入れられていないのでは?などという意見もあったが、これらのプログラムはNASAによって適宜アップデートがなされた(リンク先PDF)ため該当しない模様。

  • Perl入門

    プログラミング言語として Perl を使った方法を学習される方を対象として、 Perl によるプログラム記述方法について解説します。 Perl のプログラミングとしては CGI として Web サーバと連携した利用方法がよく使われますが、まず単独で動作するプログラムの作成を通して Perl の文法などについて学習していきます。

    Perl入門
  • コードを書くことと生きることってどうつながってるんでしょうか?(

    一年くらい前からwebサイトの受託制作のバイトをするようになったんです。それまでは親からの仕送りで生活してたんですけど、そうもいかなくなり、web制作は自分の関心と金稼ぐにぴったりだったもんで。 一年やって思ったのは、自分はプログラミングみたいなことが相当好きだということ。正確に言うと僕はプログラマーじゃなくて、いわゆるコーダーで、htmlcssを書いているわけだが、好きなだけあって上達も早い。デザインとコーディングの分業をしてる会社じゃないんだけど、最近はもっぱらコーディングを任される。社内で一番キレイでわかりやすいコーディングを書ける自信がある。うまくコーディングがいかなかったときは、疲れていても、帰りの電車の中でどうすればエレガントにできるかって考えてしまう。そのくらい好き。web制作だからhtmlcssだけわかればいいということはもちろんなくて、javascriptphpやp

    コードを書くことと生きることってどうつながってるんでしょうか?(