はてなキーワード: I/Oとは
呼ばれたようで。
https://japan.zdnet.com/article/35081029/
影響力の大きさ
フラッシュメモリを用いたSSDは、磁気ディスクを用いたハードディスクよりも高速なストレージだが、I/Oスタックは同じだ。このため、デバイスにデータを書き込む際に生じる問題(遅延、エラー、複数のバッファ間の調整)はそのまま残っている。つまり、SSDは単なる高速なディスクにすぎないと言える。
しかしNVMは単に高速なだけではない。NVMには永続性があり、ストレージとしても使用できるメモリである、ストレージクラスメモリ(SCM)に利用できる。
純粋なSCMは、DRAMとストレージデバイスの違いをなくしてしまう。メモリとストレージを別に持つのではなく、永続的にデータを保持できる単一レイヤのメモリを持つことができるわけだ。
昔からのことナリよ。
この会話ログはフィクションであり、実在の人物・地名・団体とは一切関係ありません。
坂木
わろた
坂木
自分が理解できないものを意味がないと思いこみたがるタイプの人だということがよく分かったので原文を読まずに済んだ。ありがたいまとめだ。
安原
NTPsec が,ownership を理解していない開発者たちの声が大きくなるようなコミュニティによって開発されているということが分かって大変有意義でした(こなみかん
宮森
今までCで開発してきたプロジェクトを移すなら極端な話ownershipを理解しなくても良いわけで、悪くないのではと思う。
宮森
……が、理解できないものに対して、理解を試みず~すべきだ~と設計しろ、っちゅう人が作るソフトとはちょっと関わりたくないと思う。
安原
いや,私は C で開発してきたプロジェクトであるならばなおさら ownership を理解していないといけないと思います. ownership に理解を示さないコミュニティが関わってきた一定規模以上の C によるプロジェクト……私の第一感は「こわ…近寄らんとこ…」です.
宮森
いや、Cで開発してきた人たちって、ownershipを自前でコントロールできると思っている(思い込んでいる)人たちですんで……こわちかは同意。
安原
いや,私は C で開発してきた人たちの多くは,そもそも ownership の概念を獲得していないのではないかと危惧しています.元々,私はもっと楽観的で,多くの C プログラマは ownership の概念を獲得していると思っていました.
宮森
安原
OpenSSL の騒動の時,関数の途中で return したことによるリソース漏れを揶揄したことがあります. OpenSSL のようなインターネットの基盤を支えるオープンソースプロジェクトにおいてさえ, ownership の概念を獲得していれば脊髄反射で気づくであろうバグが随所に見られたことには本当に絶望しました.
安原
藤堂
安原
むしろ C++ によって ownership という概念が明確になり,その重要性が認知されるようになったのではないでしょうか? これについては,私は歴史的なことが分からないので真偽のほどは何とも言えませんが.
宮森
シニアな開発者にしかC++/Rustが受けないと思うの、まさにその点だと思っていて、人類を信頼したがために足どころか頭を吹き飛ばす経験を積んでいないからだろうなー、とか。
宮森
OSとかシステム系のプログラマの人々、基本的にリソースは人間が適切に管理するし管理できると考えている人が多い印象([検閲削除]社時経験)。言語側で安全を確保したい、的な話をしても相容れなかった記憶が。
坂木
[検閲削除] のコードには、間違って自分の足どころか頭を撃ち抜いてしまった偉大な先人たちの知恵が詰まっていて、開発していてとても勉強になります。なお [検閲削除] は頭がなくなっていることに気づかずゾンビとして生きている模様。
今井
今井
リソースどうこう以前に、そもそもちゃんと構造化されてるコードが書けるかも怪しい(個人の感想です。見識にバイアスがかかっている可能性があります)
安原
うーん,数値計算系のチームやコミュニティも ownership の概念の獲得,重要性の理解,その管理を自動化することへの理解,これらを期待するのは難しいだろうなあ…….そもそも高度なリソース管理が必要になる場面少ないし…….
坂木
コードの品質が強く求められるプロジェクトとそうでもないプロジェクトがあるからなあ。クライアントサイドソフトウェアは割と品質が求められる気がする。
安原
OS 実装とかシステムプログラミングって,クライアントに直接接しないだけで,その上にクライアントサイドソフトウェアが載るわけで,コードの品質が強く求められると思うのですがそれは…….まあ, API とかで切り離されているので,そこだけしっかりしていれば,という話はあるか.
宮森
坂木
今井
あとは、デモが作れればいい、的なのも同じかなぁ。
宮森
宮森
安原
今井
まー、 offline で動くバッチ、的なのはそこまでメモリ管理とか / パフォーマンスとかにもシビアにならなくていいし(最悪オーダーがほどほどならよい、的な)、そいう文化にいると、雰囲気にのまれる人が多い、というのはまぁわかる。
坂木
今井
宮森
いろいろ言っていますがワタクシ、そういう管理が必要なプログラムは全く書けなくなりましたので今書くと死にます(プログラムと顧客の大事なデータが)
安原
しかし,システムプログラミング界隈に「人間はリソースを適切に管理できる」という悪しき信仰がはびこっているの,何か構造的な原因があったりするのかなあ?
宮森
システム系、基本的に生のハードウェアが透けて見える言語を使う必要があって、そのために選択肢がCしかなくて、手段が限られているからこそ信仰が発生した、という認識
宮森
宮森
坂木
Linux カーネル、一体どうやったらあの規模のコードをクオリティコントロール出来るのか本当に不思議
安原
坂木
Linux カーネル、属人性高そうではあるけどそれでも実際に十分スケールしているからなあ…… ヤバい系レビュアーがごろごろしているのかな
宮森
安原
私も [検閲削除] のコミュニティを見てましたから,各々必要なドメインにおける圧倒的なタレント性を持った人たちが1ヶ所に集結して奇跡のアンサンブルを奏でうる場合がありうるのは理解しているんですが,本当にただの奇跡でしかないと思っています.
宮森
つーても機械エンジニアリングで町工場の職人芸を必要であれば使うように、属人性を求めるのも一個の正しい戦略だと思うんですよね。
宮森
なおその対極がみずh(省略されました
安原
Linux カーネルにおけるスケール云々は, Linux カーネルのコミュニティ自体におけるスケーラビリティではなくて,(システム)プログラミングコミュニティ全体(他のプロジェクト)へスケールするかどうかを言ったつもりでした.
坂木
宮森
C系がシステム系で優先されるの、ツールを変えるとツール独特の罠があるので、罠が全て分かっているツールを使う、っつうのもあるな。
安原
> システム系、基本的に生のハードウェアが透けて見える言語を使う必要があって、そのために選択肢がCしかなくて、手段が限られているからこそ信仰が発生した、という認識
これが原因だとすると,やはり Rust だ……Rust しかない…….ツール周りとか,まだまだ未整備な部分たくさんあるけれど……そこをクリアすれば…….
坂木
坂木
イテレータっていうか Java でいう Scanner を作ろうとしたんだっけ。サードパーティライブラリも探してみたけどその頃は I/O 周りの API が unstable でビルドが軒並み壊れていたりしたな……
藤堂
1.0 以前のことは忘れましょう (本当に unstable)
安原
坂木
安原
「Rust 経験者」という条件でプログラマを募集して,それで入ってきた人材に C を書かせればよいのでは!(ピコーン!
藤堂
犯罪ですよそれは
安原
はい.
藤堂
安原
まさにそれをイメージしていました.
宮森
藤堂
うーん、それ以降の話は知らず
今井
Rust そして誰もいなくなった、にならないかが一番心配だったりする
安原
それな
宮森
もしかして、NTPsecの人がRustでミニサーバーを起こすのにすら苦労していたの、普段からバグありのコードを生産しているからなのでは、という気がしてきた……。
(この辺で一同寝落ち)
よう、新入り。10年前の俺を見ているようだな。
俺も設計がやりたくてメーカーへ入ったら真っ先にテストをやらされた口だ。
すごくつまらない仕事で、毎日が憂鬱だった。だが今から思えば得るものも多かった。
そんな俺からお前に日々の仕事を楽しくする2つのアイデアを贈る。耳の穴かっぽじってよく聞けよ。
電気回路が外部の他の回路とつながる部分。Input/Output。略してI/O。
ここの評価は奥が深い。回路の中でも電源と並んでアナログ要素が非常に大きい箇所。
電子系の学科で習った回路理論が現実世界とリンクしていることが実感できるだろう。
さらに最近のGHzを超えるような高速インターフェースの評価ができるようになればいうことなし。
得難い人材として重宝されることは間違いないだろう。
経験を生かしてI/O周りの回路設計者に転身することも可能だ!
製品試験に使うロジックテスタのマニュアルは読んでみただろうか?
そこにはテスタの動作ブロック図が載っていたりしないだろうか?
そのブロック図から自分でテスタを作ることはできないだろうか?
頭の中だけでもいいから、Raspberry piのような組み込みPCと秋月で売っている汎用ロジックICで同じようなものは作れないか考えてみよう。
小学生の頃、SFが大好きだった。スタートレックやサンダーバード、スターウォーズ、ギャラクティカはいうまでもなく、
スパイ大作戦、猿の惑星、ミクロの決死圏、アトランティスから来た男、600万ドルの男、バイオニックジェミー、
キャプテンフューチャー、未来少年コナン、銀河鉄道999、宇宙戦艦ヤマト。ちょっと後になってスペースコブラ
テレビを見たいために(ビデオがなかったので)他の生活の時間をやりくりして放映時間に合わせて、忘我の境地で見た。
筒井康隆、小松左京、星進一、アイザック・アシモフ、ロバート・ハインライン、P.K.ディック、アーサー・C・クラークとか
手当たり次第に読んでいた。萩尾望都なんかも。まだ広告が少なくて薄かった工学社のI/Oや同人誌の匂いの残るASCIIとか
隅々まで繰り返し読んだ。Z80の機械語ダンプを手打ちした。(あれは辛かったが16進数に耐性がついたのは後々役に立った。)
いま30歳代より若い後輩たちはコナン、999、ヤマト以外ほとんど何もしらない。
仕事で忙しかったというのもあるが、自分もこの20年位そんな本にもテレビ番組にも出会っていないような気がする。
本の実物も引っ越しなどでほとんど処分してしまったので自分がSF好きであるということを知っているのは自分だけで、
万が一本棚を覗いた誰かに気づいてもらえることもない。
少し寂しい。
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
Delete_All /NOV1975
maname /tmura3 /jt_noSke /feita
pero_pero /pycol /guldeen /anigoka
/triggerhappysundaymorning / xevra
未だ青二才
tm2501
ponako10 /kouas1100 /bulldra
sho_yamane /watakochan /inujin
juverk /xKxAxKx /yarukimedesu
zuiji_zuisho /bbb_network
ikahonokaho /noabooon
denpanohikari /kyokucho1989 /yumejitsugen1
akio6o6
paradisecircus69
sclo-a /kemeko0809 /Healthy-Yamachan
Rlee1984 /grshb /cardmics /K-granola
dobonkai/ornith
MoneyReport /HYLE /hamachang1111
sleepingbaby77 /banchi178 /Jazzy-T
emija
horahareta13 /ponkotukko /kobabiz /lets0720
dokushohon /you-7188 /banban
syunki-gt /mah_1225 /zeromoon0 /suzukidesu23
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
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
今GoogleI/O見ててエンジニアの隠しきれないオタク感がなんとなくやばい。
っでなんとなく思ったのだけど、
そんな代物になったんじゃない?
ほんとの素人って方も少なくて、
いらっしゃらなかったんだよ、きっと。
Androidの開発でGoogleのチュートリアルは時々見るが、
さっき紹介してたGCMとか、あらかた使い方覚えてAPI表みたら
確かにプラスα要素多くて丁寧そうに見えるんだけど
それ理解できるようになったらチュートリアル本編はいらないって
まぁ大体そんな感じ。
なんかその辺が全くの初心者に対していきなり知ってることすべて説明しようとして
説明できることと技術があることは別やねんと
事実上性能悪いでしょ。
たとえばこのご時世で、NLS対応なんかが糞。
根本的な部分に手を出せないんだろ、「過去の安定した実績」とやらを保つ弊害だな。
Expressなんか無償である程度使わせておいて、バグ対処必要とのことで有償でパッチを配る。
パソコンにデザインやキーの感触、I/Oポートの配置などトータルでの洗練は無用、
クロックアップでベンチがすごいとか、PCI-X(出てるのかな...)にも対応、とかで
「さすが!」と嬉々とする厨房みたい。
まあ、Oracle様のアコギ商売、信者どもが守ってくれるからな。
「うまく使えないのは、使うおまえが下手なだけ」...って言ってお終いの、よく見かける世間のパターン。
という俺はゴールド餅だけど、新規DBにOracleは、俺の為にも会社の為にも絶対採用しない。
採用時の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
第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 練習問題
P67A-S40について覚書。
tsukumoでBTOのデスクトップPC(eX.computer)注文したら使用されていたマザーボード。
msi製のIntel P67 Expressチップセット、LGA1155ソケットマザー。
OEM限定モデルらしく、P67A-S40は市場でパッケージ販売はされていない模様。
P67A-C45、P67A-C43、P67S-C43と同じモデル。
【クリアCMOSボタン、光学S/PDIF出力端子、同軸S/PDIF出力端子】
P67A-C45→あり
P67A-C43→あり
P67S-C43→あり
P67A-S40→なし
【USB】
【IEEE1394】
P67A-C45→あり
P67A-C43→なし
P67S-C43→なし
P67A-S40→なし
P67A-C45→あり
P67A-C43→あり
P67S-C43→あり
P67A-S40→なし
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
このあたりは元の公式から最新版の方が良い気もする。
色々教えてください偉い人。
自分で考えろってのはご尤もですが、色々な方の意見が聞いてみたいのです。
・Struts(ver2じゃないほう)上でのJava(max2000行程度)
・perl(max7000行程度)
・c/c++(ちょっと)
・Haskell(ほんの少し)
・VisualBasic(.NETじゃないほう)(ほとんど忘れた)
・HTML/CSS(セマンティック厨)(HTML5は勉強中)(バイトでWEBデザイン経験有)
・javascript(簡単なものなら)
・MovableType(CMSとして利用。ちょっとした企業サイトレベルくらいのものの構築。簡単なプラグインの作成とかも)
・Apache(セットアップと最低限の設定くらい)
・Tomcat(同上)
・Linux(CentOSとUbuntu。セットアップとちょっとした設定程度)
・AdobeのDTP系製品(CS2)(雑誌編集経験有、ただし学生レベル)
・Oracle(10g)(Bronzeレベルの知識とちょっと触ったことがある程度の経験)
・postgreSQL(ちょっと触ったことがある程度)
・会計関連の知識(日商簿記2級)(大学で管理会計をかじった)
・数学系の知識(論理とか集合やらの基礎。大学で計算機科学をかじった)
・印刷物/WEBサイトのデザイン(独学だけどそれなりに。一般人よりはそれっぽいデザインが作れるかと)
みんなのうた「コンピューターおばあちゃん」について(平成22年4月2日)
ttp://www.nhk.or.jp/pr/keiei/otherpress/100402.html
(報道資料)
平成22年4月2日
みんなのうた「コンピューターおばあちゃん」について
1981年に制作した、みんなのうた「コンピューターおば あちゃん」の映像の一部を手直しすることになりました。経緯と対応についてお知らせします。
○番組
アニメーション:とこいったさん
○放送
1981年(昭和56年)12月が初回放送
その後たびたび再放送をしており、最近の放送は2009年(平成21年)6月・7月です。
○内容
アニメーション画面の一部に使われている風景・人物 などの連続映像(全体で15秒程度)の中に、女性のおしり・胸・下着姿の写真がそれぞれ約0.1秒ずつ3カット含まれていました。
制作以来30年を経た現在の視聴環境や視聴態様を考慮に入れると、ファミリー向けの番組としてはよりふさわしい表現をとるべきだと考えました。
○わかった経緯
この作品は2004年にNHKエンタープライズから発行したDVD全12巻セットの第7集に収録され ており、DVDを見た方から指摘があり現在の番組担当者が確認しました。
○対応
今後の放送予定はありませんが、当該部分を手直し し、放送する場合には手直ししたものを使用します。
DVDはすでに販売が終了していますが、当該曲の収録されている第7集については販売会社に依頼して手直ししたものをお送りし、古いものは返送をお願い する予定です。
以上
ttp://www.gns.ne.jp/eng/g-ken/igiari/obj_237.htm
シンポジウムの会場が沸いたのは、グリーンピースの資金源について語
った時だ。当初は全世界の会員400万人からの会費だけだったが、ロッ
クフェラーなどリッチな50の財団から資金を得るようになり、活動資金
の80パーセントを占めるようになったという。そのリッチな財団は、一
方では原子力発電の支持団体である。「それらの財団は環境を大切にして
いるというポーズのためにグリーンピースに寄付するのだ」と語った。
「自動車ほど環境を破壊する技術はないとあなたは書いているが、なぜ
車に反対しないのか」と質問したら、「そんな運動に誰が金を出しますか」
と答えた。これでグリーンピースの正体が分かった気がした。