OpenSource-Hub

freeCodeCamp

チュートリアル

freeCodeCamp/freeCodeCamp

freeCodeCamp オープンソースのプログラミング学習プラットフォーム。無料でプログラミングと数学を学べます。

概要

freeCodeCamp は、寄付によって運営される非営利のプログラミング学習プラットフォームであり、Web開発からデータサイエンスまでの完全なカリキュラムを提供しています。インタラクティブなチャレンジ、実践的なプロジェクト、認定試験を含み、コミュニティ主導で運営されており、これまでに数十万人がテクノロジー業界に入るのを支援してきました。

README プレビュー

[](https://www.freecodecamp.org/)\n\n[](https://www.firsttimersonly.com/)\n[](https://discord.gg/PRyKn3Vbay)\n[](https://insights.linuxfoundation.org/project/freecodecamp/repository/freecodecamp-freecodecamp)\n\n## freeCodeCamp.org's open-source codebase and curriculum\n\n[freeCodeCamp.org](https://www.freecodecamp.org) is a friendly community where you can learn to code for free. It is run by a [donor-supported 501(c)(3) charity](https://www.freecodecamp.org/donate) to help millions of busy adults transition into tech. Our community has already helped more than 100,000 people get their first developer job.\n\nOur full-stack web development and machine learning curriculum is completely free and self-paced. We have thousands of interactive coding challenges to help you expand your skills.\n\n## Table of Contents\n\n- [Certifications](#certifications)\n- [The Learning Platform](#the-learning-platform)\n- [Reporting Bugs and Issues](#reporting-bugs-and-issues)\n- [Reporting Security Issues and Responsible Disclosure](#reporting-security-issues-and-responsible-disclosure)\n- [Contributing](#contributing)\n- [Platform, Build and Deployment Status](#platform-build-and-deployment-status)\n- [License](#license)\n\n### Certifications\n\nfreeCodeCamp.org offers several free developer certifications that make up the [Full-Stack Developer Curriculum](https://www.freecodecamp.org/learn/full-stack-developer-v9/):\n\n- [Responsive Web Design](https://www.freecodecamp.org/learn/responsive-web-design-v9/)\n- [JavaScript](https://www.freecodecamp.org/learn/javascript-v9/)\n- [Front-End Development Libraries](https://www.freecodecamp.org/learn/front-end-development-libraries-v9/)\n- [Python](https://www.freecodecamp.org/learn/python-v9/)\n- [Relational Databases](https://www.freecodecamp.org/learn/relational-databases-v9/)\n- [Back-End Development and APIs](https://www.freecodecamp.org/learn/back-end-development-and-apis-v9/)\n\nEach of these certifications involves completing interac

FAQ (5)

トラブル対応
なぜ Medical Data Validator の Step 9 は `isinstance(dictionary, dict) == False` を拒否するのですか?

現在、Step 9 のテストでは、条件に not isinstance(dictionary, dict) を使用することが期待されています。Boolean の結果を False と比較することは論理的には同等ですが、受け入れられるテストパターンには一致しません。条件を次のように置き換えてください:

if not isinstance(dictionary, dict):
    print(f'Invalid format: expected a dictionary at position {index}.')
    is_invalid = True

これにより、同じ辞書以外の値が検出され、Step 9 のテストに合格します。同等の型チェック式を受け入れるためのカリキュラムの修正が提案されています。

参照 Issue #70800
トラブル対応
Pythonでinput()を整数に変換する際に発生する「IndexError: string index out of range」とValueErrorの修正方法

Python のシーケンスは 0 始まりのインデックスです。"hello world" は 11 文字で、インデックスは 0 から 10 までです。インデックス 11 はすでに末尾を超えているため、greet[11] は IndexError: string index out of range を発生させます。最後の文字を取得するには greet[-1] を、そのインデックスを取得するには len(greet) - 1 を使用してください。

また、input() は常に文字列を返します。このエラーは、文字や空の値を入力した場合など、その文字列を int() で変換できない場合にのみ発生します。try/except で処理してください。

greet = "hello world"
print(greet[10])   # d
print(greet[-1])   # d

try:
    number = int(input("Enter a number: "))
except ValueError:
    print("Please enter a valid integer!")

参照 Issue #70748
トラブル対応
関数がLIFOに従っているのに、引数やcollection-orderのテストが失敗する場合、freeCodeCampのImplement a Stackテストを修正するにはどうすればよいですか?

テストはスタック操作をスタンドアロンの関数として呼び出します。initStack() が返すスタックオブジェクトは最初の引数として渡され、push は2番目の引数として新しい要素も受け取ります。アイテムは stack.collection に格納し、配列の最後の要素をスタックのトップとして扱います。

実装例:

function initStack() {
  return { collection: [] };
}

function push(stack, element) {
  stack.collection.push(element);
}

function pop(stack) {
  return stack.collection.pop();
}

function peek(stack) {
  return stack.collection[stack.collection.length - 1];
}

function isEmpty(stack) {
  return stack.collection.length === 0;
}

function clear(stack) {
  stack.collection.length = 0;
}

push(stack, 'first') と push(stack, 'second') を実行した後、テストは stack.collection が ['first', 'second'] と等しいことを期待します。unshift()/shift() を使ってインデックス 0 の位置でアイテムを追加・削除しないでください。元のユーザーストーリーでは、これらの呼び出し規約とコレクションの順序に関する要件が省略されていましたが、プルリクエストによって説明が更新されます。

参照 Issue #70686
トラブル対応
freeCodeCampのバックエンドコースのコンテナが「Preparing the course」の状態で止まり、bashの「'$\r': command not found」エラーが発生するのはなぜですか?

このエラーは、Windows(WSLの外)でリポジトリをクローンした際に、Windows形式のCRLF(\r)改行コードが./bash/sourcerer.shと./bash/.bashrcに追加されることが原因です。リポジトリ内のファイル自体はLF改行を使用しているため、これはローカルのGit設定の問題です。修正方法は以下の通りです:

1. Gitが改行コードを変換しないように設定し、リポジトリを再クローンします:

git config --global core.autocrlf false

その後、back-end-development-and-apisディレクトリを削除して、再度クローンしてください。

2. または、コンテナ内で影響を受けたファイルからキャリッジリターンを除去します:

sed -i 's/\r$//' ./bash/sourcerer.sh ./bash/.bashrc

不可視文字はsed -n 'l' ./bash/sourcerer.shで確認できます。改行コードを修正したら、freeCodeCamp: Run Courseコマンドを再度実行してください。コースが正常に読み込まれるはずです。Windowsで開発する場合は、WSL内で作業すればこの問題を完全に回避できます。

参照 Issue #71378
informational
ウェブサイトのパンくずリストは、サイトの階層構造に基づいていますか、それともユーザーの閲覧履歴に基づいていますか?

freeCodeCamp のレッスンにおけるパンくずリストは、ユーザーが実際にたどった経路ではなく、サイト階層内でのページの位置を表します。たとえば、Home / Electronics / Phones / Smartphone XYZ は、それらのページがサイト構造内の親セクションであることを意味します。検索から直接アクセスしたユーザーにも同じトレイルが表示されるべきです。パンくずリストのリンクを必ずしも「以前に訪問したページ」であるかのように説明してはいけません。実際にたどった経路を追跡する履歴ベースのパンくずリストは、別個の、あまり一般的でないパターンであり、そのように明示的にラベル付けすべきです。メインナビゲーションのリンクはネストされたカテゴリへのショートカットである場合があるため、トップレベルの階層レベルにのみ対応する必要はありません。W3C ARIA のパンくずリストパターンに従い、階層トレイルには <nav aria-label="Breadcrumb"> のような専用の <nav> 要素を使用してください。

参照 Issue #70779