hpprc/jawiki-books huggingface dataset:
プログラミング/JavaScript で学ぶプロトタイプベースオブジェクト指向プログラミング

JavaScriptはプロトタイプベースのオブジェクト指向言語であり、クラスベースのオブジェクト指向言語とは異なるアプローチを採用しています。以下では、JavaScriptでプロトタイプベースのオブジェクト指向プログラミングを学ぶための基本的な概念を紹介します。
プロトタイプは、オブジェクトの原型を表します。JavaScriptでは、すべてのオブジェクトはプロトタイプを持ち、そのプロトタイプは別のオブジェクトとして定義されます。オブジェクトが持つプロパティやメソッドは、そのオブジェクトのプロトタイプから継承されます。
以下は、プロトタイプを定義する方法の一例です。
この例では、Personというコンストラクタ関数を定義し、そのプロトタイプにgreetというメソッドを追加しています。newキーワードを使ってPersonをインスタンス化し、greetメソッドを呼び出すことができます。
JavaScriptでは、オブジェクトが持つプロパティやメソッドが存在しない場合、そのオブジェクトのプロトタイプから順に探索が行われます。この探索の仕組みをプロトタイプチェーンと呼びます。
以下は、プロトタイプチェーンを利用する例です。
この例では、Employeeというコンストラクタ関数を定義し、Personから継承してgreetメソッドを利用しています。Object.createメソッドを使ってPerson.prototypeを継承したEmployee.prototypeを定義し、Employee自身のworkメソッドを追加しています。newキワードを使ってEmployeeをインスタンス化し、greetメソッドとworkメソッドを呼び出すことができます。
ES6以降、JavaScriptではクラスのような構文が導入され、より簡潔にプロトタイプベースのオブジェクト指向プログラミングを行うことができるようになりました。
以下は、クラスのような構文を使った例です。
この例では、classキーワードを使ってPersonクラスとEmployeeクラスを定義し、extendsキーワードを使ってPersonを継承しています。また、constructorメソッドを定義してインスタンスの初期化を行い、それぞれのクラスにメソッドを追加しています。superキーワードを使って親クラスのコンストラクタやメソッドを呼び出すこともできます。
プロトタイプベースのオブジェクト指向プログラミング言語には、以下のような長所と短所があります。
以上が、プロトタイプベースのオブジェクト指向プログラミング言語の長所と短所です。プログラマーは、自分が開発するアプリケーションの要件に合わせて、プロトタイプベースな言語を選択するか、クラスベースな言語を選択するかを判断する必要があります。
以下は、プロトタイプベースのオブジェクト指向プログラミング言語に関連する用語集です。
以上が、プロトタイプベースのオブジェクト指向プログラミング言語に関連する用語集です。
プロトタイプベースのオブジェクト指向プログラミング言語は、多数存在します。以下に、その中から代表的なものをいくつか紹介します。
JavaScriptは、Webブラウザで動作するスクリプト言語であり、現在最も広く使用されているプロトタイプベースな言語の一つです。JavaScriptは、オブジェクトをプロトタイプチェーンで継承することができ、また、mixinを使用することで複数のオブジェクトから機能を取り込むことができます。
Luaは、軽量で高速なスクリプト言語であり、プロトタイプベースな言語の一つです。Luaは、オブジェクトをテーブルとして表現し、テーブルの中に他のテーブルを含めることで継承を実現します。
Selfは、オブジェクト指向プログラミング言語の一つであり、プロトタイプベースな言語の先駆けとなりました。Selfは、オブジェクトをプロトタイプとして表現し、プロトタイプから継承することで、オブジェクトの振る舞いを定義します。
Ioは、小規模なスクリプト言語であり、プロトタイプベースな言語の一つです。Ioは、メッセージパッシングによってオブジェクト間の通信を行います。また、Ioは、プロトタイプをコピーして新しいオブジェクトを作成することで継承を実現します。
NewtonScriptは、AppleのPDA「Newton」で使用されたスクリプト言語であり、プロトタイプベースな言語の一つです。NewtonScriptは、オブジェクトをスロットとして表現し、スロットから継承することで、オブジェクトの振る舞いを定義します。
以上が、プロトタイプベースのオブジェクト指向プログラミング言語の一部です。他にも多数の言語が存在します。
JavaScriptでは、プロトタイプベースのオブジェクト指向プログラミングが採用されています。プロトタイプはオブジェクトの原型を表し、プロトタイプチェーンによって継承が行われます。ES6以降では、クラスのような構文が導入され、より簡潔にプロトタイプベースのオブジェクト指向プログラミングを行うことができます。
羅馬史略/巻之五/塞撒不列顛ヲ進略スル事

ここに示すのは、紀元前55年から紀元前54年にローマの政治家・武将ユリウス・カエサルがブリタンニア(現在のイギリス)の征服戦争(ローマによるブリタンニア侵攻)を起こした記事である。塞撒ガ髙盧ヲ征伐スル事(カエサルがガリアを征伐する事)の内容的な続きに当たる。
下表の左欄に原文を、右欄に修整テキストを示す。修整テキストは、原文をもとにして漢字・仮名づかいなどの表記をより読みやすいように修整したものである。底本では、固有名詞などに傍線を付しているが、一部を除いて省略した。赤い文字は、端末の環境(OSやブラウザー)によっては、文字化けするなど、正しい字体で表示されない場合がある。
高等学校世界史B/1970〜2000年ごろの世界

