์๋ ํ์ญ๋๊น?
์ ๋ ๋๋ก ๋งตํ ์ ์๋ก์, ํ์ฌ ๋๋ก ์ ์ด์ฉํ์ฌ ๋งตํ์ ๊ด์ฌ์๋ ๋ถ๋ค์๊ฒ ํ์ํ ๊ฐ์ข๋ฅผ ๊ฐ์คํ์์ต๋๋ค. ์ฒ์ ๋๋ก ๋งตํ์ ํ๊ณ ์ถ์๋ถ๋ค์ ๋ฌด์๋ถํฐ ์์ํด์ผ ๋ ์ง ๋ชจ๋ฅด๋๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ด ๊ฐ์ข๋ ๊ทธ๋ฐ ๋ถ๋ค์ ์ํ์ฌ ๊ผญ ํ์ํ ๋ถ๋ถ์ ๋ํ์ฌ ํต์ฌ์ ์ธ ๋ถ๋ถ์ ์์ฝํ์ฌ ๋ด์์ต๋๋ค.
๋ํ, Nuxt 3๋ฅผ ํ์ฉํ ์น ๊ฐ๋ฐ ๊ฐ์๋ฅผ ์งํํ๋ ๊ฐ์ฌ์ ๋๋ค. ์ด ๊ฐ์์์๋ Nuxt 3, Pinia, OpenWeatherMap API, Tailwind CSS๋ฅผ ํ์ฉํ์ฌ ์ค์ ํ๋ก์ ํธ์ธ ๋ ์จ ์ฑ์ ์ง์ ๋ง๋ค์ด ๋ด ๋๋ค. API ์ฐ๋, ์ํ ๊ด๋ฆฌ, ๋ฐ์ํ UI ์ค๊ณ, ๋ฐฐํฌ๊น์ง ๋ฐฐ์ ์ค๋ฌด์์๋ ํ์ฉํ ์ ์๋ ๊ธฐ์ ์ ์ตํ ์ ์์ต๋๋ค. ์ฝ๊ณ ์ค์ฉ์ ์ธ ๊ฐ์๋ก Nuxt 3์ ํต์ฌ์ ํจ๊ป ๋ง์คํฐํด ๋ณด์ธ์! ๐
Courses
Reviews
Posts
Q&A
3๊ฐ์์ app.vue ๋ฅผ ์์ ํด๋ Index Page๊ฐ ๋์ค์ง์์์.
์๋ ํ์ธ์!ํด๊ฒฐํ์ จ๋ค๋ ๋คํ์ ๋๋ค.Nuxt 4์์๋ ํ์ผ ๊ธฐ๋ฐ ๋ผ์ฐํ ์ ๊ธฐ๋ณธ ์์น๊ฐ app/pages/๋ก ๋ฐ๋์์ต๋๋ค.app.vue๋ ์ ์ญ ๋ ์ด์์(ํ๋ ์) ์ญํ ์ด๋ผ ๋ก โํ์ด์ง๋ฅผ ๋ผ์ ๋ฃ์ ์๋ฆฌโ๋ง ์ ๊ณตํ๊ณ , ์ค์ ๋ผ์ฐํธ(/)๋ฅผ ๋ง๋ค๋ ค๋ฉด app/pages/index.vue ํ์ผ์ด ์์ด์ผ ํฉ๋๋ค. ์ง์ app/pages/index.vue๋ฅผ ์์ฑํด ํด๊ฒฐํ์ ๋ฐฉ๋ฒ์ด ๋ง์ต๋๋ค!์ฐธ๊ณ ์ฉ ์์๋ ์๋์ ๊ฐ์ต๋๋ค.app/app.vue ํ์ผapp/pages/index.vue ํ์ผIndex Page์ถ๊ฐ์ ์ผ๋ก ์ค๋ช ์ ๋๋ฆฌ์๋ฉด,pages/(๋ฃจํธ)๋ ํธํ๋๊ธด ํ์ง๋ง, Nuxt 4์์๋ app/pages/ ์ฌ์ฉ์ ๊ถ์ฅํฉ๋๋ค.๊ตฌ์กฐ๋ฅผ ๋ฐ๊พผ ๋ค์๋ ๊ฐ๋ฐ ์๋ฒ๋ฅผ ํ๋ฒ ์ฌ์์ํ์ธ์. (.nuxt ์บ์๊ฐ ๋จ์ ์์ผ๋ฉด ๋ผ์ฐํธ ๋ฐ์์ด ๋ฆ์ ์ ์์ด์.)์ ๋ฆฌ๋ฅผ ํ๋ฉด, app.vue = ํ(๋ ์ด์์), app/pages/** = ์ค์ ํ์ด์ง์ ํด๊ฒฐํ์ จ์ต๋๋ค! ํ์ํ ๊ฒฝ์ฐ ๋ค๋ฅธ ํ์ด์ง๋ app/pages/about.vue์ฒ๋ผ ์ถ๊ฐํด ๋ณด์ธ์.
- 0
- 3
- 22
Q&A
๋งฅ(MAC) ํ๊ฒฝ์์๋ ๊ฐ์ ๋ชจ๋ ๋ด์ฉ์ ๋ฐ๋ผํ๋๋ฐ ๋ฌธ์ ๊ฐ ์์๊น์?
์๋ ํ์ธ์! ์๊ฐํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค ๐๊ฐ์๋ Windows ํ๊ฒฝ์์ ์ ์ํ์ง๋ง, macOS์์๋ Node.js์ Nuxt 3, ์ฝ๋ ํธ์ง๊ธฐ(Visual Studio)๊ฐ ์ค์น๋์ด ์๋ค๋ฉด ๋์ผํ๊ฒ ์งํํ์ค ์ ์์ต๋๋ค. Nuxt 3๋ ํฌ๋ก์คํ๋ซํผ์ด๋ผ ํต์ฌ ๋ด์ฉ์ OS์ ์ํฅ์ ๋ฐ์ง ์์์.์ฐธ๊ณ (๋งฅ๊ณผ ์๋์ฐ์ ์์ํ ์ฐจ์ด)ํฐ๋ฏธ๋ ๋ช ๋ น์ด๋ง ์กฐ๊ธ ๋ค๋ฆ ๋๋ค(PowerShell โ๏ธ Terminal/zsh).์งํ ์ค์ ๋งํ๋ ๋ถ๋ถ์ด ์๊ธฐ๋ฉด ์ง๋ฌธ ๋จ๊ฒจ ์ฃผ์ธ์. ์ต์ ์ ๋คํด ๋น ๋ฅด๊ฒ ๋์๋๋ฆฌ๊ฒ ์ต๋๋ค!
- 0
- 2
- 16
Q&A
30๊ฐ ์งํ์ด ์๋ฉ๋๋ค.
์๋ ํ์ธ์! ๐์ง๋ฌธ ์ฃผ์ ๋ด์ฉ์ ํ์ธํ์ต๋๋ค. ๋ฌธ์ ํด๊ฒฐ์ ์ํด ๋์์ ๋๋ฆฌ๊ฒ ์ต๋๋ค.์ด๋ฏธ์ง๋ฅผ ๋ณด๋ Nuxt.js ์ ํ๋ฆฌ์ผ์ด์ ์์ 500 ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ณ ์์ต๋๋ค. ์ค๋ฅ ๋ฉ์์ง๋ "Cannot read properties of null (reading 'name')"์ด๊ณ , currentWeather ๊ด๋ จ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค.ํ์ฌ์ฝ๋์์ currentWeather props ๊ฐ null์ผ๋ ์ ๊ทผํ๋ ค๊ณ ํด์ ์ค๋ฅ๊ฐ ๋ฐ์๋๊ฒ ๊ฐ์ต๋๋ค.์๋ ์ฝ๋๋ฅผ ์ถ๊ฐ ํด๋ณด์๊ธฐ ๋ฐ๋๋๋ค.//defineProps์์ ๊ธฐ๋ณธ๊ฐ๊ณผ ํ์ ๊ฒ์ฆ ์ถ๊ฐconst props = defineProps({ currentWeather: { type: Object, default: () => ({ name: '', }) }})์ถ๊ฐํ ์๋์๋ฉด ๋ค์ ์ง์ ํด ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.ํ ํ๋ฆฟ์์ ์ต์ ๋ ์ฒด์ด๋์ด๋ ์กฐ๊ฑด๋ถ ๋ ๋๋ง์ผ๋ก ์์ ํด ๋๋ฆฌ๋๋ก ํ๊ฒ ์ต๋๋ค.
- 0
- 2
- 23
Q&A
27๊ฐ์์ ์งํ์ด ์๋ฉ๋๋ค.
์ข์ ์ง๋ฌธ์ ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. Vue์์ v-for์ ๊ตฌ์กฐ๋ถํด๋ฅผ ์ฌ์ฉํ ๋ ์์ฃผ ๋ฐ์๋๋ ์ค์ํ ์ค๋ฅ์ ๋๋ค. ๋จผ์ ์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง๋ฅผ ๋ณด๋ฉด ์๊ดํธ ๋ถ๋ถ์ ์ค๊ดํธ๋ฅผ ์ฌ์ฉํ์์ต๋๋ค. ์ด ์ฝ๋๋ ๋ฌธ๋ฒ ์ค๋ฅ๋ฅผ ๋ฐ์ ์ํต๋๋ค. ์๋ํ๋ฉด v-for๋ฌธ ์์์ ๊ตฌ์กฐ๋ถํด์ ์ฌ์ฉํ ๋๋ ์๊ดํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ฐ๋ผ์ ์ค๊ดํธ{} ๋ฅผ ์๊ดํธ () ์ผ๋ก ๋ณ๊ฒฝํ์ฌ ์์ ํ์ฌ ์ ์ฅํ ๋ค์ ํด ๋ณด์๊ธฐ ๋ฐ๋๋๋ค.๊ถ๊ธํ ์ ์ด ์์ผ์๋ฉด ์ธ์ ๋ ์ง ์ง๋ฌธํด ์ฃผ์ธ์ ๋์๋๋ฆฌ๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ชจ๋ ์ค๋ฅ๋ ์ฑ์ฅ์ ๋ฐํ์ด ๋ฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 39
Q&A
6๊ฐ์์ css๊ฐ ์๋์ ์งํ์ด ์๋ฉ๋๋ค!!!
์๋ ํ์ธ์! ์ง๋ฌธ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค"Using default Tailwind CSS file๋ก๊ทธ๊ฐ ์์ต๋๋ค." ๋ฉ์์ง๋ ๋ณดํต Tailwind CSS๊ฐ ์ ๋๋ก ์ค์ ๋์ง ์์๊ฑฐ๋, Nuxt ํ๋ก์ ํธ์์ ์ ์ญ CSS๊ฐ ๋๋ฝ๋ ๊ฒฝ์ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์๋ ํญ๋ชฉ๋ค์ ์ฐจ๋ก๋๋ก ํ์ธํด๋ณด์ธ์!assets/css/main.css @tailwind base;@tailwind components;@tailwind utilities;nuxt.config.ts export default defineNuxtConfig({modules: ['@nuxtjs/tailwindcss'],css: ['@/assets/css/main.css'],})์์ ๋ด์ฉ์ ํ์ธ๋ฐ ์์ ํ vscode๋ฅผ ๋ค์ ์คํํ์ ํ ํ ๋ฒ ํด๋ณด์๊ธฐ ๋ฐ๋๋๋ค. ๊ทธ๋๋ ์๋ ๊ฒฝ์ฐnuxt.config.ts์ main.css ๋ฅผ ์บก์ณํด์ ์ฌ๋ ค์ฃผ์๋ฉด ๋ ์์ธํ ๋์ ๋๋ฆฌ๋๋ก ํ๊ฒ ์ต๋๋ค.
- 0
- 2
- 81
Q&A
๋๋ก ์ฌ์ง ์ดฌ์ ํ ์ฒ๋ฆฌ
์ข์ ์ง๋ฌธ์ ๋๋ค!GCP(Ground Control Point)๋ ๋งตํ์ ์ ํ๋๋ฅผ ๋์ด๊ธฐ ์ํด ํ์ฅ์์ ์ธก๋์ ํตํด ์ง์ ์ขํ๋ฅผ ์ทจ๋ํ๋ ๊ณผ์ ์ด๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค.์ฆ, ๋๋ก ์ดฌ์ ์ ์ ์ดฌ์ ์ง์ญ ๋ด์ ๊ธฐ์ค์ (GCP ํฌ์ธํธ)์ ์ค์ ํ๊ณ ,๋๋ก๋ ๋๋ก ์ดฌ์ ํ์ GCP๋ฅผ ์ทจ๋ํ๋๊ฒฝ์ฐ๋ ์์ต๋๋ค.ํด๋น ํฌ์ธํธ์ ์ ํํ ์๊ฒฝ๋ ์ขํ๋ฅผ GPS ์ธก๋ ์ฅ๋น(์: RTK GNSS) ๋ฑ์ ์ด์ฉํ์ฌ ์ง์ ์ธก์ ํฉ๋๋ค.์ด ๊ณผ์ ์ ์์ฝํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค:์ธก๋ํ ์ค์น๋๋ก ์ดฌ์ ์ง์ญ ๋ด์ 5๊ฐ ์ด์ GCP ํฌ์ธํธ๋ฅผ ์ ํ๊ณ (๋ฉด์ ์ ๋ฐ๋ผ ์ฐจ์ด๊ฐ ์์), ํํํ ๊ณณ, ํ๊ณณ์ผ๋ก ๋ชฐ๋ฆฌ์ง ์๊ณ ๋์ ์ ๋๋ ๊ณณ์ ์ธก๋ํ(GCP ํ๊ฒ)์ ์ค์นํฉ๋๋ค.์ขํ ์ธก์ ๊ฐ ํฌ์ธํธ์ ์ขํ(Lat, Lon, ๋๋ X, Y, Z)๋ฅผ ์ ๋ฐ GPS ์ฅ๋น๋ก ์ธก๋ํ์ฌ ๊ธฐ๋กํฉ๋๋ค.GCP ํ์ผ ์์ฑ์ธก๋ ๊ฒฐ๊ณผ๋ฅผ ์ ๋ฆฌํ์ฌ .csv ๋๋ .txt ํ์์ผ๋ก ์์ฑํฉ๋๋ค. ์์ (CSV ํ์): ID, X, Y, Z GCP01, 323456.78, 187654.32, 85.6 GCP02, 323460.12, 187659.43, 86.2 GCP ํ์ผ์ ๋งตํ ์ํํธ์จ์ด์ ์ ๋ ฅPIX4D ๋ฑ๊ณผ ๊ฐ์ ๋๋ก ๋งตํ ํ๋ก๊ทธ๋จ์์ ์ฌ์ง๊ณผ ํจ๊ป ์ด GCP ํ์ผ์ ์ ๋ ฅํ๋ฉด ์๋์ผ๋ก ์ด๋ฏธ์ง๊ณผ ๋งค์นญ์ ํฉ๋๋ค. ์๋ ๋งค์นญ์ด ์๋๋ฉด GCP ์์น๋ฅผ ์๋์ผ๋ก ์ฌ์ง ์์ ์ฐ์ด์ฃผ๋ฉด ์ ๋ฐํ ์ ์ฌ์์์ด ๋ง๋ค์ด ์ง๊ฒ ๋๊ฒ ์ต๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 90
Q&A
์๋ ํ์ธ์. ํ์ผ ๋ฉ์ผ ์์ฒญ ๋๋ฆฝ๋๋ค.
์ด๋ฉ์ผ ๋ณด๋ด๋๋ ธ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 50
Q&A
gcpํ์ผ ๋ฌธ์๋๋ฆฝ๋๋ค.
์~ ์ข์ ์ง๋ฌธ ํ์ จ์ต๋๋ค!GIS(Geographic Information System, ์ง๋ฆฌ์ ๋ณด์์คํ )์์ ๊ณต๊ฐ์ ๋ณด์ ์์น ์ ๋ณด์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ ํ๋์ ๋๋ค.์ด ์ ํ๋๋ฅผ ํ๋ณดํ๊ธฐ ์ํด ์ ํต์ ์ธ ์ธก๋๊ณผ ๋๋ก ์ธก๋์ ํตํด ๊ณต๊ฐ์ ๋ณด ๋ฐ์ดํฐ๋ฅผ ์์งํ๊ฒ ๋ฉ๋๋ค.๋๋ก ์ธก๋์ ๋๋ก ์ ์ด์ฉํด ์ง๋ฆฌ์ ๋ณด๊ฐ ํฌํจ๋ ์ด๋ฏธ์ง๋ฅผ ์ดฌ์ํ๊ณ , ์ด๋ฅผ PIX4D ๊ฐ์ GIS ํ๋ก๊ทธ๋จ์ผ๋ก ๋งตํ(Mapping)ํ๋ ๊ณผ์ ์ ๋๋ค.์ด ๊ณผ์ ์์ ์ค์ฐจ๊ฐ ๋ฐ์ํ ์ ์๋๋ฐ, ์ด ์ค์ฐจ๋ฅผ ์ค์ด๊ณ ์ ํ๋๋ฅผ ๋์ด๊ธฐ ์ํด GCP(Ground Control Point, ์ง์๊ธฐ์ค์ )๋ฅผ ์ฌ์ฉํฉ๋๋ค.์ฐ๋ฆฌ๋๋ผ์์๋ ๊ตญํ ์ง๋ฆฌ์ ๋ณด์์์ ์ธก๋ ๊ธฐ์ค์ ๊ณผ ์์ฑ์ธก๋ ์๋น์ค๋ฅผ ์ ๊ณตํ๊ณ ์์ผ๋ฉฐ, ์ ๊ตญ์ ์ฝ 92๊ฐ(2022๋ 12์ ๊ธฐ์ค)์ ๊ธฐ์ค์ ์ด ์ค์น๋์ด ์์ต๋๋ค.์ธก๋ ์์ ์์๋ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ธฐ์ค์ ์ ๊ธฐ์ค์ผ๋ก GPS ์ธก๋์ ์ํํ๋ฉฐ, ์ด๋ฌํ ๊ธฐ์ค์ ์ด๋ ํ์ฅ์์ ์์ฒด ์ค์นํ ๊ธฐ์ค์ ์ ํตํ์ด GCP๋ผ๊ณ ํฉ๋๋ค.GCP๋ ํฌ๊ฒ ๋ ๊ฐ์ง๋ก ๊ตฌ๋ถํ ์ ์์ต๋๋ค:ํ๋๋ ๊ฒ์ฌ์ (Check Point) ์ ๋๋ค. ์ ์ฒด ๊ตฌ์ญ์ ์ ํ๋๋ฅผ ๊ฒ์ฌํ๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ, ์๋ฅผ ๋ค์ด 100m ๋ผ์ธ์ 50m ์ง์ ์ ๊ฒ์ฌ์ ์ด ์์น ํ ๋ ๋๋จธ์ง ์ธก์ ๊ฐ์ด 49.5m์ด๋ฉด 0.5m์ ์ค์ฐจ๊ฐ ๋ฐ์ํ ๊ฒ์ผ๋ก ํ๊ฐํ์ฌ ๋ณด์ ์ ์ค์ํ๊ฒ ๋ฉ๋๋ค.๋ค๋ฅธ ํ๋๋ ๋งตํ์ฉ GCP๋ก, ์ค์ ๋งตํ ๊ณผ์ ์ ์ง์ ํ์ฉ๋ฉ๋๋ค.ํ์ง๋ง GCP๊ฐ ๋๋ฌด ๋ง์ผ๋ฉด ๋ฐ์ดํฐ ๊ฐ ์ถฉ๋์ด ์๊ธฐ๊ณ , ๋ฐ๋๋ก ๋๋ฌด ์ ์ผ๋ฉด ์ ํ๋๊ฐ ๋จ์ด์ง ์ ์์ต๋๋ค.์ด๋ฐ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ๋๋ก ์ง์ ์ธก๋ ๊ท์ (๋ณํ 4) ์ GCP ํ์ค ๋ฐฐ์น๋๊ฐ ์ ์๋์ด ์์ต๋๋ค.์๋ ๊ทธ๋ฆผ์ ๋๋ก ์ง์ ์ธก๋๊ท์ ๋ณํ 4์ ๋์ค๋ GCP์ ํ์ค ๋ฐฐ์น๋์ ๋๋ค.๋ณด์๋ฉด ์ฝ 500m ๊ฐ๊ฒฉ์ผ๋ก ๋นจ๊ฐ์ ์ง์๊ธฐ์ค์ ์ด ๋ฐฐ์น๋์ด ์์ผ๋ฉฐ, ๊ฒ์์ ์์ผ๋ก ํ์๋ ๊ฒ์ฌ์ 4๊ฐ๊ฐ ์ถ๊ฐ๋ก ๋ฐฐ์น๋์ด ์์ต๋๋ค.๋ฌผ๋ก ์ค์ ์งํ์ด๋ ์ํฉ์ ๋ฐ๋ผ ๋ฐฐ์น ๋ฐฉ๋ฒ์ ์กฐ์ ๋ ์ ์์ง๋ง, ์ผ๋ฐ์ ์ผ๋ก๋ GCP๋ฅผ ์ธ๊ณฝ ๊ฒฝ๊ณ์ ๊ณ ๋ฅด๊ฒ ๋ถํฌ์ํค๊ณ , ํ์ชฝ์ผ๋ก ์ ๋ฆฌ์ง ์๊ฒ ๋ฐฐ์นํ๋ ๊ฒ์ด ์์น์ ๋๋ค.๊ทธ๋ ๊ฒ ์์ง๋ GCP๋ฅผ CSVํ์ผ๋ก x,y,z ๋์ ๊ธฐ์ ํ์ฌ ํ์ผ์ ๋ง๋ค๊ฒ ๋ฉ๋๋ค.์ถ๊ฐ๋ก ๊ถ๊ธํ ์ ์ด ์์ผ๋ฉด ์ธ์ ๋ ํธํ๊ฒ ์ง๋ฌธ ์ฃผ์ธ์!๋๋ก ์ง์ ์ธก๋๊ท์ ๋ณํ4์ GCP์ ํ์ค ๋ฐฐ์น๋๊ฐ ์์ต๋๋ค.์ฐธ๊ณ : https://www.law.go.kr/LSW/admRulLsInfoP.do?admRulSeq=2100000228290#AJAX(์ฌ์ง)
- 0
- 2
- 106