μΆμ²: C# Hard Truths: Program.cs was a Lie, Startup.cs is a Waste of Space, and more... - YouTube
μν°ν΄ 보μκΈ°μ μ μ λ μμ΄λ₯Ό λͺ»ν©λλ€. μ νλ² λ²μκΈ°λ₯Ό
μ¬μ©νλ€λ³΄λ μ κ° μλͺ»μ΄ν΄ν μλ μμΌλ μ°Έκ³ λ°λΌλ©΄ ν΄λΉ κ°μ’λ₯Ό μ§μ μμ²ν΄λ³΄μκ³
μ§μ ν΄μ£Όμλ©΄ μμ νκ² μ΅λλ€. κ·Έλ¦¬κ³ 1μκ° μ§λ¦¬ κ°μλ₯Ό λ΄€λλ° μμ§ν ν°λ΄μ©μ΄ μμ΄μ μ€λλ pickμ μλͺ»νκ² κ°μ κ΄΄λ‘μ΅λλ€.γ γ
program.csλ κ±°μ§μ΄λ€. λ€μ μ΄μν λͺ μ λ‘ μμνλ κ°μ’μ λλ€.
program.csλ .net6 κΉμ§λ μμ νμμμ΅λλ€. startup.cs λ λλΉμμ΅λλ€.
vs2022μμ console νλ‘μ νΈλ₯Ό λ§λ€μ΄λ³΄κ² μ΅λλ€.