1960〜80年代から、韓国・台湾・シンガポール・マレーシアが工業的に発展してきて、これら4か国はNIES(新興工業経済地域、ニーズ)と呼ばれた。
日本では50〜60年代に高度経済成長と呼ばれる急激な経済発展をとげたが、NIESでは10〜20年ほど遅れて工業化した。
こうして、アジアが発展してきたぶん、欧米からは雇用が流出しはじめた。イギリスが慢性的な不況におちいって「イギリス病」と言われるようになった時期も、この頃(1960年以降?)の時代である。
なお韓国では1963年に軍人の朴正煕(パク チョンヒ)がクーデタを起こして独裁的政権をにぎっており、79年まで政権は続いたので(79年にパクチョンヒは暗殺される)、その情勢下で経済発展したことになる。
日本と韓国の国交回復(1965年)は、パクチョンヒ政権下での出来事である。国交回復の際、韓国が対日賠償請求権を放棄するかわりに、日本は韓国に経済投資を協力することになった。このようにして、韓国に日本などの外資が投資をしていった。
79年にパクチョンヒは暗殺され、80年に光州(こうしゅう)で民主化運動が起きるが弾圧され(光州事件)、その後も数年ほど独裁政権が続いたが、88年に韓国政府は民主化宣言を行った。また、88年にはソウルオリンピックが開催され、国際的な知名度を高めた。
そして、91年に韓国は北朝鮮とともに国連に加盟した。
台湾は、1949年以来、国民党の独裁政権が80年代ごろまで続いたが、アメリカの圧力もあり、87年に戒厳令が解除され、88年に国民党の李登輝が総統に就任して民主化を推進し、2000年までの長期政権を築いた。2000年の選挙では、民進党の陳水扁に平和に政権交代した。
中国では89年に北京の天安門広場で学生などによる民主化運動が起きたが、政府はこれを弾圧した(天安門事件)。
60〜80年代の韓国や台湾が、独裁政権下であったにもかかわらず経済発展が急速だったことから、当時は「開発独裁」などと言われた。しかし2000年代に入ったころからは、独裁的な中国も発展したし、独裁的なロシアはいまいち経済発展しないし、民主主義のインドも経済発展いてきた。
なお、インドネシアでは1965年に軍部のスハルトがクーデタを起こして政権をにぎり、以降、独裁政権が1996年まで続いた。
フィリピンではマルコスが1965年から独裁をすすめ、20年ほどの長期の独裁をしたが、1986年にフィリピンは民主化。

中国経済は81年ごろから市場開放的な経済改革(人民公社の解体、生産請負性、など)をしていたが、天安門事件にともない、西側諸国は一時的に経済制裁をしたが、以降も中国は市場開放政策をすすめた。(中国政府は1992年ごろからに「改革・開放」とか「社会主義市場経済」などと言ってたが、べつに90年代から中国が市場開放が始まったわけではない。すでに80年代から中国は市場開放を進めている。)
この90年代ごろから、中国への外資の投資が活発になりはじめ、安い賃金を利用して中国経済は低価格向けの輸出製品を増やし、2000年ごろには成果が出始めて、中国は「世界の工場」と言われるほどになった。
中国とベトナムでは、ソ連が崩壊する前から、市場経済的な政策を部分的に導入していた。ベトナムが86年に行った「ドイモイ」(刷新)政策が、そのような市場経済的な政策である。ドイモイ政策では、外資からの投資も奨励された。
もっともソ連自身も85年から「ペレストロイカ」(建て直し)や「グラスノスチ」(情報公開)などの改革を進めていた。
金融業界で1997年に起きたアジア通貨危機も、インターネットの普及が関連していると考えられる。(つまり、ネットの普及により、途上国相手の金融商品の売買をしやすくなった、・・・と考えられる。) アジア通貨危機では、韓国・タイ・インドネシアの通貨が暴落した。
なお、アジア通貨危機よりも前の1994年にメキシコ通貨危機が起きている。
これらの通貨危機では、IMFや世界銀行が融資をしたので、混乱は収束していった。
なお、インドネシアでスハルトの独裁政権が崩壊したのは1998年であり、これはアジア通貨危機の翌年である。

心理学者のフロイトが活躍したのが1900年前後。
社会学者のマクス=ウェーバーが活躍したのも1900年前後。
(※ 科目『現代社会』や『倫理』で、フロイトやらウェーバーの名前が紹介されるのです。)
20世紀後半には、フェミニズムという思想が流行った。フェミニズムとは、女性差別を批判する思想。
なおイスラム教の教義は、女性と男性の扱いが明確に違う。イスラム教の教義では、女性は頭髪やボディラインを隠すべきとされている。なので、イスラム教とフェミニズム思想とは、女性の扱いにおいて、思想的に対立する。
真空管をつかったコンピューターが第二次大戦中の1940年代に発明されるが、一般市場には、まだ普及していない。
デバイスが真空管でなく半導体になるのが1970年代ごろからである。 そして、大企業ユーザーなどでない一般人用のコンピュータであるパソコンが普及し始めるのは、1980年代の後半ごろからである。
インターネットが普及するのは90年代からである。
携帯電話は、1980年代から存在していたが、普及したのは1990年代からである。
生物学でヒトゲノム計画(人間の遺伝子配列のパターンを解析する計画)が始まったのは1991年からである。もちろん、コンピュータが普及したから、こういうゲノム研究が出来るわけである。(なおDNAが発見されたのは1953年である。)
イギリスが1960年代ごろから不況に陥ったりするが、コンピュータ技術は時期的に関係しないようである。
飛行機は(1910年代の)第一次世界大戦よりも前にライト兄弟などによって発明されており、第一次世界大戦では兵器として利用された。
しかしジェット機が発明されたのは(1940年代の)第二次世界大戦からである。

(ロケット的なものは第二次世界大戦中にあったが、)ロケットの開発が進んだのは、戦後の冷戦中であった。 また、ロケット技術と関連して、人工衛星の打ち上げの実験なども行れた。1957年にソ連が人工衛星スプートニク1号の打ち上げに成功したのが、おそらく世界初の人工衛星。
アメリカは月面着陸を目指したアポロ計画が1969年に成功し、1969年に人類を初めて月面に着陸させた。
植物の形

植物には、根、茎、葉、花、種子、果実などの部位があります。根は、土壌から水分や栄養素を吸収し、植物を支える機能があります。茎は、地上部分の植物の主要な構成要素であり、植物を支え、葉や花をつけるための場所を提供します。葉は、光合成や蒸散作用を行い、花は、種子を形成するための生殖器官です。種子は、新しい植物を作るための重要な部位であり、果実は、種子を保護し、種子を運ぶための役割を果たします。また、芽は新しい茎や葉を作るための部位です。
以上が、「植物の形」に含まれる主な部位についての解説です。植物は、これらの部位が組み合わさることで多様な形態や機能を持ち、様々な環境に適応して生存しています。
商法第756条

法学>民事法>商法>コンメンタール商法>第3編 海商 (コンメンタール商法)>商法第756条
(個品運送契約に関する規定の準用等)
2018年改正。
準用条文
2018年改正前には、本条には以下の条項があったが、趣旨は文言現代化の上、商法第752条(運送品の陸揚げ)に移動。
破産法第72条

