hpprc/jawiki-books-paragraphs huggingface dataset:
プログラミング言語/並行処理言語
コンカレントプログラミングとは、コンピュータプログラミングの手法の一つで、単一のコンピュータ内、あるいは複数のシステム間で同時に処理を実行するものである。後者の場合、分散コンピューティングという用語が使われる。マルチプロセッサ・マシンは、このようなプログラミングを活用することで、より優れた性能を発揮する。
現在では、CPU負荷の高いプログラムを2倍の速度で実行させるためには、並行プログラミングが唯一の方法となっています。 (歴史的には、クロック速度が2倍のCPUが現れるまで数年待つという方法もよく使われていたが、この傾向は2003年頃に終わった
並列プログラミングでは、1つのタスクを比較的独立して計算できるいくつかのサブタスクに分割し、それを集約して1つのまとまった解を形成する。並列プログラミングは、因数分解などの純粋に数学的な問題など、独立したタスクに容易に分解できるタスクに最も効果的である。
並列プログラミングを実現する一つの方法として、通信ネットワークで結ばれた別々のコンピュータで作業を行う分散コンピューティングという情報処理方法がある。
相互排除のソリューション

理解を容易にするために、元のベーカリーアルゴリズムを修正したものを2プロセスで始める。
脚註

[todo|C・A・R・ホアと彼の並行プログラミングの研究について言及する ]。
データ構造
本書は、効率的なデータ構造の作成と分析について説明しています。
本書の内容を理解するためには、変数、演算式、if-else条件、ループ、サブルーチン(関数ともいう)、ポインター(参照またはオブジェクトハンドルともいう)、構造体(レコードまたはクラスともいう)、簡単な入出力、簡単な再帰を自分で操作して書ける程度にプログラミング言語に慣れていなければなりません。
データ構造の構築は多くの言語でアプローチが異なるため、疑似コード( pseudo-code )を使って、自分の言語に翻訳できるようにしています。
本書の開発に貢献しよう！

本節は、英語版ウィキブックスの文章を和訳したもので、日本版ウィキブックスの現状を表していません。
本書の開発に貢献しよう！

ウィキブックは、オープンソースのソフトウェアプロジェクトに似た事業です。寄稿者は、他の人を助けたり、個人的に充実させたり、あるいは寄稿者自身の仕事のために何かを達成するためにプロジェクトのためのコンテンツを作成します(例:講義の準備)。
本書の開発に貢献しよう！

オープンブックは、オープンプログラムと同様に、完成までに時間を要しますが、読者からのささやかな貢献でも大きな恩恵を受けることができます。たとえば、よりよい本にするために、本文の「バグ」(バグは、組版、説明、技術、美学、その他にあるかもしれません)を修正することができます。バグを修正する機会を見つけたら、「編集」をクリックして、変更を加え、「保存」をクリックするだけです。他の投稿者は、あなたの変更が本にとって適切であるかどうかを確認するために、あなたの変更をレビューすることができます。もし不明な点があれば、ディスカッションのページで質問することができます。常識的な範囲でお願いします。
本書の開発に貢献しよう！

より大きな貢献をしたい場合は、短すぎるセクションや章など、もっと作業が必要な部分を見て、書き始めることができます! 内容の重複を避けるため、必ず最初に残りの部分に目を通すようにしてください。さらに、投稿者のためのガイドラインのページ(Guidelines for Contributors)を読んで、一貫性のあるヒントやアドバイスを得る必要があります。
本書の開発に貢献しよう！

一度にすべてを寄稿する必要はないことに注意してください。テンプレート「{{TODO|description of what remains to do}}」をページに追加すれば、おそらく他の人があなたの代わりにその部分を仕上げてくれるでしょう。
本書の開発に貢献しよう！

この本は、貢献しやすくするために、意図的に焦点を絞ってあります(そうすれば、最終目標が明確になりますから)。本書はアルゴリズムに関する3冊のコンピュータ科学の教科書のうちの1冊で、『アルゴリズム(英:Algorithms)』のアルゴリズムのテクニックに続き、『データ構造とアルゴリズム(英:Advanced Data Structures and Algorithms)』の上級編で終わります。もし、この3冊の本のどれにも載っていないトピックを投稿したい場合は、より折衷的な性格を持つAdvanced bookに載せてみてください。また、もしそのトピックが基本的なものだと思うのであれば、アルゴリズム(Algorithms)かデータ構造(Data Structures)のディスカッションページで提案することも可能です。
本書の開発に貢献しよう！

さらに、付録としてデータ構造の実装(Ada、C、C#、Perl、Python、Java、Ruby、Schemeのいずれか)も歓迎されます。
脚註

さらに、今日のアルゴリズムの範囲を示すオンラインリファレンスとして アルゴリズムの辞典 があります。
高校英語の文法/完了形
現在完了の省略形として、
I have → I've
you have → you've
のように省略することがある。コレは別にいいとして、
三人称単数の she,he,it などにつく has も同様に
he has → he's
she has → she's
it has → she's
のように省略する。be動詞のis の省略形ではないので、注意。
現在完了の基本的な使い方は、中学でも習うように、現在における「完了」「継続」「経験」である。
いっぽう、過去完了の使い方は、現在における「完了」「継続」「経験」のほか、過去から見た時点でのさらなる過去の事を使う用法がある。
典型的なのは、
「~したとき、・・・を忘れていたことに気づいた。」 I realized that I had forgotten(または left など) ・・・
という表現で、過去完了を使う。なお、こういう、過去からみた過去を表すために用いる過去完了形の用法のことを「大過去」という。
ほか、典型的な表現として、
I lost the watch that My father bought for me. 「父が買ってくれた腕時計を、なくしてしまった。」
のような例文もよくある。
ただし、完了形を使わずとも、起きた順番どおりに
My father bought the watch for me, but I lost it.
のように過去形だけで言う方法もある。高校の定期テストなどで、この過去形を過去完了形に置き換える表現など、いかにも典型的に出題されそうなので、覚えとこう。
実現しなかったことを表すのに、過去完了を使う用法がある。
参考書によくある典型的な例文は、
「君に来て欲しかったのに。」 I had expected yo to come.
である。
expect の代わりに hope でもよく、たとえば
「君に来て欲しかったのに。」 I had hoped yo to come.
という例文も参考書によくある。
ほか、
I had intend to go ・・・ 「・・・に行くつもりだったのですが(しかし私は行かなかった)。」
という例文もよくある。
expect(期待する), hope(望む), want(欲する)
や
intend(つもりである), think (思う)
などの動詞で、このような用法がある。
未来完了形とは、未来のある時点での、予定や予測における、その未来時点での完了や結果や継続のことである。
たとえば、「来年で私たちは結婚30周年になる」(継続の未来完了)(※ 桐原フォレストに似た例文)とか「もう1回その映画を見たら、合計で3回その映画を見たことになる」(経験の未来完了)(※ジーニアスだと映画、桐原だとミュージカルで、ともに3回)とか、そういう表現が未来完了である。
映画など合計3回の英文は
I will have seen (映画またはミュージカル) three times if I see it again.
となる。if の代わりに when でもいい(桐原がif, ジーニアスが when)。
データ構造/本書について
Acknowledgment is given for using some contents from Wikipedia.
Wikipediaの内容を一部引用しています。
高等学校 生物基礎/様々なバイオーム
本節では、国内外のバイオームとその分布について扱います。
世界のバイオーム

またなお、グラフでの各植生の各領域の温度範囲や降水量範囲の広さや値は、教科書ごとに若干、異なります。なので、あまり細かな数値を覚えても無価値です。
日本のバイオーム

日本では、その地域の気温によって、植生が決まります。
日本のバイオーム

よって、その地域の気温の積算値をもとにした指数によって、植生が説明出来ます。
日本のバイオーム

植物の生育がうまくできる下限の値を5°Cと考え、よって月平均気温からマイナス5°Cをした値を各月もとめ、さらにその各月の値を足し合わせた積算値を、暖かさの指数といいます。
日本のバイオーム

WIが15〜45は、トドマツなどの針葉樹が分布し、亜寒帯に相当し、北海道の北東部などです。
日本のバイオーム

45〜85は、ミズナラなどの夏緑樹林が分布し、冷温帯に相当し、東北地方などです。
日本のバイオーム

85〜180は、スタジイなどの照葉樹林が分布し、温暖帯に相当します。
日本のバイオーム

180〜240は、沖縄県や鹿児島などで見られ、亜熱帯多雨林が分布し、亜熱帯に相当します。
高等学校 生物/効果器
外界に作用する器官、細胞、細胞小器官を効果器といいます。動物は刺激に応じて様々な反応を示します。その時、効果器が働きます。刺激に対する通常の反応は運動ですが、筋肉、繊毛、鞭毛などはそのための効果器です。電気や光を出す特殊な効果器を持っている動物もいます。また、色素胞や分泌腺も効果器です。
筋肉

筋肉は体の中で最も重い組織で、質量の約40%を占めています。
筋肉

脊椎動物の筋肉には、横紋筋と平滑筋の2種類があります。横紋筋は顕微鏡で見た時に見えます。横紋筋は大きくなったり小さくなったりするのが早く、大きな力を出すのが特徴です。骨格筋も心臓の筋肉(心筋)も横紋筋です。骨格筋は骨に付いていて、体を動かしたり正しい位置に保ったりしています。平滑筋は、体内の血管や臓器にある筋肉です。
筋肉

神経筋標本は、カエルのように骨格筋に運動神経がつながっている実験用動物から採取します。カエルのふくらはぎの筋肉(腓腹筋)に座骨神経を貼り付けて作った神経筋標本を使って、神経を1回電気刺激すると、0.1秒で筋肉が収縮・弛緩します。これが単収縮です。単収縮が終わる前に次の電気刺激を与えると、単収縮が重なり、収縮が大きくなります。刺激の頻度がある一定以上になると、強い収縮が長時間続くようになります。これを強収縮といいます。強収縮は、健康な骨格筋で起こる種類の筋収縮です。これは、活動電位が運動神経を1秒間に10回以上伝わっているために起こります。収縮の量が時間とともにどのように変化するかを示す曲線を収縮曲線といいます。刺激があまり起こらない時は、不完全強縮を示します。そのため、単収縮が重なり合ったギザギザの収縮曲線になります。頻度が高くなると、完全強縮を示し、大きく滑らかに収縮する曲線になります。
筋肉

筋組織を作っているのは筋細胞という長い細胞で、筋繊維とも呼ばれます。骨格筋の筋細胞は、多くの細胞が集まってできており、それぞれの細胞には数百個の核があります。筋細胞は、細胞の長軸に沿って筋原繊維がずらりと並んでいます。筋原線維はサルコメア(筋節)で出来ています。両端はZ膜で仕切られ、サルコメアは長軸方向に何度もつながっています。サルコメアの真ん中の少し暗く見える部分を暗帯、Z膜に近い部分は明るく見えるので明帯といいます。ミオシンフィラメントとアクチンフィラメントは、サルコメアの筋原線維の長軸に沿って規則正しく並んでいます。ミオシンフィラメントはミオシン分子の束がたくさん集まって出来ており、ミオシン分子の頭がたくさん飛び出しています。
筋肉

横紋筋が収縮すると、明帯と呼ばれる明るい色の部分の長さだけが変化し、サルコメアの幅は小さくなります。明帯にはアクチンフィラメントがあり、暗帯にはミオシンフィラメントがあります。筋肉は、ミオシンとアクチンが連携して、収縮します。ミオシン分子の頭にATPが付着していない時は、頭はアクチンフィラメントに傾いた状態で付着しています。ATPがミオシン分子の頭部に結合していると、頭部はアクチンから離れます。ADPが頭部から放出されると同時に、頭部は再び傾きます。このため、頭部はアクチンフィラメントから離れます。この動きによって、アクチンフィラメントはサルコメアの中央部に向かって移動します。この動きを何度も繰り返すと、サルコメアの長さが短くなり、筋肉が収縮します。サルコメアが短くなっても、ミオシンフィラメントもアクチンフィラメントも長さは変わりません。アクチンフィラメントがミオシンフィラメントの間をすり抜けると、筋肉は収縮します。このような仕組みを滑り説といいます。なお、ミオシンは、筋肉を収縮させたり弛緩させたりするので、モータータンパク質と呼ばれています。
筋肉

筋肉も神経系の力を借りて動かしています。骨の中にある筋肉は運動神経によって調節され、好きな時に収縮出来ます。このような筋肉を随意筋といいます。その他、平滑筋や心臓のように、自律神経系が働き方を調節している場合もあります。脊髄からの興奮が運動神経細胞を伝わって軸索末端に達すると、シナプス小胞からアセチルコリンという神経伝達物質がシナプス間隙に放出されます。アセチルコリンが筋繊維のリガンド依存性イオンチャネルに結合すると、チャネルが開き、ナトリウムイオンが流れ込みます。その結果、神経細胞と同じように筋繊維に活動電位が発生します。
筋肉

筋小胞体は、筋繊維の筋原線維を包む袋のような構造をしています。筋繊維の膜が興奮すると、膜から内側に伸びているT字管から筋小胞体に興奮が送られます。そして、筋小胞体に蓄えられていたカルシウムイオンが放出されます。トロポニンとトロポミオシンは、アクチンフィラメントに付着するタンパク質です。カルシウムイオンが少なくなると、ミオシン頭部がアクチンに付着しなくなるため、筋肉が弛緩します。筋小胞体からのカルシウムイオンがトロポニンに結合すると、トロポミオシンの形が変化します。これにより、ミオシン頭部がアクチンに結合し、筋肉が収縮します。
筋肉

筋細胞は、ATPがADPになる時に収縮します。これが筋細胞のエネルギーになります。筋細胞はATPをあまり持っていないので、グリコーゲンという形でエネルギーを蓄えています。呼吸と解糖によってグリコーゲンが分解され、ATPが作られます。また、筋細胞はクレアチンリン酸の形でエネルギーを蓄えており、激しい運動でATPが必要になった時に、ADPからATPを作るために使われます。また、ATPは、安静時にエネルギーを貯え、クレアチンリン酸を作り直すためにも使われます。
その他の効果器

動物が外界のものに反応するのは、筋肉だけではありません。
その他の効果器

微細な生物や精子は、繊毛や鞭毛を使って泳いでいます。筋肉は細胞全体を収縮させて動きます。一方、繊毛や鞭毛は、細胞の表面に生えている小さな動く毛です。水を動かすために、この毛が動きます。1つの細胞にはたくさんの繊毛があり、細胞が泳ぐ時に、波打つように動きます。海に住む動物の幼生はよく繊毛を使って泳ぎます。長い繊毛は鞭毛といいます。
その他の効果器

汗腺、乳腺、唾腺などの効果器は、刺激に反応して物質を送り出す動物の部分です。これらの腺は、その中の細胞が分泌した物質が管状の排出管を通って外に出るため、外分泌腺と呼ばれます。甲状腺は内分泌腺の一種なので、排出管を通さずに血液中にホルモンを送り込みます。中枢神経系からの自律神経やホルモンは、多くの腺組織を制御しています。
その他の効果器

メダカの体の色は、背景の明るさによって変化します。色素胞とは、鱗粉の中に色素の子実体をたくさん持っている細胞です。色素胞が色を変えるのは、細胞の中の子実体が移動するためです。子実体が細胞全体にあると色がついたように見えますが、細胞の真ん中に集まると透明になります。
その他の効果器

ホタルの腹部には光を放つ器官があります。種によって決められた時間に相手が光を放つと、自分も光を放ち、他の雌雄に話しかけます。
その他の効果器

デンキウナギやシビレエイは、電気を使って身の安全を確保したり、餌を捕まえたりしています。
高等学校 生物/個体群と生物群集
個体群

ある地域に住む同種の個体(indvidual)の群れを個体群(こたいぐん、population)といいます。ゾウの群れでもウマの群れでも、ハエの群れでも、同種の個体の群れでさえあれば、個体群といいます。
個体群

ショウジョウバエの雄と雌とのつがいを、エサの足りた飼育ビンなどの中で飼育すると、初めは個体数が急激に増加します。
個体群

もし、エサが限りなく豊富にあり、居住空間も広ければ、どんどん増えていくことになります。しかし、実際には、エサには限りがあります。
個体群

ある環境において、個体数の密度が高まると、食べ物の不足や、居住空間の減少、排出物の増加などによって、生活空間が悪化します。その結果、生まれてくる子が減ったり、あるいは生存競争が激しくなって死亡率が増えるなどして、個体数の増加が抑えられます。そのため、個体数の時間についてのグラフを書くと、図のようにS字型になります。このグラフのように、個体群における個体数の推移を描いたグラフを個体群の成長曲線(せいちょうきょくせん、growth curve)といいます。
個体群

動物でも植物でも、このような現象が見られます。
個体群

ある環境においての、個体数の最大数を環境収容力(かんきょう しゅうようりょく、carrying capacity)といいます。
個体群

また、密度によって、個体の成長や発育などが変化することを密度効果(みつど こうか、density effect)といいます。
個体群

植物でも密度効果はあります。 ダイズでは、種をまいたときの密度に関わらず最終的な単位面積あたりの総重量が、ほぼ同じ値になります。 これを最終収量一定の法則(さいしゅうしゅうりょう いってい の ほうそく、law of constant final yield)といいます。
相変異

トノサマバッタでは、幼虫時の密度で、成虫になったときの様子が変わる。 幼虫時に密度が低いと、成虫は孤独相(こどくそう、solitarious phase)になります。子には遺伝しありません。
相変異

孤独相
相変異

いっぽう、幼虫時に密度が高いと、成虫は群生相(ぐんせいそう)になります。子には遺伝しありません。
相変異

群生相
相変異

移動能力の高さは、新しい環境を探すためのものです。
相変異

このように、個体群密度によって、同じ種の形態や行動に違いが出ることを相変異(そうへんい)といいます。アブラムシやヨトウガでも相変異が見られます。
生存曲線

動物の、ある個体群で、個体の生存数を数表にしたものを生命表(せいめいひょう、life table)といい、生命表の内容をグラフにしたものを生存曲線(survival curve)といいます。
生存曲線

種によって生存曲線は違い、主に3つの型に分かれます。
生存曲線

晩死型と早死型と平均型という3つです。 晩死型は、死期が寿命の近くです。早死型は、生まれてから、すぐに死ぬ個体が多くあります。平均型は、時期によらず死亡率が、ほぼ一定です。
生存曲線

魚類など、産卵数の多い生物は、子育てをせず、そのため早死型が多くあります。 いっぽう、大型の哺乳類は、晩死型です。
生存曲線

鳥類・爬虫類などは平均型です。
個体群内の関係

ハチ、アリ、シロアリなどでは、同種の個体が密集して生活し、コロニーとよばれる群れを形成しています。これらの昆虫(ハチ、アリ、シロアリ)は、社会性昆虫と呼ばれます。
個体群内の関係

シロアリの場合、産卵を行う個体は、ふつうは1匹に限られます。その産卵を行うアリが、女王アリです。
個体群内の関係

女王アリ以外のメスは不妊です。
個体群内の関係

女王以外のアリには、ワーカーや兵アリがいます。
個体群内の関係

ワーカーとは、いわゆる「はたらきアリ」のことで、食物の運搬や幼虫の世話などの仕事をする個体のことです。 シロアリのワーカーや兵アリには生殖能力が無い。
個体群内の関係

ハチも同様に、女王バチやワーカーがいます。ハチでも、産卵を行うのは女王ハチのみで、ワーカーや兵ハチには生殖能力が無い。
個体群内の関係

(ほうかつ てきおうど)
個体群内の関係

ニワトリやニホンザルやオオカミなどで、よく見られます。
個体群内の関係

ニワトリの場合、何羽かを檻(おり)の中で買うと、つつきあいをして順位が決まる。順位の高いほうが、つつく。順位のひくいほうが、つつかれます。
個体群内の関係

ニホンザルの場合、順位の高い個体のほうが、順位の低い個体の尻の上に乗っかり、これをマウンティングといいます。
異種個体群間の関係

ある種の個体群について、必要とする資源の特徴や、活動時間などのように、生態系の中で占めている地位を生態的地位(ニッチ、niche)といいます。
異種個体群間の関係

異種の個体群のニッチが似ている場合、ニッチを奪い合って競争が起きる場合が多いので、そのようなニッチの似ている異種個体群が共存するのは難しい。
異種個体群間の関係

たとえばゾウリムシ(P.caudatum)とヒメゾウリムシ(P.aurelia)は、ともに細菌を食物とするためニッチが似ており、よって共存は難しい。
異種個体群間の関係

いっぽう、タカとフクロウは、食べ物が似ていますが、活動時間が違うため、自然界なら共存は可能です。
異種個体群間の関係

ゾウリムシとヒメゾウリムシのように、異種がニッチを奪い合って競争することを種間競走(しゅかん きょうそう、interspecific competition)といいます。
異種個体群間の関係

ヒメゾウリムシのほうが体が小く、そのため、少ない食料でもヒメゾウリムシは有利です。なので、ヒメゾウリムシとゾウリムシを、たとえば狭い容器などに入れて競走させると、ゾウリムシが競争にやぶれて減少し、やがてゾウリムシは絶滅するという場合が多くあります。
異種個体群間の関係

このように、異種が競争して、どちらかが絶滅することを競走的排除(きょうそうてき はいじょ、competitive exclusion)といいます。
異種個体群間の関係

ニッチが異なっていれば、同じ場所であっても、異種の個体群が共存できる場合があります。 たとえばミドリゾウリムシとゾウリムシは、ニッチが微妙に異なっており、そのため共存しやすい。ミドリゾウリムシは光合成でエネルギーを生産出来ます。
執筆予定

縄張り(テリトリー)
執筆予定

シジュウカラは一夫一妻制。
執筆予定

アリとアブラムシ
執筆予定

サメとコバンザメ
執筆予定

寄生者、宿主(しゅくしゅ)
ベルクマンの法則、アレンの法則

寒冷地ほど、体が大型化。 ホッキョクグマ(大きい)と、ツキノワグマ(小さい )との関係など。
ベルクマンの法則、アレンの法則

寒冷地の動物は、耳などの突起物が小型です。寒冷地であるほど、突起物が小型化しています。
HAML
はじめに

HAML(HTML Abstraction Markup Language)は、Rubyで書かれたマークアップ言語です。HAMLは、HTMLの代わりに、コンパクトで読みやすく、人間が作成するのが簡単な構文を提供します。このチュートリアルでは、HAMLの基礎を学び、簡単なHAMLページを作成する方法を説明します。
HAMLのインストール

HAMLを使用するには、Rubyが必要です。Rubyがインストールされていない場合は、まずRubyをインストールしてください。
HAMLのインストール

Rubyがインストールされている場合は、HAMLをインストールする必要があります。以下のコマンドを実行して、HAMLをインストールします。
HAMLの基本構文

HAMLの構文は、インデントに基づいているため、読みやすく、ネストされた要素を表現するのに適しています。HAMLの基本構文を以下に示します。
HAMLの基本構文

たとえば、HTMLの<div>要素を作成するには、次のように書きます。
HAMLの基本構文

これは、次のHTMLに変換されます。
HAMLの基本構文

属性を追加するには、属性名と値を指定します。
HAMLの基本構文

これは、次のHTMLに変換されます。
HAMLの基本構文

クラスを追加するには、.を使用します。
HAMLの基本構文

これは、次のHTMLに変換されます。
HAMLの基本構文

IDを追加するには、#を使用します。
HAMLの基本構文

これは、次のHTMLに変換されます。
HAMLの変数

HAMLでは、Rubyコードを使用して変数を定義し、それをHAMLで使用することができます。変数は、=記号を使用してHAMLに渡すことができます。
HAMLの変数

変数を使用するには、HAML内で変数を宣言し、Rubyのコードを埋め込みます。次に、HAMLで変数を使用する方法を説明します。
HAMLの変数

これは、次のHTMLに変換されます。
HAMLのコメント

HAMLでは、コメントを挿入することができます。コメントは、-#記号を使用して挿入します。
HAMLのコメント

これは、次のHTMLに変換されます。
HAMLの条件分岐

HAMLでは、Rubyの条件分岐を使用して、特定の条件に基づいてHAMLを生成することができます。
HAMLの条件分岐

次に、HAMLで条件分岐を使用する方法を説明します。
HAMLの条件分岐

これは、次のHTMLに変換されます。
繰り返し処理の基本的な書き方

HAMLでは、Rubyのeachメソッドを使って繰り返し処理を行います。以下は、配列を繰り返してリストを作る例です。
繰り返し処理の基本的な書き方

この例では、%ul要素の中でeachメソッドを使って、['apple', 'banana', 'orange']の配列を繰り返しています。%li要素の中でfruit変数を使って、各要素を表示しています。
インデックス付きの繰り返し処理

繰り返し処理の中で、現在のインデックス番号を使いたい場合があります。その場合は、Rubyのeach_with_indexメソッドを使います。以下は、配列を繰り返して番号付きのリストを作る例です。
インデックス付きの繰り返し処理

この例では、%ol要素の中でeach_with_indexメソッドを使って、['apple', 'banana', 'orange']の配列を繰り返しています。%li要素の中で、i変数を使って現在のインデックス番号を表示し、fruit変数を使って各要素を表示しています。
ハッシュの繰り返し処理

配列だけでなく、ハッシュも繰り返し処理できます。以下は、ハッシュを繰り返して表を作る例です。
ハッシュの繰り返し処理

この例では、%table要素の中でハッシュを繰り返しています。%thead要素の中で表の見出しを、%tbody要素の中で実際の表を作成しています。ハッシュの各要素はkey変数とvalue変数を使って取得し、%td要素に表示しています。
ハッシュの繰り返し処理

以上で、HAMLの基礎を学び、簡単なHAMLページを作成する方法を説明しました。
ハッシュの繰り返し処理

HAMLは、HTMLの代わりに使用することができる簡単で読みやすいマークアップ言語であり、Rubyで書かれているため、Rubyの知識があれば簡単に学ぶことができます。
HAMLのメリット

HAMLを使用すると、次のようなメリットがあります。
HAMLのベストプラクティス

以下は、HAMLの一般的なベストプラクティスです。
中学数学1年
中学校の学習 > 中学校数学 > 中学数学1年
中学数学2年
中学校の学習 > 中学校数学 > 中学数学2年
中学数学3年
中学校の学習 > 中学校数学 > 中学数学3年
高等学校 生物基礎/生物共通の単位（細胞）
本節では、細胞に関する学説と細胞に関する基本構造について学びます。
細胞

※細胞に関する学説の人物は正式名称で押さえておきましょう。
細胞

細胞は、1665年、イギリスのロバート・フックによって発見されました。 彼は、自作の顕微鏡を用いて、軽くて弾力のあるコルクの薄片を観察したところ、 多数の中空の構造があることを知りました。それを修道院の小部屋(cell、セル)にみたて、細胞(cell)と呼びました。 彼が観察したのは、死んだ植物細胞の細胞壁(さいぼうへき、cell wall)でしたが、 その後、1674年、オランダのアントニ・ファン・レーウェンフックにより初めて生きた細菌の細胞が観察されました。
細胞

19世紀に入ると、細胞と生命活動の関連性が気付かれ始めました。 まず1838年、ドイツのマティアス・ヤコブ・シュライデンが植物について、 翌1839年、ドイツのテオドール・シュワンが動物について、 「全ての生物は細胞から成り立つ」という細胞説(cell theory)を提唱しました。
細胞

さらに後、ドイツのルードルフ・ルートヴィヒ・カール・フィルヒョウの「全ての細胞は他の細胞に由来する」という考えにより、細胞説は浸透していきました。
細胞

細胞の大きさはそのほとんどがあまり肉眼では見えません。顕微鏡の発達によって観察出来る分解能が高まり、細胞の内部構造が徐々に明らかになっていきました。
細胞

細胞は生物の種類や体の部位によって様々な大きさで存在しています。 以下に顕微鏡の分解能と細胞などの大きさを挙げます。
細胞の基本構造

生物の細胞には、核をもたない原核細胞と、核をもつ真核細胞とがあります。 細胞の見た目や働きは様々ですが、基本的な機能や構造は同じです。 細胞は核(かく、nucleus)と細胞質(さいぼうしつ、cytoplasm)、それらを囲む細胞膜(さいぼうまく、cell membrane)からなります。細胞膜に包まれた内部の物質のうちから核を除いた部分のことを細胞質といいます。 また、核と細胞質を合わせて原形質(げんけいしつ、protoplasm)とも呼びます。つまり、細胞膜に包まれた内部の物質のことを原形質といいます。よって原形質には核も含まれます。 細胞質には、核を始めとして、ミトコンドリアなど、様々な機能と構造をもつ小さな器官があり、これらを細胞小器官(さいぼうしょうきかん、organelle)と呼びます。 細胞小器官同士の間は、水・タンパク質などで満たされており、これを細胞質基質(さいぼうしつ きしつ、cytoplasmic matrix)と呼びます。この細胞質基質には、酵素などのタンパク質やアミノ酸、グルコースなどが含まれています。
細胞の基本構造

細胞膜は動物にしかありません。動物細胞内部を守るためにあります。
細胞の基本構造

細胞壁は植物にしかありません。植物細胞内部を守るためにあります。
真核細胞

核は、1つの細胞が普通1つもっており、核の表面には核膜(かくまく、nuclear membrane)、核の内部に染色体(chromosome)があります。
真核細胞

「染色体」という名前の由来は酢酸カーミンや酢酸オルセイン液などで染色出来る現象からです。
真核細胞

「染色体」の間を核液(nuclear sap)が満たしています。
真核細胞

染色体は、DNAとタンパク質からなります。
真核細胞

ミトコンドリア(mitochondria)は動物と植物の細胞に存在し、長さ1μm~数μm、幅0.5μm程度の粒状の細胞小器官で、化学反応によって酸素を消費して有機物を分解しエネルギーを得る呼吸(respiration)を行います。
真核細胞

葉緑体(chloroplast)は植物の細胞に存在し、直径5~10μm、厚さ2~3μmの凸レンズ形の器官で、光エネルギーを使って水と二酸化炭素から炭水化物を合成する光合成(photosynthesis)を行います。
真核細胞

また、葉緑体はクロロフィル(chlorophyll)という緑色の色素を含んでいます。葉緑体は、ミトコンドリアと同じように独自のDNAを持っています。
真核細胞

液胞(えきほう、vacuole)は主に植物細胞にみられ、物質を貯蔵したり浸透圧を調節したりします。
真核細胞

一重の液胞膜で包まれ、内部を細胞液(cell sap)が満たしています。
真核細胞

一部の植物細胞はアントシアン(anthocyan)と呼ばれる色素を含みます。
原核細胞

大腸菌などの細菌類や、ユレモなどのシアノバクテリア(ラン藻類)の細胞は、核を持ちません。
原核細胞

これらの生物の細胞も染色体とそれに含まれるDNAはもっていますが、それを包む核膜をもっていないので、核がありません。
原核細胞

このような、核のない細胞のことを原核細胞(prokaryotic cell)と呼びます。原核細胞は、真核細胞よりも小さいです。
原核細胞

また、原核細胞で出来た生物を原核生物(prokaryote)と呼びます。
原核細胞

シアノバクテリアは、ミトコンドリアと葉緑体を持たない原核生物ですが、光合成を行います。
旧過程高等学校数学C
当ページ「旧過程高等学校数学C」はまもなく削除される予定です。理由は以下の通りです。
削除に同意されないのであれば、方針などを確認して、ページを適切なものに書き換えた上で、このテンプレートを取り除いてください。勝手に取り除いた場合、投稿ブロックされる恐れがあります。
労働基準法第138条
コンメンタール>労働基準法
労働基準法第139条
コンメンタール>労働基準法
労働基準法第140条
コンメンタール>労働基準法
労働基準法第141条
コンメンタール>労働基準法
労働基準法第142条
コンメンタール>労働基準法
労働基準法第143条
コンメンタール>労働基準法
情報技術の歴史
当ページ「情報技術の歴史」はまもなく削除される予定です。理由は以下の通りです。
削除に同意されないのであれば、方針などを確認して、ページを適切なものに書き換えた上で、このテンプレートを取り除いてください。勝手に取り除いた場合、投稿ブロックされる恐れがあります。
取引デジタルプラットフォームを利用する消費者の利益の保護に関する法律第一条
この法律は、情報通信技術の進展に伴い取引デジタルプラットフォームが国民の消費生活にとって重要な基盤となっていることに鑑み、取引デジタルプラットフォーム提供者による消費者の利益の保護に資する自主的な取組の促進、内閣総理大臣による取引デジタルプラットフォームの利用の停止等に係る要請及び消費者による販売業者等情報の開示の請求に係る措置並びに官民協議会の設置について定めることにより、取引デジタルプラットフォームを利用して行われる通信販売(特定商取引に関する法律(昭和五十一年法律第五十七号)第二条第二項に規定する通信販売をいう。以下同じ。)に係る取引の適正化及び紛争の解決の促進に関し取引デジタルプラットフォーム提供者の協力を確保し、もって取引デジタルプラットフォームを利用する消費者の利益を保護することを目的とする。
取引デジタルプラットフォームを利用する消費者の利益の保護に関する法律第二条
この法律において「取引デジタルプラットフォーム」とは、特定デジタルプラットフォームの透明性及び公正性の向上に関する法律(令和二年法律第三十八号)第二条第一項に規定するデジタルプラットフォームのうち、当該デジタルプラットフォームにより提供される場が次の各号のいずれかの機能を有するものをいう。 一 当該デジタルプラットフォームを利用する消費者が、その使用に係る電子計算機の映像面に表示される手続に従って当該電子計算機を用いて送信することによって、販売業者等に対し、通信販売に係る売買契約又は役務を有償で提供する契約(以下「役務提供契約」という。)の申込みの意思表示を行うことができる機能 二 当該デジタルプラットフォームを利用する消費者が、その使用に係る電子計算機の映像面に表示される手続に従って当該電子計算機を用いて送信することによって、競りその他の政令で定める方法により販売業者等の通信販売に係る売買契約又は役務提供契約の相手方となるべき消費者を決定する手続に参加することができる機能(前号に該当するものを除く。) 2 この法律において「取引デジタルプラットフォーム提供者」とは、事業として、取引デジタルプラットフォームを単独で又は共同して提供する者をいう。 3 この法律において「消費者」とは、個人(商業、工業、金融業その他の事業を行う場合におけるものを除く。)をいう。 4 この法律において「販売業者等」とは、販売業者又は役務の提供の事業を営む者(自らが提供する取引デジタルプラットフォームを利用して商品若しくは特定権利(特定商取引に関する法律第二条第四項に規定する特定権利をいう。次条第一項第二号及び第四条第一項において同じ。)の販売又は役務の提供を行う場合におけるものを除く。)をいう。
取引デジタルプラットフォームを利用する消費者の利益の保護に関する法律第三条
取引デジタルプラットフォーム提供者は、その提供する取引デジタルプラットフォームを利用して行われる通信販売に係る取引の適正化及び紛争の解決の促進に資するため、次に掲げる措置を講ずるよう努めなければならない。 一 当該取引デジタルプラットフォームを利用して行われる通信販売に係る取引について、消費者が販売業者等と円滑に連絡することができるようにするための措置を講ずること。 二 当該取引デジタルプラットフォームにより提供される場における販売業者等による商品若しくは特定権利の販売条件又は役務の提供条件の表示に関し当該取引デジタルプラットフォームを利用する消費者から苦情の申出を受けた場合において、当該苦情に係る事情の調査その他の当該表示の適正を確保するために必要と認める措置を講ずること。 三 当該取引デジタルプラットフォームを利用する販売業者等に対し、必要に応じて、その所在に関する情報その他の販売業者等の特定に資する情報の提供を求めること。 2 取引デジタルプラットフォーム提供者は、内閣府令で定めるところにより、その提供する取引デジタルプラットフォームを利用する消費者に対し、前項の規定に基づき当該取引デジタルプラットフォーム提供者が講じた措置の概要及び実施の状況その他の内閣府令で定める事項を開示するものとする。 3 内閣総理大臣は、取引デジタルプラットフォーム提供者が行う前二項の措置に関して、その適切かつ有効な実施に資するために必要な指針を定めるものとする。 4 内閣総理大臣は、前項の指針を定め、又はこれを変更したときは、遅滞なく、これを公表しなければならない。
料理本/煮物/ほうれん草のおひたし
おひたしは伝統的な和食の一つです。比較的簡単に作れるので時間がない時にもおすすめです。
オプション

ほうれん草の根元は砂が溜まりやすいですが、食べられることは食べられるし然程固くありません。ミネラルも多いので、食べる方が良いでしょう。食品ロスの削減にもつながります。
オプション

ほうれん草を小松菜や水菜などに変えても良いですね。
高等学校 生物基礎/個体の成り立ちと多様性
本節では、単細胞生物と多細胞生物の用語の意味と代表的な動物名を押さえましょう。
単細胞生物と多細胞生物

アメーバ、ミドリムシ、ゾウリムシなど、個体が単一の細胞からできている生物は単細胞生物(unicellular organism)と呼ばれます。 例えばゾウリムシは、一つの細胞で、繊毛を使って泳いだり、細胞口を使って食べたり、食胞を使って消化したりしています。
単細胞生物と多細胞生物

単細胞生物に対して、形や働きの異なる多くの細胞からなる生物は多細胞生物(multicellular organism)と呼ばれます。多細胞生物において、藻類や腔腸動物は、種子植物や脊椎動物に比べると簡単な構造を持っています。 例えばヒドラは、8種類約10万個の細胞からなる多細胞生物で、刺細胞で攻撃したり、腺細胞で消化液を分泌したり、消化細胞で消化を行ったりしています。
高等学校公共/企業の経済的役割
ほとんどの場合、商売を行いたい人(経営者)は、その商売を運営するための組織(企業)をつくります。ここでは、企業についてみていきましょう。
企業の目的と種類

企業とは、下の条件を満たした組織を指します。
企業の目的と種類

商売を行いたい人(経営者)が、銀行や証券会社から必要なお金を借りて、工場や店舗などの設備を整えます。その上で、原材料や完成品を仕入れつつ、労働者(従業員)を雇って、経営します。
企業の目的と種類

(>_<) 企業の定義は絶対に覚えてください。定義を覚えないと、この後の説明が分かりません。
企業の目的と種類

以下の役割があります。
企業の目的と種類

(>_<) 企業の役割も絶対に覚えてください。
企業の目的と種類

社会は、こうした企業がずっと続いていくと考えています。企業が長続きするためには、時間をかけて成長しなければなりません。そして、商売を続け、成長するためには、経営に必要な費用よりも多くの費用を稼がなければなりません。これを経済用語で利益や利潤といいます。そのために、企業はお客さまのご要望に応える製品を作ったり、新規事業を立ち上げたり、新しい欲求を生み出したりしようとします。例えば、上記写真の伊藤忠商事株式会社も同じです。
企業の目的と種類

企業には様々な種類があります。誰が出資するかによって、私企業(民間企業)・公企業・公私合同企業に分かれます。私企業(民間企業)とは、個人や民間のお金を使って儲ける企業です。反対に、公企業とは、国や地方公共団体が立ち上げた企業です。公私合同企業・第三セクター・公私混合企業は、国や地方自治体のお金と民間(企業など)のお金を組み合わせて立ち上げた企業です。交通機関やリゾート施設などの開発に利用されています。
ソフトウェア工学概論
状態:本書はまだ作成中です。
本書は、ソフトウェア工学の入門書であり、学部レベルのコースの教科書として意図されている。
ソフトウェア工学( software engineering )は、チームに関するものであり、品質に関するものである。 解決すべき問題は非常に複雑であったり、大規模であったりするため、一人の開発者ではもう解決できない。 また、ソフトウェア工学は、チーム内や社内外の関係者とのコミュニケーションについても重要である。 チームは開発者だけでなく、品質保証テスター、システム設計者、システム/プラットフォームエンジニア、顧客、プロジェクトマネージャー、その他の利害関係者( stakeholders )で構成されている。
実装は、もはやコードを書くだけでなく、ガイドラインに従い、ドキュメントを書き、ユニットテストを書くことも必要である。 しかし、ユニットテストだけでは十分ではない。さまざまなピースが組合わされなければならないのである。 そして、測定基準を使って問題のある部分を発見し、その部分の品質を向上させることができなければならない。 コードは、チームが一緒に作業しやすいように、一定の標準に従っている必要がある。 大規模なプロジェクトでは、ソフトウェアのメンテナンスなど、多くの人を長い間、忙しく働かせることになる。
プロジェクトの成否を左右する要素は非常に多いため、本書ではプロジェクトマネジメントのスキルについて取り上げている。 ソフトウェアプロジェクトは非常に大規模なものになるため、綿密な計画を立てなければならない。 プロジェクトが失敗する要因と成功する要因について説明する。 最後に、優れたソフトウェアエンジニアは、他のエンジニアと同様に、ツールを必要とする。 本書では、大規模なプロジェクトから小規模なプロジェクトまで、日常的に使用する優れたツールについて取り上げている。
本書では、大小さまざまなプロジェクトで日常的に使用できる優れたツールを紹介している。
皆さんも、ソフトウェア工学の迷宮への旅にでよう!
ソフトウェア工学概論/緒論
緒論 -- Introduction

本書は、ソフトウェア工学の入門書であり、学部レベルのコースの教科書として意図されている。
緒論 -- Introduction

ソフトウェア工学( software engineering )はチームで行うものである。 解決すべき問題があまりにも複雑であったり、大規模であったりするため、一人の開発者ではもう解決できないのである。 また、ソフトウェア工学はコミュニケーションも重要である。チームは開発者だけでなく、テスター、アーキテクト、システムエンジニア、顧客、プロジェクトマネージャーなど、さまざまなメンバーで構成されている。ソフトウェアプロジェクトは非常に大規模になるため、綿密な計画を立てなければならない。 実装は、もはやコードを書くだけでなく、ガイドラインに従い、ドキュメントを書き、さらにユニットテストも書かなければならない。 しかし、ユニットテストだけでは十分ではない。さまざまなピースが組合わされなければならないのである。 そして、測定基準を使って問題のある部分を発見できなければならない。測定基準は、私たちのコードが特定の標準に従っているかどうかを教えてくれる。 大規模なプロジェクトでは、ソフトウェアの保守に多くの人が長い間忙殺されることがある。 プロジェクトの成否を左右する要素は非常に多いので、プロジェクト管理とその落とし穴、特にプロジェクトを成功に導く要素について少し学ぶ必要がある。 そして最後になるが、優秀なソフトウェアエンジニアは、他のエンジニアと同様に、ツールを必要とし、そのツールについて知る必要がある。
緒論 -- Introduction

最初のころ、皆さんは個人でコーディングしていた。 解決すべき問題は小さかったので一人で解決することができた。 現実の世界では、問題の大きさや時間の制約から、チームでなければ解決できないような問題がある。
緒論 -- Introduction

チームが効果的に機能するためには、コミュニケーションするための言語(UML)が必要である。 また、チームは開発者だけでなく、テスター、アーキテクト、システムエンジニア、そして最も重要な顧客からも構成されている。 そこで、良いチームとは何か、顧客とのコミュニケーションの取り方、ソースコードだけでなく、ソフトウェアプロジェクトに関わる全てのことを文書化する方法などを学ぶ必要がある。
緒論 -- Introduction

これまでの講座では、JavaやC++などの言語と、アイデアをコードにする方法を学んだ。しかし、これらのアイデアは言語から独立している。 統一モデリング言語( Unified Modeling Language ; UML)を使えば、言語から独立してコードを記述する方法を見ることができるし、さらに重要なことに、1レベル上の抽象化レベルで考えることを学ぶことができる。 UMLは、コミュニケーションとドキュメンテーションのツールとして非常に有効である。
緒論 -- Introduction

私たちは、パターンという全体像を見ることを学ぶ。これにより、さらに一段高い抽象度を得ることができる。 ここでもまた、仲間とのコミュニケーションをより効果的にするための語彙が増える。また、先輩から学ぶことも素晴らしい方法である。 これは、大規模なソフトウェアシステムを設計する際に必要不可欠なことである。
緒論 -- Introduction

また、ソフトウェアを書くことができるだけでは、そのソフトウェアが良いものであるとは限らない。そこで、何が良いソフトウェアなのか、そして、どのようにソフトウェアの品質を測定するのかを明らかにする。静的解析( static analysis )や測定基準( measuring metrics )によって既存のソースコードを分析できるようになる一方で、コードが一定の品質基準を満たしていることをどのように保証すればよいのであろうか?この文脈では、テストも重要であり、高品質の製品を保証するものである。
緒論 -- Introduction

これまで、IDE、コンパイラー、デバッガーについて知っていただけたかと思う。しかし、ソフトウェア・エンジニアが自由に使えるツールはもっとたくさんある。 チームで作業するためのツール、ソフトウェアを文書化するためのツール、開発作業全体を支援・監視するためのツールなどがある。 ソフトウェアアーキテクトのためのツール、テストやプロファイリングのためのツール、自動化やリエンジニアリングのためのツールもある。
ソフトウェア工学概論/歴史
歴史

1940年代初頭に近代的なデジタル・コンピューターが初めて登場したとき、それを作動させる命令は機械に配線されていた。この頃、コンピューターを扱うのは技術者であり、その多くは電気技術者であった。 このハードウェア中心の設計は柔軟性に欠け、すぐに「ストアドプログラムアーキテクチャー」またはフォンノイマンアーキテクチャーに取って代わられた。 こうして、「ハードウェア」と「ソフトウェア」の最初の区分けが始まり、コンピューティングの複雑さに対処するために抽象化が行われるようになったのです。
歴史

1950年代にはプログラミング言語が登場し始め、これもまた抽象化の大きな一歩となった。 FORTRAN、ALGOL、COBOLといった主要な言語が1950年代後半にリリースされ、それぞれ科学的、アルゴリズム的、ビジネス的な問題に対処するために使用されるようになった。 E.W.ダイクストラは、その代表的な論文”Go To Statement Considered Harmful”(『Go to文は有害と思われる』本邦未出版) は1968年に、David Parnasは1972年に、モジュール性と情報隠蔽の重要な概念を導入した。複雑化し続けるソフトウェアシステムにプログラマーが対応できるようにするためのものである。
歴史

オペレーティングシステムと呼ばれるハードウェアを管理するソフトウェアシステムも導入され、特に1969年のUnixが有名である。1967年には、Simula言語がオブジェクト指向のプログラミングパラダイムを導入した。
歴史

このようなソフトウェアの進歩に呼応して、コンピューターのハードウェアもさらに進歩した。 1970年代半ばには、マイクロコンピューターが登場し、趣味でコンピューターを入手し、そのためのソフトウェアを書くことが経済的にできるようになった。 これが、現在では有名なパーソナルコンピューター(PC)やマイクロソフト社のWindowsにつながったのである。 また、1980年代半ばには、ソフトウェアを一元的に構築するためのコンセンサスとして、ソフトウェア開発ライフサイクル(The Software Development Life Cycle; SDLC)が登場し始めた。1970年代後半から1980年代前半にかけては、Smalltalk、Objective-C、C++など、Simulaに影響を受けた新しいオブジェクト指向のプログラミング言語がいくつか登場した。
歴史

90年代初頭にはLinuxなどの形でオープンソースソフトウェアが登場し始め、「バザール」という分散型のソフトウェア構築スタイルが紹介された。 その後、90年代半ばにWorld Wide Webとインターネットの普及が始まり、ソフトウェアのエンジニアリングが再び変化した。分散システムはシステムを設計する方法として有力となり、プログラミング言語Javaは抽象化の新たなステップとして仮想マシンとともに導入された。プログラマーは協力してアジャイル宣言を書き、より軽量なプロセスでより安く、よりタイムリーなソフトウェアを作ることを支持した。
歴史

現在のソフトウェア工学の定義は、「より安く、より良く、より速く」ソフトウェアを作る方法を考え出すのに苦労しているため、今日でも実務家の間で議論されている。1990年代以降、IT業界ではコスト削減に主眼が置かれるようになった。総所有コスト(Total Cost of Ownership; TCO)とは、単なる取得コストだけでなく、生産性を阻害するようなコストも含まれる。総所有コストには、生産性の阻害、維持管理努力、インフラストラクチャーをサポートするために必要なリソースなどが含まれる。