
| ํญ๋ชฉ | ํ๋ก๊ทธ๋จ | ํ๋ก์ธ์ค |
|---|---|---|
| ์ํ | ์ ์ | ๋์ |
| ์์น | ์ ์ฅ์ฅ์น | ๋ฉ๋ชจ๋ฆฌ |
| ๊ฐ์ | ํ๋ | ์ฌ๋ฌ ๊ฐ ๊ฐ๋ฅ |
| ํญ๋ชฉ | ํ๋ก์ธ์ค | ์ค๋ ๋ |
|---|---|---|
| ๋ฉ๋ชจ๋ฆฌ | ๋ ๋ฆฝ์ | ๊ณต์ |
| ํต์ | IPC ํ์ | ๊ณต์ ๋ฉ๋ชจ๋ฆฌ |
| ์์ ์ฑ | ์ค๋ฅ ๊ฒฉ๋ฆฌ ๊ฐ๋ฅ | ์ค๋ฅ ์ ํ ๊ฐ๋ฅ |
| ์์ | ๋ธ๋ผ์ฐ์ ์ฐฝ | ํญ๋ค |
New โ Ready โ Running โ Waiting โ Ready โ Running โ Terminated
| ํธ์ถ | ์ค๋ช |
|---|---|
| fork() | ๋ถ๋ชจ ๋ณต์ |
| exec() | ์๋ก์ด ํ๋ก๊ทธ๋จ ์คํ |
| wait() | ์์ ์ข ๋ฃ ๋๊ธฐ |
| exit() | ์ข ๋ฃ |
| kill(pid, sig) | ์๊ทธ๋ ์ ์ก (์ข ๋ฃ ๋ฑ) |
fork() โ exec() โ exit() โ wait()
stateDiagram-v2
[*] --> New
New --> Ready : ์์ฑ ์๋ฃ
Ready --> Running : CPU ํ ๋น
Running --> Terminated : ์ข
๋ฃ
Running --> Ready : ํ์์ฌ๋ผ์ด์ค ์ข
๋ฃ
Running --> Waiting : I/O ์์ฒญ
Waiting --> Ready : I/O ์๋ฃ
ํํ์ด์ง์ ์ ์ํด github๋ก ๋ก๊ทธ์ธํ๋ค

vscode ์์ git add commit push gui๋ก ์ ๊ณตํด์ค๋ค.


์ด ํ์ด์ง๋ฅผ ๋ฐ๋ผํ๋ฉด ๋๋ค

โ๏ธ shell - npm (vite ver.)
npm create vite@latest my-project
cd my-project
npm install
npm install tailwindcss @tailwindcss/vite
๐ vite.config.js
import { defineConfig } from 'vite'
import tailwindcss from '@tailwindcss/vite'
export default defineConfig({
plugins: [
tailwindcss(),
],
})
๐ index.css
@import "tailwindcss";
๐ main.jsx
import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import './index.css'
import App from './App.jsx'
createRoot(document.getElementById('root')).render(
<StrictMode>
<App />
</StrictMode>,
)
๐ app.jsx
const App = () => {
return <div className="bg-amber-300 text-2xl">App</div>;
};
export default App;
โ๏ธ shell - npm
npm run dev
๐ฆsrc
โฃ ๐assets
โฃ ๐components
โ โฃ ๐Calendar.jsx
โ โ ๐DateCard.jsx
โฃ ๐App.jsx
โฃ ๐index.css
โฃ ๐main.jsx
โ ๐scheduleList.json
๐App.jsx
import Calendar from "./components/Calendar";
const App = () => {
return (
<div className="bg-red-100 min-h-screen flex justify-center items-center">
<Calendar />
</div>
);
};
export default App;
๐Calendar.jsx
import DateCard from "./DateCard";
import scheduleList from "../scheduleList.json"
const Calendar = () => {
return (
<div className="bg-blue-200 min-w-7xl rounded-2xl shadow p-20">
<h1 className="bg-white mb-6 text-right font-bold text-4xl p-4 rounded-2xl">
August, 2025
</h1>
<div className="grid grid-cols-7 justify-items-center gap-4">
{scheduleList.map((value) => (
<DateCard
key={value.date}
date={value.date}
todos={value.todos}
/>
))}
</div>
</div>
);
}
export default Calendar;
๐DateCard.jsx
const DateCard = ({ date, todos }) => {
return (
<div className="bg-white w-40 h-60 rounded-2xl">
<div className="bg-red-400 text-2xl font-semibold text-right px-2 rounded-t-2xl">{date}</div>
<div className="text-lg p-2"></div>
<div className="text-lg p-2 flex-col gap-2">
<div>{todos.map((value, idx) => (
<p key={idx}>{value}</p>
))}</div>
</div>
</div>
);
}
export default DateCard;
๐scheduleList.json
[
{
"date": 1,
"todos": [],
"isSat": false,
"isHoliday": false
},
...
]
๐main.jsx
import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import './index.css'
import App from './App.jsx'
createRoot(document.getElementById('root')).render(
<StrictMode>
<App />
</StrictMode>,
)