法学>民事法>コンメンタール>コンメンタール破産法
【相殺の禁止 2】
2004年(平成16年)全面改正時に、旧法第104条を前条とともに継承。
2004年(平成16年)全面改正前には、否認権に関する条項があったが、改正の上、第160条に移された。
正則アラビア語/はじめに

アラビア語は、主に北アフリカで使われている言語で、約2億3500万人の人々に話されています。
また、1973年には国連公用語にも追加されました。
アラビア語は大きく分けて文語のフスハーと口語のアーンミーヤに分けられます。(正則アラビア語はフスハーのことです。)
アーンミーヤには方言があり、方言によって発音や文法が大きく変わることがあります。
フスハーは日常会話ではあまり使用されませんが、コンピューターの画面やニュース番組などに使用されることがありす。
アラビア語はよく「世界一難しい言語」と言われますが、アラビア語の難しい要素は何なのでしょう。
アラビア語では母音が表記されないことが多いです。
子供や外国人向けの書籍には母音記号やその他の記号(シャクル)が書かれることはありますが、基本的には表記せず、文脈で判断されます。
例:كتب
この単語には「k」「t」「b」の文字が含まれていますが、母音は表記されていません。つまり、この単語は「kataba」(彼は書いた)と読むことができますが「kutub」(本の複数形)と読むこともできるということです。
アラビア語の名詞などは複数形が不規則な単語が多いです。
例:كتاب(kitāb)→كتب(kutub) 本
كلب(kalb)→كلاب(kilāb) 犬
他にも動詞活用など難しい要素もありますが、他の言語と比べて簡単な要素もあります。
また、言語の習得難易度には個人差もあるので、「アラビア語は難しい」とは一概には言い切れません
高等学校家庭総合/命の誕生…乳児の成長・発達

精子と卵子が受精して子宮内膜に着床すると、妊娠が始まります。妊娠が分かると、女性ホルモンの働きで生理(月経)も一旦止まります。
卵子の寿命は排卵後10時間以内、精子の寿命は射精後2~3日以内と言われています。この時間を過ぎると、受精しません。受精は、まさに劇的な出会いといえるでしょう。生命の誕生は受精から始まります。
中学校家庭/持続可能な消費生活を目指して

自分や家族の消費行動が社会に与える影響をまとめましょう。
「買い物は投票」とは、商品を購入する時に、毎回頭の中に入れておきたい言葉です。選挙の投票と同じです。私達が商品を購入すると、その商品の生産者や販売者を応援しているとも言えます。私達は、より良い商品を買い、欠陥商品の購入を控えると、その商品が改善され、会社の考え方も変えられるようになります。
2015年9月、国連加盟国193カ国は、「アジェンダ2030」に合意しました。その目的は、今後15年間で深刻な貧困・不平等・不正義を解消させ、より良い地球にするためです。「アジェンダ2030」は「持続可能な開発目標(Sustainable Development Goals)」ともよばれています。持続可能な開発目標には、長く持続出来る社会を作るための17の目標があります。その中の12番目は、人・環境・社会に優しい商品を作り販売する生産者・販売者の責任と購入する消費者の責任です。消費者・生産者・販売者が、自分達の行動が現世代・次世代を問わず、地球環境や消費経済にどのような影響を与えるのかを意識して、責任ある消費行動をすれば、持続可能な社会を作り出せます。
エコロジカル・フットプリントは、地球環境で人間の行動がどのように影響するのかを測る指標です。この指標では、全世界の人の生活を支えるためには地球1.7個分、日本人と同じように生活するためには地球2.9個分が必要となります。
消費行動は様々な影響を受けます。そのため、今後は、自分の幸せだけでなく、他人・社会・環境・地域などを考えた倫理的消費(エシカル消費)が求められています。そして、現在の世代と未来の世代がともに幸せに暮らしていけるような公正で持続可能な社会を築かなければなりません。このため、自由な消費者として行動出来るような社会(消費者市民社会)になるように、実践していきましょう。
★地産地消
★被災地支援商品
★障害者支援に繋がる商品
★オーガニックコットン製品
綿花に適した土地で栽培され、適切な量の農薬と肥料を使って、社会や環境の規則に従って作られた製品です。
★リサイクル、アップサイクルの商品
廃材や使わなくなった物を、素材をそのまま使ったり作り替えたりして、別の新たな価値を持つ物として使います。
★売り上げの一部が寄付になる商品の例
レッドカップキャンペーンのマークが付いた商品を購入すると、売上金額の一部が学校給食支援に役立てられます。
★認証ラベル付きの商品の例
認証ラベル付き商品を購入してもエシカル消費といえます。認証機関は多数あり、様々な商品に付けられています。これらはほんの数例に過ぎません。
(1)国際フェアトレード認証ラベル:この認証ラベルが付いていたら、国際的なフェアトレード基準に従っています。
(2)FSC認証:森林資源を使った商品(紙製品など)に付けられています。
(3)MSC認証:水産物に付けられています。海の自然環境や水産資源を守るために、付けられています。
JavaScript/FinalizationRegistry

