タグ

Programmingに関するono_matopeのブックマーク (137)

  • セマフォの説明

    ★セマフォ [1]セマフォの動作とシステム セマフォは、「セマフォ値」に対応した処理をする。 セマフォは大きく分けて2つの処理に利用されます。 �@複数のプロセス間でプログラムの実行の同期を取る �A共有リソースの排他アクセスの制御 �@プログラムの実行の同期を取る (例)プロセスAとプロセスBが待ち合わせをする(片方が実行するステップまで来たら、もう片方が実行するステップまで来るのを 待つ) �@セマフォ数を決める →セマフォの数は2つで、初期値は両方とも0とする。 �Aブロック値を決める。 →プロセスAをブロックする時は0番を使う。 プロセスBをブロックする時は1番を使う。 �Bプロセスに割り付けられたセマフォが処理をする →プロセスAが実行するステップまで来たら、相手のプロセスのセマフォに「アンロック」を行い、自分のセマフォに 「ロック」を行う。 (プロセスAなら、1番を「アンロック

  • ロックとmutex - ファイヤープロジェクト

    スレッドの同期には,pthread_joinによる合流の他に,ロックという方法がある. mutexって何だ? mutexの属性と初期化 mutexのロックとアンロック サンプル mutexって何だ?mutexはmutual exclusionの略らしい. ということは,mutexは「ミューテクス」とかそんな感じの読みのような気がするが,正しい読みはよくわからない(※). とにかく,pthreadでは,mutexをロックすることによって,スレッド間の同期を行うことができる. mutex = バイナリセマフォ ということで,よいと思う. つまり,あるスレッドでロックしたmutexに対し,別のスレッドがロックしようとしたら,最初のスレッドがそのmutexを開放するまで後のスレッドは待たされる. 上図で,破線で囲まれた部分の処理が,同期が保証される領域で,クリティカルセクションという. 具体的には

    ロックとmutex - ファイヤープロジェクト
  • だいありー

    腰が痛い. そういえば,エディタネタで言うと,対応する括弧で挟まれた部分全部が括弧にカーソル置いたとき,強調とかされないとプログラミングできないなんじゃなくな体になっております. だから,ふつーの設定のエディタではプログラミングできません.具体的には自分の環境の xyzzy じゃないと書けません.弱. ある人に,D2 だから就職活動始まるよね,といわれた.そうなんだよなぁ.何か活動しないと. 研究ネタを書くのはそろそろやめようかと思っていたのだけれど,もうちょっと. 私の研究はまだ無いプロセッサの上でどんなふうにソフトウェアを作るか,なので,主に評価はシミュレータを使います.チップを作るのは大変すぎるので(作ってる人は居る).チップを作ろうとすると数千万とかかかるので,ふつーの大学では作れません.作ってる人は FPGA を使って作ります. さて,シミュレータなので,物のハードウェアで作れ

  • わかばマークのMacの備忘録 : Schnippselchen Pro

    わかばマークのMacの備忘録 RSS * Admin * Write 初心者による Mac OSX の便利な使い方や、ソフトウェアの紹介など、Macのこといろいろ。

  • Geekなぺーじ : Mac OS Xネットワークプログラミング

    Mac OS Xでのネットワークプログラミングを勉強しながら、少しずつ公開していくコーナー。 コードを書く前の準備 まず、gccを使える状態にしないといけません。 Mac OS Xを普通にインストールしただけでは開発環境は入りません。 Xcodeを含むMac OS X開発環境はOS DVDなどに入っています。 次に、エディタが必要になります。 標準開発環境であるXcodeを利用して書くことができます。 一方で、UNIXやLinuxなどで一般的なエディタであるmule、emacs、xemacsなどを利用することも可能です。 個人的にはviが好きです。 Cocoa ファイル単体をそのままコピペしてgccでコンパイルできるCUIとして書いているので多少特殊な書き方をしている気がします。 GUIを使う場合はNSRunLoopではなく、NSApplicationMainを使ったりするのでご注意下さい

    ono_matope
    ono_matope 2008/11/13
    時間を見て必修したい。
  • さらに分かっておきたいトランジスタの種類 − @IT MONOist

    ソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」。第22回は、シーケンス図を使用したモデリングによってECサイトの登場人物と処理の流れを示し、開発対象を洗い出す工程について説明する。

  • MOONGIFT: » 必見!JavaScriptのalert処理にさよならを「Blackbird」:オープンソースを毎日紹介

    ※ 画面は公式サイトデモより JavaScriptのデバッグによく利用されるものと言えば、alertだろう。簡単に使えて便利な関数だが、ブラウザの処理が止まってしまったり、長文の表示が難しいなどデメリットも数多い。 alertとお別れするためのJavaScriptデバッグツール そこで使ってみたいのがBlackbirdだ。Google Code上で公開されているオープンソースのJavaScriptアラートだ。 Blackbirdは見た目の格好いいフローティングダイアログにログを表示できる。デバッグ、インフォ、ウォーニング、エラー、プロファイルの5つのメッセージパターンが設定できる。Blackbirdのウィンドウでは各メッセージタイプの表示、非表示が切り替えられるようになっている。 表示位置の変更、表示するメッセージの種類が変更できる さらにF2キーを押して表示/非表示を切り替えたり、Shi

    MOONGIFT: » 必見!JavaScriptのalert処理にさよならを「Blackbird」:オープンソースを毎日紹介
  • http://labs.cybozu.co.jp/blog/kazuho/archives/2008/06/friends_timeline.php

  • ソニー、アプリキャストのアプリ開発を個人向けに開放

    ソニーは、同社の液晶テレビ「BRAVIA」で提供しているコンテンツ配信機能「アプリキャスト」のアプリケーションを個人で開発できる開発ツールを9月17日15時に公開する。開発ツールは無料で、開発したアプリケーションは審査を踏まえた上で一般向けに公開される。 ■ テレビと同時表示できるアプリキャストを個人が開発可能に アプリキャストは、テレビを視聴しながらインターネット経由での情報コンテンツを同時に閲覧できる機能。アプリキャストを起動するとテレビ画面の右側にアプリケーションが表示され、天気や占い、ニュース、RSSリーダーといった機能をテレビと同時に表示できる。 アプリキャストのアプリケーションは9月17日時点で35種類が用意されているが、これまでアプリキャストの開発環境は法人のみに限定されていた。9月17日からはこの開発ツールを個人向けにも公開。ユーザーがアプリキャストのアプリケーションを自由

    ono_matope
    ono_matope 2008/09/17
    ソニー「お前らで実況板オーバーレイアプリ作れ」
  • プログラミング言語 C の新機能

    プログラミング言語 C は 1990 年に ISO で規格化された言語です。その後、何度かの誤りの訂正や wchar_t 型の追加といった追補がなされた後、さらに使いやすくするための新しい機能が検討されてきました。そして、1999 年、ついに新しいプログラミング言語 C の仕様「ISO/IEC 9899:1999 - Programming Language C」(略称 C99) が 1999/12/01 付けで規格として出版されました。ここでは、その新機能を説明します。

  • RFC3029 Etymology of "Foo" 「foo」の語源

  • iPhone Dev Center

    Our broadest design update ever. The new design across Apple platforms elevates the content people care about most. And it creates a unified design language between platforms — all while maintaining the distinct qualities that make each unique. And that stunning new material? That’s Liquid Glass, which combines the optical properties of glass with a sense of fluidity. Liquid Glass refracts content

    iPhone Dev Center
  • 共有ライブラリの説明

    3. 共有ライブラリ共有ライブラリは、プログラム起動時にロードされるライブラリです。 共有ライブラリが適切にインストールされると、その後に起動される全てのプログラムは、自動的にその新しい共有ライブラリを使うことになります。 実際には、これよりもはるかに柔軟で洗練されています。なぜなら、Linux における共有ライブラリの実現方法のおかげで、次のことが可能となるからです。 ライブラリを更新しながらも、そのライブラリの古くて後方互換性のないバージョンを使いたいというプログラムを、引き続きサポートすることができる特定のプログラムを実行するとき、特定のライブラリ、もしくはライブラリ内の特定の関数でさえもオーバーライドすることができる既存のライブラリを使用してプログラムが動いている間にも、これら全てをおこなうことができる 3.1. 約束ごとこれらの望ましい特性すべてを共有ライブラリがサポートするため

  • マルチコア危機:ScalaとErlangの対立

    ブロゴスフィアでは最近Scala対Erlangの議論がややヒートし続けている。マルチコアの世界(参考記事)が訪れようとしている今、いかにマルチコア危機を解決するかが問題になっている。ScalaとErlangはその解決法たらんとしている言語だが、少し違いがある。それぞれのアプローチの長所短所はなんだろうか? 問題 ムーアの法則はもう通用しない。かつてのようなクロック周波数の向上(リンク)は見込めず、かわりにコアの数を増やそうとしている。今の時代、あなたのノートPCでさえも2つコアを搭載していることだろう。 2つ以上のコアを有効に使うには、アプリケーションが並列処理を意識してないといけない。もしあなたの顧客が8コアのマシンを買ったとしたら、たとえそれをあるアプリケーションの専用マシンにしたとしても、そのアプリケーションがCPU性能の12%しか使えなくてもおかしくない、とあなたは顧客にどうにかし

    マルチコア危機:ScalaとErlangの対立
  • iPhoneアプリケーション開発と感想 « ku

    7月になったので書く。 iPhoneのアプリケーションを作った。大層なものじゃない。以下平凡なプログラマの感想。非凡であれば全然違うだろうとは考えているという意味です。 動機 TumblrのMarcoが And when I finally get good at this, I’ll have unintentionally qualified myself to develop Mac software as well. That’s a nice side benefit, but it wasn’t good enough by itself to overcome the learning curve. Marco.org: The new iPhone SDK bubble と書いているのを読んでから、これはやる価値があると思った。 NDAがあるのでSDKがらみの話をブログに

  • yak shaving で人生の問題の80%が説明できる問題 - bkブログ

    yak shaving で人生の問題の80%が説明できる問題 つい最近、 yak shaving (ヤクの毛を刈る)、という言葉を知りました (原典)。これは「一見無関係に見えるけど、真の問題を解くのに必要な問題を解くのに必要な(これが何段階も続く)問題を解くのに必要な活動」という意味の言葉です。 yak shaving は、ようするに「ある問題を解こうと思ったら別の問題が出てきて、それを解こうと思ったらさらに別の問題が出てきて…」ということが延々と続く状況を表しています。ちなみに、ヤクとは毛が長い、牛の一種です。 yak shaving は、以前に覚えた bikeshed と同じくらい便利そうな表現です。というもの、プログラムを書いていると yak shaving 的な状況がすぐに発生するためです。 たとえば、「Amazon のほしい物リストを CSV 形式に変換して Excel で読み

    ono_matope
    ono_matope 2008/06/21
    あばー
  • マルチスレッドのコンテキスト切り替えに伴うコスト - naoyaのはてなダイアリー

    また Linux カーネルの話です。 Linux では fork によるマルチプロセスと、pthread によるマルチスレッドでの並行処理を比較した場合、後者の方がコストが低く高速と言われます。「スレッドはメモリ空間を共有するので、マルチプロセスとは異なりコンテキストスイッチ時にメモリ空間の切り替えを省略できる。切り替えに伴うオーバーヘッドが少ない。」というのが FAQ の答えかと思います。 が「オーバーヘッドが少ない」と一言にいわれても具体的にどういうことなのかがイメージできません。そこで Linux のスレッド周りの実装を見て見ようじゃないか、というのが今回のテーマです。 3分でわかる(?) マルチプロセスとマルチスレッド まずはうんちく。マルチプロセスとマルチスレッドの違いの図。以前に社内で勉強会をしたときに作った資料にちょうど良いのがあったので掲載します。Pthreadsプログラミ

    マルチスレッドのコンテキスト切り替えに伴うコスト - naoyaのはてなダイアリー
  • [okyuu.com]

    okyuu.comは、世界規模のノウハウデータベース構築を目指すエンジニア向けコミュニティです。マイミク認証対応のRP作ってみませんか? 特集:いますぐ使えるOpenID|gihyo.jp … 技術評論社の内容に加えて SSL 接続でのサーバ証明書の検証,mixi のマイミク認証についても解説されている。

    ono_matope
    ono_matope 2008/05/21
    カカクコムなのか
  • プログラミングとアプリ開発の違い : 404 Blog Not Found

    2008年05月19日11:45 カテゴリYAPC::AsiaLightweight Languages プログラミングとアプリ開発の違い ああ、YAPC::Asia::2008のトリ、Perl Is unDeadを見せてあげたかったなあ。 プログラミングのジャンルと難易度(および Web プログラミング批判) - 黎明日記 だってそうだろ? 「 Web アプリケーション」なんてカッコイイ名前の割に、受け取ったデータを簡単に加工してデータベースに突っ込んで取り出して……それで終わりじゃないか。ビデオやスライドが上がるまでしばらくかかると思うので、とりあえずは以下をご覧あれ。 はてなブックマーク - タグ yapcasia2008 Simon Cozens - YAPC Asia and talking in Japan YAPC::Asia 2008 2日め - てきとうなメモ で、Sch

    プログラミングとアプリ開発の違い : 404 Blog Not Found
    ono_matope
    ono_matope 2008/05/19
    『プログラミングをしたいのか、自分が作ったプログラムを使わせたいのか。』スーツとギーク
  • マルチコア時代のサーバ設計について - Happy Hacking Diary

    思いは言葉に。 はてなブログは、あなたの思いや考えを残したり、 さまざまな人が綴った多様な価値観に触れたりできる場所です。

    マルチコア時代のサーバ設計について - Happy Hacking Diary