2024年9月26日(木)
皆さん、こんにちは!
何よりもまず、Grëg Häris と開発チーム全員の揺るぎない励ましに心からの感謝の意を表したいと思います。私が 100 日間のコード チャレンジに着手したとき、私の進歩において開発がどれほど重要であるかを垣間見ただけでした。 Dev でブログを書くことで、私にとってオンライン学習サークルが完成し、学んだことすべてが統合され、現実世界のコンテキストでテストされます。 Codecademy のレッスンと同様、学習はソーシャルなものであり、Dev に投稿できることは贈り物であり、私も皆さんから多くのことを学ぶので、多方向の経験です。
課題を克服する
人生はいくつかの変化球を私に投げかけ、ブログのスケジュールに混乱をもたらしました。これについては私が全責任を負います。これらの課題にもかかわらず、たとえ1日1時間だけだったとしても、私はコーディングを続けました。優先順位を付けなければならなかったのですが、残念ながらブログは後回しにせざるを得ませんでした。少し考えた結果、約10日間の休暇を停学処分とすることにしました。ブログを書かないのは理想的ではありませんが、妥協する必要がありました。 78日目に受け取ります。
ブログとコーディングのバランス
ブログには労力が必要であることを認識し、週に最大 2 日をブログ以外のコーディングに充てることにしました。週末までに留めたいと思いますが、いつでも構いません。お気づきかと思いますが、私のブログ スタイルは手抜きで、課題の一部はより困難になってきています。
今日の学習: Arrow Factory 関数
今日、アローファクトリー関数はボディコンテンツのスタイルに基づいて異なる動作をし、それが柔軟性に大きな影響を与える可能性があることを学びました。オンライン学習では、これらの微妙な詳細が無視されることが多く、私が共有したい興味深い層が追加されます。
プロジェクトのハイライト: 今日の服装ジェネレーター
たとえば、今日の課題を考えてみましょう。それは単純に始まりました。少なくとも 3 つのデータを使用するオフライン メッセージ ジェネレーターでした。アイデアは、占い、星占い、または 3 つの情報に関連するメッセージのようなものを作成することでした。私は楽しみのために「今日の服装」ジェネレーターを作成することにしました。
次は難しい部分です。 3 ビットのデータを保持するオブジェクトと、データ部分をランダムに割り当てるヘルパー関数を備えたメッセージ生成関数を作成することで、シンプルにすることもできました。しかし、私は工場の機能を実践したいと思っていたので、これは絶好の機会でした。
ファクトリー関数は本質的に難しいものではありませんが、データと関数の両方が含まれています。本文の書き方が他の部分の書き方を決定し、一部の部分は暗黙的に機能することを学びました。オブジェクトのデータに完全にアクセスできるようにオブジェクト メソッドを取得するには、キーワード関数が必要です。従来の本文コンテンツ スタイルはより柔軟ですが、簡潔な本文コンテンツ スタイルは暗黙的にオブジェクトを返します。以下の私のコードは簡潔を示しています:
// Object of available outfit items const items = { shirt: ['swag t-shirt', 't-shirt with clever saying', 'sweater', 'hoodie'], pants: ['cargo pants', 'jeans', 'chinos'], shoes: ['sneakers', 'boots', 'sandals'], accessory: ['backpack', 'poof ball hat', 'ball cap', 'sunglasses'] }; // Utility function to randomly select an item in each category const selectRandomItem = category => { const randomIndex = Math.floor(Math.random() * items[category].length); return items[category][randomIndex]; }; // Outfit factory function const outfitFactory = () => ({ shirt: selectRandomItem('shirt'), pants: selectRandomItem('pants'), shoes: selectRandomItem('shoes'), accessory: selectRandomItem('accessory'), logOutfit: function() { // Note: ': function' so method can be used with dot notation console.log("Outfit:"); console.log(`Shirt: ${this.shirt}`); console.log(`Pants: ${this.pants}`); console.log(`Shoes: ${this.shoes}`); console.log(`Accessory: ${this.accessory}`); } }); const outfit = outfitFactory(); outfit.logOutfit(); // Output, randomly selected: // Outfit: // Shirt: swag t-shirt // Pants: cargo pants // Shoes: boots // Accessory: backpack
GitHub ブランチングの採用
最後に、このプロジェクトの目的は、将来の開発者が行うのと同じように、ブランチを使用して GitHub を操作できるようにすることです。私はここ数年 Git を非公式に使用していましたが、ブランチ化によりプル リクエスト、ブランチのマージ、リベースに加え、stash、pop、apply などの機能が利用可能になります。これらは私にとっては初めてのことです。
コーディングを楽しんでください!
以上がコードの日 / 日数: 学習と成長の旅の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。