JavaScriptのFinalizationRegistryは、オブジェクトのガベージコレクション後に実行されるコールバック関数を設定するための機能を提供するクラスです。この機能を使用することで、メモリリークを回避したり、解放後に後処理を行ったりすることができます。本チュートリアルでは、FinalizationRegistryの基本的な使い方や注意点について学び、実際のプログラムでの活用方法を紹介します。最新版のJavaScript環境を使っていることを前提に、具体的なコード例を交えて解説していきます。
JavaScriptのFinalizationRegistryは、オブジェクトがガベージコレクタ(GC)によって解放された際に、関数を呼び出す機能を提供するクラスです。JavaScriptでは、オブジェクトが不要になった場合、ガベージコレクタによって自動的に解放されます。しかし、この解放タイミングは保証されていません。
FinalizationRegistryは、この解放タイミングをより細かく制御できるようにするために、JavaScriptに導入されました。例えば、オブジェクトが解放されたときにデータベースからそのオブジェクトに関連する情報を削除するような場合に、FinalizationRegistryを使用することができます。
FinalizationRegistryは、オブジェクトのハンドルを保持し、オブジェクトがGCされた際に登録されたコールバック関数を呼び出すことができます。FinalizationRegistryに登録されたオブジェクトは、弱参照として保持されます。つまり、オブジェクトが他の参照を持っていない場合には、GCによって解放されます。
FinalizationRegistryは、JavaScriptのガベージコレクタと密接に関連しています。ガベージコレクタは、参照されていないオブジェクトを解放することでメモリを解放します。
FinalizationRegistryは、オブジェクトがGCされた際にコールバック関数を呼び出すため、オブジェクトの解放タイミングをコントロールすることができます。
FinalizationRegistryは、以下のような状況で役立ちます。
FinalizationRegistryを使用するには、まずFinalizationRegistryコンストラクタを使用して新しいFinalizationRegistryオブジェクトを作成します。次に、オブジェクトを登録するには、FinalizationRegistryのregister()メソッドを使用します。register()メソッドは、登録されたオブジェクトに対するコールバック関数を呼び出すためのハンドラー関数を登録します。そして、オブジェクトが解放されると、登録されたコールバック関数が自動的に呼び出されます。
以下は、FinalizationRegistryの簡単な例です。
この例では、FinalizationRegistryに登録されたコールバック関数が、オブジェクトが解放されたときに自動的に呼び出されています。
FinalizationRegistryを使用することで、JavaScriptアプリケーションのメモリ管理をより正確に制御することができます。しかし、FinalizationRegistryによる管理にはオーバーヘッドが発生するため、適切なタイミングで使用する必要があります。
JavaScriptの弱参照は、オブジェクトへの参照を保持しつつ、そのオブジェクトがGCの対象となった際に、強制的に解放することができる参照のことです。弱参照は、オブジェクトへの参照を保持することによって、オブジェクトがGCの対象にならないようにします。しかし、オブジェクトに他に参照がなくなった場合、弱参照はオブジェクトを自動的に解放することができます。
JavaScriptにおける弱参照は、WeakMap、WeakSet、FinalizationRegistryといった機能で利用されます。これらの機能は、オブジェクトの参照を保持しつつ、オブジェクトがGCされた際に自動的に解放することができます。例えば、WeakMapは、オブジェクトをキーとして保持し、キーに対する値を参照する際にオブジェクトへの弱参照を使用します。同様に、WeakSetは、オブジェクトの集合を保持する際にオブジェクトへの弱参照を使用します。
FinalizationRegistryは、弱参照を使用して、オブジェクトがGCされた際に自動的にコールバック関数を呼び出すことができます。FinalizationRegistryは、オブジェクトのハンドルを保持し、オブジェクトがGCされた際に登録されたコールバック関数を呼び出すことができます。FinalizationRegistryに登録されたオブジェクトは、弱参照として保持されます。つまり、オブジェクトが他の参照を持っていない場合には、GCによって解放されます。
弱参照は、JavaScriptのメモリ管理をより効率的に行うために非常に有用な機能です。例えば、大量のオブジェクトを管理する場合には、弱参照を使用して、オブジェクトを効率的に解放することができます。また、FinalizationRegistryを使用することで、オブジェクトが解放された際に必要な後処理を実行することができます。
これらのプロパティとメソッドを使用して、FinalizationRegistryオブジェクトを使用することができます。

以下はJavaScriptのFinalizationRegistryに関するチートシートです。各プロパティとメソッドについて、簡単な説明と例が含まれています。
注意: FinalizationRegistryはECMAScript 2021で導入されました。現在、すべてのブラウザでサポートされているわけではありません。詳細については、ブラウザのドキュメントを確認してください。
JavaScript/Symbol

Symbolは、ECMAScript 6(ES6)で導入された新しいデータ型であり、プリミティブ型の一種です。 Symbolは、ユニークな識別子を生成するために使用されます。 従来のJavaScriptの文字列や数値とは異なり、Symbolは他のどの値とも異なることが保証されています。 Symbolは、オブジェクトのプロパティ名として使用されることが多く、ES6で導入された新しい機能であるプロキシや反復子などでも使用されています。 このチュートリアルでは、Symbolの基本的な使い方、作成方法、プロパティ、メソッド、および実用的な例について解説します。
Symbolは、プリミティブデータ型の一つであり、一意の識別子を作成するために使用されます。Symbolは、文字列とは異なり、値が一意であるため、異なる場所で同じSymbolを使用することができます。Symbolは、通常オブジェクトのプロパティ名として使用され、他のプロパティ名と混同されることがないようにするために使用されます。
Symbolを作成するには、グローバルなSymbol()関数を呼び出します。引数を渡すことができますが、引数は説明的な目的でのみ使用され、Symbolの一意性には影響を与えません。
Symbolには、次のようなプロパティがあります。
Symbolには、次のようなメソッドがあります。
Symbolは、オブジェクトのプロパティ名として使用されることが多く、以下のような例があります。
また、グローバルシンボルレジストリを使用して、アプリケーション全体で一意のシンボルを共有することができます。例えば、以下のようにして、シンボルを共有することができます。
Well-known symbolsは、JavaScriptにおいて標準的に定義されたシンボルで、特定の動作をするために使用されます。
以下は、Well-known symbolsの一覧表です。
これらのシンボルは、JavaScriptの標準的な動作をカスタマイズしたり、自分で定義したオブジェクトに特定の機能を追加するために使用されます。
以下は、JavaScriptのSymbolに関するチートシートです。
上記のコードでは、以下の内容を含んでいます。
このチートシートは、Symbolの基本的な使い方やプロパティ、メソッド、実用的な例を網羅しています。 これらの情報を参考に、Symbolを使った開発をスムーズに進めていくことができるでしょう。
正則アラビア語/名前を書いてみる

