「i/o」を含む日記 RSS

はてなキーワード: i/oとは

2017-01-22

ownership とシステムプログラミングその他に関する怪文書

この会話ログフィクションであり、実在人物地名団体とは一切関係ありません。

坂木

わろた

Rust vs. Go に対する @tanakh さんの発言まとめ

https://togetter.com/li/1072495

坂木

自分理解できないもの意味がないと思いこみたがるタイプの人だということがよく分かったので原文を読まずに済んだ。ありがたいまとめだ。

安原

NTPsec が,ownership を理解していない開発者たちの声が大きくなるようなコミュニティによって開発されているということが分かって大変有意義でした(こなみかん

宮森

今までCで開発してきたプロジェクトを移すなら極端な話ownershipを理解しなくても良いわけで、悪くないのではと思う。

宮森

……が、理解できないものに対して、理解を試みず~すべきだ~と設計しろ、っちゅう人が作るソフトとはちょっと関わりたくないと思う。

安原

いや,私は C で開発してきたプロジェクトであるならばなおさら ownership を理解していないといけないと思います. ownership に理解を示さなコミュニティが関わってきた一定規模以上の C によるプロジェクト……私の第一感は「こわ…近寄らんとこ…」です.

宮森

いや、Cで開発してきた人たちって、ownershipを自前でコントロールできると思っている(思い込んでいる)人たちですんで……こわちかは同意

安原

いや,私は C で開発してきた人たちの多くは,そもそも ownership の概念を獲得していないのではないか危惧しています.元々,私はもっと楽観的で,多くの C プログラマは ownership の概念を獲得していると思っていました.

宮森

あ、それはそうだと思います概念を獲得していない

リソース人間管理をすれば適切に管理できる、という思想の下に皆さん書いていらっしゃるので……。

安原

OpenSSL騒動の時,関数の途中で return したことによるリソース漏れ揶揄したことがありますOpenSSL のようなインターネットの基盤を支えるオープンソースプロジェクトにおいてさえ, ownership の概念を獲得していれば脊髄反射で気づくであろうバグが随所に見られたことには本当に絶望しました.

安原

ああ,はい人間を信頼しすぎているというのはいかにもありそうですね.

藤堂

C++er の方がその辺もっときちんとしているように見える

安原

しろ C++ によって ownership という概念が明確になり,その重要性が認知されるようになったのではないでしょうか? これについては,私は歴史的なことが分からないので真偽のほどは何とも言えませんが.

宮森

シニア開発者しかC++/Rustが受けないと思うの、まさにその点だと思っていて、人類を信頼したがために足どころか頭を吹き飛ばす経験を積んでいないからだろうなー、とか。

宮森

OSとかシステム系のプログラマの人々、基本的リソース人間が適切に管理するし管理できると考えている人が多い印象([検閲削除]社時経験)。言語側で安全を確保したい、的な話をしても相容れなかった記憶が。

坂木

[検閲削除] のコードには、間違って自分の足どころか頭を撃ち抜いてしまった偉大な先人たちの知恵が詰まっていて、開発していてとても勉強になります。なお [検閲削除] は頭がなくなっていることに気づかずゾンビとして生きている模様。

今井

自分が知っている C 「しか」書けない職業プログラマ基本的地雷だなぁ...。

今井

リソースどうこう以前に、そもそもちゃんと構造化されてるコードが書けるかも怪しい(個人の感想です。見識にバイアスがかかっている可能性があります)

安原

うーん,数値計算系のチームやコミュニティも ownership の概念の獲得,重要性の理解,その管理自動化することへの理解,これらを期待するのは難しいだろうなあ…….そもそも高度なリソース管理必要になる場面少ないし…….

坂木

コード品質が強く求められるプロジェクトとそうでもないプロジェクトがあるからなあ。クライアントサイドソフトウェアは割と品質が求められる気がする。

安原

OS 実装とかシステムプログラミングって,クライアントに直接接しないだけで,その上にクライアントサイドソフトウェアが載るわけで,コード品質が強く求められると思うのですがそれは…….まあ, API とかで切り離されているので,そこだけしっかりしていれば,という話はあるか.

宮森

そこはコードレビューテスト等でカバーっちゅう。まぁ確かにコードには実際assertが入りまくったりするわけですが。

坂木

品質が強く求められるからといって品質が高いわけではないのが問題ですね

今井

あとは、デモが作れればいい、的なのも同じかなぁ。

宮森

メモリ管理、freeせずに終了してOSに全て回収させれば管理しなくて良い。

宮森

メモリ管理コンパイル時に全て静的なサイズで確保すれば管理しなくて良い。(FORTRAN77並の感想)

安原

OSGC してくれる論, TPO をわきまえているならば普通にありですよね(TPO をわきまえているならば!).

今井

まー、 offline で動くバッチ、的なのはそこまでメモリ管理とか / パフォーマンスとかにもシビアにならなくていいし(最悪オーダーがほどほどならよい、的な)、そいう文化にいると、雰囲気にのまれる人が多い、というのはまぁわかる。

坂木

私は基本その文化で過ごしてきたので現在進行形でわりかし困ってますね……

今井

あれ、そうなんです? 私がかかわった人のなかでは、コード見ててもむしろカッチリしてるほうだと思ってたのですが...。

(つまり、ここから坂木さんのハードルめっちゃ高いという帰結が...)

宮森

いろいろ言っていますがワタクシ、そういう管理必要プログラムは全く書けなくなりましたので今書くと死にますプログラム顧客大事データが)

安原

しかし,システムプログラミング界隈に「人間リソースを適切に管理できる」という悪しき信仰がはびこっているの,何か構造的な原因があったりするのかなあ?

宮森

システム系、基本的に生のハードウェアが透けて見える言語を使う必要があって、そのために選択肢がCしかなくて、手段が限られているからこそ信仰が発生した、という認識

宮森

実際、Linuxカーネルとか、規模からすれば驚異的に少ない数のバグで動いているので、信仰心が生まれ気持ちも分かる。

宮森

他の言語OS書くっていうのも研究レベルではあるけど、実用になっているのは見たこと無いですねぇ……。

坂木

Linux カーネル、一体どうやったらあの規模のコードクオリティコントロール出来るのか本当に不思議