λ²μ μ 5.0μ μ ννκ² μ΅λλ€.
using System;
namespace oldconsole
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
μ΅μν templateμ λλ€.
.net 7.0μΌλ‘ consoleμ μμ±νκ² μ΅λλ€.
Console.WriteLine("Hello, World!");
κ°μκΈ° λ°λμ΄ μλ§μ .Net κ°λ°μλ€μ κ΄΄λ‘νλ μλ‘μ΄ templateμ
λλ€.
ν¨μ¬ simple νμ§λ§ μ΄ λ¬Έλ²μ μμ§λ λ―μλλ€.(κ°μΈμ°¨)
new templateμμλ usingμ λͺ
μμ μΌλ‘ μ μΈλμμ§ μμ§λ§
μ¨κ²¨μ Έμμ΄ System.Console.WriteLine μλ Console.WriteLine
λ¨μΆ μ¬μ©μ΄ κ°λ₯ν©λλ€.
μ΄κ±΄ κ°λ°μμ λ°λΌ νΈλΆνΈκ° μλ msμ κ°μ΄λμ
λλ€.
λ§μκ²μ΄ μλ΅λμ΅λλ€. μλ κ°μΆμ΄μ Έμμ΅λλ€.
Console.WriteLine("Hello, World!");
Console.WriteLine("zzz");
Console.WriteLine(args[0]);
μ¬μ§μ΄ args μ μΈμ λ³μλ κ°μΆμ΄μ Έμ΅λλ€.
μ΄ μλ‘μ΄ Templateλ κΈ°μ‘΄κ³Ό λ§μ΄ λ€λ¦
λλ€.
μλ₯Όλ€μ΄ Test λΌλ λ‘컬 Methodλ₯Ό μ μΈνμλ λͺ¨μ΅μ
λλ€.
μλΉν κΉλνκ³ codeκ° μ€μ΄λ κ²μ μμμμ΅λλ€.
μ¬μ§μ΄ main ν¨μμμλ namespace κΉμ§ μλ΅λκ²μ λ³Όμμμ΅λλ€.
Why ?? μμΌκΉμ ? namespace μ μ©λλ λ€λ₯Έκ³³μμ μ°Έμ‘°νκΈ° μν΄μμ λλ€.mainμ μ°Έμ‘°ν μ΄μ κ° μκΈ° λλ¬Έμ΄λΌκ³ ν©λλ€.κ·Έλ¦¬κ³ main methodλ νλ²λ§ νΈμΆλκ³ κ±°μ λ³κ²½ν μΌμ΄ μλ μ΅μμ λ¬Έμ λλ€.
νμ§λ§ μ΄μ μ junior κ°λ°μμκ² λ μ΄μ§λ§ μλμ΄ κ°λ°μμκ² μ’μ κ²½νμΌμ μμ΅λλ€.
μ¬κΈ°κΉμ§ μ κ° μ λλ‘ μ΄ν΄νλμ§ λͺ¨λ₯΄μ§λ§ tim μμ μ¨κ»μλ console μμλ
μ’μ λ°©λ²μΌλ‘ μ¬κΈ°λκ² κ°μ΅λλ€.
μ΄μ webνλ‘μ νΈμμ κΈ°μ‘΄
startup.cs κ° μΌλ§λ κ³΅κ° λλΉμ΄κ³ νΌλμ μ£Όλμ§ μ€λͺ
νκ² μ΅λλ€.
λκ°μ Razor μΉμ± νλ‘μ νΈλ₯Ό μμ±νκ² μ΅λλ€.
νκ°λ .net 5.0 templateμ
λλ€.
λ€λ₯Έ νκ°λ 7.0 template μ
λλ€.
μμλ€μνΌ 5.0 template λ 10κ° μ΄μμ using λ¬Έκ³Ό program,startup λ±
볡μ‘ν ꡬμ±μ ν©λλ€.
μΌμͺ½ 5.0 μ€λ₯Έμͺ½ 7.0 κ΅μ₯ν λ³νμ΄κ³ κ°μ λͺ©μ μ΄μ§λ§ λ§€μ° λ§μ μ°¨μ΄λ₯Ό 보μ λλ€.
κΈ°μ‘΄ 5.0μμ program.csλ startup.csλ₯Ό λ¨μ νΈμΆλ§ ν΄μ£Όκ³ νλ‘κ·Έλ¨ μ§μ μ μ μν λ§ ν©λλ€. νμ§λ§ 7.0μμλ configuration,Configure methodλ₯Ό νλμ μ§μ μ μΌλ‘ λ¨μννμ΅λλ€. μ΄κ²μ 57μ€+27μ€μ codeλ₯Ό 25μ€λ‘ μ€μμ΅λλ€.
κ·Έλ¦¬κ³ μ°λ¦¬λ global usingμ νμ©ν μ μμ΅λλ€.
λ°λ³΅λλ using μ νκ³³μ λͺ°μλ£μμ μλ νκΈ°μ μΈ λ°©λ²μ
λλ€.
μ¬κΈ°μμ κ·ΈμΉμ§ μκ³ micro softλ {} κ°λ‘λ μμ΄μ΅λλ€.
κ·Έλ¦¬κ³ λ λ³νμ μ
μ΄κΈ°κ°λ μ€μ μ΄ κ°λ₯νκ³ μ νμ§λ§ null νμ©μ μνν©λλ€. ? λ₯Ό λΆμ΄κ³ nullable
μ¦ nullμ νμ©νλ€λ μλ―Έμ
λλ€.
λͺ
μμ nullμ κ΄λ¦¬λ μ°λ¦¬κ°μ compile μΈμ΄λ₯Ό λ€λ£¨λ κ°λ°μμκ² μ€μν λ¬Έμ μΌμλ
μμ΅λλ€. msλ μ΄κ²μ λν μ ν μ΅μ
μ μ 곡νμ΅λλ€.
μμ¦ TIM COREY λμ κ°μ’λ κ°λ°μλ‘ νμ¬κΈ μ΄ λ°©μμ΄ μ΄λ λ μ΄κ±΄ μ΄λ»κ² μκ°νλλ± κ°λ°μμ μ±ν₯μ λν νλλ₯Ό λ§μ΄ λμ§μλ κ² κ°μ΅λλ€.
μ λ§ 1μκ°μ λκ° μμ΄λ³΄μ΄λ μ λͺ©μ κ°μλ₯Ό 보면μ μ κ° μ λλ‘ μ΄ν΄λ₯Ό λͺ»νκ²μ΄κ² μ§λ§ ν° λ΄μ©μ΄ μμ΄μ μ½κ° μ΅μΈν©λλ€. γ γ μλ§ tim μ μλμ κ°μλ₯Ό μ§μ μκ°ν΄μΌ 100% λ΄μ©μ΄ λμ€λμ§ β¦