アラビア文字で名前を書いてみましょう。
以下の例外がない場合は五十音表を参考にして書きましょう。(姓←名の順番に書くことが多いです。)
例:
هاجيمي سوزوكي(スズキ ハジメ)
هارونا كوياما(コヤマ ハルナ)
名前・苗字の最初の1文字目がア行の場合は上(آ إي أو إي أو)を使います。
例:
آكيرا أونو(オノ アキラ)
آكي أوتشيدا(ウチダ アキ)
名前・苗字の2文字目以降がア行の場合は下(ا ي و ي و)を使います。
例:
ناوكي آوياما(アオヤマ ナオキ)
شيوري أويماتسو(ウエマツ シオリ)
ンの次にア行が続く場合は消去します。
例:
شينيتشي → شينتشي(シンイチ)
上(جا جي جو جي جو)と下(غا غي غو غي غو)の両方が使えます。
ただし、一つの文章内では表記を統一するようにしましょう。
例:
شينجو أوجاوا(オガワ シンゴ)
ميغومي ناغاي(ナガイ メグミ)
上(صو طو ضو)と下(سو دو تو)の両方が使えます。
ただし、一つの文章内では表記を統一するようにしましょう。
例:
ماكوطو صونودا(ソノダ マコト)
مادوكا سوجيموتو(スギモト マドカ)
片方を消去します。(消去しない場合もあります。)
例:
جوتوو → جوتو(ゴトウ)
شووتا → شوتا(ショウタ)
JavaScript/コードギャラリー

この本には、JavaScriptの基礎的な文法や構文だけでなく、実際のアプリケーションやWebページを作る上で必要な機能やライブラリについても詳しく解説しています。しかし、本書で扱った内容だけでアプリケーションを作ることはできず、実際の開発現場ではより高度な機能が必要になることがあります。
そこで、本書で学んだ基礎的な知識を元に、実際に使える応用例を紹介する「コードギャラリー」を用意しました。このコードギャラリーでは、実際のアプリケーションやWebページで使用されるような機能を実現するためのコードを多数掲載しています。
このコードギャラリーを通じて、JavaScriptの応用的な知識や開発技術を身につけ、より実践的な開発に挑戦していただければ幸いです。
このコードは、エラトステネスの篩を用いて、指定された範囲内の素数を全て出力するJavaScriptの関数です。
関数本体では、まず指定された上限値+1の長さを持つBoolean型の配列sieveを作成し、全ての要素をtrueに初期化しています。その後、最初の2つの要素0と1は素数ではないため、falseに設定しています。
sieve配列の要素を順番に調べていくforループの中では、もしsieve[i]がfalseであれば、その数はすでに素数ではないため、次のループに移ります。そうでなければ、素数であることが確定されるため、その数を出力しています。そして、その素数の倍数であるsieve[j]の要素をfalseに設定していくことで、篩にかけた結果、素数ではない数を除外していきます。
最後に、この関数を実行するためのサンプルとして、eratosthenes(100)を呼び出しています。これにより、1から100までの素数が全て出力されます。
エラトステネスの篩ではありませんが、素朴に素数を求めるアルゴリズムです。
このJavaScriptコードは、2から999までの範囲で素数を見つけ、その結果をprimesという配列に格納し、最終的にコンソールに表示しています。以下にコードの各部分の説明を記載します。
このコードは、エラトステネスの篩などのアルゴリズムを使用せずに、単純に素数を見つける方法の一例です。
このJavaScriptコードは、与えられた整数の最大公約数と最小公倍数を求めるための関数を定義しています。また、それらの関数をテストするためのmain()関数も定義しています。
まず、gcd2()関数は、2つの整数を引数に取り、再帰的に最大公約数を求める関数です。JSDocコメントで、引数mとnが整数であることを指定し、戻り値として整数1と整数2の最大公約数を返すことを明記しています。
次に、gcd()関数は、可変長引数を受け取り、reduce()メソッドを使って複数の整数の最大公約数を求める関数です。JSDocコメントで、可変長引数...intsが最大公約数を求める整数配列であることを指定し、戻り値として与えられた整数配列の最大公約数を返すことを明記しています。
次に、lcm2()関数は、2つの整数を引数に取り、最小公倍数を求める関数です。JSDocコメントで、引数mとnが整数であることを指定し、戻り値として整数1と整数2の最小公倍数を返すことを明記しています。
最後に、lcm()関数は、可変長引数を受け取り、reduce()メソッドを使って複数の整数の最小公倍数を求める関数です。JSDocコメントで、可変長引数...intsが最小公倍数を求める整数配列であることを指定し、戻り値として与えられた整数配列の最小公倍数を返すことを明記しています。
最後に、main()関数は、それぞれの関数を呼び出してテストするためのものです。
二分法
このコードは、2分法によって数値解を求める関数 bisection と、そのテスト用の関数 main からなります。
bisection 関数は、下限値 low_、上限値 high_、数値解を求める対象となる関数 f を引数に取り、方程式の数値解を求める関数です。JSDocコメントにより、引数と戻り値の型、及び関数の説明が記述されています。関数内部では、2分法により数値解を求めます。まず、下限値と上限値の平均値を x とします。x を引数として関数 f を呼び出し、その戻り値を fx とします。fx が指定した精度 +1.0e-10 以下になった場合、x を数値解として返します。そうでない場合、fx が 0 より小さければ x を下限値とし、そうでなければ x を上限値とします。そして、再帰的に bisection 関数を呼び出します。
main 関数は、 bisection 関数をテストするための関数で、2つの方程式を引数に bisection 関数を呼び出し、結果をコンソールに出力します。
このコードでは、ES6 の let、テンプレートリテラル、アロー関数が使われています。また、JSDocコメントにより、関数の説明が明示的になっています。
このコードは、JavaScriptで Hello クラスを定義し、そのクラスを使ってテストを行うためのコードです。Hello クラスは、挨拶文を扱うクラスであり、挨拶文に含める文字列を引数として受け取ります。引数が省略された場合、デフォルトで "world" という文字列を含めます。
Hello クラスには、toString() メソッドと print() メソッドがあります。toString() メソッドは、"Hello [挨拶文に含める文字列]!" という文字列を返し、print() メソッドは、挨拶文に含める文字列をコンソールに出力します。
また、main() 関数を定義し、この関数を呼び出すことで、Hello クラスを使って挨拶文を作成してコンソールに出力するテストを行うことができます。main() 関数の中では、Hello クラスのインスタンスを2つ作成し、それぞれの toString() メソッドと print() メソッドを呼び出しています。また、Hello クラスの constructor.name プロパティをコンソールに出力して、クラス名が取得できることを確認しています。
Visual Basic .NET

