dimohy
1
์ด๊ณณ์ dimohy์ ์ต๊ทผ ๊ด์ฌ์ฌ๋ฅผ ๋๊ธ๋ก ์ ๋ฆฌํ๊ณ , ๋ณด์ํ๋ ค๊ณ ํฉ๋๋ค.
-
slog ๊ฐ๋ฐ
slog๋ blog ์์คํ
๊ณผ ์ ์ฌํ๋ ์ฒ์ฒํ ์์ ์ ๊ธ์ ์์ฑํ๊ณ ํ์ฅํด๋๊ฐ๋ ์ปจ์
์ผ๋ก ์ฌํด ์ด ๊ฐ๋ฐํ๋ค ํ์ฌ ๋ฉ์ถฐ ์๋ ์ํ์
๋๋ค. DBMS ์์กด์ฑ์ ์์ ๊ธฐ ์ํด ์์ฒด ํ์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ๋ฅผ ์ทจํ์์ต๋๋ค.
๋์ผํ ์ปจ์
์ผ๋ก DBMS์ ์์กด์ ์ด์ง ์์ผ๋ ์ดํ ํ์ฅ ๊ฐ๋ฅํ๋๋ก EF Core์ ํ์ผ ๊ธฐ๋ฐ Provider๋ก ์ฌ๊ตฌํํ๋ ค๊ณ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ํ๋ฉด ๋ ๋๋ง์ ์ฌํด ์ถฉ๋ถํ ๊ฒฝํํ Blazor Server๋ฅผ ์ด์ฉํ๋ ค๊ณ ํฉ๋๋ค.
slog๊ฐ ์์ฑ๋๊ธฐ์ ์งํ์ํฉ์ ์ด๊ณณ์ ๋๊ธ๋ก ๊ณผ์ ์ ๊ณต์ ํ ์์ ์
๋๋ค.
-
Raspberry Pi 4๋ฅผ ์ด์ฉํด ๊ฐ์์๋ฃ ์์ฑ
ํ์ฌ ์ ๊ตฌ๋ ์๊ฐ๊ฐ์ฌ๋ฅผ ํ๊ณ ์์ต๋๋ค. ๋ด๋
1ํ๊ธฐ์ Raspberry Pi ๋ฑ์ SBC๋ฅผ ์ด์ฉํด ๊ฐ์๋ฅผ ์งํํ๊ธฐ ์ํด ๊ฐ์์๋ฃ๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค. ํ๊ต์์๋ python์ธ์ด๋ฅผ ์ด์ฉํด ์งํํ๋๋ฐ, ๊ต์๊ป ๊ฑด์ํ์ฌ .NET C#์ผ๋ก ๊ฐ์๋ฅผ ์งํํ๋ ค๊ณ ์ค๋น์ค์
๋๋ค.
Raspberry Pi 4๋ฅผ ์ด์ฉํด GPIO ๋ฐ ๋ค์ํ ํต์ Interface๋ฅผ ์ด์ฉํด Device๋ฅผ ์ ์ดํ๋ ์์ ๋ค์ ์์ฑํด ๋๊ฐ ์์ ์
๋๋ค.
-
์ฌํด๊น์ง ๊ฒฝํํ .NET ๊ธฐ์ ์ปจํผ๋ฐ์ค ์๋ฃ ์์ฑ
Raspberry Pi๋ฅผ ์ด์ฉํด ๋ณผ๋ง ์์คํ
์ ๊ฐ๋ฐํ์ฌ ํ์ฌ ์ด์ฉ์ค์ ์์ต๋๋ค. Blazor Server๋ฅผ ํตํด ์์ ํ ์์ค์ ์ฉ์ญ ์๋ฃจ์
๋ ๊ฐ๋ฐํ์ต๋๋ค. ์ด ๊ฒฝํ์ ๋ฐํ์ผ๋ก ์ปจํผ๋ฐ์ค์์ ๋ฐํํ ์๋ฃ๋ฅผ ์์ฑ ํ๊ณ ๋
์์๊ฒ ์๋ฏธ์๋ ์ ๋ณด๋ฅผ ์ ๋ฌํ๊ณ ์ ํฉ๋๋ค.
7๊ฐ์ ์ข์์
dimohy
2
Raspberry Pi 4์์ ๊ตฌ๋ํ ๋ชจ๋์ ๊ฐ๋ฐ ์ค์
๋๋ค. ์ด 4๊ฐ์ง ๊ธฐ๋ฅ์ด ์์ผ๋ฉฐ, TTS, STT, ์์์ธ์ ๋ฐ ์ฅ๋น์ ์ด์
๋๋ค. ์ด๊ธฐ ๋ฒ์ ผ์ Google Cloud Text To Speech ๋ฐ Google Cloud Speech To Text๋ก ๊ฐ๊ฐ TTS, STT๋ฅผ ๊ตฌํ์ค์ด๋ฉฐ, API๋ฅผ ์ฌ์ฉํ๋ ์์ค์ด๋ฏ๋ก ํน๋ณํ ๋๋จํ ์ฝ๋๋ ์์ต๋๋ค. ๋ค๋ง, ์คํผ์ปค ๋ฐ ๋ง์ดํฌ๋ฅผ ๊ฐ๋ฐํ๊ฒฝ์ธ ์๋์์ ์ธ์ํ๊ณ Raspberry Pi์์ ์์ค์ฝ๋ ์์ ์์ด ์ธ์ํ๋ ์ ๋์ด๊ณ ,
์ฅ๋น์ ์ด๋ GPIO๋ฅผ ํตํด I/O๋ฅผ ํ ์์ ์
๋๋ค. (10๊ฐ input ๋ฐ 10๊ฐ output) .NET์์ ์ด๋ฏธ GPIO์ ๋ํ ์ง์์ด ์์ผ๋ฏ๋ก ์ด๊ฒ๋ ๋๋จํ๊ฑด ์์ต๋๋ค.
๊ทธ๋์ ๋ ์์ ์ ๋นํด Raspberry Pi์ .NET ์ผ๋ก ์ด๊ฒ์ ๊ฒ ๋ง๋ค์ ์์ด์ ์ข์ต๋๋ค. .NET ํ์๋ ๋ถ Raspberry Pi๋ฅผ ์ฅ๋๊ฐ์ผ๋ก ์ด ๋ง ํฉ๋๋ค.
4๊ฐ์ ์ข์์
dimohy
4
Caddy๋ก ASP.NET Core ํธ์คํ
๋ฌธ์ ์์ฑ์ค
Markdown ์ฐ์ตํ๋ฉด์ ๋์ ์ค์ด๋ค.
๋ฌด์ธ๊ฐ๋ฅผ ํ์ตํ๋๊ฑด ํญ์ ๋ฌผ๋ฆฌ์ ์ธ ์๊ฐ์ด ํ์ํ๊ณ ์ด๋์ ๋์ ์ง์ค๋ ๋ฐ๋๊ฐ ํ์ํ๋ค. ๊ท์ฐฎ์ ๊ณผ์ ๋ ๊ฑฐ์ณ์ผ ํ๋ค.
Caddy๋ Go์ธ์ด๋ก ์์ฑ๋์๋ค ํ๋ค. ์ข
์์ฑ์ด ์๊ณ 30MB์ ๋์ ๋จ์ผํ์ผ๋ก ๋์ด์๋ค. Caddy2๋ก ASP.NET Core๋ฅผ ํธ์คํ
ํ ๊ธ์ด ์์ด Markdown๋ ์ฐ์ตํ ๊ฒธ ํด๋ณด๊ณ ์๋ค.
๋ด์ผ ํฌ์คํ
ํ ์ ์๊ธฐ๋ฅผ
2๊ฐ์ ์ข์์
dimohy
7
ver 0.1 ์ ๋ ์์ค์ ๋ฌธ์์ด์ง๋ง, ๊ธฐ์กด Windows + IIS ํ๊ฒฝ์์ ์ด์ํ๊ณ ์์๋ ๋์์ธ์ค์ (mayker5.com)์ Ubuntu + Caddy ํ๊ฒฝ์ผ๋ก ์ ์ด์ ํ๋ค.
https ssl ์ธ์ฆ์๋ฅผ ์์์ ๊ฐฑ์ ํด์ค ๊ฒ ๋ง์ผ๋ก๋ ์ ์ฉํ๊ฒ ๊ฐ๋ค.
Caddy๋ฅผ ์ฌ์ฉํ์ฌ Linux์ ASP.NET Core ํธ์คํ
- ์ ๋ณด ๊ณต์ - ๋ท๋ท๋ฐ๋ธ (dotnetdev.kr)
2๊ฐ์ ์ข์์
dimohy
10
ํ์๋ค ๊ธฐ๋ง๊ณ ์ฌ ์ค์ด๊ณ ๋๋ถ์ 20๋ช
๋์์ ์ ํ
์คํธ๋ ํ๋ ์์ด๋ค์.
Blazor Server์ ๊ฒฝ์ฐ, HTML ์์ฑ์ด ์๋ฒ์์ ์ด๋ฃจ์ด์ง๊ธฐ ๋๋ฌธ์, StateHasChanged()
์ด ํธ์ถ๋์์ ๋ ๋๋๋ง์ด ์ฌ ํ๊ฐ ๋๊ณ , ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ณ๊ฒฝ๋ ๊ฒ๋ง SignalR๋ก ํด๋ผ์ด์ธํธ์ ์ ์ก๋์ด ๋ถ๋ถ ์ฌ ๋๋๋ง ๋๋ค ํ๋๋ผ๋ foreach ๋ฌธ ๋ฑ CPU ์์์ ๋ง์ด ์ฌ์ฉํ ์ฌ์ง๊ฐ ์์ด ๋ณด์
๋๋ค.
B2B๋ชจ๋ธ์ด๊ฑฐ๋ ์ฌ๋ด ์๋ฃจ์
์ ๋์ ๊ท๋ชจ๋ ์ด์จ๋ Blazor Server๊ฐ ๋งค๋ ฅ์ ์ด๊ธฐ๋ ํฉ๋๋ค. ์ด์ ๋,
์๋ฒ์์ ์ฐ๊ฒฐ ๋น ์ปจํ
์คํธ๋ฅผ ์ ์งํ๊ธฐ ๋๋ฌธ์ ์ ์ ๋ก ์ค์๊ฐ ๋ค์ค์ ์์ ์ฒ๋ฆฌ๊ฐ ๊ฐํธํด์ง๋๋ค. ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ ๋ ์ฐ๊ฒฐ๋ ํด๋ผ์ด์ธํธ ๋ค์๊ฒ ์ ํํ ์ ์๊ณ (์๋ฅผ ๋ค์ด ์ฑํ
๋ฐฉ) ์ฆ๊ฐ์ ์ด์ฃ .
2๊ฐ์ ์ข์์
dimohy
11
slog๋ ์ด๋ค ์๋น์ค ํํ๊ฐ ๋ ๊น?
๊ฝค ์ ๋ถํฐ ์ ์ฌํ ์ง์ผ๋ณด๋ ์ฌ์ดํธ๊ฐ ์๋๋ฐ velog์
๋๋ค.
๊ทธ ์ฌ์ด ๋ง์ ๊ฐ๋ฐ์ ๋ถ๋ค์ด ๊ฐ์
์ ํด์ ํ์ฉ์ด ํญ๋ฐ์ ์ผ๋ก ๋์ด๋ฌ๊ณ , ์ปจํ
์ธ ์ ์ง๋ ์๋นํ ๋์์ก์์ ์ ์ ์์์ต๋๋ค.
์๋น์ค์ ๋ฐฉํฅ์ฑ์ ๋ฌผ๋ก ๋ค๋ฅด์ง๋ง, slog์ ์ฒซ๋ฒ์งธ ํํ๋ ์๋ง velog๋ฅผ ๋ฎ์์์ง ์์๊น ํฉ๋๋ค.
2๊ฐ์ ์ข์์
dimohy
12
๊ธฐ๋ง๊ณ ์ฌ์ฉ์ผ๋ก Blazor Server๋ฅผ ์ด์ฉํด ๊ฐ๋จํ ๋ง๋ ์์ค์ฝ๋ ๊ณต์ ํฉ๋๋ค.
5๊ฐ์ ์ข์์