hpprc/jawiki-books huggingface dataset:
教育基本法第13条

(学校、家庭及び地域住民等の相互の連携協力)
本条は、子供の教育・発達を総合的に保障するため、学校・家庭・地域社会が相互に密接な連携・協力関係を持ち、子供の教育に当たるべきという自覚を促すことを目的とした規定である。
教育基本法第16条

(教育行政)
本条は、教育行政の在り方に関し、教育は不当な支配に服してはならないことなどを規定している。「不当な支配」とは、政党や財界などの国民全体とはならない一部の勢力のことを指し、理論的には国・地方公共団体のような行政機関も不当な支配になりうるとされる。
高等学校物理基礎/波動

波動は物体の運動の基本的な形態の一つで、行っては帰る行っては帰るの繰り返しは、様々なインスピレーションを与える。波動は最先端の物理学に密接にかかわる分野の一つである。波力発電は、今後もっとも重要な発電方法の、一つとなるだろう。
静かな水面にゆっくりと石を投げると, 石の落ちたところを中心として同心円状の波紋が広がる。このように, ある点で生じた振動が周囲に伝わっていく現象を波, または波動という。
波には振動を伝える物質が必要である。振動を伝える物質のことを媒質という。そして、石が落ちたところのように振動が始まった点を波源という。
次に静かな水面に紙を浮かべ, そこに波を送ってみよう。すると, 紙は波の進む方向には進まずに上下するだけである。このことから, 波は媒質が移動するのではなく波源からの振動が伝わっていく現象であることが分かる。
法の適用に関する通則法第1条

(趣旨)
(Purpose)
本条は、本法が「法の適用に関する通則」について定めるものであることを規定している。本法の前身にあたる「法例(明治31年6月21日法律第10号)」では趣旨規定は設けられていなかったが、本法への全文改正に際して新たに設けられた。
「法の適用に関する通則」とは、法律に関する通則(第2章)および準拠法に関する通則(第3章)を意味する。
本法は、法律および準拠法に関する通則を定めるものであり、他の法令により特則が定められている場合には、その特則が優先して適用されることとなる。
法の適用に関する通則法第2条

(法律の施行期日)
(Effective Date of Law)
本条は、法律の施行期日を定める規定である。現代語に改められているが、実質的な内容としては、「法例(明治31年6月21日法律第10号)」と変わらない。
「公布の日から起算して20日を経過した日」とは、公布の日を含めて公布の日から20日を経過した日であり、例えば1月1日に公布した場合には、1月21日に施行されることとなる。
ただし、本法以外の法律で施行期日を定めた場合にはその施行期日が優先される。例えば、本法は附則第1条で「この法律は、公布の日から起算して1年を超えない範囲内において政令で定める日から施行する。」と定めており、「法の適用に関する通則法の施行期日を定める政令(平成18年9月8日政令第289号)」において、「法の適用に関する通則法の施行期日は、平成19年1月1日とする。」とされた。
法の適用に関する通則法第3条

(法律と同一の効力を有する慣習)
(Customs Having the Same Effect as Laws)
本条は、公序良に反しない慣習について、法令の規定によって認められたもの、または法令の規定にないものに限って、法律と同一の効力を有すると規定している。現代語に改められているが、実質的な内容としては、「法例(明治31年6月21日法律第10号)」と変わらない。
高等学校 物理基礎/物理のための数学