このチュートリアルは、Visual Basic .NETの基礎を学ぶためのものです。 Visual Basic .NETは、Microsoftが提供するオブジェクト指向プログラミング言語であり、 Windowsアプリケーションの開発に広く使用されています。 このチュートリアルでは、初心者向けに、基本的な概念、文法、およびプログラミング技術を学ぶことができます。 また、実際のプログラミングの問題に取り組むことで、実践的なスキルを身につけることもできます。 このチュートリアルを終えると、Visual Basic .NETで簡単なアプリケーションを構築することができるようになります。
Visual Basic .NETとは、Microsoftによって開発されたプログラミング言語であり、Visual Studioという統合開発環境で使用されます。 Visual Basic .NETは、GUIアプリケーションやWebアプリケーション、ゲーム開発など、様々な用途に使用されます。 Visual Basic .NETは.NET Frameworkの一部であり、開発者が.NETを基盤としたアプリケーションを開発することができます。 .NET Framework の後継の .Net Core でも .NET Core 2.0 以降でVisual Basic .NETのサポートが追加されました。
Visual Basic .NETには、数値、文字列、真偽値、日付時刻などのデータ型があります。以下によく使われるデータ型を示します。
変数は、データを格納する入れ物です。変数を宣言するには、データ型と変数名を指定します。例えば、以下のように変数を宣言します。
変数を宣言すると同時に、初期化することもできます。
定数は、変数と同様にデータを格納するものですが、その値は変更できません。以下のように定数を宣言します。
Visual Basic .NETには、四則演算や比較演算、論理演算などの演算子があります。以下に演算子の例を示します。
制御構文は、条件分岐や繰り返し処理を行うためのものです。以下に制御構文の例を示します。
配列は、複数の値をまとめて扱うためのものです。以下のように配列を宣言します。
配列の要素にアクセスするには、インデックスを指定します。
' から行末までがコメントです。
Python/演算子オーバーロード

Pythonには、クラスに対して演算子をカスタマイズするための特別なメソッドを提供する「演算子オーバーロード」と呼ばれる機能があります。
クラスにメソッドを定義することで、Pythonの演算子をオーバーロードすることができます。例えば、__add__メソッドを定義することで、オブジェクトを加算できるようにすることができます。
以下は、__add__メソッドを使って、2つのベクトルを加算する例です。
この例では、Vectorクラスに__add__メソッドを定義し、2つのベクトルを加算する処理を行っています。v1 + v2のように演算子を使うことで、__add__メソッドが呼び出され、2つのベクトルが加算されたVectorオブジェクトが返されます。
Python/TensorFlow

TensorFlowは、Googleが開発したオープンソースの数値計算ライブラリであり、ニューラルネットワークなどの機械学習アプリケーションの実装に使用されます。TensorFlowには、グラフによる計算の最適化、自動微分機能、分散処理などの高度な機能が含まれており、複雑な機械学習モデルの実装に非常に便利です。また、Python、C++、Java、Goなどの言語をサポートしており、開発者が使いやすいように設計されています。
TensorFlowをインストールする必要があります。ターミナルで以下のコマンドを実行してください。
TensorFlowはそのサイトにチュートリアルを用意しており、TensorFlowを学ぶ上で役立つでしょう。ただし、翻訳が不正確なページが多いため、可能な限り英語版を読むことをおすすめします。
次に、TensorFlowを使って線形回帰を行う例を見ていきましょう。
このコードでは、TensorFlowを使って線形回帰モデルを定義し、トレーニングデータを使って最適化します。最適化には勾配降下法が使われます。また、モデルパラメータにはTensorFlowの変数を使います。
最後に、結果をプロットしています。トレーニングデータにおおよそ合致する線形モデルが得られるはずです。
TensorFlowには多くの機能があり、深層学習のフレームワークとして広く使われています。この簡単な例でしたが、本格的に深層学習を行うにあたっての基礎的な知識を得ることができました。
中学校家庭/バランス良く計画的な金銭の管理

本節は、金銭管理をしなければならない理由と金銭管理をどうやって行うのかについて詳しく見ていきましょう。
普通、生きていくためには、収入(所得)を作らなければなりません。なぜなら、もし、お金がない場合、物々交換以外成り立たないからです。そして、その収入を様々な目的にお金を支払います。これを支出と言い、支出の中でも特に生活に必要な商品やサービスのために使うお金を消費支出といいます。
私達はまだ中学生なので、お金を稼ぐ目的で、会社(アルバイト・パート・就職)に入れてもらません。お金を稼ぐには、相当の努力が必要なので、普通の中学生に出来ません。このため、家族が稼いだお金だけで私達の生活も成り立っています。家族の中で、計画的な金銭管理を行い、収入と支出のバランスがとれた消費生活を送れるように心掛けましょう。あまりお金を持っておらず、お金を使いすぎそうな場合は、本当に必要かどうかを考え、必要な品物に優先順位をつけて、購入するようにしましよう。
レシートには、店名や会社名・日付・商品やサービスの情報・金額の4項目が印字されています。領収書とレシートに形式上の違いはありません。そのため、小売店で買っても飲食店で食事をしてもレシートか領収書のどちらかしか印字されません。
2022年4月から成年年齢が18歳に引き下げられました。これにより、18歳から保護者の同意なしでクレジットカードを利用できるようになりました。クレジットカードを使えば、銀行の取引残高が無くても買い物ができるようになります。また、支払いが簡略化されるのも便利です。しかし、取引時期と商品購入時期が違うので、金銭の流れが消費者の目に見えづらくなります。特にクレジットカードの支払いは、消費者・販売者・クレジットカード発行会社の三者間契約となるので、注意してください。収支のバランスをとるため、自分は何を購入したのか、購入代金の支払い時期を確かめなければなりません。
(※ 範囲外:おまけ) 高校3年生でも18歳になれば、法的には未成年としての保護の対象では、なくなります。
レシートなど明細を整理して保存したり、記録を残したりするなど、様々な方法で支出を確かめられます。近年では、金銭管理の方法を身につける必要性も高まっています。その理由は、クレジットカードやプリペイド型電子マネーでの購入など、隠れたお金の動きを確かめるためです。自分に合った金銭管理の方法を考えて、それについていけるようにしましょう。
※上の統計については、総務省統計局「2019年全国家計構造調査 家計収支に関する結果」から抜粋しています。
アイヌ語

