タグ

プログラムに関するsenecaのブックマーク (36)

  • できる!並列・並行プログラミング

    現在のマルチスレッドプログラミングの抱える問題点と、代替案をわかりやすく解説いたします。最近登場したConcurrent Revisionsも解説します。Read less

    できる!並列・並行プログラミング
  • 1行のコードからアルゴリズム交響曲 - どのように、そしてなぜ? - 閉村観光

    この文章はTarkastele kokoさんのブログを訳したものです。精度の高い訳ではありませんので原文などと一緒に読まれることを勧めます。内容はate bitさんが作ったC64のデモにインスパイアされたTarkastele kokoさんがC言語1行で音楽を作り始めた。チャットで数人にこの成果を発表したところGoogle+とか広がって、Javascriptのソフトができてノン・プログラマも参加してきて大きな塊が形成されてハックしあう感じでノウハウが溜まってきた。もしかしたら将来、僕らがやっていることを数学的に説明してくれたら嬉しいな。 >>>それでは文 1行のコードからアルゴリズム交響曲 - どのように、そしてなぜ? Tarkastele koko 原文 http://bit.ly/rmkvno このごろ、音楽のような何かを音響合成するとても短いプログラムでいろいろな実験をしていた。私は

    1行のコードからアルゴリズム交響曲 - どのように、そしてなぜ? - 閉村観光
  • プログラムの可読性に関する検討・名前 - Cube Lilac

    プログラムの可読性に関する検討 - Life like a clown の続き.今回は,「名前」についてです. 一貫した命名規則を使用する 名前は最も主観に依存する部分が大きく,しばしば宗教論争の火種にもなるので,深追いは危険な領域です.そのため,名前について最も重要な事は「(単一プロジェクト内で)一貫した命名規則を使用する事」となります. 名前のスペリング自体について言えば,nspending か numPending か num_pending かは趣味の問題だ.まともな慣習に一貫してしたがうことに比べれば,具体的なルール自体の重要性ははるかに小さい. Amazon CAPTCHA 名前に関して言うと,具体的なルール自体(キャメルケースかスネークケースかなど)の間には各人の主観以上の優劣はない事がほとんどです.したがって,他の領域についてはともかく,「名前の付け方」に関しては一度決めて

    プログラムの可読性に関する検討・名前 - Cube Lilac
  • 美しいプログラムを書く(リスト処理ライブラリ編) | Webシステム開発/教育ソリューションのタイムインターメディア

    問題 美しいプログラムを書く(脱添字職人編) では添字が多用され読み難くなっているソースコードのリファクタリングを通して 美しいプログラムを書くためのポイントをいくつか紹介しました。 そこでは 「何をするか」を基準にプログラムを書きましょう。 「どうやるか」が前面に出たプログラムは意図を把握し難くなります。添字や明示的なループの使用は避けましょう。「どうやるか」が前面に出てきてしまいます。 今時のプログラミング言語ならば便利な構文やライブラリ関数があるので、 添字やループを使わずとも「何をするか」を基準にプログラムが書き易くなっています。 ということを述べました。 確かにごもっともな主張ではありますが、経験値の少ない人からすれば 「そんなことを言われてもどんなライブラリ関数があってどういう場面で使えるのかリファレンスを読んでもよく分からないし……」 ということはよくあります。 という訳で、

    美しいプログラムを書く(リスト処理ライブラリ編) | Webシステム開発/教育ソリューションのタイムインターメディア
  • IIJ Research Laboratory

    ネットワークの計測と解析 インターネットの使われ方やネットワークの挙動を把握する事は、ネットワークを運用し、その技術開発を行う ために欠かせません。しかし、観測で得られるデータ量は膨大ですがノイズが多く、また、観測できるのは極めて限られた部分でしかありません。そこで、膨大なデータから意味のある情報を抽出したり、部分的な観測からより一般的な傾向を推測する事が必要となります。... インターネット基盤技術 速くて、安全で、信頼性が高く、使いやすく、など、インターネットサービスへの要求はますます高まっています。これらの要求に応えるために、インターネットの 基盤技術も日々進歩しています。いまやインターネットはつながるだけのサービスではなく、高度で複雑な機能を備えた社会基盤となりました。IIJ技術研究所は、インターネットの基盤として実現が期待される機能を提供するために、さまざまな技術課題に取り組んで

  • 第6回 UNIXプログラミングの勘所(2) | gihyo.jp

    forkとファイルハンドル UNIX系のOSでは、複数のプログラムが、それぞれプロセスという単位で動作しています。forkというシステムコール[1]が呼び出されると呼び出したプロセスの複製がOSによって作成され、複製されたプロセス(子プロセス)がexecveというシステムコールを使って別のプログラムにすり替わる、というしくみでさまざまな処理を実行するようになっています。 「複製」と言っても、全部の情報が複製されるわけではありません。プロセスのメモリイメージが複製される[2]一方で、プロセスが開いている「オープンファイル記述」(⁠open file description)(⁠注3)は複製されません。forkのあとは、親プロセスと子プロセスの両者が、単一のオープンファイル記述を指す「ファイル記述子」(⁠file descriptor)(⁠注4)を持つことになります(図2⁠)⁠。 図2 for

    第6回 UNIXプログラミングの勘所(2) | gihyo.jp
  • 文字コードから画像ファイルを生成する

    はじめに 文字コード関連の文書を書いていると「この文字の画像ファイルが欲しいな」というケースがよくあります。そんなときに、わざわざ画面に表示させてから、PrintScreenでコピーして、ペイントに貼り付けて、範囲指定してから切り取って……という手順で画像ファイルを作成するのは面倒です。1つならそれほどではないかもしれませんが、いくつもの文字となると手作業で行うのはかなり大変です。 というわけで、プログラムから文字の画像ファイルを作成する方法を紹介したいと思います。 対象読者 文字の画像ファイルが欲しい方 C言語およびWindowsAPIプログラミングについて知識のある方 画像ファイルの動的な生成に興味のある方 必要な環境 Windows VistaまたはWindows XP WindowsAPIに対応したCコンパイラ バイナリエディタ ただし、Windows XPの場合は、事前にJIS2

    文字コードから画像ファイルを生成する
  • バグの無いプログラムを作ることは可能ですか?…

    バグの無いプログラムを作ることは可能ですか? 停止性問題から「バグのないプログラムは存在しない」(あるいは「プログラムにバグの無いことは証明できない」)と良く言われますが、 Coqによる証明駆動開発 http://d.hatena.ne.jp/mzp/20110228/ruby ではプログラムを証明できるみたいですが、これは冒頭の1文が可能ということでしょうか? あと、 「カリー・ハワード同型対応」 について教えて下さい。

  • モバイルゲームの歴史を年代別にご紹介します。モバイルゲームの成長と今後について詳しく解説していきます。

    モバイルゲーム 物凄い勢いで勃興したモバイルゲーム業界は、いろいろな課題や問題に直面しながらも巨大化し、今日の時点でのスマートフォン向けゲームの市場へと継承されていきます。 モバイルゲーム歴史 2001 Javaアプリと3Dゲームの登場 Javaが利用できるようになったことにより、ダウンロード型のゲームが供給できるようになりました。 2002 携帯電話端末の大容量化・3D化競争 Java搭載携帯電話端末が登場してからごく僅か1年の間に、アプリのサイズに関しては10倍に広大化し、表現方法も2Dから3Dにシフトし始めました。J-PHONEは『ゼビウス』や『スペースハリアー』などといった昔のアーケードゲームを、ドコモはSIMCITYなどパソコンで世界的規模のヒットを飛ばしたゲームを主力商品としていました。 2003 モバイルゲームの一般化 メモリの制限が厳しいJava仮想マシン上ではなく、OS

  • 関数型言語が人気の理由:新刊ピックアップ

    このところ関数型言語の書籍の発行・話題で賑わっています。OCamlやHaskell,Erlang,Scalaといった名前を聞いたことがあるのではないでしょうか? また,Googleが発表したGo言語という名前も知っている方もいるでしょうし,マイクロソフトからはF#という関数型言語がリリースされたことをすでにご存じの方もいるでしょう。 なぜ今関数型に注目が集まっているのでしょうか? 最初にその理由の1つであるキーワードから見ていきましょう。 キーワードで見る関数型 皆さんがインターネットで何か調べる際,検索サービスを利用することでしょう。中にはGoogle社の検索サービスなども一度は利用したことがあるのではないでしょうか? このGoogle社が提供している検索サービスは『クラウド』と呼ばれる大規模な分散コンピューティングシステムで実現されています。 またここ数年に発売されているパーソナル・コ

    関数型言語が人気の理由:新刊ピックアップ
  • アルゴリズマーのそだてかた - chokudaiのブログ

    発の「Topcoderトレーニング講座」は最強最速アルゴリズマーへの最短経路 こんな記事も出して貰えたところですし、凄く簡単に、自分の中での教育論みたいな部分を少し話してみようかと思います。 ある物事を習得するのに必要なのは何か?という話をした時に、僕が絶対に必要だと思っているのは、「すげぇ!!」ってなることだと思っています。当然だとは思いますが、せっかくなので具体例を見ていきましょう。 Wikipediaにおける、動的計画法の記事を見ると、このようになっています。 動的計画法(どうてきけいかくほう、英: Dynamic Programming, DP)は、コンピュータ科学の分野において、ある最適化問題を複数の部分問題に分割して解く際に、そこまでに求められている以上の最適解が求められないような部分問題を切り捨てながら解いていく手法である。分割統治法がトップダウン的な手法であるのに対し、

    アルゴリズマーのそだてかた - chokudaiのブログ
  • Charming Python: Functional programming in Python, Part 3

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Charming Python: Functional programming in Python, Part 3
  • 総合目次 - 苦しんで覚えるC言語

    苦Cの内容の転載などは自由ですが、苦Cからの引用であることを明記してください。 (どこかに「苦Cより」と書かれていればOKです。) 学校や会社などで生徒(新入社員)へのテキストとして使用することも自由です。 その際、内容を修正したり、印刷して配布するのも自由です。

    総合目次 - 苦しんで覚えるC言語
  • not found

  • ファイルから複数の行を高速に取り出すプログラム(Pure Perl)

    ファイルから複数の行を高速に取り出すプログラム(Pure Perl) 2010-08-13-2 [Programming][Algorithm] インデックスを使った指定行取り出しプログラム[2010-08-10-1] についての記事を先日公開した。 そのプログラムを作成した動機の一つが 「リードオンリーのテキストファイル(それもメモリに読み込むのがうんざりするくらいに巨大なやつ)からランダムに複数の行を取り出したい」 というもの。 この記事ではランダム複数行取り出しタスクについて、先日の記事[2010-08-10-1]に沿って先頭から走査する方法とインデックスを用いた方法を紹介する。 頭から操作する方法 ランダムに一行だけ取り出すには定番の方法がある。 詳しくは[2004-11-30-5]を参照のこと。 エッセンスだけ一行で書くとこんな感じ: rand($.) < 1 && ($line

    ファイルから複数の行を高速に取り出すプログラム(Pure Perl)
  • 第34回 Perl Mongers:顔の見える仲間を増やそう | gihyo.jp

    もうひとつの.pm Perl 5のモジュールには.pmという拡張子をつけることになっています。このpmというのはもちろんPerl Moduleのことですが、Perlの世界ではもうひとつ、Perl Monger(s)という意味になることがある、というのもみなさんよくご存じのことでしょう。このmongerという単語は、もともとはあまりよろしくない物品を言葉巧みに売りつける行商人を意味していました。オックスフォードの大きな英語辞典で共起する取扱商品を拾ってみると、肉や魚、チーズといったにおいの強い産物から、奴隷や娼婦、あるいは流行、ニュース、スキャンダルといった無形のものまで、何かしら好ましくない要素をもつものが並んでいるのですから、自虐であれ謙遜であれ、Perlについても同列に理解するべきでしょう。その後生まれたPerlMonksのような言葉に比べると、Perl Mongersはもっと下世話な

    第34回 Perl Mongers:顔の見える仲間を増やそう | gihyo.jp
  • 第4回 あらかじめ定められた時間につぶやく時報botを作成する | gihyo.jp

    今回から、いくつかのパターンのbotを実際にプログラムで実装します。今回はただひたすらつぶやくbotを作成してみます。 まずは時報bot まずは、1時間に1回などの頻度で現在時刻をつぶやく時報botです。 リスト 時報botのサンプル <?php require_once("twitteroauth.php"); // OAuthアプリ登録で取得したConsumer keyを設定 $consumer_key=""; // OAuthアプリ登録で取得したConsumer secretを設定 $consumer_secret=""; // OAuthトークン取得プログラムで取得したoauth_tokenを設定 $oauth_token="oauth_token"; // OAuthトークン取得プログラムで取得したoauth_token_secretを設定 $oauth_token_secret

    第4回 あらかじめ定められた時間につぶやく時報botを作成する | gihyo.jp
  • 第1回 機械学習 ことはじめ | gihyo.jp

    次のサービスや製品はどれも身近にありますが、これらに共通していることはなんでしょう。 Amazonの「この商品を買った人はこんな商品も買っています」 はてなブックマークの「関連エントリー」 Google 翻訳 Google 日本語入力 メールクライアントのスパムフィルタ デジタルカメラの自動顔認識 ニンテンドーDSの手書き文字認識 買い物履歴、ユーザが書いたコメントやタグ、Webに無数にあるページ、メール、画像や動画と対象はそれぞれ異なっていますが、どれも「データから有益な情報を取り出す」ということを行っています。 これらは「機械学習」という技術を使って実現されているのです。 機械学習の応用範囲 機械学習は冒頭で挙げた以外にも、様々な分野で使われています。 例えば、ノイズ除去や特徴の抽出を目的とした利用パターンがあります。音声認識や画像認識、文字認識(OCR)などはその代表格です。それらも

    第1回 機械学習 ことはじめ | gihyo.jp
  • 入門編 第4回 メソッドを正しく理解してオモローな問題に挑戦する

    ある暑い夜,僕は完ぺきな女性に関する小説を読んだ。読み終えたとき僕は奇妙な感覚に襲われた。小説で語られるような完ぺきな人なんて,現実にいるのだろうか。 もし居たとしても,そんな人と巡り会えるのかわからない。幸いにして巡り会えても,うまくやれるかどうかわからない。「やぁ,こんにちは!ところで,君は僕にとっての完ぺきなんだ」。僕はそんな場面を想像できない。 大学以来からの友人Kに話したら,笑われるだろう。そして,こういうに違いない。「いつも君が言ってるじゃないか,完ぺきなんて存在しない。だから完ぺきなプログラミング言語も存在しないって」。それは,その通りだ。 さて,この入門連載では,Rubyを網羅的に知るよりも,「取りあえず使えるようになる」ことを目指している。前回は,Rubyで非常に重要な配列やイテレータを説明した。加えて文字列操作を知れば,あなたのRubyの世界はとても広大なものになるだろ

    入門編 第4回 メソッドを正しく理解してオモローな問題に挑戦する
  • Loading...