Angular๋ Google์์ ๊ฐ๋ฐํ๊ณ ์ ์ง๋ณด์ ์ค์ธ TypeScript ๊ธฐ๋ฐ์ ํ๋ก ํธ์๋ ํ๋ ์์ํฌ์
๋๋ค.
๋จ์ํ UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋๋ผ, ์ ์ฒด ์ ํ๋ฆฌ์ผ์ด์
์ ๊ตฌ์ถํ ์ ์๋ ์์ ํ ์๋ฃจ์
์ ์ ๊ณตํฉ๋๋ค.
๐น Angular๋ AngularJS (v1.x) ์ ๊ตฌ๋ถ๋์ด์ผ ํ๋ฉฐ,
ํ์ฌ ์ฐ๋ฆฌ๊ฐ ๋งํ๋ Angular๋ v2 ์ด์ ๋ฒ์ (2016๋ ์ดํ) ์ ์๋ฏธํฉ๋๋ค.
๊ฐ๋ | ์ค๋ช |
---|---|
๐งฑ Component ๊ธฐ๋ฐ ๊ตฌ์กฐ | UI๋ ์ปดํฌ๋ํธ ๋จ์๋ก ๊ตฌ์ฑ๋๋ฉฐ ์ฌ์ฌ์ฉ ๊ฐ๋ฅ |
๐ TypeScript ์ฌ์ฉ | ์ ์ ํ์ ๊ธฐ๋ฐ์ผ๋ก ์ฝ๋ ์์ ์ฑ ์ฆ๊ฐ |
๐ ์๋ฐฉํฅ ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ | ๋ทฐ์ ๋ชจ๋ธ ๊ฐ ์ค์๊ฐ ๋๊ธฐํ ๊ฐ๋ฅ |
๐งฉ ๋ชจ๋ ์์คํ | ์ฑ์ ๋ ผ๋ฆฌ์ ๋จ์(๋ชจ๋)๋ก ๋๋์ด ๊ด๋ฆฌ |
๐ ๊ฐ๋ ฅํ ๋ผ์ฐํ ์์คํ | SPA ๊ตฌ์กฐ์์ URL ๊ธฐ๋ฐ ๋ผ์ฐํ ์ ๊ณต |
๐ HTTPClient ๋ด์ฅ | ๋ฐฑ์๋ API ํธ์ถ ๋ด์ฅ ๋ชจ๋๋ก ๊ฐ๋ฅ |
๐ฆ RxJS ๊ธฐ๋ฐ์ ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ | ๋น๋๊ธฐ ๋ฐ์ดํฐ ํ๋ฆ ์ ์ด ๊ฐ๋ฅ |
โ ์์กด์ฑ ์ฃผ์ (Dependency Injection) | ํ ์คํธ ์ฉ์ด์ฑ, ํ์ฅ์ฑ ํฅ์ |
app/
โโโ app.module.ts โ ๋ฃจํธ ๋ชจ๋
โโโ app.component.ts โ ์ปดํฌ๋ํธ ํด๋์ค (๋น์ฆ๋์ค ๋ก์ง)
โโโ app.component.html โ ํ
ํ๋ฆฟ (UI ๊ตฌ์กฐ)
โโโ app.component.css โ ์คํ์ผ
โโโ service/ โ ์๋น์ค (๋น์ฆ๋์ค ๋ก์ง ๋ถ๋ฆฌ)
Angular๋ CLI ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ ์์ฑ ๋ฐ ๊ด๋ฆฌ๊ฐ ๋งค์ฐ ํธ๋ฆฌํฉ๋๋ค.
npm install -g @angular/cli # CLI ์ค์น
ng new my-app # ์ ํ๋ก์ ํธ ์์ฑ
cd my-app
ng serve # ๊ฐ๋ฐ ์๋ฒ ์คํ (localhost:4200)
app.component.ts
)import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html'
})
export class AppComponent {
title = '๋์ ์ฒซ ๋ฒ์งธ Angular ์ฑ';
}
app.component.html
)<h1>{{ title }}</h1>
<input [(ngModel)]="title">
<p>์
๋ ฅํ ์ ๋ชฉ: {{ title }}</p>
app.module.ts
)import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { AppComponent } from './app.component';
@NgModule({
declarations: [ AppComponent ],
imports: [ BrowserModule, FormsModule ],
providers: [],
bootstrap: [ AppComponent ]
})
export class AppModule { }
๊ธฐ๋ฅ | ์ค๋ช |
---|---|
@Component | UI ๋จ์ ์ ์ธ |
@NgModule | ์ฑ์ ๋ฃจํธ ๋ฐ ์๋ธ ๋ชจ๋ ์ค์ |
@Injectable | ์๋น์ค ํด๋์ค ์ ์ธ |
RouterModule | ๋ผ์ฐํ ์ค์ |
HttpClientModule | REST API ํธ์ถ ๊ฐ๋ฅ |
ngModel | ์๋ฐฉํฅ ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ |
*ngFor , *ngIf | ํ ํ๋ฆฟ ๋ฐ๋ณต ๋ฐ ์กฐ๊ฑด ์ฒ๋ฆฌ |
ํญ๋ชฉ | Angular | React | Vue |
---|---|---|---|
๊ตฌ์กฐ | ์์ ํ ํ๋ ์์ํฌ | UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ | ์ง์ ์ฅ๋ฒฝ ๋ฎ์ ํ๋ ์์ํฌ |
์ธ์ด | TypeScript | JavaScript / TS ๊ฐ๋ฅ | JavaScript / TS ๊ฐ๋ฅ |
๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ | ์๋ฐฉํฅ | ๋จ๋ฐฉํฅ | ์๋ฐฉํฅ |
๋ฌ๋ ์ปค๋ธ | ๋์ | ์ค๊ฐ | ๋ฎ์ |
๊ธฐ์ ์ฌ์ฉ์ฒ | Google, ์ผ์ฑ, Microsoft ๋ฑ | Meta, Airbnb, Netflix ๋ฑ | Alibaba, Xiaomi ๋ฑ |
ํญ๋ชฉ | ์ค๋ช |
---|---|
ํ๋ ์์ํฌ๋ช | Angular |
์ธ์ด ๊ธฐ๋ฐ | TypeScript |
๊ตฌ์กฐ ํน์ง | Component + Module ์ค์ฌ |
๋ฐ์ธ๋ฉ ๋ฐฉ์ | ์๋ฐฉํฅ ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ |
๊ณต์ ๋๊ตฌ | Angular CLI |
์ ํฉ ๋์ | ๋ํ SPA, ๋ณต์กํ B2B/B2C ์์คํ |
์ค๋์ AI ์ํ๊ณ์ ํ์ ์ ์ธ ๋ณํ๋ฅผ ๊ฐ์ ธ์ฌ ๊ฒ์ผ๋ก ์์๋๋ MCP(Model Context Protocol)์ ๋ํด ์์ธํ ์์๋ณด๊ฒ ์ต๋๋ค. 2024๋ …
1. TPM์ด๋? TPM(Trusted Platform Module)์ ๊ตญ์ ํ์ค ๊ธฐ๋ฐ์ ๋ณด์ ํ๋์จ์ด ์นฉ์ผ๋ก, ์ปดํจํฐ๋ ๋์งํธ ์ฅ๋น ๋ด์์…
์์ฆ2, ๊ธฐ๋ํ๋๋ฐ... ์ค๋ง๋ ๋ ๋ฐฐ!๋๋์ธ์์ ๊ธฐ๋ํ๋๋ฐ, ์ ๋ต๋ ์๋ ์๊ธฐ๋ค๋ง์ ๊ฐ์ ์ ๋ฐ๋ฅธ ํธ๊ฐ๋ฅด๊ธฐ, ์ ์น์ธ์์ด ๋์ด ๋ฒ๋ฆฐ…
BPF(Berkeley Packet Filter) ๋์ด๋ย ํด์ปค๊ฐ ๊ด๋ฆฌ์ ๋ชฐ๋ ๋ท๋ฌธ์ ์๋ก ๋ง๋ ๊ฒ์ ๋๋ค.ํด์ปค๊ฐ ๋ช ๋ น์ ๋ด๋ ค ํน์ ๋ฐ์ดํฐ๋ค์ ๋ท๋ฌธ์…
1. IPC์ ๊ฐ๋ ๊ณผ ๋ชฉ์ 1.1 IPC๋ ๋ฌด์์ธ๊ฐ? IPC (Inter-Process Communication)๋ ์ด์์ฒด์ ๋ด์ ์๋ก ๋ ๋ฆฝ์ ์ธ ํ๋ก์ธ์ค…