メインページ > 語学 > アイヌ語
アイヌ語は、北海道を中心に樺太、千島列島、東北地方北部などで話されてきた言語です。日本語と同じく、他の言語との系統関係の分かっていない「孤立した言語」に分類されます。日本語にとっては唯一の陸続きの言語で、古くから互いに言葉を借用し合うなどの大きな関わりがありました。日常の語彙、特に儀礼用語には、日本語とアイヌ語とで共通するものや似ているものが数多くあります。語法の面でも、「〜をやってみる」などの表現は日本語と全く同じような言い方で、隣り合って話されてきた近さを感じます。
アイヌ語の基本的な語順は日本語と同じ主語-目的語-述語です。母音は五種類で、子音も日本語と同じものが多く、上述のように同じ発想の表現もあるため、日本語話者にとっては比較的習得しやすい言語といえます。
その一方、非常に強力な造語力を持ち、多くの要素を繋げて一つの長い単語で文のような役割を表すことができます。
酒税法第2条

(酒類の定義及び種類)
(酒類の定義及び種類)
本条は、酒類の定義について規定している。
「酒類」とは、アルコール分1度(アルコール度数1%)以上の飲料をいう。「アルコール分1度以上の飲料」には、薄めてアルコール分1度以上の飲料とすることができるもの、溶解してアルコール分1度異常の飲料とすることができる粉末状のものを含む。
「飲料」に該当するかどうかの判断基準として、下記のような裁判例がある。
アイヌ語 暦

アイヌ語 > テーマ別重要語彙 > 暦

アイヌ語で、季節、時間などをどう表すかを簡単にまとめたものです。地域によって言い方が違うことは多々あります。
昔...テエタ
今...タネ
一昨日...ホㇱキヌマン、 ホㇱカヌマン
昨日...ヌマン
今日...タント
明日...ニサッタ
明後日...オヤシㇺ
先月...ホㇱキス゚ㇷ゚
今月...タンス゚ㇷ゚
来月...オヤス゚ㇷ゚?

去年...ホㇱキパ、 ホㇱキ アン パ
今年...タンパ?
来年...オヤパ
朝...クネィワ、 クンネィワ
昼...トカㇷ゚
夕方...オヌマン
夜...クンネ、 アンノㇱキ
午前...トカピテ エトㇰ タ
正午...ト⃣⃣ノㇱキ
午後...トカピテ オカ タ
日...ト
一昨日...ホㇱキヌマン、 ホㇱカヌマン
昨日...ヌマン
今日...タント
明日...ニサッタ
明後日...オヤシㇺ

日は数字に「ト/то/to」を付けて表すが、2日と3日は異なる形が使われる。
1日...シネト
2日...ツ゚ッコ
3日...レㇾコ
4日...イネト
5日...アシㇰネト
6日...イワント
7日...アㇻワント
8日...ツぺサント
9日...シネぺサント
10日...ワント
11日...シネト イカㇱマ ワント
12日...ツ゚ッコ イカㇱマ ワント
...
20日...ホッネト
21日...シネト イカㇱマ ホッネト
22日...ツ゚ッコ イカㇱマ ホッネト
...
30日...ワン・エツ゚ホッネト
31日...シネト イカㇱマ ワン・エツ゚ホッネト
月...ス゚ㇷ゚(チュㇷ゚)
先月...ホㇱキス゚ㇷ゚
今月...タンス゚ㇷ゚
来月...オヤス゚ㇷ゚?
「リンク」に示したサイトを参照した。
沙流地方は太陰暦。十勝は古い方式のカナ表記。
年...パ
新年...アシㇼパ
春...パィカㇻ
夏...サㇰ
秋...ス゚ㇰ
冬...マタ
去年...ホㇱキパ、 ホㇱキ アン パ
今年...タンパ?
来年...オヤパ
日食...ス゚ㇷ゚ アン コィキ
月の呼び方(地域ごと)説明 / カレンダーデータ ダウンロード
アイヌ語会話集
こよみの学校
中学校家庭/どうして衣服を着るのだろう

服装を選ぶ時、より社会的常識が優先される場合を挙げましょう。
小学校では、健康的で清潔な生活を送るために衣服の着方を学びました。衣服は季節や行動に合わせて体温を調節したり、汚れや怪我から体を守ったり、汗を吸収したりして体を健康で清潔に保ちます。また、作業や運動をしやすくなり、危険から体を守ります。
ほかにも、その人がどんな仕事をしているのか、どの集団に入っているのか、喜び・悲しみ・敬意・お祝いなどの気持ちを表すために着る伝統的な衣服もあります。また、自分の個性を見せるためにおしゃれをしたり、自分を良く見せるために衣服を着たりします。
このように、衣服は充実した社会生活を送る上で重要な社会生活上の働きを果たしています。衣服を着ると、体の安全や健康を守ったり、生活活動がしやすくなったりします。
服を着ていれば、健康で安心して安全に過ごせます。
場所・時間・場面(TPO)に応じて、相応しい着方が考えられます。特に形式的な場所では、社会的な決まりや慣習が優先されます。衣服の様々な働きやTPOを考えながら、服の着方を考えましょう。
中学校保健体育/運動やスポーツの多様な楽しみ方

どのような楽しみ方が運動やスポーツにありますか?
自分に合った運動・多様な楽しみ方・ライフステージ・豊かなスポーツライフ
※どんな行い方や楽しみ方があるでしょうか?
自分に合った運動や多様な楽しみ方を、世代や機会に応じて、自分の年齢・体力・興味・関心・生活の仕方・活動の場などから見つけて工夫しましょう。そうすれば、運動やスポーツを一生楽しめるようになります。
健康を維持するために私達は運動しなければなりません。この時、体を動かす快適さを楽しんだり、体の動きを高めるために体つくり運動の学習が活かせます。
また、ルールやマナーを守って正しく戦い、年齢や場に合わせてルールを工夫して、上手くいったら相手や仲間を褒めるなど、相手と勝負する楽しみ方もあります。
自然と親しんだり、仲間と交流したり、感情を表現したりする時、お互いの個性や長所を認め、自分の力や集団の力を高めて仲間と楽しむ方法があります。
人口の減少から、1つの学校で複数種目の運動部活動を続けるのは難しくなっています。そのため、周辺学校との協力も進められています。また、中学生の様々な要求に対応するため、地域と運動部活動が一緒になる場合も増えています。
★多様な楽しみ方
※社会人になってもスポーツや運動を楽しむために、どのような工夫が必要ですか?
同じ人でも、ライフステージ(幼児期・児童期・青年期・成人期・老年期など)に応じて、様々な工夫でスポーツを楽しめます。目的・年齢・性別などに関係なく、スポーツの楽しみ方を選んだり、見つけたり、工夫したり出来るようにしましょう。そうしたら、生涯にわたって豊かなスポーツライフを実現出来ます。
毎日のようにスポーツを楽しむには、スポーツをしなければならないという気持ちとやる気が必要です。中学生の私達は、同年代の仲間や学校の施設、部活動の時間などに恵まれています。このように、活動仲間、活動場所(空間)や活動時間があると、スポーツを続けやすくなります。いつでも、どこでも、誰とでもスポーツを楽しめるように、スポーツをする人に合わせてスポーツを変えたり、作ったりする必要があります。なお、アダプテッド・スポーツでは、誰でも自分の目的に合わせて変更出来ます。
もっと楽しめるように、別の視点からスポーツを作る試みが広がっています。スポーツがどのように作られているのかを調べ、新しいスポーツについて考えてみましょう。
中学校家庭/日本の食文化と和食の調理