ここでは「物理基礎」や「物理」を理解するために必要な算数・数学の知識をまとめています。特に、割合・比、関数、図形、三角比は「物理基礎」「物理」の学習者は必ず全員マスターしてください。それ以外の項目に関しては問題集などで、実際に問題演習しながら覚えていくといいでしょう。
物理では、小学校で習得した割合や比から避けて通れません。教科書を見たら、結構な確率で使用されているのが分かります。割合や比を知らずに物理基礎や物理を習得するのは出来ません。
例えば、●●度とかは割合、●●量とかは比だと思っておきましょう。
物理の世界では大変に大きな数、 逆に非常に小さな数も扱います。例えば、 光の速さは約300000000m/s(秒速3億m。キロメートルとすれば秒速30万km)、 電子の質量は約0.00000000000000000000000000000091kgです。こうした数をそのまま扱うと書くだけでも手間がかかるうえに間違るでしょう。まして、 これを使って計算する気にはなれません。
そこで、 位取りの0を 10 n {\displaystyle 10^{n}} で表して簡単な形に書き換える方法を利用していきます。
a を b回 掛けた積を a b {\displaystyle a^{b}} と表し「aのb乗」と読む。なお、このときのbにあたる数を 指数 という。そして、 2乗を 平方、 3乗を 立方ともいいます。
特に a m ÷ a n = a m − n {\displaystyle a^{m}\div a^{n}=a^{m-n}} を利用すると次のように考えれます。
a m ÷ a m = a m − m = a 0 {\displaystyle a^{m}\div a^{m}=a^{m-m}=a^{0}}
もちろん同じ数同士の商は1なので
となる。
さらに a m ÷ a n = a m − n {\displaystyle a^{m}\div a^{n}=a^{m-n}} を使ってマイナス乗を考えてみましょう。
例えばm=1、 n=3を代入すると a 1 ÷ a 3 = a 1 − 3 = 1 a 2 {\displaystyle a^{1}\div a^{3}=a^{1-3}={\frac {1}{a^{2}}}} となりますが、 先ほどの公式からは a 1 ÷ a 3 = a 1 − 3 = a − 2 {\displaystyle a^{1}\div a^{3}=a^{1-3}=a^{-2}} ともいえる。
ここから
(詳細な説明は高等学校数学II/いろいろな関数#指数関数と対数関数にあるので、 出来ればそちらも読んで下さい。)
上記を利用して大きな数を表現してみましょう。例えば、 10000は 10 × 10 × 10 × 10 = 10 4 {\displaystyle 10\times 10\times 10\times 10=10^{4}} と書けます。先ほどの光の速さも同様に表現すれば、 3.00 × 10 8 {\displaystyle 3.00\times 10^{8}} m/sとなり、そのまま書くよりも簡単に表現出来ます。
次に、 小さな数を表現してみよう。 1 ÷ 10 = 10 0 ÷ 10 = a 0 − 1 = a − 1 = 1 10 = 0.1 {\displaystyle 1\div 10=10^{0}\div 10=a^{0-1}=a^{-1}={\frac {1}{10}}=0.1} であるから、 例えば 0.001 = 10 − 3 = 1 10 3 {\displaystyle 0.001=10^{-3}={\frac {1}{10^{3}}}} となります。こうすれば、 先ほどの電子の質量は 9.1 × 10 − 31 {\displaystyle 9.1\times 10^{-31}} kgと表現出来ます。
まとめると、 自然科学の世界では非常に大きな数や小さな数は A × 10 n {\displaystyle A\times 10^{n}} で表現します。
なお、 1 ≦ A < 10 {\displaystyle 1\leqq A<10} とするのが普通です。例えばアボガドロ定数 6.02 × 10 23 {\displaystyle 6.02\times 10^{23}} (/mol)は 60.2 × 10 22 {\displaystyle 60.2\times 10^{22}} (/mol)と書いても同じ値です。しかし「 1 ≦ A < 10 {\displaystyle 1\leqq A<10} とするのが普通」ですから 6.02 × 10 23 {\displaystyle 6.02\times 10^{23}} の書き方を採用します。
長さや距離をはかる時にはものさしや目盛り付き定規を使い、 温度をはかる時には温度計を使い、 力の大きさをはかるときにばねばかりを使います。これらはすべて目盛りを読むが、 このときの値が測定値である。測定値は正しい値に近いが、完全に正しい値というわけではありません。例えば私たちの使うものさしも微妙な歪みがあり、 かつ1ミリメートルまでしか計れないためそれより小さな値をはかれません。そのため厳密に言えば「正しい数値に近い数値」となります。こうした数値のことを近似値という。測定値は近似値です。また、 計算で得られた正しい値に近い値も近似値です。例えば、 3.14は l 2 r = π {\displaystyle {\frac {l}{2r}}=\pi } (lは円周、 rは半径)の近似値です。
測定値の数値の最後の桁の数字は目分量で読むのが普通です。例えば、 12.3mmという値は12.25mm以上12.35mm未満の値とみなされます。この時の有効数字は3桁です。「有効数字n桁」と言われたら、 上からn+1桁の値まで計算してからその数を四捨五入します。例えば4.56789を有効数字3桁で表せという場合には、最初の4、 5、 6の3桁を正しい値とみなし、上から4桁目の7は四捨五入します。したがって、 4.57と表します。有効数字2桁なら4、 5のみを正しい値とみなして6は四捨五入して4.6と表します。
物理基礎や物理では公式の証明に中学校数学で学んだ相似を使う場合があります。典型例が物理の円運動とかです。
中学校数学で学びましたが、非常に大切です。加速度のベースの考え方となります。いわゆる傾きで、縦の変化÷横の変化で変化の割合が分かります。
詳しい説明は高等学校数学C/ベクトルを読んでください。ここでは、必要最小限の説明に止めます。
速度や力は大きさだけでなく、方向・向きも持つ。また、平行四辺形の法則によって分解・合成できる。こうした量のことをベクトルという。なお、速さや質量や時間などは大きさしか持たない量であり、これはスカラーという。
ベクトルは u → {\displaystyle {\vec {u}}} のように、ベクトルを表すアルファベットの上に矢印を書く。ベクトル u → {\displaystyle {\vec {u}}} の大きさは | u → | {\displaystyle |{\vec {u}}|} で表すが、単に u {\displaystyle u} とだけ書くこともある。
Java/ジェネリクス

Javaにおけるジェネリクスは、Java 1.5から追加された。C++のテンプレートに「似た」概念で、ジェネリックプログラミングをサポートする。
例えば、以下のクラスを考える:
そして以下のコードを考える。
このとき、6行目の呼び出しはunwrapBoxの呼び出し契約に違反している。なおかつ、IntegerはStringと継承関係がないため、無条件にClassCastExceptionという例外が送出される。さらに、boxOfStringとboxOfIntegerが相互代入可能なことで、将来コード量が増えた時―あるいはコピーアンドペーストでコードを書いたときに取り違えるリスクがある。ここで、ジェネリクスを使用してBoxの定義、及びMainのコードを一部修正する:
不等号のペア(< ... >)の中に型が追加された。これを型変数と呼び、Boxについては格納されている要素の型を表す。ジェネリクスを使用して、いくつかの利点を得た:
このように、ジェネリクスは型システムの範囲内にとどまりつつ、ある程度の柔軟さを追加する。ジェネリクスはList、Set、MapなどといったJava Collection Frameworkのメンバーを使用するときにほとんどと言っていいほど現れる。
ジェネリクス版Boxで、Box boxOfString = ...と記述することもできる。これは1.4以前との後方互換性のために用意された機能で、raw型と呼ばれることがある。ジェネリックプログラミングの利点を損なう上、将来バージョンでは禁止になる可能性があるとされているため、新規に書くコードでは使う理由がない。
型変数が追加されると厄介なことになる。例えば:
答えは「どちらも関係性がない」となる。Javaの型システムでは、それぞれ関係性がない別個の型とみなされる。これを非変という。しかし、これだけでは不便である。例えば、java.util.Listを使った以下のメソッドを考える:
これはfromの中身をtoに代入。当然同じ型では動作する。しかし、copyList(dogBox, animalBox)などとすると途端にうまくいかなくなる。これは合理的なので、ぜひとも行いたいところだ。そこで、copyBoxを修正する:
これでうまく行くようになった。? extends Eというのは、戻り値の部分にのみ型変数が出現し、代わりに共変になることを表す。? super Eというのは、引数の部分にのみ型変数が出現し、代わりに反変になることを表す。
つまり、Boxについて言えばこうだ:
In other words, if a parameterized type represents a T producer, use <? extends T>; if it represents a T consumer , use <? super T>
ここで、どのワイルドカード型を使用するかを覚えるためのニーモニックを紹介します。
言換えれば、もしパラメーター化された型 T が、プロデューサーを表すのであれば <? extends T> を使い、T がコンシューマーを表すのであれば <? super T> を使います。
修正後のcopyBoxを見ても反映されていることがわかる。
端的に言えば、実装方針の違いである。C++は、「テンプレートの実体化」と呼ばれるように、テンプレートに与えられた型の組み合わせだけ、(見えない) コードが生成される。他方、Javaのジェネリクスでは「型消去」と呼ばれる方式でコードを一つにまとめている。具体的には、ジェネリクスを含んだメソッドやクラスは、実行時には型変数が全て展開され、シグネチャに型変数を含まない。ただし、classファイルにはメタデータとして型変数の情報が残っている。C#は共通言語基盤にジェネリクスを取り扱う命令が追加され、型消去なしにジェネリクスを実現している。
Javaプログラミング言語における「制約」と呼ばれるいくつかの制限について説明します。
Javaにおいて、型変数はコンパイル時には存在しますが、実行時には消滅してしまいます。そのため、型変数を使用する場合にはいくつかの制限があります。
まず、型変数を new 演算子でインスタンス化することはできません。この場合、コンパイラは自動的に型変数の上限型を選択しようとしますが、上限型が明示的に指定されていない場合はコンパイルエラーが発生します。
次に、型変数を配列の要素型として使用することもできません。これは、実行時に要素の型が必要なためですが、型変数は実行時には存在しないためです。
さらに、型変数を instanceof 演算子の被演算子として使用することはできません。これは、実行時にオブジェクトの型が必要なためで、型変数は実行時には存在しないためです。
また、型変数に対して class リテラルを呼び出すことはできません。これは、class リテラルが実行時にクラスの型を表すため、型変数が実行時には存在しないためです。
最後に、Throwable の派生クラスは型変数を持つことができません。これは、例外が発生した場合にスタックトレースが生成されるため、例外クラスの型が実行時に必要とされるためです。
C++/キャスト

C++ではC言語で見られるキャストに加え、以下キーワードを用いてキャストを行うことができる:
const修飾子およびvolatile修飾子の付与、整数・小数型同士などのキャストに使う。
const修飾子、volatile修飾子を外すために使う。
ダウンキャストするために使う。キャストに失敗した場合はnullptrが返される。
継承関係にない型同士、整数型とポインタ型の相互変換などに使う。
出典:
ただし、これらのキャストはアクセス修飾子を無視するため、出現した場合は設計が間違っているとされる。
Go/ファイル入出力

ファイルの作成・読出し・書込みなどの操作を「ファイル入出力」と言います。 Goのファイル入出力機能は、 "os" パッケージで実装されています。 "os" パッケージで定義された関数 os.Open 関数でファイルをオープンできます。 os.Open 関数を使用する際、この関数は戻り値を2つ返します(多値返却)。 os.Open 関数の第1戻値は正常動作時の戻値(*os.File)、第2戻値はエラー時に nil 以外を返します。
をコールすると
の様に診断メセージを書き出し、exit(1)を呼び出します(呼び出しもとには帰りません。C言語風にいうと _Noreturn 関数修飾子が着いた状態です)。
"os" パッケージで定義された関数 os.Create 関数でファイルを作成できます。 os.Create 関数を使用する際、この関数は戻り値を2つ返します(多値返却)。 os.Create 関数の第1戻値は正常動作時の戻値(*os.File)、第2戻値はエラー時に nil 以外を返します。
司書課程

ここは「司書」「司書補」「国際司書」「司書教諭」を目指す方に向けた文書・資料・教科書が収められる書庫です。収録内容は以下を参照してください。
司書(Wikipedia)を参照。
様々なメディアで司書に関する話題が取り上げられている。日々チェックすることをおすすめしたい。下記はその一例として心にとめてもらいたい。
(*中立的な観点を意識しているが、偏っている場合は修正をしていただけると幸いである。)
司書教諭(Wikipedia)を参照。
高等学校国語総合/漢文/山行

秋の物寂しい山を行く作者が道中で、つい見とれた楓林の美しさを詠んだ詩。

山行 山行
遠上寒山石径斜 遠く寒山に上れば石径斜めなり
白雲生処有人家 白雲生ずる処 人家有り
停車坐愛楓林晩 車を停めて坐ろに愛す楓林の晩(くれ)
霜葉紅於二月花 霜葉は二月の花よりも紅なり
晩唐の詩人、杜牧の七言絶句。
詩の前半では、秋の山の寂しさと特に見るべきものがない単調な風景を描写している。
詩の後半、転句で作者は夕日に映える紅葉した楓の林に気付き車を止め、しばらく眺めている。
結句では深紅に染まる楓の葉は、春に咲く桃の花などよりも美しいと詠じている。
遠景と近景との対比、モノトーンとカラフルさとの対比描写が見事な詩である。
中学校社会 地理/身近な地域の調査 地形図

測量などを基にしてに地形を正確に表した地図を地形図と言います。地形図は国土交通省の中にある国土地理院という機関が発行しています。
地形図について詳しく見てみましょう。まず地形図には縮尺というのが定められています。縮尺とは実際の距離を地図上で縮めた割合のことです。また、地形図上に同じ高さを結んだ線があります。これを等高線(とうこうせん)と言います。
ファイル圧縮

ファイルは容量小さい方が保存に便利です。このページで圧縮の方法について学びましょう。
圧縮によってファイルの大きさを小さくできます。そのファイルを使うときは解凍します。ただし、写真や動画、音声は普通、すでに圧縮しているため、それ以上圧縮する必要はありません。 メールなどで相手にファイルを送るときは礼儀として圧縮を行います。ただし、スマホなどでは大容量のファイルを使う機会は少なく、圧縮解凍ツールは充実していないため、ファイル圧縮をしない場合が多いです。
なおここでzipやrarなど英語が出てきますが、これらは拡張子と言います。拡張子はファイルがどの種類かを識別するためのものです。よく「音楽.mp3」の「.」の後のmp3のように表されています。(拡張子の例:音楽はmp3,aac・写真はjpg,png等)
圧縮したファイルにも拡張子を使います。また、圧縮と言っても様々な種類があり、それに対応した様々な拡張子を使います。
完全にもとに戻すことができます。通常、この種類の圧縮は自分でコンピューターを使って行います。(拡張子の例:zip,rar,7z,png等)
完全にもとに戻すことができませんが、普通圧縮する前のファイルとの違いが分かりません。通常、この種類の圧縮はコンピューターが自動で行っています。例えば、よく使われている音楽ファイルは自動的に圧縮されています。(拡張子の例:mp3,mp4,jpg等)
zip,rar,7zなどの形で圧縮します。zipは有名で、圧縮解凍ツールが充実しています。そのため相手に送るファイルはzipにしましょう。
ファイルを圧縮する機能はデフォルトではない場合も多いです。その場合、アプリをダウンロードしてください。
ファイルを解凍する機能はデフォルトではない場合も多いです。その場合、アプリをダウンロードしてください。
拡張子とは

このページでは拡張子について学びましょう。
ファイルの種類を識別するためのものです。
「写真1.png」「音楽2.mp3」「動画3.mp4」の「.」の後ろのpng,mp3,mp4が拡張子を表しています。
なお、このページで拡張子の読み方が紹介されていますが、それら以外にも様々な読み方がある場合があります。
(読み:テキスト)
最もポピュラーな文章の拡張子です。文字に色をつけるなど装飾ができないためシンプルでファイルサイズが小さいです。
(読み:イーパブ、エパブ)
電子書籍の拡張子です。文字の装飾や写真を埋め込むことができます。
(読み:ピーディーエフ)
印刷用の文書のファイル、本などをコピーしたファイル、などとして使われています。著作権が有効であるにも関わらずコピーされて配布される漫画(海賊版の漫画)はこのファイル形式の場合が多いです。気をつけましょう。
(読み:ピング)
そのままの画質で保存できるため、この拡張子の写真はきれいです。(可逆圧縮であるためです。)その代わりファイルの容量が大きいです。
(読み:ジェィピグ)
そのままの画質で保存できないため、この拡張子の写真はきたないです。(非可逆圧縮であるためです。)その代わりファイルの容量が小さいです。
(読み:ジフ、ギフ)
そのままの画質で保存できないため、この拡張子の写真はきたないです。(非可逆圧縮であるためです。)その代わりファイルの容量が小さいです。
簡単なアニメーションを作ることができます。それらはgifアニメと呼ばれます。
(読み:エムピースリー)
最もポピュラーな音楽の拡張子です。
(読み:エムピーフォー)
最もポピュラーな動画の拡張子です。
(読み:エーピーケー)
Androidのアプリの拡張子です。この拡張子は危険であるため見つけたら消してください。例えば、家をスマホに例えると使われている家具はアプリで、使われていない家具が入ったダンボールはapkファイルです。
(読み:エグゼ)
Windowsのソフトの拡張子です。
zip(読み:ジップ)
rar(読み:ラー)
7z(読み:セブンゼット)
普通、解凍して使います。圧縮されて、容量が小さくなっているファイルにつく拡張子です。
拡張子ハンドブック
ウィキペディア 拡張子
Apkファイル

このページの内容は普通必要でありません。また、Android以外の方は必要ありません。
APKファイルとはAndroidのアプリのファイル形式です。Android Application Packageの略称です。拡張子はapk(読み:エーピーケー)です。
スマホを家に例えると使われている家具がアプリで、使われていない家具の入ったダンボールがapkファイルです。
GooglePlayに公開されていないアプリのことです。apkファイルをダウンロードして、自分でインストールします。ウイルスが含まれている場合や、海賊版の場合があるため、インストールはおすすめしません。
GooglePlayからアプリをダウンロードすることや野良アプリなどのapkファイルを使える状態にすることをいいます。
インストールされたアプリをapkファイルにすることをいいます。
拡張子をapkからzipに変えることで解凍することができます。アプリで使われるプログラム、写真、音声などが入っています。
インターネットを使う

このページではインターネットの使い方を解説します。
ウェブサイトを閲覧するためのアプリ、ソフトをウェブブラウザと言います。有名なものに Google Chrome, Firefox, Safari, Microsoft Edge などがあります。
ウェブブラウザを起動すると検索したい言葉を入力する欄があります。この欄を検索窓または検索欄と言います(モダンウェブブラウザでは、検索欄はアドレス欄と統合されたので、単体の検索欄はありません)。検索したい言葉を入力して、エンターキーや検索ボタンを押すとその語に関連したウェブサイトの一覧が、要約とともに表示されます。検索してくれるシステムを検索エンジンと言います。有名な検索エンジンとして Google, Bing, Yahoo! JAPAN などがあります。
信頼できないウェブサイトからダウンロードされた実行ファイルや、怪しいメールアドレスから送られてきた添付ファイルなどはウイルス感染の危険があるため、実行してはいけません。また、住所、氏名、電話番号、クレジットカード番号やパスワードなどの個人情報を入力する際は必ず、そのウェブサイトが信頼できるものなのか確認してからにしましょう。個人情報を信頼できないウェブサイトに入力してしまうと、クレジットカードの不正利用や、なりすまし、嫌がらせなどの被害に合う可能性があります。
また、公式のログイン画面であると誤認させて、IDとパスワードを抜き取るという事案も発生しています。少しでも怪しいなと思ったら、ログイン画面のURLが公式のものと同一なものであるか確認しましょう。
パスワードは、誕生日や本名、ペットや友達、家族の名前、学校名など、推測しやすいものは使用してはいけません。パスワードは最低でも10文字以上の、大文字小文字、数字、記号をどれも含んだ文字列がいいでしょう。また、サービスごとに違うパスワードを使うようにしましょう。
そして、例え友達や親、学校の先生であっても、絶対にパスワードを教えてはいけません。
まれに、「百万人目にウェブサイトを訪れたためのお祝いがあります」、「クイズに正解したあなたに賞品があります」などと表示されるサイトがありますが、これは、クレジットカード番号やパスワードなどの個人情報を抜き取るための罠であるため、絶対に個人情報を入力してはいけません。
また、ウェブブラウザやオペレーティング・システムは常に最新バージョンのものを使用しましょう。
インターネット上で遊べるゲームがあります。それらはブラウザゲームといいます。
暦、お金、単位、健康について計算してくれるサイトがあります。また、関数電卓もあります。GeoGebraでは、関数のグラフを表示させたり、幾何学図形を作成したりといったことができます。オンライン整数列大辞典は、数列を入力すると規則性を返します。これらは数学の学習に役立つでしょう。
DeepLやGoogle翻訳では、多言語を翻訳することができます。このようなサイトは言語学習に役立ちます。 ただし、機械翻訳は特有の翻訳ミスをします。なので、あなたがで読むことのできない翻訳結果を、そのまま使うと正しく相手に意味が伝わらないことがあります。そこで、逆方向の翻訳で元通りの意味になるか確認しましょう(例:日本語からヒンディー語に変換した文章を、今度はヒンディー語から日本語に変換して意味が壊れていない事を確認する;「親譲りの無鉄砲で小供の時から損ばかりしている」(natsume 1906)⇒「मैं तब से पैसे खो रहा हूं जब मैं अपने माता-पिता की निहत्थे बंदूक के साथ एक छोटा बच्चा था」⇒「私は両親の非武装の銃を持った幼い頃からお金を失っています」...壊れている)。
著作物や発明などの知的創作物について、知的財産権が発生していない状態または消滅した状態のことを、パブリックドメインといいます。 パブリックドメインとなった知的創作物を無料で公開、配布しているウェブサイトがあります。青空文庫、国立国会図書館デジタルコレクション、ウィキソースやProject Gutenbergなどが有名です。
e-gov法令検索では、憲法や法律などの法令を閲覧できます。裁判所のサイトでは、判例が閲覧可能です。また、衆議院インターネット審議中継や参議院インターネット審議中継では本会議や委員会の中継や過去のアーカイブが閲覧可能です。他にも、国会会議録検索システムや帝国議会会議録検索システムでは議事録が公開されています。また、(独法)国立印刷局では官報情報をインターネット配信しています。
e-Statでは日本の各種統計が公開されています。
子育てガイド

子育てにおいて「〇〇すべき」「絶対に〇〇してはいけない」などということはありえません。家族や知人、友人そして書籍からのアドバイスをすべて鵜吞みにする必要はないのです。不安はあるかとは思いますが、あなたにしかできない子育てを実践していきましょう。本書ではそのお手伝いをします。一つの指針となれば幸いです。(執筆一同)
JavaScript/長整数

長整数(長整数、Big integer)は多倍長整数です。 長整数は数型の範囲を超える整数を精度を失うことなく扱う事ができます。 BigIntがプリミティブ長整数に対応するラッパーオブジェクトオブジェクトです。
JavaScriptでは従来から数値を扱うオブジェクト Number がサポートされています。 Numberは IEEE754の倍精度64ビット浮動小数点数です。 このため整数は倍精度64ビット浮動小数点数の仮数部の精度しかなく、さらにビット操作はそのうち32bitだけが使われます。
この様な事情から、任意長演算による整数の実装のニーズが有りました。
長整数リテラルは整数リテラルの末尾に 'n' 1文字を伴った書式をしています。
単項+はNumberへの暗黙の型変換を引き起こすため
TypeError: Cannot convert a BigInt value to a number となります
長整数に typeof 演算子を適用すると "bigint" を返します。
BigInt()はコンストラクタではないので new BigInt() は TypeError になります。 BigInt("123") の様に new を付けずに呼び出します。
この節は書きかけです。この節を編集してくれる方を心からお待ちしています。
長整数では数値と同じく +, *, -, **と% の算術演算子が使えます。
長整数と数値が混在する算術演算は TypeError となります。
長整数の算術演算ではゼロ除算は RangeError となります。
try / catch で捕捉しない限りプログラムはゼロ除算が出た時点で止まります。
長整数では数値と同じくビット操作演算子が使えます。 長整数と数値が混在するビット操作演算は TypeError となります。 >>> (論理的右シフト) は長整数にはありません。BigInts have no unsigned right shift, use >> instead
算術演算子やビット操作演算子と異なり、長整数と数値の間の比較演算子は型が違っても行えます。
厳密比較演算子は両辺の型が一致しない場合は不一致となります。
多倍長整数演算の特徴を生かした短いプログラムを紹介します。
円周率を77桁求める
徒に行数が長くなるので、分割代入を使って行数を短縮しました。 整数リテラルはループカウンタ以外は全て 12n の様な BigIntリテラルにしなければいけませんが、忘れると TypeError になるのでバグ化は意外としにくいです。 Math.PIと一致していませんが、BigIntで求めた値が正確です。
初等数学公式集/初等幾何

(参考) 三平方の定理
△ A B C {\displaystyle \bigtriangleup {ABC}} において、 B C = a , C A = b , A B = c {\displaystyle BC=a,CA=b,AB=c} , 外接円の半径を R {\displaystyle R} とすると、
(参考)正弦定理
一辺とその両端の角の大きさがわかっている時の、他の辺及び当該三角形の既知の辺に対する高さ(三角測量の原理)。
△ A B C {\displaystyle \bigtriangleup {ABC}} において、 B C = a , C A = b , A B = c , α = ∠ C A B , β = ∠ A B C , γ = ∠ B C A {\displaystyle BC=a,CA=b,AB=c,\alpha =\angle {CAB},\beta =\angle {ABC},\gamma =\angle {BCA}} とすると
(参考)余弦定理


△ A B C {\displaystyle \bigtriangleup {ABC}} において、 α = ∠ C A B , β = ∠ A B C , γ = ∠ B C A {\displaystyle \alpha =\angle {CAB},\beta =\angle {ABC},\gamma =\angle {BCA}} とすると




(参考) 方べきの定理
解説はこちらのページをご覧ください
解説はこちらのページをご覧ください



解説はこちらのページをご覧ください





以下に挙げる公式で平面ベクトルで成り立つものは、三次元空間ベクトルでも成り立つ(平面ベクトルは、三次元空間ベクトルの z {\displaystyle z} 成分を 0 {\displaystyle 0} としたもの)。
初等数学公式集/初等代数

解説はこちらのページをご覧ください
多項式における除法の原理
多項式 f ( x ) {\displaystyle f(x)} を x − c {\displaystyle x-c} で割った余りは f ( c ) {\displaystyle f(c)} である。(剰余の定理)
とくに f ( c ) = 0 {\displaystyle f(c)=0} のとき、多項式 f ( x ) {\displaystyle f(x)} は x − c {\displaystyle x-c} を因数に持つ。(因数定理)
上記で見られるように、除多項式が n {\displaystyle n} 次であれば、剰余式は(高々) n − 1 {\displaystyle n-1} 次であり、剰余式を求める計算において、各項の係数と定数を合わせた未知数は n {\displaystyle n} 個ともなる。 n {\displaystyle n} 個の未知数を求めるには、 n {\displaystyle n} 個の方程式( n {\displaystyle n} 元1次方程式)を解くことになるが、初等数学(高校までの数学)においては、4元以上の連立方程式を解く問題が出題されることはごく稀なので(未知数を1個ずつ減らすプロセスなので、無理な出題ではないが、労力の割に教育的意義は低い)、除多項式が3次以上のものが出題された場合、解法には上記の剰余定理以外を用いると考えた方がいい。
基本形 ; a , b , c {\displaystyle a,b,c} は、正の実数である場合。
拡張

ここでは行列はすべて2次正方行列とする。 O {\displaystyle O} をすべての元が 0 {\displaystyle 0} である行列 O = ( 0 0 0 0 ) {\displaystyle O={\begin{pmatrix}0&0\\0&0\\\end{pmatrix}}} (零行列)とし、 E {\displaystyle E} を任意の2次正方行列 A {\displaystyle A} に対して A E = E A = A {\displaystyle AE=EA=A} となる行列 E = ( 1 0 0 1 ) {\displaystyle E={\begin{pmatrix}1&0\\0&1\\\end{pmatrix}}} (2次単位行列)とする。任意の2次正方行列 A = ( a b c d ) {\displaystyle A={\begin{pmatrix}a&b\\c&d\\\end{pmatrix}}} に対し、次が成り立つ。
平面座標上の点 ( x , y ) {\displaystyle (x,y)} を、以下の式によって点 ( X , Y ) {\displaystyle (X,Y)} に移す操作を一次変換という。
これを行列を用いて表現する。
初等数学公式集/数と集合・論理

n {\displaystyle n} が 2 {\displaystyle 2} 以上の整数として、 a {\displaystyle a} を n {\displaystyle n} で割った剰余が b {\displaystyle b} を n {\displaystyle n} で割った剰余と等しいときに、「二つの整数 a , b {\displaystyle a,b} が法 n {\displaystyle n} に関して合同である」といい、以下の記号で示す。
初等数学公式集/初等関数の性質

大学受験数学 三角関数/公式集も参照
証明は高等学校数学II/三角関数#加法定理を参照
(すべて複号同順)
加法定理で、 α = β {\displaystyle \alpha =\beta } として、

覚え方 位相を + π 2 {\displaystyle +{\frac {\pi }{2}}} すると微分になると覚えましょう。 + π {\displaystyle +\pi } の三角関数も2階微分としてすぐに導出できます。 − π 2 {\displaystyle -{\frac {\pi }{2}}} の三角関数は積分として覚えられます。また、点 ( cos  θ , sin  θ ) {\displaystyle (\cos \theta ,\sin \theta )} を π {\displaystyle \pi } 回転した点 ( cos  ( θ + π ) , sin  ( θ + π ) ) {\displaystyle (\cos(\theta +\pi ),\sin(\theta +\pi ))} は原点を中心に点対称移動した点 ( − cos  θ , − sin  θ ) {\displaystyle (-\cos \theta ,-\sin \theta )} であることからも、 + π {\displaystyle +\pi } の三角関数を導出できます。
− θ {\displaystyle -\theta } の三角関数は、点 ( cos  θ , sin  θ ) {\displaystyle (\cos \theta ,\sin \theta )} を x {\displaystyle x} 軸で線対称移動移動した点が ( cos  ( − θ ) , sin  ( − θ ) ) = ( cos  θ , − sin  θ ) {\displaystyle (\cos(-\theta ),\sin(-\theta ))=(\cos \theta ,-\sin \theta )} であることから導出できます。
加法定理は「咲いたコスモスコスモス咲いた」、「コスモスコスモス咲いた咲いた」という語呂合せがあります。
cos {\displaystyle \cos } の倍角の公式 cos  2 θ = 2 cos 2  θ − 1 = 1 − 2 sin 2  θ {\displaystyle \cos 2\theta =2\cos ^{2}\theta -1=1-2\sin ^{2}\theta } は ± 1 ± 2 a a a 2 θ {\displaystyle \pm 1\pm 2\mathrm {aaa} ^{2}\theta } という形を覚えて sin {\displaystyle \sin } は符号が − {\displaystyle -} 、1 の符号はその逆と覚えます。
2乗の三角関数 sin 2  θ = 1 − cos  2 θ 2 , cos 2  θ = 1 + cos  2 θ 2 {\displaystyle \sin ^{2}\theta ={\frac {1-\cos 2\theta }{2}},\cos ^{2}\theta ={\frac {1+\cos 2\theta }{2}}} は、 1 ± cos  2 θ 2 {\displaystyle {\frac {1\pm \cos 2\theta }{2}}} という形を覚えて、 sin {\displaystyle \sin } は符号が − {\displaystyle -} と考えます。

以下、この節内では a, b ,c は実数とする。
以下、 a > 0 {\displaystyle a>0} かつ a ≠ 1 {\displaystyle a\neq 1} とし、また対数の真数として表れるものはすべて正とする。
初等数学公式集/数列

※以下、初項 a 1 {\displaystyle a_{1}} は所与
※以下、初項 a 1 {\displaystyle a_{1}} 及び第2項 a 2 {\displaystyle a_{2}} は所与
上記2において、 α = β {\displaystyle \alpha =\beta } であるとき
a n − 2 a n − 1 + a n − 2 = k {\displaystyle \displaystyle a_{n}-2a_{n-1}+a_{n-2}=k} (定数)は以下のように変形して解くことができる。
以下の関係で定義される数列をフィボナッチ数列という。
(はさみうちの原理)
初等数学公式集/微積分

導関数の定義
変数 x {\displaystyle x} の微分可能な関数 f {\displaystyle f} , g {\displaystyle g} に対して
x , y {\displaystyle x,y} が関数の関係にある時、 y = f ( x ) {\displaystyle y=f(x)} の形の表示を陽関数(表示)、 f ( x , y ) = 0 {\displaystyle f(x,y)=0} の形の表示を陰関数(表示)という。なお、 f ( x , y , z ) = 0 {\displaystyle f(x,y,z)=0} のように変数の数が3個以上のものがあるが、初等数学の範囲を超えるので、本公式集では言及しない。
陰関数 f ( x , y ) = 0 {\displaystyle f(x,y)=0} において、 y {\displaystyle y} を x {\displaystyle x} で微分する、すなわち、 d y d x {\displaystyle {\frac {dy}{dx}}} を求める手順は以下のとおり。
初等数学公式集/確率・統計

以下、この節では度数分布表の階級値を x 1 , x 2 , ⋯ , x n {\displaystyle x_{1},x_{2},\cdots ,x_{n}} とし、それに対応する度数を f 1 , f 2 , ⋯ , f n {\displaystyle f_{1},f_{2},\cdots ,f_{n}} 、総度数を n {\displaystyle n} とする。
X , Y {\displaystyle X,Y} の相関係数 ρ {\displaystyle \rho } について
確率変数 X , Y {\displaystyle X,Y} に対し、 P ( X < a , Y < b ) = P ( X < a ) P ( Y < b ) {\displaystyle P(X<a,Y<b)=P(X<a)P(Y<b)} が成り立つとき、またそのときに限り、 X , Y {\displaystyle X,Y} は独立であるという。
X , Y {\displaystyle X,Y} が独立のとき
消費税法別表第3

(第3条、第60条、附則第19条の3関係)
消費税は国内の消費支出に対して課税するものであり、国内で課税取引を行う課税事業者については、納税義務者となることになる。ただし、公共法人や公益法人などは、その公共性の高さから、その行う事業について法令上の制約を受けることもあり、通常の民間企業と同様に消費税法を適用させることには問題が生じ得る。そこで、別表第3に掲げる法人については、消費税法において様々な特例制度を設けている。
JavaScript/型付き配列

型付き配列(かたつきはいれつ、Typed array)は特定のデータ型を持つ要素しか扱えないという制限があります。 つまり、整数型のみ、あるいは浮動小数点数型のみを扱うことができます。 型付き配列を使うことで、メモリの効率的な利用や、高速なデータ処理が可能になるため、JavaScriptのプログラマにとっては非常に重要な知識と言えます。
型付き配列は、C言語の配列のように要素数を予め決め全ての要素の型が同じオブジェクトなインデックス可能なコレクションです。
6種類のIEEE 754の64ビット倍精度浮動小数点数のバイナリ表現を表示したもので、TypedArray を使うと内部表現へのアクセスが buffer プロパティを使って可能になる事を示す例となっています。
この様な ArrayBuffer を扱うためには、DataViewオブジェクトが用意されていますが今回は同じ64ビット同士にすることでエンディアンの問題を回避しました。
TypedArray はコンストラクターとしては呼び出さず、Float64ArrayオブジェクトやBigUint64Arrayオブジェクトのような TypedArray オブジェクトのインスタンスを生成します。
8ビット符号付き整数のTypedArrayオブジェクト
8ビット符号なし整数のTypedArrayオブジェクト
オーバーフロー対策と丸め処理を施された8ビット符号なし整数のTypedArrayオブジェクト。
以下の変換規則に従います
Canvas#imageData へのアクセスを使った高速化の節に、CanvasのimageDate.data(Uint8ClampedArrayオブジェクト)を直接操作して高速化をはかる例がある。
16ビット符号付き整数のTypedArrayオブジェクト
16ビット符号なし整数のTypedArrayオブジェクト
32ビット符号付き整数のTypedArrayオブジェクト
32ビット符号なし整数のTypedArrayオブジェクト
32ビット単精度浮動小数点数のTypedArrayオブジェクト
64ビット倍精度浮動小数点数のTypedArrayオブジェクト (組み込み数値プリミティブと同じ精度)
64ビット符号付き整数のTypedArrayオブジェクト
64ビット符号なし整数のTypedArrayオブジェクト
JavaScript/プロトタイプベース

JavaScriptはプロトタイプベースのオブジェクト指向言語です。 この場合はプロトタイプは「雛形」です。 目的の機能を持ったのオブジェクトの生成を、既に存在する雛形を複製することで実現する戦略といえます。 この雛形の事をプロトタイプと呼びます。 JavaScript以外のプロトタイプベースのオブジェクト指向言語としては Lua があげられます。 Lua は MediaWiki のモジュールの記述言語にも採用されています。
最初のプロトタイプベースのオブジェクト指向言語は、Selfです。 Selfは、Smalltalkを開発したチームの一員がさらに記述性が高く簡素なオブジェクト指向言語の研究から誕生しました。 JavaScriptもSelfの影響を直接的に受けています。
プロトタイプに基づくプロトタイプベースに対し、クラスに基づいたオブジェクトシステムを採用したオブジェクト指向言語をクラスベースと呼びます(Smalltalk, C++, Java など)。 JavaScript ではECMACScript 2015/ES6でclass構文が導入されましたが、クラスベース風の構文を加えたに過ぎず依然JavaScriptはプロトタイプベースのオブジェクト指向言語です。
デザインパターンの用語を使えば
と捉えることができます。
この節は書きかけです。この節を編集してくれる方を心からお待ちしています。
prototypeオブジェクトの共有と派生
有向グラフ 木構造 figure
クラスベースで言うメソッドをプロトタイプベースが模倣しているという立場も取れます(JavaScriptのメソッドは全て仮想メソッド)。 逆にクラスベースのVTableは限定的な prototype とも。 アプローチは違っても言語機構のインフラストラクチャーは似通ってきている。
この節は書きかけです。この節を編集してくれる方を心からお待ちしています。 new 演算子の正体
伝統的な関数を使ったコンストラクタ
class構文による --
ECMAScript 5 の Object.create
この節は書きかけです。この節を編集してくれる方を心からお待ちしています。
::標準組み込みオブジェクトのプロトタイプを書き換えるのは良くない/のコラムはここに移動か?
JavaScript/strictモード

Strict モードは、通常はエラーとはせず見逃していたプログラミング上の省略をエラーにするなど、より厳格に振る舞うモードです。 Strict モードは、ECMAScript 2009 = ES5 で導入されました。
Strict モードはスクリプト全体あるいは、個別の関数に適用できます(var 宣言された変数のスコープと似ていますね)。
スクリプト全体をStrict モードにする場合
この例では怪しい兆候がないので、Hello strict world! が表示されました。
1箇所変更しました。 実行すると、ReferenceError: msg is not defined となります。 varを省略したので、(初期化を伴う)変数宣言から代入になり「define している場所がない」状況がエラーになっています。
'use strict'; をとってみます。
Hello strict world! が表示されました。
関数単位でStrict モードにする場合
console.log() による表示は全く行われないでエラーで止まります。 0に[0-7]が続く書式の八進数表現はstrictモードではエラーです。
ES6で導入されたクラス(class)の定義の中では、自動的にstrict モードになります。
この節は書きかけです。この節を編集してくれる方を心からお待ちしています。
JavaScript/Math/sin

Math.sinはsin(正弦)の値を返します。ただし、引数は弧度法による角度が用いられます。
サインの値を求めるプログラム
ただし、度数法による角度で調べる。
解説
度数法(deg)と弧度法(rad)にはdeg = π × rad ÷ 180という関係が成り立っている。
JavaScript/Vue.js

Vue.jsは、Web開発者にとって非常に人気のあるJavaScriptフレームワークです。Vue.jsは、MVVMパターン(Model-View-ViewModel)をベースにしています。このパターンは、データバインディングと依存性注入に焦点を当てています。
Vue.jsの主な機能には、次のようなものがあります。
Vue.jsを使用するには、まずVue.jsライブラリをインポートする必要があります。Vue.jsを使用するために必要な最小限のファイルは、vue.jsです。
Vue.jsの基本的な使い方を見ていきましょう。Vue.jsを使用して、最初のVueアプリケーションを作成してみましょう。
まず、HTMLファイルのheadタグ内に、Vue.jsライブラリをインポートします。
次に、Vue.jsアプリケーションの起点となる、div要素を作成します。
ここでは、idが「app」のdiv要素を作成しています。この要素内に、テンプレート:Messageというテキストを表示するように指示しています。 次に、JavaScriptファイル内に、Vue.jsのインスタンスを作成します。
ここでは、idが「app」のdiv要素に、Vue.jsのインスタンスをマウントしています。また、このインスタンス内に、messageプロパティを定義しています。messageプロパティの初期値は「Hello Vue!」です。 最後に、Vue.jsインスタンスを作成したJavaScriptファイルをHTMLファイルのbodyタグ内でインポートします。
これで、最初のVue.jsアプリケーションが完成しました。ブラウザでHTMLファイルを開いて、テンプレート:Messageが「Hello Vue!」に置き換わっていることを確認できます。
このように、Vue.jsを使用することで、シンプルで使いやすいWebアプリケーションを簡単に作成できます。 Vue.jsは、ReactやAngularなどの他のフレームワークと比較しても、学習コストが低く、柔軟性があります。 Web開発者にとって、Vue.jsは必須のツールとなっています。
こちらはVue.jsを使用した基本的なページの例です。Vue.jsの機能を活用して、HTML, CSS, JavaScriptをシームレスに連携させることができます。
この例では、Vue.jsを使って以下の機能を実装しています。
これらの機能を使って、Vue.jsを活用したページを実装することができます。
以下はVue.jsを使用して作成した、簡単なTo-Doリストアプリのコード例です。このアプリは、ユーザーが追加したタスクを表示し、完了したタスクをマークすることができます。
このコードは、Vue.jsのv-modelディレクティブを使用して、フォームの入力値をnewTaskデータプロパティにバインドしています。また、v-forディレクティブを使用して、tasksデータプロパティ内の各タスクをループして、タスクの説明を表示しています。@clickディレクティブを使用して、タスクがクリックされたときにcompleteTaskメソッドを呼び出し、クリックされたタスクのcompletedプロパティをトグルします。
CSSは、完了したタスクに線を引くために使用されています。この例は非常にシンプルですが、より複雑なアプリケーションを作成するためにVue.jsを使用することができます。