本文へスキップ
totonoe.tech

🧬 プログラミング言語

プログラミング言語を整える。

プログラミング言語を、ブラウザの中で書いて動かして覚える。

Python・SQL・JavaScript・TypeScript・Ruby・Lua・PHP・GraphQL の練習場と、NumPy/pandas・unittest の実務寄りの練習場、C・JavaScript・Java・Python の比較表を置いています。どれも4つの課題と解説つきで、インストールなしにその場で実行できます。入力したコードはサーバーへ送られません。

プログラミング言語の比較を整える

= C・JavaScript・Java・Python を、エソラング図鑑と同じ尺度で並べて比べる

C(1972年・Dennis Ritchie)・JavaScript(1995年・Brendan Eich)・Java(1995年・James Gosling)・Python(1991年・Guido van Rossum)の4言語を、エソラング図鑑と共通の「読みにくさ」「書きにくさ」5段階の尺度と Hello World のコード例で比較する1ページ。Python の実行は既存の /python-playground/ に委ねる。静的ページ・送信ゼロ。

  • ● 4言語の比較表(誕生年・作者・生まれた国・読みにくさ・書きにくさ・学べること)
  • ● 日本の現場や研修で使われる6言語(C・C++・Java・C#・COBOL・VBA)の比較表と Hello World の並べ書き
  • ● 各言語の Hello World のコード例と特徴
初級
開く

C言語を整える(解説・練習場)

= 新人研修でよく最初に習う C を、ブラウザの中で書いて動かしながら学ぶ

C言語の解説ページ。概要(1972年・デニス・リッチー・静的型付け・コンパイル言語)、日本での使われ方(組み込み・車載・IoT・OS)、新人研修、資格。5つのお題(Hello World・FizzBuzz・配列の合計と平均・ファイルの書き込みと読み込み・0で割るエラーの処理)・出力当てクイズ4問・よくあるエラー4件(gcc 13.3.0 で出力とメッセージを照合)。練習場は picoc-js 1.0.12(PicoC の WASM 版・MIT)をサイト内に置いた写しから Web Worker で実行(外部通信なし)。stdin 入力欄、3秒で自動停止、NULL 参照は行と桁で停止。送信ゼロ。

  • ● 概要(誕生・作った人・型・動かし方)と日本での使われ方・新人研修・資格
  • ● 5つのお題のコード例(C++・Java・C#・COBOL・VBA の同じお題へ移れる)
  • ● 出力当てクイズ4問(正解と理由)
中級
開く

C++ を整える(解説)

= C にクラスやテンプレートを足した C++ を、C との違いから学ぶ

C++ の解説ページ。概要(1983年・ビャーネ・ストロヴストルップ・静的型付け)、日本での使われ方(ゲームエンジン・組み込み・画像処理・デスクトップアプリ)、新人研修、資格。5つのお題(Hello World・FizzBuzz・配列の合計と平均・ファイルの書き込みと読み込み・0で割るエラーの処理)・出力当てクイズ4問・よくあるエラー4件。出力とメッセージは g++ 13.3.0 で照合。ブラウザでの実行はなし(解説のみ)。送信ゼロ。

  • ● 概要(誕生・作った人・型・動かし方)と日本での使われ方・新人研修・資格
  • ● 5つのお題のコード例(C・Java・C#・COBOL・VBA の同じお題へ移れる)
  • ● 出力当てクイズ4問(正解と理由)
初級
開く

Java を整える(解説)

= 業務システムの研修で多く使われる Java を、同じお題で読んで学ぶ

Java の解説ページ。概要(1995年・Sun Microsystems・静的型付け・JVM)、日本での使われ方(SIer の業務システム・金融・官公庁・Spring・Android)、新人研修、Oracle 認定 Java 資格。5つのお題(Hello World・FizzBuzz・配列の合計と平均・ファイルの書き込みと読み込み・0で割るエラーの処理)・出力当てクイズ4問(== と equals など)・よくあるエラー4件(NullPointerException など)。出力とメッセージは OpenJDK 21.0.12.1 で照合。送信ゼロ。

  • ● 概要(誕生・作った人・型・動かし方)と日本での使われ方・新人研修・資格
  • ● 5つのお題のコード例(C・C++・C#・COBOL・VBA の同じお題へ移れる)
  • ● 出力当てクイズ4問(== と equals・整数の割り算など)
初級
開く

Java Bronze を整える(試験対策)

= Java の入門資格 Bronze の試験範囲を、章ごとの練習問題で確かめる

Java Bronze(Java SE Bronze・1Z0-818-JPN・選択問題・65分・60問・合格ライン60%)の試験対策ページ。試験範囲7章のマップ、章ごとの出力当て練習問題30問(OpenJDK 17.0.21 で全問照合)、よくある勘違い、受験予定日から受けられる試験の早見。Bronze は版に依存せず配信継続。送信ゼロ。

  • ● 試験の基本(試験番号・形式・65分・60問・合格ライン60%)と Oracle 公式ページへのリンク
  • ● 「いつ・どれを受ける?」早見(受験予定日から Bronze・Silver SE 11/17/25 を判定)
  • ● 試験範囲マップ7章と、章ごとの「ここで覚えること」
初級
開く

Java Silver を整える(試験対策)

= Java Silver(SE 17)の試験範囲を、章ごとの練習問題で確かめる

Java Silver SE 17(Java SE 17 Programmer I・1Z0-825-JPN・選択問題・90分・60問・合格ライン65%・2027/2/28 配信終了)の試験対策ページ。試験範囲6章のマップ(var・テキストブロック・switch 式・instanceof パターン・レコード・シールに印)、章ごとの練習問題29問(OpenJDK 17.0.21 で全問照合)、よくある勘違い、受験日の早見。SE 25 対応は範囲の発表後に更新。送信ゼロ。

  • ● 試験の基本(試験番号・形式・90分・60問・合格ライン65%)と Oracle 公式ページへのリンク
  • ● 「いつ・どれを受ける?」早見(SE 11 は2026/11/30、SE 17 は2027/2/28 に配信終了、SE 25 は配信予定)
  • ● 試験範囲マップ6章と、SE 17 で加わった範囲の印(var・テキスト・ブロック・switch 式・instanceof・レコード・シール・クラス)
中級
開く

C# を整える(解説)

= 業務アプリや Unity で使われる C# を、同じお題で読んで学ぶ

C# の解説ページ。概要(2000年発表・Microsoft・静的型付け・.NET)、日本での使われ方(Windows の業務アプリ・ASP.NET・Unity)、新人研修、資格。5つのお題(Hello World・FizzBuzz・配列の合計と平均・ファイルの書き込みと読み込み・0で割るエラーの処理)・出力当てクイズ4問(構造体のコピー・?? など)・よくあるエラー4件(CS1002・CS0103・NullReferenceException など)。出力とメッセージは .NET SDK 8.0.132 で照合。送信ゼロ。

  • ● 概要(誕生・作った人・型・動かし方)と日本での使われ方・新人研修・資格
  • ● 5つのお題のコード例(C・C++・Java・COBOL・VBA の同じお題へ移れる)
  • ● 出力当てクイズ4問(構造体のコピー・?? 演算子など)
初級
開く

COBOL を整える(解説・桁位置・PIC 句)

= 金融や行政の基幹システムで今も動く COBOL を、桁位置と PIC 句の道具つきで学ぶ

COBOL の解説ページ。概要(1959年・CODASYL・事務処理用・10進数の計算)、日本での使われ方(金融・保険・行政の基幹システム)、研修、資格。5つのお題(Hello World・FizzBuzz・配列の合計と平均・ファイルの書き込みと読み込み・0で割るエラーの処理)・出力当てクイズ4問(PIC 9(3) の 007・桁あふれ・切り捨て・ROUNDED)・よくあるエラー4件。桁位置の定規(1〜6一連番号・7標識・8〜11 A領域・12〜72 B領域・73以降無視の点検)と PIC 句の道具(展開・種類・バイト数・MOVE の結果を GnuCOBOL 3.1.2 の DISPLAY と一致するよう実装)。送信ゼロ。

  • ● 概要(誕生・作った人・型・動かし方)と日本での使われ方・研修・資格
  • ● 5つのお題のコード例(C・C++・Java・C#・VBA の同じお題へ移れる)
  • ● 出力当てクイズ4問(PIC 句の桁あふれ・切り捨てなど)
中級
開く

VBA を整える(解説)

= Excel の手作業を自動化する VBA を、同じお題で読んで学ぶ

VBA の解説ページ。概要(Excel 5.0 から・Microsoft・Office の中で動く)、日本での使われ方(Excel の集計・帳票・定型作業の自動化)、研修、VBAエキスパート。5つのお題(Hello World・FizzBuzz・配列の合計と平均・ファイルの書き込みと読み込み・0で割るエラーの処理)・出力当てクイズ4問(\ と / の割り算・& と + など)・よくあるエラー4件(実行時エラー 9・13・1004、変数が定義されていません)。出力は Excel で実行したものではなく手で追ったもの。送信ゼロ。

  • ● 概要(誕生・作った人・型・動かし方)と日本での使われ方・研修・資格
  • ● 5つのお題のコード例(C・C++・Java・C#・COBOL の同じお題へ移れる)
  • ● 出力当てクイズ4問(\ と / の割り算・& と + の違いなど)
初級
開く

プログラミング言語の歴史を整える

= 41のプログラミング言語が、どの言語から影響を受けたかを系統図で見る

41言語(Fortran 1957年〜Swift 2014年・Dart 2011年)の影響関係84本を、横が年・縦が系統(命令型・オブジェクト指向・関数型・論理型・スクリプト)の系統図で示す1ページと、言語ごとの41ページ。線は作者・公式文書・論文が明言したものだけで、Wikipedia は使っていない。言語を押すと祖先と子孫の線だけを強調。思想のテーマ18件(構造化プログラミング・ガベージコレクション・オブジェクト指向の始まり・型推論・所有権ほか)を年順に並べ、年表は検索と並べ替えができる。年は初めて公開された年に統一。出典と短い引用つき。静的ページ・送信ゼロ。

  • ● 41言語の系統図(横=年、縦=系統)。言語を押すと祖先と子孫だけを強調
  • ● 系統での絞り込みと年代ジャンプ。キーボードでも言語を選べる
  • ● 思想の歴史18件を年順のタイムラインで(関わった人・言語・出典つき)
初級
開く

Python を整える(Playground)

= ブラウザでさわって学ぶ Python 練習場

ブラウザ内 Python (Pyodide WASM) で変数・データ型・関数・クラス・継承を体験できる Python 練習用 Playground。実行後の変数一覧と参照共有を可視化、データ送信なし。

  • ● 4 ステップ + 応用のサンプルコード(クラス・継承・内包表記・例外)
  • ● 実行後の変数インスペクタ(型・値・参照 ID)
  • ● 同じオブジェクトを複数変数が指す「参照共有」をハイライト
中級
開く

SQL を整える(Playground)

= ブラウザでさわって学ぶ SQL 練習場

ブラウザ内 SQLite で CRUD(SELECT/INSERT/UPDATE/DELETE)と JOIN を体験できる SQL 練習用 Playground。サンプル DB 付き、データ送信なし。

  • ● CRUD 4 動詞のサンプルボタン
  • ● JOIN / GROUP BY のサンプル付き
  • ● CodeMirror 6 シンタックスハイライト
中級
開く

PostgreSQL を整える(解説・練習場)

= 本物の PostgreSQL をブラウザの中で動かして、SQL の書き方と PostgreSQL らしさを学ぶ

PostgreSQL の解説ページ。概要(1986年の POSTGRES から・PostgreSQL License)、日本での使われ方、Amazon RDS・Aurora・Cloud SQL・Supabase などのクラウドサービス、OSS-DB 技術者認定。6つのお題(表を作ってデータを入れる・条件で絞り込む・グループごとに集計・2つの表を結びつける・2ページ目を取る・あれば更新/無ければ追加)・出力当てクイズ4問(7 / 2 が 3・NULL の扱いなど)・よくあるエラー4件。結果とエラーのメッセージは PGlite 0.5.11(PostgreSQL 18.6)で照合。練習場は同じ PGlite を Web Worker で動かし、5秒で打ち切り。処理系はサイト内から配信(約16MB)・外部通信なし。送信ゼロ。

  • ● 概要(誕生・作った人・種類・ライセンス)と日本での使われ方・クラウドサービス・研修と資格
  • ● 同じ商品と注文のデータで6つのお題(MySQL・DuckDB・MongoDB・Redis の同じお題へ移れる)
  • ● 出力当てクイズ4問(正解と理由)
中級
開く

MySQL を整える(解説)

= Web サービスで広く使われる MySQL の書き方の癖を、同じお題で見比べて学ぶ

MySQL の解説ページ。概要(1995年・MySQL AB・GPL と商用のデュアルライセンス)、日本での使われ方(LAMP・WordPress など)、Amazon RDS・Aurora・Cloud SQL などのクラウドサービス、Oracle の MySQL 8.0 資格。6つのお題(表を作ってデータを入れる・条件で絞り込む・グループごとに集計・2つの表を結びつける・2ページ目を取る・あれば更新/無ければ追加)・出力当てクイズ4問(7 / 2 が 3.5000・大文字と小文字を同じとみなす比較・|| が OR になるなど)・よくあるエラー4件(1064・1146・1062・1055)。結果とメッセージは MySQL 8.0.46 で照合。ブラウザでの実行はなし(解説のみ)。送信ゼロ。

  • ● 概要(誕生・作った人・種類・ライセンス)と日本での使われ方・クラウドサービス・研修と資格
  • ● 同じ商品と注文のデータで6つのお題(PostgreSQL・DuckDB・MongoDB・Redis の同じお題へ移れる)
  • ● 出力当てクイズ4問(正解と理由)
中級
開く

DuckDB を整える(解説・練習場)

= サーバー不要の分析用データベース DuckDB を、手元の CSV を SQL で集計しながら学ぶ

DuckDB の解説ページ。概要(2019年・CWI・MIT ライセンス・組み込み型の分析用データベース)、日本での使われ方(Python や R でのデータ分析・CSV や Parquet の集計)、MotherDuck。6つのお題(表を作ってデータを入れる・条件で絞り込む・グループごとに集計・2つの表を結びつける・2ページ目を取る・あれば更新/無ければ追加)・出力当てクイズ4問(7 / 2 が 3.5・// が整数の割り算・リストが1始まりなど)・よくあるエラー4件。結果とメッセージは DuckDB-WASM 1.32.0(DuckDB v1.4.3)で照合。練習場は同じ DuckDB-WASM を Worker で動かし、手元の CSV を registerFileText で渡して read_csv で読める。処理系はサイト内から配信・外部通信なし。送信ゼロ。

  • ● 概要(誕生・作った人・種類・ライセンス)と日本での使われ方・クラウドサービス・研修と資格
  • ● 同じ商品と注文のデータで6つのお題(PostgreSQL・MySQL・MongoDB・Redis の同じお題へ移れる)
  • ● 出力当てクイズ4問(正解と理由)
中級
開く

MongoDB を整える(解説・練習場)

= 表ではなくドキュメントで持つ MongoDB を、find と aggregate を動かしながら学ぶ

MongoDB の解説ページ。概要(2009年・10gen/MongoDB Inc.・SSPL・ドキュメント指向)、日本での使われ方、MongoDB Atlas と互換サービス(Amazon DocumentDB・Azure Cosmos DB for MongoDB)、MongoDB の認定資格。6つのお題(表を作ってデータを入れる・条件で絞り込む・グループごとに集計・2つの表を結びつける・2ページ目を取る・あれば更新/無ければ追加)を find・$group・$lookup・upsert で。出力当てクイズ4問・よくあるエラー4件(E11000 など)。練習場は mingo 7.2.5 による再現で、MongoDB 本体では照合していない(表示は mongosh に寄せた形)。送信ゼロ。

  • ● 概要(誕生・作った人・種類・ライセンス)と日本での使われ方・クラウドサービス・研修と資格
  • ● 同じ商品と注文のデータで6つのお題(PostgreSQL・MySQL・DuckDB・Redis の同じお題へ移れる)
  • ● 出力当てクイズ4問(正解と理由)
中級
開く

Redis を整える(解説・練習場)

= キャッシュやランキングに使う Redis のコマンドを、本物と同じ表示の再現で試して学ぶ

Redis の解説ページ。概要(2009年・サルヴァトーレ・サンフィリッポ・インメモリのキーバリューストア・BSD から RSALv2/SSPL、Redis 8 で AGPLv3 も)、Valkey、日本での使われ方(キャッシュ・セッション・ランキング・回数制限)、ElastiCache・Memorystore などのクラウドサービス。6つのお題(表を作ってデータを入れる・条件で絞り込む・グループごとに集計・2つの表を結びつける・2ページ目を取る・あれば更新/無ければ追加)を ZRANGEBYSCORE・HINCRBY・HSET などで。出力当てクイズ4問・よくあるエラー4件(WRONGTYPE など)。練習場は自前の再現(文字列・リスト・ハッシュ・集合・ソート済み集合・有効期限)で、表示は Redis 7.0.15 の redis-cli と照合。送信ゼロ。

  • ● 概要(誕生・作った人・種類・ライセンス)と日本での使われ方・クラウドサービス・研修と資格
  • ● 同じ商品と注文のデータで6つのお題(PostgreSQL・MySQL・DuckDB・MongoDB の同じお題へ移れる)
  • ● 出力当てクイズ4問(正解と理由)
中級
開く

データベースを整える(比較)

= PostgreSQL・MySQL・DuckDB・MongoDB・Redis を並べて、同じお題の書き方の違いを見比べる

データベース5つ(PostgreSQL・MySQL・DuckDB・MongoDB・Redis)と SQLite を、種類・誕生・ライセンス・練習場(本物/再現/なし)で比べる表と、同じお題(ページ送り・upsert・集計)のコードの並べ書き。各解説ページと /sql-playground/・/sqlalchemy/・/sqli-demo/ への入口。静的ページ・送信ゼロ。

  • ● 5つのデータベースと SQLite の比較表(種類・誕生・ライセンス・練習場)
  • ● 同じお題(2ページ目を取る・あれば更新・集計)のコードを5つ並べて表示
  • ● 各解説ページの同じお題へ移れる
初級
開く

JavaScript を整える(Playground)

= 「1」+ 1 が "11" になる——実行して初めて分かる間違いを、ブラウザ内で安全に試す

ブラウザ内の QuickJS(WASM・cdn.jsdelivr.net から初回のみ約1MB)で JavaScript を実行する Playground。本番 CSP が eval を禁止しているため、ブラウザ本体ではなく独立した WASM エンジンで動かす。Hello World・型の暗黙変換("1"+1="11"、"1"-1=0)・存在しないプロパティ(TypeError)・引数不足(undefined 混入)・null の扱い(typeof null === "object")・配列 map/filter/reduce・クラスの7サンプル。「JS は実行するまで間違いが分からない」を4題材で示し、同じ題材の /typescript/ へ誘導。console 出力・最後の式の値・エラー・所要時間を表示。無限ループは期限割り込みで2秒で停止。CodeMirror 6。送信ゼロ。

  • ● 7サンプル(Hello World・変数と型・存在しないプロパティ・引数の数違い・null の扱い・配列 map/filter/reduce・クラス)
  • ● 「実行するまで分からない」を4題材で解説・JS と TS の違い表
  • ● /typescript/ の同じ題材ページへの導線
中級
開く

TypeScript を整える(Playground)

= 型検査 → JavaScript への変換 → 実行の3段階を見せる——JS では実行まで分からない間違いが「書いた時点」で赤くなる

ブラウザ内の typescript.js 5.9(cdn.jsdelivr.net から初回のみ約9MB+lib 約0.4MB)を自前の CompilerHost で動かして型検査し、transpileModule で ES2020 の JavaScript に変換、QuickJS(WASM)で実行する3段階を可視化する TypeScript Playground。型エラーがあっても変換と実行は必ず行い「実行を止める仕組みではなく実行前に指摘する仕組み」を体験させる。診断コード(2322/2345/2554/2339/2531/18048/7006/2304)に日本語の一言説明。/javascript/ と同じ4題材+TS 固有4題材(interface・ジェネリクス・ユニオン型・enum)。strict 切替。変換で消える部分を薄色表示。CodeMirror 6。送信ゼロ。

  • ● 型検査・JS 変換・実行の3段階を必ず表示(型エラーがあっても変換と実行は続行)
  • ● /javascript/ と同じ4題材が「書いた時点で赤くなる」ことを体験
  • ● interface・ジェネリクス・ユニオン型・enum の TS 固有4本
中級
開く

Ruby を整える(Playground)

= 本物の Ruby 3.4 がブラウザ内で動く——配列・ハッシュ・ブロック・クラスを書いて確かめる練習場

ブラウザ内の Ruby 3.4.1(ruby.wasm・cdn.jsdelivr.net から初回のみ約17MB)を Web Worker で実行する Playground。$stdout/$stderr を StringIO に差し替えて puts/print/p の出力を捕獲。Hello World・変数と文字列補間・配列と each/map・ハッシュ・メソッドとブロック・クラス・Ruby らしい書き方(5.times・Range・&:)の7サンプル。無限ループは5秒で Worker を terminate して停止し次回作り直す。同じ Worker の間は変数・クラス定義を持ち越し、リセットで初期化。CodeMirror 6。送信ゼロ。

  • ● 7本のサンプル(変数と文字列補間・配列と each/map・ハッシュ・メソッドとブロック・クラス・Ruby らしい書き方)
  • ● Web Worker で ruby.wasm(Ruby 3.4.1)を実行、画面は固まらない
  • ● 無限ループは5秒で自動停止・次回は作り直し
中級
開く

Lua を整える(Playground)

= 1始まりの添字と多値返却——Lua 5.4 をブラウザ内で動かして覚える練習場

ブラウザ内の Lua 5.4(wasmoon WASM・cdn.jsdelivr.net から初回のみ約0.3MB)で Lua を実行する Playground。Hello World・変数と型・テーブル・for/while・関数と可変引数・メタテーブル(__index)によるクラス風表現・1始まりの添字と多値返却の7サンプル。Web Worker で実行し、無限ループは3秒の時間超過で terminate して自動停止。print 出力と最後の return の戻り値を分けて表示。io/os は使わない。CodeMirror 6。送信ゼロ。

  • ● 7サンプル(テーブル・多値返却・メタテーブルのクラス風表現を含む)
  • ● Web Worker 実行で無限ループは3秒で自動停止
  • ● 戻り値(最後の return)と print 出力を分けて表示
中級
開く

PHP を整える(Playground)

= ブラウザの中で PHP を書いて動かす練習場

PHP 8.4 を php-wasm(WebAssembly・cdn.jsdelivr.net から初回のみ約14MB)で blob Worker 内実行する練習場。<?php が無ければ補う。無限ループは6秒で強制終了。echo の出力は HTML として描画せずエスケープして表示。変数と文字列(echo・連結・補間)/配列と連想配列(foreach)/関数(型宣言・デフォルト引数)/クラス(継承)の4課題。送信ゼロ。

  • ● ブラウザ内で PHP 8.4 を実行(php-wasm・送信ゼロ)
  • ● <?php の有無どちらでも動く
  • ● 無限ループは6秒で自動停止
初級
開く

GraphQL を整える(Playground)

= スキーマとデータを自分で書いて、GraphQL のクエリを試す練習場

graphql-js 16.11 を cdn.jsdelivr.net から動的読み込みし、buildSchema と簡易 rootValue リゾルバでクエリを実行する練習場。SCHEMA(SDL)/DATA(JSON)/QUERY+VARIABLES の3欄。リゾルバ規約: フィールド名=データのキー、id 引数は1件検索、他の引数はプロパティ一致で絞り込み、addXxx ミューテーションは複数形の配列へ追加。4課題。送信ゼロ。

  • ● ブラウザ内で graphql-js を実行(送信ゼロ)
  • ● SCHEMA/DATA/QUERY+VARIABLES の3欄
  • ● 4課題(フィールド選択/引数/フラグメントと別名/ミューテーション)
中級
開く

NumPy・pandas を整える(Playground)

= Excel の「並べ替え」「絞り込み」「集計」を pandas のコードで書く練習場

Pyodide 0.28 に numpy・pandas を追加ロード(初回のみ約9MB)して動かす練習場。コードを ast で分割し、最後の文が式なら値を取得。DataFrame/Series は columns・index・values を文字列化して JS 側でエスケープして表を組む(to_html は使わない)。4課題: NumPy 配列/辞書から DataFrame・head・describe/boolean index と sort_values/groupby.agg と pivot_table。Excel との対応表つき。送信ゼロ。

  • ● 4課題(NumPy 配列/DataFrame を作る/絞り込みと並べ替え/groupby・pivot_table)
  • ● 最後の式が DataFrame/Series なら表として表示(先頭50行)
  • ● NumPy と pandas の役割分担・Excel との対応表
中級
開く

unittest を整える(Playground)

= 標準ライブラリだけでテストを書いて実行する練習場

Pyodide 0.28 同梱の標準ライブラリ unittest を動かす練習場(追加パッケージ不要)。仮想 FS に calc.py と test_calc.py を書き、TextTestRunner(verbosity=2) の出力をパーサでテストごとの合否・失敗の抜粋・合計に分解して表示。4課題: assertEqual/setUp/assertRaises/subTest と skip。unittest と pytest の違いを表で解説し /pytest/ と相互リンク。送信ゼロ。

  • ● calc.py と test_calc.py の2タブ
  • ● 4課題(assertEqual/setUp/assertRaises/subTest とスキップ)
  • ● テストごとの合否一覧と失敗の抜粋
初級
開く

アルゴリズムを整える

= 並べ替え・探し方・しまい方を図で

アルゴリズムとデータ構造の学習ツール。ソートはバブル・選択・挿入・クイック・マージの5種類を同じデータで棒グラフにして1手ずつ再生し、比較回数と交換回数を数え、計算量(O記法の最良・平均・最悪・安定性・追加メモリ)を表で比べる。探索は線形探索と二分探索を並べて比較回数を比べ、データ数ごとの最大回数(nとlog2 n)を示す。データ構造は配列・連結リスト・スタック(LIFO)・キュー(FIFO)・二分探索木(挿入・探索・前順/中順/後順の巡回)・ハッシュテーブル(チェイニングとオープンアドレスの衝突処理)を操作して図で確かめられる。基本情報技術者試験の科目B(擬似言語のトレース)対策や新人研修の演習向け。計算はブラウザ内だけで送信しない。

  • ● 5つのソートを棒グラフで1手ずつ再生し、比較・交換の回数を数える
  • ● 計算量(O記法)の最良・平均・最悪・安定性を比べる表
  • ● 線形探索と二分探索の回数比べと、データ数ごとの最大回数
中級
開く

他のカテゴリ

運営サイト

私たちが運営するサイト