日本は、昔から地元の食材を使って、地域の気候や風土に合うように調理や加工をするような、食生活を送っていました。現在、輸送方法や保管方法が良くなり、世界中から食料を手に入れられるようになりました。しかし、そこに辿り着くまで、飛行機か船で運ばなければなりません。このような理由から、どうしてもエネルギー消費量が大きくなり、環境に悪影響を及ぼします。
中学校保健体育/心の発達

心はどのような働きをしていますか。体と同じように、心も発達していくでしょうか?
本節も重要な内容となります。
知的機能・情意機能・感情・意思・社会性・自立・友達との付き合い
※思春期は心の発達のどんな時期になるでしょうか。
思春期を迎えると、大脳は急速に発達します。特に前頭前葉はかなり発達します。前頭前野は思考・感情・意思・積極性・創造性など、よりよい人生を送るために大切な部分を秘めています。
大脳は様々な刺激を受けて発達します。多くの人との関わり・読書・スポーツ・自然体験など、様々な経験や学習を重ねると、脳の神経細胞同士の結びつきはより複雑になり、情報を素早く送るようになります。その結果、心のいろいろな働きを同時に実行したり、複雑な内容を考えたりできるようになります。
大脳の前頭葉は大きくなるまでに非常に長い時間がかかります。また、10代になっても発達すると考えられています。前頭極は、前頭葉の中で一番前方にあり、学習を続けられる人で発達します。
一般男性の脳の重さは約1400g、有名な科学者のアルベルト・アインシュタインは約1200g、チンパンジーは約400g、象は約5000gです。脳の大きさではなく、神経細胞の回路の豊かさが頭の良し悪しを物語っています。
※知的機能はどのような状況で発達しますか。
心の働きの中でも、理解したり、記憶したり、言葉を使ったり、判断したり、推理したり出来る知的機能が見られます。例えば、言葉の発達は新しい単語を覚えるだけではありません。言葉を使って考えたり、説明したり、気持ちを伝えたり、まとめたりする力も含まれています。幼い頃は、自分で選んだり、大人(家族や周囲の状況など)から言われた内容に合わせて決めたりします。しかし、年齢を重ねると、自分の頭の中で考えたり、自分で判断したり出来るようになります。知的機能の発達は、様々な生活経験や知識を増やさなくてはなりません。
青年期を過ぎると、新しい内容に対応出来る力は少しずつ失われていきます。一方で、高齢になっても昔の知識や経験を使って対応出来る力は中々失いません。
※情意機能はどのような状況で発達しますか。
喜び・悩み・悲しみ・怒りなどの感情も心の働きに関係しています。様々な経験を重ねていくと、脳の機能も発達して、感情は複雑で豊かになります。また、人間関係が深まると、相手の気持ちを知り、思いやりも持てるようになります。また、その場面に応じて感情の表し方も変わります。
意思とは、目的を果たすために行動しようとする気持ちを表しています。言い換えると、人間は怒りや不安のような悪い感情を避け、喜びのような良い感情を感じたいから行動します。意思は、様々な内容に進んで取り組み、達成感や充実感、感動体験などを積み重ねると発達します。感情と意思を合わせて、情意機能といいます。情意機能も、様々な生活経験や学習の中で発達します。
※社会性はどのような状況で発達しますか。
社会生活を送る場合、親から独り立ちをしたり、仲間と一緒に行動したり、自分で責任を持って行動をするなどが求められます(社会性)。幼い頃の自分は、よく知っている家族に甘えながら生活します。しかし、年齢を重ねると、生活の場が広がり、行動の範囲や人間関係も広がります。その中で、様々な考え方や習慣を学ぶと社会性が高まります。人間は周りの人と仲良くなると、ますます一人になりたがります。
★社会性の例
※思春期を迎えると、親や周囲の大人の関係はどのように変わりますか。
私達は、これまで親から守られて甘えられていました。しかし、思春期を迎えると親や周囲の大人に対して「子供のように見ないでほしい」「一人の人間として見て欲しい」のような気持ちが強くなります。このように、私達は、親に甘えなくなり、自立した大人になろうとします。
しかし、簡単に自立は出来ません。甘えたかったり、自立したかったり、親や他の大人と喧嘩したくなったり、無視したくなったり、自分の気持ちを上手く表せなかったりします。このような気持ちの浮き沈みは自立しようとする心も育ってきている表れでもあります。自立しようとすると、親や他の人と喧嘩しやすくなります(反抗期)。第一反抗期は幼児期に起こり、第二反抗期は思春期に起こります。
一方で、思春期を迎えても反抗しない人もいます。
※思春期を迎えると、友達との関係はどのように変わりますか。
思春期を迎えると、悩み・不安・希望などを何でも話せるような親友が欲しくなります。自分と同じように感じ、考えている親友がいると、気分も良くなります。また、自分だけが恐怖や不安を感じているわけではないと気づきやすくなり、安心します。さらに、相手の考え方や価値観を知ると、自分を見つめ直すのに役立つかもしれません。
友達との付き合いは、楽しい経験もありますが、傷つけたり、傷つけられたりなど、苦しい経験もあるかもしれません。しかし、このような苦しい経験を積み重ね、乗り越えていくと、人間関係を築けるようになります。