반응형
반응형
Nuxt에서 데이터를 가져오는 방법이 두 가지 있습니다. asyncData fetch Nuxt에서 클라이언트 사이드 방식이 mounted()를 통해서 데이터를 호출할 수는 방식을 지원하긴 합니다. 하지만 서버 측에서 데이터를 렌더링 하는 앱을 만들기 위해서는 위 두 가지 훅을 사용해야 합니다. asyncData 페이지 내에서만 사용 가능 비동기적으로 생성되는 데이터일 때 사용 생성한 데이터는 data()로 생성한 데이터와 병합 data()와 차이 없음 단지 동기 / 비동기 차이 this 사용 불가능 async asyncData({ params }) { const response = await fetch(`https://api.example.com/data/${params.id}`); const data ..
대한민국 해양 방사능 안전 정보 save-sea-fe.pages.dev 최근 일본의 후쿠시마 원전 오염수 방류에 관련해서 뉴스가 많이 나오고 있습니다. 오염수 방류에 대해서도 찬반 의견이 많습니다. 그래서 저도 관심을 가지고 보고 있는 중에 해양수산부에서 제공하는 대한민국 해양 방사능 안전 정보가 데이터가 있어서 지도로 만들어서 표시하였습니다. 해양수산부에서 가까운 바다와 먼바다에 대해서 방사능 물질에 대한 검사를 주기적으로 진행하고 있습니다. 삼중수소와 세슘 137과 같은 방사성 물질과 측정 수치 수준을 나타내는 자료를 Open API를 통해서 제공하고 있습니다. 현재 2023년 4월 조사된 데이터까지 제공하고 있습니다. 해당 방사성 물질의 수치가 있으면 좋겠는데 수치는 제공하지 않고, 상태만 나타나는..
Vue에서 v-if와 v-show 디렉티브가 있습니다. 디렉티브란 라이브러리에서 DOM 엘리먼트가 무언가를 수행하도록 지시하는 특수한 속성입니다. v-if v-show 공통점 두 가지 모두 조건에 따라서 화면에 렌더링 할 수 있는 디렉티브입니다. 차이점 v-if 는 조건이 참이면 렌더링을 하고 거짓이면 아무 동작을 하지 않습니다. v-show는 조건에 따라서 display 속성을 이용하여 보이거나, 숨깁니다. 성능 차이 v-if는 실제로 화면을 렌더링을하고, 다시 지우고 해서 토글 비용이 높습니다. 반면에 v-show는 초기에 화면을 렌더링 할 때 비용이 높습니다. 무언가를 자주 토글을 해야하는 경우에는 v-show를 사용하고, 조건이 자주 변경될 가능성이 낮은 경우에는 v-if를 사용하는 것이 좋습니다..
Nuxt 에서 modules와 buildModules 속성이 있습니다. modules Nuxt에서 모든 기능을 제공하면 매우 복잡하고 어려워서, 사용자가 프로젝트별로 모듈을 추가 할 수 있습니다. modules에서 정의한 모듈은 Nuxt가 부팅될때 순차적으로 실행이 됩니다. nuxt.config.js 에서 modules 옵션을 설정할 수 있습니다. export default defineNuxtConfig({ modules: [ // Simple usage '@nuxtjs/eslint-module', // With options ['@nuxtjs/eslint-module', { /* module options */ }] ] }) buildModules nuxt v2.9 이후로 buildModules 속성이..
개발 용어 중 보일러 플레이트라는 말이 있습니다. 이 코드는 보일러 플레이트로 관리해서 만들면 좋겠다 보일러 플레이트 단어 뜻과 어원 어떻게 사용되는지 알아보도록 하겠습니다. 보일러플레이트란? 프로그래밍 분야에서 사용하는 보일러 플레이트는 반복적으로 사용되는 코드 조각들을 재사용하는 패턴을 의미합니다. 프로그래밍 코드 이외에도 개발 초기 필수적으로 설정이나 구조들도 보일러 플레이트가 될 수 있습니다. 보일러 플레이트 코드를 재사용을 하면 개발자들이 비즈니스 로직에 더욱 집중할 수 있어서 프로젝트 작업 속도 향상에 도움이 됩니다. 보일러플레이트 어원 보일러를 만들때 강철에 보일러 이름과 정보를 동일하게 입력하는 틀에서 시작되었습니다. 이 단어가 프로그래밍 분야로 넘어오게 되었습니다. 보일러 플레이트 코드 ..
Minxin 란? Mixins는 Vue 컴포넌트에서 코드를 재사용할 수 있는 방법입니다. 언제 사용하면 좋을까? Vue 컴포넌트에서 HTML과 Style은 재사용이 가능합니다. 컴포넌트가 비슷한 로직을 가지고 있으면 Mixins를 사용하는 것이 좋습니다. 예를 들면, 회원 정보 List를 조회하는 컴포넌트(UserList)와 프로젝트 List를 조회하는 컴포넌트(ProjectList)가 있으면 컴포넌트 초기화 이후 데이터를 조회하고, List 컴포넌트를 만드는 로직이 비슷하다면 Mixins을 통해서 코드를 재사용하고, 중복 소스를 제거할 수 있습니다. 사용법 mixins 폴더를 생성하고 listMixin.js 파일을 생성합니다. listMixin.js export default { data(): { re..
안녕하세요. 지난 포스팅에서 Vuex가 무엇인지 언제 사용하는지에 대해서 알아보았습니다. Vuex 상태 관리 라이브러리 설치 방법 사용법 Vuex란? Vuex는 전역 상태(global state)를 관리하는 라이브러리입니다. 지역상태 vs 전역상태 상태는 Local State와 Global State가 있습니다. 지역 상태(local state) 전역 상태(global state) 하나의 컴포넌트에서 powerku.tistory.com 이번에는 Vuex를 더 나은 방법으로 사용하기 위해서 state, getter, mutations, actions에 대해서 알아보도록 하겠습니다. State, Getter, Mutations, Actions를 사용해야 하는 이유 methods: { addOne() { th..
Intersection Observer 란? 브라우저의 자바스크립트 API 중 하나입니다. 엘리먼트의 가시성 변화를 감지할 수 있습니다. 예전에는 스크롤 이벤트를 통해서 스크롤 페이징을 구현하였는데, 브라우저 과부하를 일으켜서 성능 저하가 일어나기도 하였습니다. 하지만 Intersection Observer API를 브라우저의 내부 로직을 이용하여 엘리먼트의 가시성 변화를 감지할 수 있어서 성능이 좋고 효율적으로 무한 스크롤을 구현할 수 있습니다. 언제 사용하면 좋은지? 1. 무한스크롤 구현 사용자가 스크롤을 할 때 새로운 내용을 동적으로 로드할 수 있습니다. 무한스크롤을 이용하면 페이지 로딩 속도를 개선할 수 있고 부드러운 사용자 경험을 제공할 수 있습니다. 2. 이미지/광고 로딩 최적화 화면에 보일때..
안녕하세요 픽업 게임이나, 게스트 농구 경기를 참가하게 되면 순번을 정해서 뛰는 경우가 많습니다. 한 팀에 5~8명 정도 1번부터 8번까지 순서를 정합니다. 각 순서대로 5명씩 경기를 뛰게 됩니다. 1쿼터 1,2,3,4,5 2쿼터 6,7,8,1,2 3쿼터 3,4,5,6,7 ... 이렇게 경기를 뛰게 됩니다. 하지만 경기를 뛰다보면 순간적으로 다음 차례가 기억이 나지 않는 경우가 있어서 프로그램으로 한번 만들어 보았습니다. + 버튼을 누르면 선수를 추가할 수 있고 다음 버튼을 누르면 다음 차례에 뛸 선수들을 표시 합니다. 필요하신 기능이나 문제점이 있으시면 댓글로 부탁드립니다. 감사합니다. https://powerku.github.io/today-basketball/
Vuex란? Vuex는 전역 상태(global state)를 관리하는 라이브러리입니다. 지역상태 vs 전역상태 상태는 Local State와 Global State가 있습니다. 지역 상태(local state) 전역 상태(global state) 하나의 컴포넌트에서 영향을 줌 전체 앱 또는 다수의 컴포넌트에 영향을 줌 ex) 입력 요소에 의해 사용자가 값을 입력, show / hide 를 결정하는 값 ex) 유저 권한 상태, 장바구니 Vuex는 하나의 컴포넌트가 아닌 여러 컴포넌트들 또는 전체 앱에서 사용하는 데이터들의 값을 관리하기 위해서 사용하는 라이브러리입니다. Vuex는 언제 사용해야 할까? Vue를 처음 사용하실 때는 Vuex에 대해서 이해하기가 쉽지 않습니다. 충분히 Vue를 사용하고 경험해보..