安原

Linux カーネルのアレは,属人性依拠しすぎていて全然スケールしないのでは…….

坂木

Linux カーネル属人性高そうではあるけどそれでも実際に十分スケールしているからなあ…… ヤバいレビュアーごろごろしているのかな

宮森

属人性依拠しさえすればできるので十分な数の開発者がいれば問題になりません(キリッ

安原

私も [検閲削除] のコミュニティを見てましたから,各々必要ドメインにおける圧倒的なタレント性を持った人たちが1ヶ所に集結して奇跡アンサンブルを奏でうる場合がありうるのは理解しているんですが,本当にただの奇跡しかないと思っています

宮森

つーても機械エンジニアリング町工場職人芸を必要であれば使うように、属人性を求めるのも一個の正しい戦略だと思うんですよね。

宮森

なおその対極がみずh(省略されました

安原

Linux カーネルにおけるスケール云々は, Linux カーネルコミュニティ自体におけるスケーラビティではなくて,(システムプログラミングコミュニティ全体(他のプロジェクト)へスケールするかどうかを言ったつもりでした.

坂木

まあ人外を集めるという手法一般にはスケールしないですからね……

宮森

C系がシステム系で優先されるの、ツールを変えるとツール独特の罠があるので、罠が全て分かっているツールを使う、っつうのもあるな。

安原

システム系、基本的に生のハードウェアが透けて見える言語を使う必要があって、そのために選択肢がCしかなくて、手段が限られているからこそ信仰が発生した、という認識

これが原因だとすると,やはり Rust だ……Rust しかない…….ツール周りとか,まだまだ未整備な部分たくさんあるけれど……そこをクリアすれば…….

坂木

Rust は 1.0 が出る直前くらいにちょっと触ってイテレータが作れなくて敗北したっきりだな。

坂木

イテレータっていうか Java でいう Scanner を作ろうとしたんだっけ。サードパーティライブラリも探してみたけどその頃は I/O 周りの API が unstable でビルドが軒並み壊れていたりしたな……

藤堂

1.0 以前のことは忘れましょう (本当に unstable)

安原

Rust,型でエラーを弾くだけではなくて質の低いプログラマまでも弾く印象.

坂木

一般に型の強い言語は質の低いプログラマを弾きますね(Haskell などを思い浮かべながら)

安原

「Rust 経験者」という条件でプログラマ募集して,それで入ってきた人材に C を書かせればよいのでは!(ピコーン!

藤堂

犯罪ですよそれは

安原

はい

藤堂

haskell 経験者を集めて php 書かせようとした会社がどこかにあったような (ヘイトけがたまる)

安原

まさにそれをイメージしていました.

宮森

どういう顛末になったか詳しく知りたいw

藤堂

うーん、それ以降の話は知らず

今井

Rust そして誰もいなくなった、にならないかが一番心配だったりする

安原

それな

宮森

もしかして、NTPsecの人がRustでミニサーバーを起こすのにすら苦労していたの、普段からバグありのコード生産しているからなのでは、という気がしてきた……。

(この辺で一同寝落ち

2016-11-26

クライアントサイドで非同期とか必要なんかね

async/awaitとかの非同期処理って最終的には同期したいのにわざわざ非同期にしてからawaitで簡単に同期できますとか言っててわけわからん

そもそもI/Oを含む処理中にユーザー入力とか受け付けたら予想外の事起こりやすいしブロッキングでええやん

2016-10-18

http://anond.hatelabo.jp/20161018000810

よう、新入り。10年前の俺を見ているようだな。

俺も設計がやりたくてメーカーへ入ったら真っ先にテストをやらされた口だ。

すごくつまらない仕事で、毎日憂鬱だった。だが今から思えば得るものも多かった。

そんな俺からお前に日々の仕事を楽しくする2つのアイデアを贈る。耳の穴かっぽじってよく聞けよ。

I/Oプロになれ

電気回路が外部の他の回路とつながる部分。Input/Output。略してI/O

ここの評価は奥が深い。回路の中でも電源と並んでアナログ要素が非常に大きい箇所。

電子系の学科で習った回路理論現実世界リンクしていることが実感できるだろう。

さら最近のGHzを超えるような高速インターフェース評価ができるようになればいうことなし。

得難い人材として重宝されることは間違いないだろう。

経験を生かしてI/O周りの回路設計者に転身することも可能だ!

②測定装置プロになれ

製品試験に使うロジックテスタのマニュアルは読んでみただろうか?

そこにはテスタの動作ブロック図が載っていたりしないだろうか?

そのブロックから自分でテスタを作ることはできないだろうか?

頭の中だけでもいいから、Raspberry piのような組み込みPC秋月で売っている汎用ロジックICで同じようなものは作れないか考えてみよう。

テスタの原理が深く理解できるようになって同期に差をつけられるぞ。

2015-08-12

SFが大好きだった。。。けど。。。

小学生の頃、SFが大好きだった。スタートレックサンダーバードスターウォーズギャラクティカはいうまでもなく、

スパイ大作戦猿の惑星ミクロの決死圏アトランティスから来た男、600万ドルの男バイオニックジェミー

キャプテンフューチャー未来少年コナン銀河鉄道999、宇宙戦艦ヤマトちょっと後になってスペースコブラ

テレビを見たいために(ビデオがなかったので)他の生活時間をやりくりして放映時間に合わせて、忘我の境地で見た。

筒井康隆小松左京、星進一、アイザック・アシモフロバートハインライン、P.K.ディックアーサー・C・クラークとか

手当たり次第に読んでいた。萩尾望都なんかも。まだ広告が少なくて薄かった工学社I/O同人誌匂いの残るASCIIとか

隅々まで繰り返し読んだ。Z80機械語ダンプ手打ちした。(あれは辛かったが16進数に耐性がついたのは後々役に立った。)

いま30歳代より若い後輩たちはコナン、999、ヤマト以外ほとんど何もしらない。

仕事で忙しかったというのもあるが、自分もこの20年位そんな本にもテレビ番組にも出会っていないような気がする。

攻殻機動隊進撃の巨人は見てる。)

本の実物も引っ越しなどでほとんど処分してしまったので自分SF好きであるということを知っているのは自分だけで、

万が一本棚を覗いた誰かに気づいてもらえることもない。

少し寂しい。

2015-05-29

メディアライター関係。例えばI/O2015について。

Googleが色々発表してる。

それによってブログメディアSNSが沸き立ってる。

みんなブックマークしたり拡散したりしてるけど、

かなりの確率で誤った和訳がある。

違和感を感じて一次ソースをチェックするとどこにもそんなこと書いてない。

高校レベル英語力でも解ることなのになんでだろう。

それこそ素直にGoogle翻訳かけた方がまだマシっていうような訳すらある。

(もちろん全文ではなく一部分だけど)

ブログメディア運営側ライターとの関係がよくないのかもしれない。

こういったサイトは「記事ライターさんが書いてくれたもので、私たちは知りません」

っていうスタンスが伝わってくる仕事ぶりである

とりあえずGIZMODO翻訳ライター特定の人は本当にひどい。

チェックしてない編集もっとひどい。

2014-09-24

はてなブロガーまとめ(再)

消されてた。キャッシュからコピペして再度投下。

はてな百傑(2006年頃)

http://d.hatena.ne.jp/zaikabou/20140702/1404222935

amachang /fromdusktildawn /kanose /jkondo

wetfootdog /sirouto2 /wa-ren /p_shirokuma

secondlife /lovelovedog /matakimika /michiaki

TERRAZI /umeten /higepon /lurker /kazenotori

antipop /rikuo /kusigahama /fujipon /pal-9999

Hamachiya2 /habuakihiro /lovecall /LittleBoy

tikeda /republic1963 /otsune /hejihogu /aratako0

acqua_alta /kiyohero /reikon /miyakichi /tomozo3

ekken /kyoumoe /kmiura /kawasaki /lastline

その他の先住民 (ブロガー

the-world-is-yours /hagex

Delete_All /NOV1975

/netcraft /Rootport /pha

その他の先住民 (ブクマー

maname /tmura3 /jt_noSke /feita

pero_pero /pycol /guldeen /anigoka

/triggerhappysundaymorning / xevra

未だ青二才

tm2501

サードブロガー (2013年 7月~11月ごろ)

ponako10 /kouas1100 /bulldra

sho_yamane /watakochan /inujin

juverk /xKxAxKx /yarukimedesu

zuiji_zuisho /bbb_network

ikahonokaho /noabooon

denpanohikari /kyokucho1989 /yumejitsugen1

akio6o6

サルアイコン

paradisecircus69

サードブロガー後発組 (2013年 11月~1月ごろ)

sclo-a /kemeko0809 /Healthy-Yamachan

Rlee1984 /grshb /cardmics /K-granola

dobonkai/ornith

同期ブロガー (2014年1月~2月)

MoneyReport /HYLE /hamachang1111

sleepingbaby77 /banchi178 /Jazzy-T

emija

フォースブロガー (2014年3月~6月ごろ)

horahareta13 /ponkotukko /kobabiz /lets0720

dokushohon /you-7188 /banban

syunki-gt /mah_1225 /zeromoon0 /suzukidesu23

新人類(2014年7月~)

http://hatenablog.com/g/12921228815733076148

ここら辺から出てこないかな。

結婚小町育児ブロガー

topisyu /hana5521 /toithomas

plutan /suminotiger/bambi_eco1020

moromoroko /honda_maki

はてな女子

aniram-czech /aku_soshiki /ramuneee

luvlife /kimaya /crrt /vaginally /lunasaurus

haruna0109

オシャレ系

hase0831 /sol1og /fahrenheitize

dennou_kurage

はっきりいって個人の日記レベル

ninjinkun /hitode909 / chira_rhythm55

uiureo /tapir320 /Swatz /onishi

shimobayashi /shi3z

その他

masudamaster

科学

http://fm7.hatenablog.com/entry/2014/10/02/070242

NATROM /scicom /warbler /active_galactic /rikunora

lhcatlasjapan /mamoruk /hiroyukikojima /semi_colon

otokomaeno /katsumushi /horikawad /hornistyf /extinx0109y

aggren0x /usausa1975 /doramao /Asay /ohira-y /uneyama

locust0138 /ophites /mdr52 /ynakamurachicago /DYKDDDDK

Mr_YM /doubutsutokuron /Mochimasa /yashoku /

takahikonojima /I_LoveScience /yu-kubo /Butayama3 /

pkoudai /wakuteka /pioneerboy

すこしずつ追加していく。

追記:20141018

id:suzukidesu23

http://b.hatena.ne.jp/entry/228423969/comment/suzukidesu23

う~ん、時期的には「サードブロガー後発組 (2013年 11月~1月ごろ)」か「同期ブロガー (2014年1月~2月)」になるんだけどな・・・


http://b.hatena.ne.jp/entry/201575786/comment/suzukidesu23

フォースブロガーらしいからフォースブロガーも追記してくれると有難い。でも、この括りだと、同期ブロガーになるかと。

どっちだよwww

2014-06-08

Windows8はクソ(7本目)

ディスクI/Oにムラがある

バッチ処理の終了時刻が見積もれない。

1分で済むかと思えば5分かかったりする。

バックグラウンド処理のせいなのか、ディスクキャッシュのせいなのか、原因不明。疲労困憊。

ふぁっく

(追記)

ディスクキャッシュのせいだった

まさか20000ものファイルOSキャッシュしてるとは思わんかった

2014-03-01

http://anond.hatelabo.jp/20140301053214

まぁ、僕は馬鹿だけど、今、30歳弱のロシア人githubで公開している、Javaの非同期I/Oがらみのソースコード読んで、バグなのか使用なのかウンウンうなっている程度の馬鹿です。

すげーすげー(棒)

ただの頭でっかち馬鹿だった。こりゃ重症だわ。

2013-05-16

http://anond.hatelabo.jp/20130516010749

GoogleI/O見ててエンジニアの隠しきれないオタク感がなんとなくやばい

っでなんとなく思ったのだけど、

ヘルプ玄人志向というよりも玄人しか作ってないか

そんな代物になったんじゃない?

きっとヘルプGoogle開発者本人が書いて、

レビュアーGoogle中の人ってぐらいだから

ほんとの素人って方も少なくて、

さしものGoogleと言えど第二の池上彰さんは

いらっしゃらなかったんだよ、きっと。

っでデザインはいいけど、何となく手順難しいよね

みたいなヘルプが完成されたんじゃないかな。

パイソンのチュートリアルはいいなぁと印象に残ってるけど

Androidの開発でGoogleチュートリアルは時々見るが、

これはいいなぁと記憶に残ってるのってなんか一つもないやw

さっき紹介してたGCMとか、あらかた使い方覚えてAPI表みたら

確かにプラスα要素多くて丁寧そうに見えるんだけど

それ理解できるようになったらチュートリアル本編はいらないって

まぁ大体そんな感じ。

なんかその辺が全くの初心者に対していきなり知ってることすべて説明しようとして

駄々滑りのオタクぽいんだよね。

説明できることと技術があることは別やねんと

PMに怒られてばっかのへぼSEから何となく

2011-12-26

Oracle Express やめた。どうせバグ修正が有償なんでしょ

事実上性能悪いでしょ。

たとえばこのご時世で、NLS対応なんかが糞。

根本的な部分に手を出せないんだろ、「過去の安定した実績」とやらを保つ弊害だな。

Expressなんか無償である程度使わせておいて、バグ対処必要とのことで有償でパッチを配る。

パソコンデザインキーの感触、I/Oポートの配置などトータルでの洗練は無用

クロックアップでベンチがすごいとか、PCI-X(出てるのかな...)にも対応、とかで

「さすが!」と嬉々とする厨房みたい。

まあ、Oracle様のアコギ商売、信者どもが守ってくれるからな。

「うまく使えないのは、使うおまえが下手なだけ」...って言ってお終いの、よく見かける世間パターン

という俺はゴールド餅だけど、新規DBOracleは、俺の為にも会社の為にも絶対採用しない。

採用時の1従業員(SIerかもしれぬ)の好き嫌いで、業務が左右されてたまるかよ。(SIerなら、バックもあるのか?)

今後数年の保守システム拡張、何より費用からして会社へ背任行為をするわけにいかない。

困るとすれば、転職とき経験スキルOracle求められること。

DB意味もわからない人事のひとがとりあえずメジャーということで

求人要件に載せやがるっぽくて参る。

http://www.limy.org/program/db/not_oracle.html

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=30408&forum=7&start=8

一方のMSさんは、ゲイツさんの「世界のタネ保存計画」が怪しくてたまらん。

けど、DBには何も関係ないから。。

2011-12-12

コンピュータプログラミング概念技法モデル」の目次

第1章 プログラミング概念入門
	1.1 計算器
	1.2 変数
	1.3 関数
	1.4 リスト
	1.5 リストについての関数
	1.6 プログラムの正しさ
	1.7 計算量
	1.8 遅延計算
	1.9 高階プログラミング
	1.10 並列性
	1.11 データフロー
	1.12 明示的状態
	1.13 オブジェクト
	1.14 クラス
	1.15 非決定性と時間
	1.16 原子性
	1.17 ここからどこへ行くのか?
	1.18 練習問題

第1部 一般的計算モデル

第2章 宣言的計算モデル
	2.1 実用プログラミング言語定義
		2.1.1 言語の構文
		2.1.2 言語意味
	2.2 単一代入格納域
		2.2.1 宣言的変数
		2.2.2 値格納域
		2.2.3 値生成
		2.2.4 変数識別子
		2.2.5 識別子を使う値生成
		2.2.6 部分値
		2.2.7 変数の,変数への束縛
		2.2.8 データフロー変数
	2.3 核言語
		2.3.1 構文
		2.3.2 値と型
		2.3.3 基本型
		2.3.4 レコード手続き
		2.3.5 基本操作
	2.4 核言語意味
		2.4.1 基本概念
		2.4.2 抽象マシン
		2.4.3 待機不能な文
		2.4.4 待機可能な文
		2.4.5 基本概念再訪
	2.5 メモリ管理
		2.5.1 末尾呼び出し最適化
		2.5.2 メモリライフサイクル
		2.5.3 ガーベッジコレクション
		2.5.4 ガーベッジコレクションは魔術ではない
		2.5.5 Mozartのガーベッジコレクタ
	2.6 核言語から実用言語へ
		2.6.1 構文上の便宜
		2.6.2 関数(fun文)
		2.6.3 対話的インターフェース(declare文)
	2.7 例外
		2.7.1 動機と基本概念
		2.7.2 例外を持つ宣言的モデル
		2.7.3 親言語の構文
		2.7.4 システム例外
	2.8 進んだ話題
		2.8.1 関数型プログラミング言語
		2.8.2 単一化と内含(entailment)
		2.8.3 動的型付けと静的型付け
	2.9 練習問題

第3章 宣言的プログラミング技法
	3.1 宣言的とはどういうことか?
		3.1.1 宣言的プログラムの分類
		3.1.2 仕様記述言語
		3.1.3 宣言的モデルにおいてコンポーネントを実装すること
	3.2 反復計算
		3.2.1 一般的図式
		3.2.2 数についての反復
		3.2.3 局所的手続きを使うこと
		3.2.4 一般的図式から制御抽象へ
	3.3 再帰計算
		3.3.1 スタックの大きさの増加
		3.3.2 代入ベース抽象マシン
		3.3.3 再帰計算を反復計算に変換すること
	3.4 再帰を用いるプログラミング
		3.4.1 型の記法
		3.4.2 リストについてのプログラミング
		3.4.3 アキュムレータ
		3.4.4 差分リスト
		3.4.5 キュー
		3.4.6 木
		3.4.7 木を描画すること
		3.4.8 構文解析
	3.5 時間効率空間効率
		3.5.1 実行時間
		3.5.2 メモリ使用量
		3.5.3 償却的計算量
		3.5.4 性能についての考察
	3.6 高階プログラミング
		3.6.1 基本操作
		3.6.2 ループ抽象
		3.6.3 ループ言語的支援
		3.6.4 データ駆動技法
		3.6.5 明示的遅延計算
		3.6.6 カリー化
	3.7 抽象データ型
		3.7.1 宣言的スタック
		3.7.2 宣言的辞書
		3.7.3 単語出現頻度アプリケーション
		3.7.4 安全抽象データ型
		3.7.5 安全な型を備えた宣言的モデル
		3.7.6 安全な宣言的辞書
		3.7.7 資格セキュリティ
	3.8 宣言的でない必要物
		3.8.1 ファイルを伴うテキスト入出力
		3.8.2 グラフィカルユーザインタフェースを伴うテキスト入出力
		3.8.3 ファイルとの状態なしデータI/O
	3.9 小規模プログラム設計
		3.9.1 設計方法
		3.9.2 プログラム設計の例
		3.9.3 ソフトウェアコンポーネント
		3.9.4 スタンドアロンプログラムの例
	3.10 練習問題

第4章 宣言的並列性
	4.1 データ駆動並列モデル
		4.1.1 基本概念
		4.1.2 スレッド意味
		4.1.3 実行列
		4.1.4 宣言的並列性とは何か?
	4.2 スレッドプログラミングの基本的技法
		4.2.1 スレッドを生成すること
		4.2.2 スレッドブラウザ
		4.2.3 スレッドを使うデータフロー計算
		4.2.4 スレッドスケジューリング
		4.2.5 協調的並列性と競合的並列性
		4.2.6 スレッド操作
	4.3 ストリーム
		4.3.1 基本的生産者消費者
		4.3.2 変換器とパイプライン
		4.3.3 資源管理し,処理能力改善すること
		4.3.4 ストリームオブジェクト
		4.3.5 ディジタル論理シミュレーション
	4.4 宣言的並列モデルを直接使うこと
		4.4.1 順序決定並列性
		4.4.2 コルーチン
		4.4.3 並列的合成
	4.5 遅延実行
		4.5.1 要求駆動並列モデル
		4.5.2 宣言的計算モデル
		4.5.3 遅延ストリーム
		4.5.4 有界バッファ
		4.5.5 ファイルを遅延的に読み込むこと
		4.5.6 ハミング問題
		4.5.7 遅延リスト操作
		4.5.8 永続的キューアルゴリズム設計
		4.5.9 リスト内包表記
	4.6 甘いリアルタイムプログラミング
		4.6.1 基本操作
		4.6.2 ティッキング(ticking)
	4.7 Haskell言語
		4.7.1 計算モデル
		4.7.2 遅延計算
		4.7.3 カリー化
		4.7.4 多態型
		4.7.5 型クラス
	4.8 宣言的プログラム限界拡張
		4.8.1 効率性
		4.8.2 モジュラ性
		4.8.3 非決定性
		4.8.4 現実世界
		4.8.5 正しいモデルを選ぶこと
		4.8.6 拡張されたモデル
		4.8.7 異なるモデルを一緒に使うこと
	4.9 進んだ話題
		4.9.1 例外を持つ宣言的並列モデル
		4.9.2 さらに遅延実行について
		4.9.3 通信チャンネルとしてのデータフロー変数
		4.9.4 さらに同期について
		4.9.5 データフロー変数有用性
	4.10 歴史に関する注記
	4.11 練習問題

第5章 メッセージ伝達並列性
	5.1 メッセージ伝達並列モデル
		5.1.1 ポート
		5.1.2 ポート意味
	5.2 ポートオブジェクト
		5.2.1 NewPortObject抽象
		5.2.2 例
		5.2.3 ポートオブジェクトに関する議論
	5.3 簡単なメッセージプロトコル
		5.3.1 RMI(遠隔メソッド起動)
		5.3.2 非同期RMI
		5.3.3 コールバックのあるRMI(スレッド使用)
		5.3.4 コールバックのあるRMI(継続のためのレコード使用)
		5.3.5 コールバックのあるRMI(継続のための手続き使用)
		5.3.6 エラー報告
		5.3.7 コールバックのある非同期RMI
		5.3.8 二重コールバック
	5.4 並列性のためのプログラム設計
		5.4.1 並列コンポーネントを使うプログラミング
		5.4.2 設計方法
		5.4.3 並列性パターンとしての機能的構成要素
	5.5 リフト制御システム
		5.5.1 状態遷移図
		5.5.2 実装
		5.5.3 リフト制御システムの改良
	5.6 メソッド伝達モデルを直接使用すること
		5.6.1 1つのスレッドを共有する複数のポートオブジェクト
		5.6.2 ポートを使う並列キュー
		5.6.3 終点検出を行うスレッド抽象
		5.6.4 直列依存関係の除去
	5.7 Erlang言語
		5.7.1 計算モデル
		5.7.2 Erlangプログラミング入門
		5.7.3 receive操作
	5.8 進んだ話題
		5.8.1 非決定性並列モデル
	5.9 練習問題

第6章 明示的状態
	6.1 状態とは何か?
		6.1.1 暗黙的(宣言的)状態
		6.1.2 明示的状態
	6.2 状態とシステム構築
		6.2.1 システムの性質
		6.2.2 コンポーネントベースプログラミング
		6.2.3 オブジェクト指向プログラミング
	6.3 明示的状態を持つ宣言的モデル
		6.3.1 セル
		6.3.2 セル意味
		6.3.3 宣言的プログラミングとの関係
		6.3.4 共有と同等
	6.4 データ抽象
		6.4.1 データ抽象組織する8つの方法
		6.4.2 スタックの変種
		6.4.3 多態性
		6.4.4 引数受け渡し
		6.4.5 取り消し可能資格
	6.5 状態ありコレクション
		6.5.1 インデックス付きコレクション
		6.5.2 インデックス付きコレクションを選ぶこと
		6.5.3 その他のコレクション
	6.6 状態に関する推論
		6.6.1 不変表明
		6.6.2 例
		6.6.3 表明
		6.6.4 証明規則
		6.6.5 正常終了
	6.7 大規模プログラム設計
		6.7.1 設計方法
		6.7.2 階層システム構造
		6.7.3 保守性
		6.7.4 将来の発展
		6.7.5 さらに深く知るために
	6.8 ケーススタディ
		6.8.1 遷移的閉包
		6.8.2 単語出現頻度(状態あり辞書を使用する)
		6.8.3 乱数を生成すること
		6.8.4 口コミシミュレーション
	6.9 進んだ話題
		6.9.1 状態ありプログラミング限界
		6.9.2 メモリ管理と外部参照
	6.10 練習問題

第7章 オブジェクト指向プログラミング
	7.1 継承
	7.2 完全なデータ抽象としてのクラス
		7.2.1 例
		7.2.2 この例の意味
		7.2.3 クラスオブジェクト定義すること
		7.2.4 クラスメンバ
		7.2.5 属性初期化すること
		7.2.6 第1級メッセージ
		7.2.7 第1級の属性
		7.2.8 プログラミング技法
	7.3 漸増的データ抽象としてのクラス
		7.3.1 継承グラフ
		7.3.2 メソッドアクセス制御(静的束縛と動的束縛)
		7.3.3 カプセル化制御
		7.3.4 転嫁委任
		7.3.5 内省
	7.4 継承を使うプログラミング
		7.4.1 継承の正しい使い方
		7.4.2 型に従って階層を構成すること
		7.4.3 汎用クラス
		7.4.4 多重継承
		7.4.5 多重継承に関するおおざっぱな指針
		7.4.6 クラス図の目的
		7.4.7 デザインパターン
	7.5 他の計算モデルとの関係
		7.5.1 オブジェクトベースプログラミングコンポーネントベースプログラミング
		7.5.2 高階プログラミング
		7.5.3 関数分解と型分解
		7.5.4 すべてをオブジェクトにすべきか?
	7.6 オブジェクトシステムを実装すること
		7.6.1 抽象図
		7.6.2 クラスを実装すること
		7.6.3 オブジェクトの実装
		7.6.4 継承の実装
	7.7 Java言語(直列部分)
		7.7.1 計算モデル
		7.7.2 Javaプログラミング入門
	7.8 能動オブジェクト
		7.8.1 例
		7.8.2 NewActive抽象
		7.8.3 フラウィウス・ヨセフスの問題
		7.8.4 その他の能動オブジェクト抽象
		7.8.5 能動オブジェクトを使うイベントマネージャ
	7.9 練習問題

第8章 状態共有並列性
	8.1 状態共有並列モデル
	8.2 並列性を持つプログラミング
		8.2.1 さまざまな手法概観
		8.2.2 状態共有並列モデルを直接使うこと
		8.2.3 原子アクションを使うプログラミング
		8.2.4 さらに読むべき本
	8.3 ロック
		8.3.1 状態あり並列データ抽象を構築すること
		8.3.2 タプル空間(Linda)
		8.3.3 ロックを実装すること
	8.4 モニタ
		8.4.1 定義
		8.4.2 有界バッファ
		8.4.3 モニタを使うプログラミング
		8.4.4 モニタを実装すること
		8.4.5 モニタの別の意味
	8.5 トランザクション
		8.5.1 並列性制御
		8.5.2 簡易トランザクションマネージャ
		8.5.3 セルについてのトランザクション
		8.5.4 セルについてのトランザクションを実装すること
		8.5.5 トランザクションについてさらに
	8.6 Java言語(並列部分)
		8.6.1 ロック
		8.6.2 モニタ
	8.7 練習問題

第9章 関係プログラミング
	9.1 関係計算モデル
		9.1.1 choice文とfail文
		9.1.2 探索木
		9.1.3 カプセル化された
		9.1.4 Solve関数
	9.2 別の例
		9.2.1 数値例
		9.2.2 パズルとnクイーン問題
	9.3 論理プログラミングとの関係
		9.3.1 論理論理プログラミング
		9.3.2 操作意味論理意味
		9.3.3 非決定性論理プログラミング
		9.3.4 純粋Prologとの関係
		9.3.5 他のモデルにおける論理プログラミング
	9.4 自然言語構文解析
		9.4.1 簡単な文法
		9.4.2 この文法に従う構文解析
		9.4.3 構文木を生成すること
		9.4.4 限定記号を生成すること
		9.4.5 パーサを走らせること
		9.4.6 パーサを「逆向きに(backward)」走らせること
		9.4.7 単一化文法
	9.5 文法インタプリタ
		9.5.1 簡単な文法
		9.5.2 文法のコード化
		9.5.3 文法インタプリタを走らせること
		9.5.4 文法インタプリタを実装すること
	9.6 データベース
		9.6.1 関係を定義すること
		9.6.2 関係を使って計算すること
		9.6.3 関係を実装すること
	9.7 Prolog言語
		9.7.1 計算モデル
		9.7.2 Prologプログラミング入門
		9.7.3 Prologプログラムを関係プログラム翻訳すること
	9.8 練習問題

第2部 特殊化された計算モデル10グラフィカルユーザインタフェースプログラミング
	10.1 宣言的/手続き的方法
	10.2 宣言的/手続き的方法を使うこと
		10.2.1 基本的ユーザインタフェースの要素
		10.2.2 GUIを構築すること
		10.2.3 宣言的座標
		10.2.4 リサイズ時の宣言的振る舞い
		10.2.5 ウィジェットの動的振る舞い
	10.3 対話的学習ツールPrototyper
	10.4 ケーススタディ
		10.4.1 簡単なプログレモニタ
		10.4.2 簡単なカレンダウィジェット
		10.4.3 ユーザインタフェースの動的生成
		10.4.4 状況順応時計
	10.5 GUIツールを実装すること
	10.6 練習問題

第11章 分散プログラミング
	11.1 分散システムの分類
	11.2 分散モデル
	11.3 宣言的データの分散
		11.3.1 オープン分散と大域的ネーミング
		11.3.2 宣言的データを共有すること
		11.3.3 チケット配布
		11.3.4 ストリーム通信
	11.4 状態の分散
		11.4.1 単純状態共有
		11.4.2 分散字句的スコープ
	11.5 ネットワークアウェアネス
	11.6 共通分散プログラミングパターン
		11.6.1 静的オブジェクトモバイルオブジェクト
		11.6.2 非同期的オブジェクトデータフロー
		11.6.3 サーバ
		11.6.4 クローズド分散
	11.7 分散プロトコル
		11.7.1 言語実体
		11.7.2 モバイル状態プロトコル
		11.7.3 分散束縛プロトコル
		11.7.4 メモリ管理
	11.8 部分的失敗
		11.8.1 失敗モデル
		11.8.2 失敗処理の簡単な場合
		11.8.3 回復可能サーバ
		11.8.4 アクティブフォールトトレランス
	11.9 セキュリティ
	11.10 アプリケーションを構築すること
		11.10.1 まずは集中,後に分散
		11.10.2 部分的失敗に対処すること
		11.10.3 分散コンポーネント
	11.11 練習問題

第12章 制約プログラミング
	12.1 伝播・探索法
		12.1.1 基本的考え方
		12.1.2 部分情報を使って計算すること
		12.1.3 例
		12.1.4 この例を実行すること
		12.1.5 まとめ
	12.2 プログラミング技法
		12.2.1 覆面算
		12.2.2 回文積再訪
	12.3 制約ベース計算モデル
		12.3.1 基本的制約と伝播子
		12.3.2 計算空間の探索をプログラムすること
	12.4 計算空間定義し,使うこと
		12.4.1 深さ優先探索エンジン
		12.4.2 検索エンジンの実行例
		12.4.3 計算空間の生成
		12.4.4 空間の実行
		12.4.5 制約の登録
		12.4.6 並列的伝播
		12.4.7 分配(探索準備)
		12.4.8 空間の状態
		12.4.9 空間クローン
		12.4.10 選択肢を先に任せること
		12.4.11 空間マージすること
		12.4.12 空間失敗
		12.4.13 空間計算を注入すること
	12.5 関係計算モデルを実装すること
		12.5.1 choice文
		12.5.2 Solve関数
	12.6 練習問題

第3部 意味

第13章 言語意味
	13.1 一般的計算モデル
		13.1.1 格納域
		13.1.2 単一代入(制約)格納域
		13.1.3 抽象構文
		13.1.4 構造的規則
		13.1.5 直列実行と並列実行
		13.1.6 抽象マシン意味との比較
		13.1.7 変数導入
		13.1.8 同等性の強制(tell)
		13.1.9 条件文(ask)
		13.1.10 名前
		13.1.11 手続抽象
		13.1.12 明示的状態
		13.1.13 by-need同期
		13.1.14 読み出し専用変数
		13.1.15 例外処理
		13.1.16 失敗値
		13.1.17 変数置き換え
	13.2 宣言的並列性
		13.2.1 部分停止と全体停止
		13.2.2 論理同値
		13.2.3 宣言的並列性の形式的定義
		13.2.4 合流性
	13.3 8つの計算モデル
	13.4 よくある抽象意味
	13.5 歴史に関する注記
	13.6 練習問題

2011-09-22

http://anond.hatelabo.jp/20110922131742

それ、I/O cacheとか含めてない?

確か自宅では物理4GBのLinux上で1GBのメモリ割り当てのVMWin7とか動かしてるけど、まぁ動くよ。

(OSが速度優先でメモリをあるだけガメる、ってのはI/O cacheとか余計なサービスの先行実行とか、まぁいろいろそういうことのつもりで書いた)

2011-03-30

http://anond.hatelabo.jp/20110330122305

ここを読めば、PHPPHPコードの実行が遅くて、JavaI/Oが遅い事が分かると思う。

特にJava標準出力に出したときは、内部文字コードシステムコードが異なるので、文字コード変換を毎回行っているはず。

なお、PHPはメソッド・コールが他のスクリプト言語と比較しても遅いPHPコード量が増えると、他のプログラミング言語よりも、速度の低下が激しくなる傾向がある。

利用目的が違うので、JavaPHPの速度比較なんて不毛だが、特性としては以上のような違いがある。

http://anond.hatelabo.jp/20110330122305

PHPPHPコードがあると遅くなる。JavaI/Oがあると遅くなる。ループ内でSystem.out.println()をしているのは、さすがPHPer。

2011-02-22

http://anond.hatelabo.jp/20110222031117

HDD鼓舞すると回転数が上がってI/O待ちが減る」

余談だが、これは明らかに誤りで、HDDに向かって叫ぶとI/O待ちは増えることが分かっている。

証拠はこの動画だ → http://www.youtube.com/watch?v=tDacjrSCeq4

2011-01-27

msi P67A-S40 について

P67A-S40について覚書。

tsukumoでBTOデスクトップPCeX.computer)注文したら使用されていたマザーボード

あまり情報なかったのでメモっておこう。

msi製のIntel P67 Expressチップセット、LGA1155ソケットマザー

OEM限定モデルらしく、P67A-S40は市場パッケージ販売はされていない模様。

msi本家サイトでも情報がみあたらない。

モデルNoはMS-7673。

P67A-C45、P67A-C43、P67S-C43と同じモデル

I/Oパネル部分のコネクタの違い。

クリアCMOSボタン光学S/PDIF出力端子、同軸S/PDIF出力端子】

P67A-C45→あり

P67A-C43→あり

P67S-C43→あり

P67A-S40→なし

USB

P67A-C45→USB2.0×8、USB3.0×2

P67A-C43→USB2.0×8、USB3.0×2

P67S-C43→USB2.0×10

P67A-S40USB2.0×8、USB3.0×2

オンボードコネクタの違い。

IEEE1394

P67A-C45→あり

P67A-C43→なし

P67S-C43→なし

P67A-S40→なし

CD入力コネクタ

P67A-C45→あり

P67A-C43→あり

P67S-C43→あり

P67A-S40→なし

BIOS、各種ドライバー

BIOSドライバーは同じモデルのP67A-C45等のページからダウンロードすれば良いと思う。自己責任で。

http://www.msi.com/product/mb/P67A-C45.html#/?div=Driver

BIOSはVersion 1.7にアップデートしてみたけど、今のところ不具合なし。

電源いれて起動時にピッ!ピッ!ピッ!ピッ! ポッ!ってな感じでビープ音が鳴るんだけど、これはどうやら起動時に接続されているUSB機器の数をカウントしてるらしい

故障かと思った。

ドライバ

Intel Management Engine Driver for P67/H67

Intel SandyBridge Chipset Driver

このあたりは元の公式から最新版の方が良い気もする。

2010-10-05

http://anond.hatelabo.jp/20101005113659

プログラマが書く恋愛プログラムなんざ

結果に納得いかなくても「仕様です」って言われるぜ?

そこで「いや、仕様の通りならこうなるはずだ!」って訴えた所で

「それはスペックが足りないんじゃないですか?推奨実行環境を満たしていますか?」って返されるしな。

そもそも、どんな入門書を読んだ所で、I/Oは勿論内部仕様パターン分析等々の理解がなければプログラムは書けないぜ(それは”プログラム”の入門書に書いてあるモンじゃない)

そして何より単体から総合までのテスト、実環境でのリハーサルを経なければ

その仕様プログラムが本当に正しい、使える物なのかなんて言い切れないんだぜ

2010-09-07

IT系とかそれ以外のスキル列挙するから何ができそうか教えて欲しい

色々教えてください偉い人。

自分で考えろってのはご尤もですが、色々な方の意見が聞いてみたいのです。

純粋Java(max5000行程度)

Struts(ver2じゃないほう)上でのJava(max2000行程度)

perl(max7000行程度)

c/c++(ちょっと)

Haskell(ほんの少し)

VisualBasic.NETじゃないほう)(ほとんど忘れた)

HTML/CSS(セマンティック厨)(HTML5勉強中)(バイトWEBデザイン経験有)

javascript(簡単なものなら)

XML/XSL自作プログラムI/Oに利用)

MovableTypeCMSとして利用。ちょっとした企業サイトレベルくらいのものの構築。簡単なプラグイン作成とかも)

Apache(セットアップと最低限の設定くらい)

Tomcat(同上)

LinuxCentOSUbuntu。セットアップとちょっとした設定程度)

IPA資格ソフトウェアネットワークデータベース

Tex論文プレゼンテーション作成

AdobeDTP製品(CS2)(雑誌編集経験有、ただし学生レベル

Oracle10g)(Bronzeレベルの知識とちょっと触ったことがある程度の経験

postgreSQL(ちょっと触ったことがある程度)

会計関連の知識(日商簿記2級)(大学管理会計をかじった)

数学系の知識(論理とか集合やらの基礎。大学計算機科学をかじった)

印刷物/WEBサイトデザイン(独学だけどそれなりに。一般人よりはそれっぽいデザインが作れるかと)

・文章/記事作成(取材→記事執筆。文章校正経験有)(随筆みたいのは無理)

漫画ゲームが大好き

2010-04-02

みんなのうたコンピューターおばあちゃん」について(平成22年4月2日

ttp://www.nhk.or.jp/pr/keiei/otherpress/100402.html

報道資料)

平成22年4月2日

NHK広報

みんなのうたコンピューターおばあちゃん」について


 1981年に制作した、みんなのうたコンピューターおば あちゃん」の映像の一部を手直しすることになりました。経緯と対応についてお知らせします。



番組

みんなのうたコンピューターおばあちゃん

 作詞作曲伊藤良一さん 編曲:坂本龍一さん 

 うた:酒井司優子さん(東京放送児童合唱団

 アニメーション:とこいったさん

○放送

1981年(昭和56年)12月が初回放送

その後たびたび再放送をしており、最近の放送は2009年(平成21年)6月・7月です。

○内容

 アニメーション画面の一部に使われている風景・人物 などの連続映像(全体で15秒程度)の中に、女性のおしり・胸・下着姿の写真がそれぞれ約0.1秒ずつ3カット含まれていました。

 制作以来30年を経た現在の視聴環境や視聴態様を考慮に入れると、ファミリー向けの番組としてはよりふさわしい表現をとるべきだと考えました。

○わかった経緯

 この作品は2004年にNHKエンタープライズから発行したDVD全12巻セットの第7集に収録され ており、DVDを見た方から指摘があり現在番組担当者が確認しました。

○対応

 今後の放送予定はありませんが、当該部分を手直し し、放送する場合には手直ししたものを使用します。

 DVDはすでに販売が終了していますが、当該曲の収録されている第7集については販売会社に依頼して手直ししたものをお送りし、古いものは返送をお願い する予定です。


以上

2010-03-09

ttp://www.gns.ne.jp/eng/g-ken/igiari/obj_237.htm

シンポジウムの会場が沸いたのは、グリーンピースの資金源について語 

った時だ。当初は全世界の会員400万人からの会費だけだったが、ロッ 

フェラーなどリッチな50の財団から資金を得るようになり、活動資金 

の80パーセントを占めるようになったという。そのリッチ財団は、一 

方では原子力発電の支持団体である。「それらの財団環境を大切にして 

いるというポーズのためにグリーンピース寄付するのだ」と語った。  

                                  

 「自動車ほど環境破壊する技術はないとあなたは書いているが、なぜ 

車に反対しないのか」と質問したら、「そんな運動に誰が金を出しますか」

と答えた。これでグリーンピースの正体が分かった気がした。

2010-03-04

ギャルゲとかやらないんだよね、俺

シュタゲをプレイした友人が

ループ物って名作だよね」

って言うから

I/Oとかもオススメ

みたいなレスをしたんだけど(自分はシュタゲ未プレイです)

「いや〜ごめんね、俺ギャルゲとかやらないんだよねw」

ええと・・・いや、シュタゲってさ、あれだけヒロインに囲まれて充分ギャルゲじゃないの?

て思ったんだけど

なんていうのかな・・・あれ、シュタゲは神作品!っていう選民意識なのか

普段ギャルゲやらない俺がすすめる作品!みたいな

みててうーんと唸ってしまい

それ以来シュタゲプレイしたいなーと思わなくなってしまった

2009-11-13

http://anond.hatelabo.jp/20091113025009

番号で管理していないのか。管理していても、この場合はどうしようもない。

ただ張り替えが行われている事実を、区が確認できる。

ttp://www.city.sapporo.jp/seiso/gomi/oogatagomi.html

ttp://www.city.shibuya.tokyo.jp/env/gomi/gomi_sodai.html

2009-06-06

http://anond.hatelabo.jp/20090606145555

ソフトウェア仕事って、自宅のPCで開発できたりレンタルサーバでちょろっとローンチする類のものばかりじゃないでしょう。

組み込みOSカスタムI/Oドライバ書かせたらすごいとか、バックボーンに直接つながったNICから大量のパケットが流れ込んでも落とさずさばけますよとか、特定の業界プロトコルハンドリングにやけに詳しいとか、業務の現場でないと遭遇しないような問題に特化したスキルっていうのもあるんじゃない?

ログイン ユーザー登録
ようこそ ゲスト さん