최신글
-
[ yarn(npm) install error ] - "allocation failure scavenge might not succeed" 해결방법 ( Nodejs Increate The Memory Limit )
노드 프로젝트를 빌드 하다보면 다양한 원인으로 빌드가 잘 안되고 다음과 같은 메세지를 보게될 수도 있다. ex) 에러 메세지... 중략allocation failure scavenge might not succeed... ex) 에러 발생 환경 예시 - AWS 프리티어와 같은 저스펙 서버인 경우 - 프로젝트가 점점 비대해져 빌드시 메모리 오류 발생 - 로컬환경에서 빌드시 각각의 개발자 PC 스펙 및 프로젝트 규모에 따른 메머리 부족현상 등등 ※ 결론 - NodeJs는 프로세스를 시작할 때 default 메모리를 제한하게 되어 있다. (os, node version 등에 따라 다 다르다.) 그렇기 때문에 특정 환경에 따라, 메모리 할당문제로 Node.js 프로세스가 종료될 수 있다. - 노드의 메..
-
[ VSCode ] Visual Studio Code 유용한 확장팩 설치(추천 플러그인 설치)
[ VSCode ] Visual Studio Code 유용한 확장팩 설치(추천 플러그인 설치) 안녕하세요. 갓대희 입니다. 이번 포스팅에선 Visual Studio Code의 몇가지 유용한 확장팩, 추천 플러그인을 설치 해보려 합니다. :- ) 1) Reactjs code snippets - 리액트에서 자주 사용하는 코드 뭉치들을 자동 완성 해주는 플러그인 - React 관련 템플릿을 단축키로 작성할 수 있게 된다. - 자주 사용하는 키워드는 아래 표와 같고, rcc를 입력하여 선택하면 우측의 기본 클래스형 컴포넌트를 만들어 주게 된다. trigger content rcc 클래스 컴포넌트 생성 rrc 클래스 컴포넌트와 react-redux 리덕스를 연결하여 생성 rcjc import와 export 없이 ..
-
[400 Bad Request] - Header Or Cookie Too Large 해결방법
※ 실제 사용자 입장(싸이트 담당자가 아닌)인 경우 간단하게 브라우저의 쿠키만 지워줘도 문제가 해결 된다! - 이번 내용은 사이트 담당자 입장에서 해당 문제를 어떻게 방지할 지에 대한 내용을 다루려고 한다. - 브라우저에서 쿠키 삭제하는방법도 혹시몰라 남겨 둔다. ex) 크롬 - 크롬 실행 > 우측 상단 점3개 아이콘 클릭 > 설정 클릭 - 좌측 메뉴 "개인 정보 및 보안" 클릭 > "인터넷 사용 기록 삭제" 클릭 - 개별 사이트별로삭제 할 수도 있지만, 본 글의 목표가 아니므로 전체 삭제하는 방법만남겨 둔다. 1. 에러 현상 확인 - 고객 브라우저에서 간헐적으로 이미지가 잘 보이지 않는 현상이 접수 되었다. - 해당 이미지의 url을 치고 들어가면 다음과 같은 메세지를 볼 수 있다. 2. 에러 발생 원..
-
[스프링(부트)] Spring (Boot) 배포 직후 발생하는 지연 원인 및 JVM warm up 하기
[스프링(부트)] Spring (Boot) 배포 직후 발생하는 지연 원인 및 JVM warm up 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ JVM warm up 하기] 입니다. : ) ※ 문제점 ( 웜업(Warm-Up) 적용 하게된 이유 ) - 우리 사이트의 경우 서버 실행 직후, 배포 직후 속도가 느려지는 현상, 초기 응답 지연이 발생이 확인 되고있다. ex) 배포 직후 관측되고 있는 문제 - 이러한 현상은 was 기동 직후 첫 요청처리에 대해 오래 걸리기 때문인데, 원인은 클래스 로더, JVM(Java.Virtual.Machine 의 줄임말)의 JIT 컴파일러, 콜드 스타트와 연관이 있다. ex) 서버 1대 기준으로 확인 시 Restart 직후, 서비스 투입 직후 시점 발생 확인 가능 해당 문제..
-
Failed to execute 'setItem' on 'Storage': Setting the value of 'xxx' exceeded the quota
1. 에러 로그 - 고객 클레임 개선을 위해 프로젝트 모니터링 중 다음과 같은 에러가 발생하는 경우를 확인하게 되었다.\ ex) console 에서 에러 확인 예시 ex) 모니터링 툴로 확인시 - 먼저 유사한 에러 패턴(발생 위치, 기기)은 어떻게 되는지 확인 해보면 다음과 같다. ( 결론적으로는 특수한 상황에 LocalStorage에 대한 Set을 하는경우 에러가 발생하며, 빈도수는 간헐적 이었다. ) ex) 발생 기기 - 발생 기기를 확인 한 이유는 하기 Browser종류에 따라서 발생 빈도가 다를 것으로 예상되어 확인 해 보았다. ( 참고로 Android 사용 유저가 현 싸이트에서는 80 ~ 90% 수준이기 때문에, 발생 빈도는 IOS에서 훨씬 많이 발생 하고 있었다. ) ex) 발생 위치 2. 에..
-
[npm, yarn] "self signed certificate in certificate chain" 에러
[npm, yarn] "self signed certificate in certificate chain" 에러 1. 에러 로그 - npm install 을 하다보면 아래와 같은 에러가 발생 할 때가 있다. ex) SELF_SIGNED_CERT_IN_CHAIN ex) 이외 다양한 npm 설치 시 발생하는 에러 예시들 npm ERR! code SELF_SIGNED_CERT_IN_CHAIN npm ERR! errno SELF_SIGNED_CERT_IN_CHAIN npm ERR! request to https://registry.npmjs.org/@babel/parser/-/parser-version.tgz failed, reason: self signed certificate in certificate cha..
-
Browserslist: caniuse-lite is outdated. Please run next command 'npm update caniuse-lite browserslist' 에러
1. 에러 로그 - 어느날 프로젝트 실행시 다음과 같은 에러가 발생하는 경우를 본 적이 있다. - browserslist 하기 관련 에러는 Webpack, babel 등을 사용하는 프로젝트, 또는 해당 라이브러리를 사용하는 경우 발생하는 듯 하다.Creating an optimized production build...Browserslist: caniuse-lite is outdated. Please run: npx update-browserslist-db@latest Why you should do it regularly: https://github.com/browserslist/update-db#readmeFailed to compile. - 갑자기 다음과 같은 에러가 발생하면서 다음 내용을 참..
-
[ yarn ] info Merge conflict detected in yarn.lock and successfully merged 에러
1. 에러 로그 - 기존엔 정상적으로 yarn install이 정상적으로 수행 완료 되었다. - 갑자기 다음과 같은 에러가 발생하면서 빌드 완료 후 yarn.lock 파일을 살펴보면 최종 yanr.lock파일과 바른부분을 발견할 수 있었다. ( 나의 경우 신규 추가한 라이브러리가 추가 되지 않고 계속 오류르 뱉어내는 현상이 있었다.) $ yarn install yarn install v1.0.1 info Merge conflict detected in yarn.lock and successfully merged. [1/4] Resolving packages... 1. 에러 원인 ex) 나의 경우 yarn.lock파일 소스 병합시 휴먼 에러로 다음과 같은 코드가 남아 있어 충돌이 발생하였다. =======..
-
[AWS] 11. Route 53(DNS서비스) 개념 및 사용해보기
안녕하세요. 갓대희 입니다. 이번 포스팅은 [ AWS - Route 53 개념 및 사용해보기 ] 입니다. : ) 항상 공식 문서 같이 확인 하도록 하자. https://docs.aws.amazon.com/ko_kr/Route53/latest/DeveloperGuide/Welcome.html 0. 들어가기 앞서 ▶ Amazon Route 53 은 가용성과 확장성이 뛰어난 Domain Name System (DNS) 웹 서비스이다. ▶ Route 53을 통해 DNS를 관리(도메인 구입, 네임서버 등록 등)를 할 수 있고, 모니터링 기능까지 제공한다. ▶ 사용자의 요청을 EC2 인스턴스, ELB, S3 등 AWS 에서 실행되는 인프라에 효과적으로 연결하고, AWS 외부의 인프라로 라우팅하는데도 사용 가능하다...
-
[ Git ] git cannot lock, cannot lock ref, cannot create 에러
1. 에러 로그 - 간혹 브랜치 생성 또는 Push 시 다음과 같은 유형의 에러메세지가 발생하며, 브랜치 생성 또는 Push가 불가능한 경우가 있다. cannot lock ref 'refs/heads/...' 'refs/heads/...' exists cannot create 'refs/heads/...' - 보통은 다음과 같이 특정 분기/하위 브랜치를 생성하려고 시도하는 경우에 봤을 것 이다. ex) ## feature cannot lock ref 'refs/heads/feature/branchname' 'refs/heads/feature' exists cannot create 'refs/heads/feature/branchname' ## hotfix cannot lock ref 'refs/heads/..
React
-
[React] 7. React hooks[3] - useReducer란?
7. React hooks[3] - useReducer란? 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ React hook 중 useReducer에 대한 내용 ] 입니다. : ) https://ko.reactjs.org/docs/hooks-effect.html 1. useReducer 훅이란? - useState를 대체할 수 있는 함수이다. - React에서 컴포넌트의 상태 관리를 위해 기본적으로 가장 많이 쓰이는 hook은 state이다. - 좀 더 복잡한 상태 관리가 필요한 경우 reducer를 사용할 수 있다. ( 콜백대신 dispatch를 전달할 수 있기 때문이라고 볼 수 있는데, 이 부분은 이후 확인해 보자. ) - reducer는 이전 상태와 Action을 합쳐, 새로운 state를 만드는 ..
-
[React] 7. React hooks[2] - useEffect란?
7. React hooks[2] - useEffect란? 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ React hook 중 useEffect에 대한 내용 ] 입니다. : ) https://ko.reactjs.org/docs/hooks-effect.html 1. useEffect 훅이란? - 컴포넌트가 렌더링 될 때 특정 작업을 실행할 수 있도록 하는 Hook이다. - 리액트의 useEffect 훅을 사용하면 함수 컴포넌트에서도 side effect를 사용할 수 있다. 1) 클래스형 컴포넌트에서는 생명주기 메소드를 사용할 수 있었는데, 이를 함수형 컴포넌트에서도 사용할 수 있게 되었다. 2) 즉, 라이프사이클 훅을 대체할 수 있게 되었다. (componentDidMount, componentDidUpd..
-
[React] 6. React Router (리액트 라우터) 사용하기
6. [React] 6. React Router (리액트 라우터) 사용하기 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ React에서 페이지 이동 처리 하는 방법 ] 입니다. : ) 우리가 흔히 말하는 "페이지 이동"이라는 기능을 리액트에서는 리액트 라우터를 통해 처리할 수 있다. 라우팅이 무엇인지 간단하게 살펴보자. 1. 라우팅이란? - 간단하게 생각 하자면 사용자가 요청한 URL에 따라 해당 URL에 맞는 페이지를 보여주는 것이라고 생각할 수 있다. - 리액트에서는 라우팅 관련 라이브러리가 많이 있는데, 이중 가장 많이 쓰이는 리액트 라우터(React Router)를 사용해보려 한다. ※ SPA, SSR, SSG 등의 대한 개념을 어느정도 갖춘 상태에서 다음 내용을 진행하는것을 추천 한다. 리액트는..
-
[React] 5. React에 CSS 적용하기
5. React에 CSS 적용하기 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ React에 스타일 적용하기 ] 입니다. : ) create-react-app으로 설치한 react프로젝트인 경우 css-loader, style-loader를 따로 설치하지 않아도 webpack에서 사용하는 css 설정을 사용할 수 있다. ※ 참고 css-loader : @import, url() 등의 구문을 해석, 적용해 준다. style-loader : 태그를 통해서 CSS를 DOM에 적용해 준다. css를 적용할 수 있는 방법들에 대해 알아보자. 1. 인라인(inline) styling 적용 - html 태그 안에 직접 입력하는 방법. style={ } 형식으로 입력하며, 안에는 json 형식으로 속성명:'속성값' 으..
-
[React] 4. React 컴포넌트(5) - map() 반복문, 배열 컴포넌트
4. React 컴포넌트(5) - map() 반복문, 배열 컴포넌트 사용하기 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ React 반복문 사용하기 ] 입니다. : ) https://ko.reactjs.org/docs/lists-and-keys.html 0. 들어가기 앞서 - 어떨때 map 함수를 쓰면 좋을까? 앞으로 알아가겠지만 for문, 반복문을 대체하여 사용한다면 아주 유용하다. 간단히 형태 살펴보고 자세히 알아보도록 하자. ex) for문 const numbers = [1, 3, 5] for (let i = 0; i < numbers.length; i++) { console.log(numbers[i]) } ex) map() const numbers = [1, 3, 5]; const listIte..
-
[React] 4. React 컴포넌트(4) - 이벤트 처리 방법
4. React 컴포넌트(4) - 이벤트 처리 방법 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ React에서 이벤트 handling 하는 방법 ] 입니다. : ) 1. 컴포넌트에서 DOM 이벤트 사용 - 컴포넌트에서 출력된 특정 DOM 객체에 이벤트 컴포넌트가 동작하기 위해선 DOM이벤트 프로퍼티를 사용해야 한다. - 우리가 흔히 쓰고 있는 HTML 엘리먼트의 이벤트들은 JSX내에서 'on + 이벤트명' 형태의 프로퍼티로 제공된다. ex) 프로퍼티 샘플 이벤트 명 JSX DOM 이벤트 프로퍼티 이벤트 호출 시점 click onClick 엘리먼트에 마우스나 키보드가 클릭 된 경우 change onChange 엘리먼트의 내용이 변경된 경우 submit onSubmit 폼의 데이터가 전송될 때 keydow..
-
[React] 4. React 컴포넌트(3) - State 알아보기(React Hooks 사용)
4. React 컴포넌트(3) - State 관리 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ React 컴포넌트 내용 중 State에 대한 내용 ] 입니다. : ) https://ko.reactjs.org/docs/state-and-lifecycle.html https://reactjs.org/docs/hooks-reference.html#usestate 1. state란? - 일반적으로 컴포넌트의 내부에서 변경 가능한 데이터를 관리해야할 때에 사용 한다. - 프로퍼티(props)의 특징은 컴포넌트 내부에서 값을 바꿀 수 없다는 것이었다. 하지만 값을 바꿔야 하는 경우도 분명 존재하며, 이럴때 state라는 것을 사용한다. - 값을 저장하거나 변경할 수 있는 객체로 보통 이벤트와 함께 사용된다. - ..
-
[React] 4. React 컴포넌트(2) - 프로퍼티(props)란?
4. React 컴포넌트(2) - 프로퍼티(props)란? 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ React 컴포넌트 내용 중 프로퍼티(props)에 대한 내용 ] 입니다. : ) 간단??? 하게 프로퍼티의 사용 방법을 알아 보자. https://ko.reactjs.org/docs/components-and-props.html 1. 프로퍼티(props)란? - 프로퍼티, props(properties의 줄임말) 라고 한다. - 상위 컴포넌트가 하위 컴포넌트에 값을 전달할때 사용한다.(단방향 데이터 흐름 갖는다.) - 프로퍼티는 수정할 수 없다는 특징이 있다.(자식입장에선 읽기 전용인 데이터이다.) 2. 사용방법? - 프로퍼티에 문자열을 전달할 때는 큰따옴표(" ")를, 문자열 외의 값을 전달할 때..
-
[React] 4. React 컴포넌트(1) - 컴포넌트란?
4. React 컴포넌트(1) - 컴포넌트란? 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ React 컴포넌트에 대한 기본 내용 ] 입니다. : ) 리액트 공식 문서, 자습서에서 함수형 컴포넌트, 클래스형 컴포넌트라는 내용을 간단하게 알아보려고 한다.. 리액트의 꽃이라고 할 수 있고, 리액트로 작성된 화면은 컴포넌트로 구성되어있기 때문에 매우 중요하다. 리액트의 꽃이라 불릴 정도로 리액트에서 가장 중요한 요소이다. 일단 최대한 기본 개념만 살펴볼 수 있도록 하자. https://ko.reactjs.org/docs/components-and-props.html 1. 리액트 컴포넌트(Component)란? - 리액트로 만들어진 앱을 이루는 최소한의 단위 - 기존의 웹 프레임워크는 MVC방식으로 분리하여 관..
-
[React] 3. React 엘리먼트 렌더링
3. React 엘리먼트 렌더링 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ React 엘리먼트 렌더링 (Component 이해 전 읽어보기) ] 입니다. : ) 리액트 공식 문서, 자습서에서는 컴포넌트를 알아보기 앞서 엘리먼트 렌더링이라는 내용을 기술하고 있어, 이부분도 가볍게 살펴 보고 가려고 한다. 이번장은 거의 공식문서의 내용이 다이니, 해당 문서를 참고하는것도 좋을 것 같다. https://ko.reactjs.org/docs/rendering-elements.html 1. 엘리먼트란? - 리액트에서의 가장 작은 단위 이다. - 화면에 표시할 내용을 기술 한다. ex) 엘리먼트 예시 const element = hello, GodDaeHee!~; - 위의 예시에서 보듯, 우리가 예전에 사용하던 ..
-
[React] 2. JSX란? (정의, 장점, 문법)
2. JSX란? (정의, 장점, 문법) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ [React 에서 사용하는 JSX ] 입니다. : ) 이번엔 React에서 자주 사용하게될 JSX에 대해 알아보도록 하자. 1. JSX란? - JSX(Javascript Syntax eXtension)는 Javascript 확장한 문법이다. - JSX는 리액트로 프로젝트를 개발할 때 사용되므로 공식적인 자바스크립트 문법은 아니다. - 브라우저에서 실행하기 전에 바벨을 사용하여 일반 자바스크립트 형태의 코드로 변환된다. ex) // 실제 작성할 JSX 예시 function App() { return ( Hello, GodDaeHee! ); } // 위와 같이 작성하면, 바벨이 다음과 같이 자바스크립트로 해석하여 준다. f..
-
[React] 1. React 시작하기(2) - React의 주요 특징
1. React 시작하기(2) 리액트의 주요 특징 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ [React의 주요 특징 ] 입니다. : ) 실전으로 들어가기 앞서 리액트의 가장 큰 특징을 알아보고 넘어 가려 한다. 1. 리액트(React)란? - React는 자바스크립트 라이브러리로 SPA(Single Page Application)을 위한 사용자 인터페이스를 구축하는데 사용된다. - 웹, 모바일 앱 등의 view layer를 처리하는 데 사용된다. - 페이지를 다시 로드하지 않고 데이터를 변경할 수 있도록 가상 돔(Virtual DOM)을 사용하여 웹 애플리케이션의 퍼포먼스를 최적화한 라이브러리이다. 2. 리액트의 특징 1. 컴포넌트(Component) - 리액트는 컴포넌트 기반의 라이브러리이다. -..
-
[React] 1. React 시작하기(1) - 환경 설정
[React] 1. React 시작하기 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ [React 시작 하기 ] 입니다. : ) 0. 프론트 프레임워크 선택에 대한 고찰 - React를 시작하기 앞서, 왜 리액트를 공부하기로 생각했었는지에 대해 간단히 작성 해두려 한다. - 이 부분도 상당히 길다보니, 무시하고 바로 환경 설정부터 보시려면 > [클릭] 1. 프론트 개발 언어의 변화 - 내가 알고있는 범위 한정이겠지만, 프론트 만큼 변화가 빠른 언어, 프레임워크는 없는 듯 싶다. - 데충 스쳐 지나갔던, 프론트 관련 키워드만 모아봐도 하기 예시 정도가 된다. ex) jsp, jquery, mustache, jstl, velocity, Freemarker, vanilla js, vue.js, react - ..
SpringBoot
-
[스프링부트 (1)] 스프링부트 시작하기 (SpringBoot 프로젝트 설정 방법)
[스프링부트 (1)] 스프링부트 시작하기 (SpringBoot 프로젝트 설정 방법) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 스프링 부트 기초. 스프링 부트란? 그리고 스프링 부트 프로젝트 생성 방법 ] 입니다. : ) 스프링 부트가 나온지 어느덧 꽤 많은 시간이 흐른것 같다. 계속 해오던 쇼핑몰 운영 업무를 해오다 보니 스프링 부트를 제대로 사용할 일이 없어, 이번 잠시 주어진 휴식 기간에 스프링 부트에 대한 내용을 정리해 보려 한다. 운영 업무를 하다보면 쓰던 기술, 해오던 업무에 익숙하고 무언가의 불안함이 생긴다. 다시 SI를 하고 싶은 마음도 간간히 생기기도 하고.. 주저리 그만하고 스프링 부트에 대해 알아보자. 1. SpringBoot 기초 ▶ 스프링 부트란? - 스프링 프레임워크를 사용하..
-
[스프링부트 (12)] SpringBoot 에러 페이지 설정(Custom Error Page)
[스프링부트 (12)] SpringBoot 에러 페이지 설정(Custom Error Page) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ Spring Boot Custom Error Page ] 입니다. : ) 0. 에러 페이지를 만들기 앞서 개발하면서 기본적으로 tomcat에서 제공 되는 에러 페이지를 보았을 것이다. 이번 포스팅에선 이런 에러 페이지를 커스터마이징 하기 위한 내용들을 알아보려고 한다. ▶ 공식 문서 참고 https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-error-handling 들어가기 앞서 공식 doc에 있는 내용을 먼저 살펴 보도록 하자. By..
-
[스프링부트 (11)] SpringBoot YAML 적용하기(properties vs yaml)
[스프링부트 (11)] SpringBoot YAML 적용하기(properties vs yaml) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ Spring Boot Properties 대신 YAML적용하기 ] 입니다. : ) 1. YAML이란? ▶ YAML (YML Ain't Markup Language) - 자세한 내용은 위키 참조(위키를 참조하여 간략히 정리 하였다.) : https://ko.wikipedia.org/wiki/YAML - XML, C, 파이썬, 펄, RFC2822에서 정의된 e-mail 양식에서 개념을 얻어 만들어진 '사람이 쉽게 읽을 수 있는' 데이터 직렬화 양식. - YAML은 모든 데이터를 리스트, 해쉬, 스칼라 데이터의 조합으로 적절히 표현할 수 있다는 믿음을 가지고 만들어졌다..
-
[스프링부트 (10)] SpringBoot Test(3) - 단위 테스트(@WebMvcTest, @DataJpaTest, @RestClientTest 등)
[스프링부트 (10)] SpringBoot Test(3) - 단위 테스트(@WebMvcTest, @DataJpaTest, @RestClientTest 등) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 스프링 부트 단위 테스트 하기 (@WebMvcTest, @DataJpaTest, @RestClientTest, @JsonTest 등)] 입니다. : ) 0. 들어가기 앞서 이번 포스팅의 대부의 내용도 공식 레퍼런스 문서에 더 자세하게 나와 있다. 다음 공식 문서를 꼭 참고 하면 좋을 것 같다. https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-testing SpringBoo..
-
[스프링부트 (9)] SpringBoot Test(2) - @SpringBootTest로 통합테스트 하기
[스프링부트 (9)] SpringBoot Test(2) - @SpringBootTest로 통합테스트 하기 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 스프링 부트 통합 테스트 하기 (@SpringBootTest)] 입니다. : ) 0. 들어가기 앞서 이번 포스팅의 대부분의 내용은 공식 레퍼런스 문서에 더 자세하게 나와 있다. 다음 공식 문서를 꼭 참고 하면 좋을 것 같다. https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-testing SpringBoot는 테스트 목적에 따라 다양한 어노테이션을 제공한다. ☞ 통합테스트 @SpringBootTest ☞ 단위테스트 @Web..
-
[스프링부트 (8)] SpringBoot Test(1) - Junit 설정 및 실행
[스프링부트 (8)] SpringBoot Test(1) - Junit 설정 및 실행 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 스프링 부트 테스트 시작하기 (Junit 테스트 방법)] 입니다. : ) 0. 들어가기 앞서 사실 Junit을 포스팅 한다기 보다는 Spring Boot에서 제공하는 테스트 기능을 사용하기 앞서 한번 끊어가는 시간이라고 보면 될 것 같다. 궁극적으로는 스프링 부트에서 제공하는 기능으로 통합테스트, 단위테스트 방법을 정리 하려고 한다. 이에 앞서 기본적으로 사용되는 Junit의 설정 및 IntelliJ에서 Junit 테스트 방법에 대해 간단히 정리 하려고 한다. 1. Junit 설정 ▶ 1. Junit 이란? 특징? - Java에서 독립된 단위테스트(Unit Test)를 지원해..
-
[스프링부트 (7)] Spring Boot JPA(1) - 시작 및 기본 설정
[스프링부트 (7)] Spring Boot JPA(1) - 시작 및 기본 설정 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 스프링 부트 JPA 설정 방법] 입니다. : ) 0. 기본개념 JPA를 들어가기 전에 ORM부터 간단하게 알아보자. 실제 예제부터 먼저 돌려보고 나중에 이해해도 무방 할 것 같다. # ORM이란? - Object-Relational Mapping (객체와 관계형데이터베이스 매핑, 객체와 DB의 테이블이 매핑을 이루는 것) - 객체가 테이블이 되도록 매핑 시켜주는 프레임워크 이다. - 프로그램의 복잡도를 줄이고 자바 객체와 쿼리를 분리할 수 있으며 트랜잭션 처리나 기타 데이터베이스 관련 작업들을 좀 더 편리하게 처리할 수 있는 방법 - SQL Query가 아닌 직관적인 코드(메서드)..
-
[스프링부트 (6)] Spring Boot 로그 설정(2) - DB로그(log4jdbc)
[스프링부트 (6)] Spring Boot 로그설정(2) - JDBC 로그 (log4jdbc) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 스프링 부트 DB 로그 설정] 입니다. : ) 0. logback 앞서 포스팅에서 logback설정을 해보았을 것이다. 다만 스프링 부트에서 logback은 기본으로 포함되어 있지만 jdbc에 대한 logback 설정은 되어 있지 않기 때문에 추가 설정이 필요하다. 이 부분에 대해서 간단하게 다음 포스팅과 같이 설정하면 하면되니 참고 하도록 하자. 1. JDBC 로그 설정 이번 포스팅에선 log4jdbc를 사용하려 쿼리를 예쁘게 찍어보려 한다. 쿼리문을 Console또는 로그 파일로 출력하고자 할때 다음과 같은 설정을 하면 된다. ▶ 1. 라이브러리 추가 (디펜던시..
-
[스프링부트 (5)] Spring Boot 로그 설정(1) - Logback
[스프링부트 (5)] Spring Boot Log 설정(1) - Logback 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 스프링 부트 Log 설정 - 로그백] 입니다. : -) 1. Logback 이란? 특징? - 자바 오픈소스 로깅 프레임워크, SLF4J의 구현체 - 스프링 부트의 기본으로 설정되어 있어서 사용시 별도로 라이브러리를 추가하지 않아도 된다. - log4j, log4j2 등과 성능을 비교했을 때에도 logback이 더 훌륭한 성능을 보여준다. - spring-boot-starter-web 안에 spring-boot-starter-logging에 구현체가 있다. - Logback을 이용하여 로깅을 수행하기 위해서 필요한 주요 설정요소로는 Logger, Appender, Encoder의 3..
-
[스프링부트 (4)] Spring Boot DataBase 연동하기 (MariaDB, MyBatis, HikariCP)
[스프링부트 (4)] 스프링부트 DB 연동 (MariaDB, MyBatis, HikariCP) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ SpringBoot DB 연동] 입니다. : ) 0. 들어가기 앞서 Spring Boot를 사용하면서 DB를연결하기 위해 JDBC Connection Pool이란걸 사용 해보셨을 것이다. ▶ 커넥션풀(Connection Pool)이란? 1) 정의 - 풀(Pool)속에 데이터베이스와의 연결(커넥션)들을 미리 만들어 두고 데이터베이스에 접근시 풀에 남아있는 커넥션중 하나를 받아와서 사용한뒤 반환하는 기법. - DataBase Connection Pool, DBCP라고도 한다. 2) 사용이유 - 웹 애플리케이션은 다수의 사용자가 데이터베이스에 접근해야 하는 상황에 사용자..
-
[스프링부트 (3)] SpringMVC(2) Spring Boot View 설정 및 JSP 연동하기(Thymeleaf 추가)
-[스프링부트 (3)] SpringMVC(2) Spring Boot View 설정 및 JSP 연동하기(Thymeleaf 추가) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 스프링 부트 View 설정방법 ] 입니다. : ) 이번 포스팅에선 MVC 패턴중 View 설정하는 방법을 설명하려 한다. 그리고 JSP 및 VelocityThymeleaf를 예제를 포함 하려 한다. 0. 들어가기 앞서 ▶ JSP 제한 사항 - 스프링 공식문서에 보면 내장된 서블릿 컨테이너에는 jsp 제한사항이 있다. https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-developing-web-appli..
-
[스프링부트 (2)] SpringMVC(1) Controller 생성하기
[스프링부트 (2)] SpringMVC(1) Controller 생성하기 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 스프링 부트 Controller ] 입니다. : ) 아주 간단히 Controller에 대해 정리도 하려고 하니, 실제 스프링 부트의 Controller생성 방법으로 얼른 스킵하여 보셔도 무방할 듯하다. 1. MVC ▶ 개요 - MVC(Model View Controller)란 하나의 디자인 패턴이다. - 스프링 MVC : 스프링이 제공하는 웹 어플리케이션 구축 전용 MVC 프레임워크. 1. 모델(Model) : 비즈니스 규칙을 표현 2. 뷰(View) : 프레젠테이션을 표현 3. 컨트롤러(Controller) : 위 두가지를 분리하기 위하여 양측 사이에 배치된 인터페이스 이번 포스팅은 ..
IntelliJ
-
[springboot] [intellij] [jpa] Cannot resolve table
[springboot] [intellij] [jpa] Cannot resolve table JPA, Intellij 오류 ▶ 1. 오류 현상 - 환경 : IIntelliJ idea, Spring boot, MySql, JPA - 위와 같은 환경에서 작업 도중 다음과 같은 오류가 발생 하였다. Cannot resolve table '테이블명' - 위와 같은 에러 메세지를 무시하고 실행 해보아도 정상 동작 하는 것을 볼 수있다. 하지만 개발자라면 저런 오류 문구 하나에도 신경이 쓰이기 때문에 그냥 넘어 갈 수 없을 것이다. ▶ 2. 해결 방법 - 두가지 방법으로 해결 가능 하다. 1. 관련 벨리데이션 언체크하여 해결 " IntelliJ가 꼼꼼하게 검사를 해주고 있어 발생한다고 볼 수 있다. 너무 좋은 툴이다..
-
[IntelliJ] Intellij 기본 설정3(플러그인 다운로드하여 직접 설치)
[IntelliJ] Intellij 기본 설정3(플러그인 다운로드하여 직접 설치) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ IntelliJ Plugin Download하여 설치 하기 ] 입니다. : ) 이전 포스팅에서 인텔리J 플러그인 설치 하는 방법에 대해 작성 하였습니다. 2020/01/09 - [6. 개발도구/6_1 IntelliJ] - [IntelliJ] Intellij 기본 설정2(플러그인 설정) 하지만 인터넷 환경이 아닌 VDI, 즉 업무망, 사내망의 경우 Internet 연결이 막혀있어 플러그인을 설치하기 힘든 경우 다른 환경에서 플러그인 파일을 다운로드 하여 직접 설치하는 방법을 사용할 수 있다. 이번 포스팅에서는 직접 DownLoad하여 설치해보도록 하자. 0.IntelliJ Plu..
-
[IntelliJ] IntelliJ + Git Bash 연동하기
[IntelliJ] IntelliJ + Git Bash 연동하기 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ [IntelliJ] IntelliJ + Git Bash 연동하기 ] 입니다. : ) 인텔리 제이에서 기본 CMD 터미널을 사용해보았을 것이다. 이 터미널을 Git Bash로 교체하여 사용할 수 있는데, 이 방법에 대해 알아 보도록 하자. IntelliJ IDEA + GitBash - GitBash를 사용한다면 CMD에서 사용하지 못했던 Bash 관련 명령어들도 사용 가능하다. ▶ 1. Intellij에 GitBash 연결하기 1) File >> Settings... 클릭 2) Tools >> Terminal 클릭 - shell path를 확인 해 보면 cmd.exe 로 되어있는 것을 볼 수 있을..
-
[IntelliJ] IntelliJ + Github 연동하기
[IntelliJ] IntelliJ + Github 연동하기 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ IntelliJ 로컬 프로젝트 Github 연동하기 ] 입니다. : ) 인텔리 제이를 통해 개발중인 로컬 프로젝트를 Github이랑 연동하는 방법을 알아 보려 한다. 로컬 프로젝트 IntelliJ로 Github 연동하기 인텔리제이에서 내가 만들었던 프로젝트를 깃헙에 연동 하려면 어떻게 해야 하나 알아보자. ▶ 1. Intellij Github 연동 설정 1) Git 실행 설정 - File >> Settings 클릭 - 설치했었던 Git의 실행파일 경로를 지정 ( 혹시 Git이 설치 안되어 있다면 다음 내용 참고 - https://goddaehee.tistory.com/216) 2) GitHub 계정..
-
[IntelliJ] IntelliJ 인코딩 설정(IntelliJ UTF-8 설정, IntelliJ 한글 설정)
[IntelliJ] IntelliJ 인코딩 설정(IntelliJ UTF-8 설정, IntelliJ 한글 설정) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 인텔리제이 인코딩 설정 ] 입니다. : ) 초기 인텔리 제이에서 개발하다가 자주 겪는 문제가 한글 깨짐 현상이다. 이와 같은 문제를 겪지 않기 위해 보통 프로젝트 초기에 인코딩 설정을 먼저 적용한 후 개발하는 습관을 들이면 좋을 것 같다. 오늘은 이 인코딩 설정에 대한 내용을 포스팅 하려 한다. IntelliJ의 인코딩 설정 인텔리제이의 VM, Editor 그리고 Tomcat의 인코딩 3가지 인코딩 설정을 해보도록 한다. ▶ 1. Intellij VM 설정 (IntelliJ 가상머신 Encoding 설정) 1) Intellij 실행시 사용할 가상 머..
-
[IntelliJ] IntelliJ + Tomcat 연동 방법 (Intellij 톰캣 설정)
[IntelliJ] IntelliJ + Tomcat 연동 방법 (Intellij 톰캣 설정) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ IntelliJ Tomcat Web 개발 환경 설정 입니다. : -) ] 이번엔 인텔리제이에서 톰캣 설정을 하는 방법에 대해 포스팅 하려 한다. Intellij + Tomcat 인텔리제이에서 톰캣을 설정 하기 전에 먼저, 원하는 톰캣 버전을 다운로드 하여 설치 하도록 하자. ▶ 1. Tomcat(톰캣) 서버 설치 1) 톰캣은 아파치 소프트웨어 재단에서 오픈 소스로 무료로 배포하는 서블릿 컨테이너이다. 2) 다음 링크로 이동하여 설치 파일을 받아 보자. - https://tomcat.apache.org/ - 원하는 버전을 선택 하도록 한다. (나와 같은 경우는 Tomc..
-
[IntelliJ] IntelliJ 메모리 설정(IntelliJ 메모리 늘리기)
[IntelliJ] IntelliJ 메모리 설정(IntelliJ 메모리 늘리기) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ [IntelliJ] Intellij memory 늘리기 ] 입니다. : ) 인텔리제이 메모리 늘리기 인텔리 제이를 계속 사용하다보면 느려지는 경우가 발생한다. 나와 같은 경우도 Intellij 자체적으로 메모리 때문에 속도가 느려진 현상을 볼 수 있었다. Low Memory The IDE is running low on memory and this might affect performance. please consider increasing available heap. 이클립스를 사용할 때도 메모리 부족으로 VM 설정을 만지곤 했는데, Intellij도 본인의 PC 메모리가 충분..
-
[IntelliJ] IntelliJ 외부 라이브러리 추가하기(SpringBoot 외부 라이브러리 추가)
[IntelliJ] IntelliJ 외부 라이브러리 추가하기(SpringBoot 외부 라이브러리 추가) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ [IntelliJ] IntelliJ 외부 라이브러리 추가하기(gradle 외부 라이브러리 추가) ] 입니다. : ) 인텔리 제이에서 외부 라이브러리를 추가 하거나, SpringBoot에 외부 라이브러리를 추가하는 방법을 간단하게 알아보려 한다. 프로젝트에 외부 jar 추가하기 인텔리제이에서 내가 만들었던 또는 사용하고 싶은 외부 jar 파일을 클래스패스에 추가하려면 어떻게 해야 할까? 이때 참고로, 이클립스와 인텔리J는 다른점이 있으니 이점도 유의 하도록 하자. - Eclipse : workspace(워크스페이스) 기준 - IntelliJ : projecx..
-
[IntelliJ] Intellij 학생 인증, 무료 설치 방법
[IntelliJ] Intellij 학생 인증, 무료 설치 방법 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ IntelliJ Ultimate 무료 설치 방법(학생인증) ] 입니다. : ) 이전 버전에서 무료 버전인 IntelliJ Community 버전을 설치 해보았다. Community 버전과 Ultimate 버전은 다음과 같이 기능 차이가 있다. 기능이 풍부한 Ultimate 버전을 사용하려면 유료 라이센스를 구입해야 한다. 다만 아직까진 학생들에게는 무료로 사용할 수 있는 라이센스를 제공하고 있다. 학생 인증을 통하여 무료로 사용할 수 있다고 하여 학생 인증방법을 포스팅 해보려 한다. 1. 인증 페이지 접속 ▶ 1. JetBrains 사이트 접속 ※ Jet Brains의 학생 인증 관련 계속 바뀌..
-
[IntelliJ] IntelliJ 롬복 설치 및 설정
[IntelliJ] IntelliJ Lombok 설치 및 설정 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 인텔리제이 롬복 설정] 입니다. : ) 0.롬복(Lombok)이란? ▶ 롬복(Lombok) - 롬복(Lombok)은 Java Domain(Dto, Vo)에서 반복적으로 작성되는 getters/setters나 toString, 생성자 관련 코드 등의 소스들을 간결하게 만들어주는 라이브러리다. - 롬복에 대한 설명은 다음 링크의 포스팅에서 설명 해 두었다. (https://goddaehee.tistory.com/95) 이번 포스팅 에서는 롬복을 인텔리 제이에 설치 & 적용 하는 방법을 간단히 설명하려 한다. 1.IntelliJ 롬복 Plugin 설치 ▶ 인텔리 제이 - 롬복 플러그인 설치 - Sett..
-
[IntelliJ] Intellij 기본 설정2(플러그인 설정)
[IntelliJ] Intellij 기본 설정2(Plugin 설정) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ IntelliJ 기본 플러그인 설치 ] 입니다. : ) 첫번째로는 인텔리J 설치 후 기본으로 설정하면 좋은 것들을 정리 하였고, 이번 포스팅에서는 인텔리제이 추천할만한 플러그인을 소개해보려 한다. 0.IntelliJ Plugin 설치 ▶ 인텔리 제이 - 플러그인 설치 - Setting > Plugins - Marketplace 탭에서 플러그인을 설치할 수 있다. - Installed 탭에서 이미 설치된 플러그인을 확인 및 Disabled 처리 할 수 있다. 1. Grep Console ▶ Grep Console - https://plugins.jetbrains.com/plugin/7125-g..
-
[IntelliJ] Intellij 기본 설정1(초기 설정)
[IntelliJ] Intellij 기본 설정1(초기 설정) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ IntelliJ 기본 설정 방법 ] 입니다. : ) 첫번째로는 인텔리J 설치 후 기본으로 설정하면 좋은 것들을 정리 할 예정이다. 다음 포스팅에선 플러그인 쪽을 다루고, 이번엔 프로젝트 시작시 하면 좋을 기본 설정을 정리해보도록 한다. 1. SDK ▶ SDK 설정 - 신규 프로젝트를 생성할 때마다 기본 설정 적용을 위해 "Structure for New Projects" 클릭 - Project Settings > Project > Project SDK > New > JDK 클릭 - 원하는 JDK 버전을 선택 하여 준다. - Platform Settings > SDKs 확인 (Name도 변경 가능하다..
-
[IntelliJ] IntelliJ - SVN 연동 방법
[IntelliJ] IntellijJ- SVN 연동 방법 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ IntelliJ - SVN 연동 방법 ] 입니다. : ) 아직도 많은 프로젝트에서 SVN을 사용하고 있기에 SVN 연동 방법을 작성 하게 되었다. 1. 연동 방법 ▶ IntelliJ - SVN Repositories 메뉴 - VCS > Browse VCS Repository > Brows Subversion Repository 클릭 - 왼쪽 하단에 "+" 클릭 > svn주소 입력 ※ 2018.3 이후 버전의 경우 다음과 같은 오류가 발생 한다. - Cannot run program "svn" : CreateProcess error=2, 지정된 파일을 찾을 수 없습니다 - Cannot run progra..
-
[IntelliJ] Intellij 설치방법
[IntelliJ] Intellij 설치방법 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ IntelliJ 설치 방법 ] 입니다. : ) Eclipse에서 IntelliJ로 갈아탄 친구에게 추천받았는데, 개발 퍼포먼스 면에서 엄청 향상이 있었다고 한다. 일단, 첫 시작이니 IntelliJ 설치하는 방법부터 알아보자. 1. IntelliJ ▶ IntelliJ란? - 젯브레인스(JetBrains) 사에서 제작한 Java 개발을 위한 툴 - IntelliJ 혹은 IDEA 로도 불린다. 2. 설치하기 ▶ 1. 다음 사이트 접속 - https://www.jetbrains.com/idea/ - 인텔리 J보다는 훨씬 이쁜 디자인을 갖고 있다. - 우측 상단에 있는 Download or 다운로드 버튼을 클릭 한다. -..
Git 기초
-
[Git (11)] Git GUI(1) - 소스트리(SourceTree) 설치방법 및 사용방법
[Git (11)] Git GUI(1) - 소스트리(SourceTree) 설치방법 및 사용방법 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ git 소스트리 설치 및 사용 방법 ] 입니다. : ) SourceTree - 여태까지 CLI(Command Line Interface) 환경에서 Git을 사용하는 방법을 간단히 알아보았다. 당연히 GUI(Graphic User Interface) 환경에서도 Git을 사용할 수 있게 해주는 프로그램들이 있는데, Sourcetree, GitKraken, github desktop 등 다양한 프로그램이 있는데, 각각의 장단점이 있다. -일단 이번엔 예전부터 많이 사용해오던 Sourcetree 설치 방법과 사용방법에 대해 간단히 알아보려 한다. - 많이 사용하거나 들어 ..
-
[Git (10)] Git Branch(2) - 브랜치 병합하기(git branch merge)
[Git (10)] Git Branch(2) - 브랜치 병합하기(git branch merge) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ git branch 병합 및 Conflict 해결하기 ] 입니다. : ) Git Merge ※ 브랜치의 사용, 머지 전략은 다양하게 있겠지만, 이번엔 가장 기초적인 머지 작업에 대해서 써보려 한다. ▶ 1. Git Merge 1) 신규생성한(없다면 생성 > git branch test ) branch로 이동 하여보자. #git switch test #git branch - 현재 test 브랜치에 위치하고 있다. 2) test 브랜치에서 다음과 같은 신규 함수를 작성 한다. - 파일명 : test.js - 내용 function add (x, y){ console.l..
-
[Git (9)] Git Branch(1) - 기초(Branch 생성 및 사용)
[Git (9)] Git Branch(1) - 기초(Branch 생성 및 사용) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ git branch 생성 및 사용하기 ] 입니다. : ) 1. Git Branch란? ※ Branch란? - Software개발시 개발자들은 동일한 소스코드 위에서 신규 개발, 버그 수정 등의 업무를 협업하곤 한다. 이럴 때, 여러 개발자들이 동시에 다양한 작업을 할 수 있게 만들어 주는 기능이 "Branch" 이다. 즉, 브랜치(Branch)를 통해 하나의 프로젝트를 여러 갈래로 나누어서 관리할 수 있다. 각각의 독립된 Branch에서 마음대로 소스코드를 변경하여 작업 한 후 원래 버전과 비교하여 또 하나의 새로운 버전을 만들어 낼 수 있다. ▶ 1. Branch 확인 하기 1..
-
[Git (8)] Git Alias - 단축키 설정 및 사용하기
[Git (8)] Git Alias - 단축키 설정 및 사용하기 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ git alias 설정 및 사용하기 ] 입니다. : ) 1. Git Alias git은 수많은 명령어를 가지고 있고, 명령어들의 복잡한 옵션들을 일일이 기억하긴 매우 어렵고 번거롭다. Bash등 쉘에서 Alias 기능을 지원하는 것처럼 git도 Alias를 통해 명령어들을 간단하게 단축키로 지정하여 사용할 수 있다. ▶ 1. Git Alias 지정 하기 - 2가지 방법으로 지정 가능 하다. 1.1 Git Commands로 설정하기 - git config 를 사용하여 각 명령의 Alias을 쉽게 만들 수 있다. ex) # git config --global alias.st 'status -s' -..
-
[Git (7)] Github 비밀번호 입력 없이 pull/push 하기(github ssh key 설정)
[Git (7)] Github 비밀번호 입력 없이 pull/push 하기(github ssh key 설정) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ GitHub ID, Password 입력없이 pull, push 하기 ] 입니다. : ) 0. 들어가기 앞서 ▶ 1. SSH Key 생성 목적 Git 원격 저장소에 Push나 Pull을 할때 매번 패스워드를 묻게 되는데 이 과정을 SSH Key 생성을 통해 생략할 수 있다. 이와 같은 니즈가 발생하는 케이스는 다양할 것이다. 1. 사용자 비밀번호 입력 방식보다 높은 수준의 보안을 필요로 할 때 필요하다. 2. 젠킨스 등의 CI툴로 배포 자동화를 할때 등 사용자 계정 입력을 자동화 하여야 할 때 필요하다. 3. GitHub 계정이 2FA(Two-Facto..
-
[Git (6)] git pull 에러 해결방법 (Your local changes to the following files would be overwritten by merge ) - git stash
[Git (6)] git pull 에러 해결 (Your local changes to the following files would be overwritten by merge ) -git stash 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ git pull 충돌 에러 해결방법 ] 입니다. : ) 1. 원인 Git을 사용하여 작업을 하다가 원격 리파지토리(remote repository)에서 단순히 소스를 땡겨오려할 때(pull) 다음과 같은 에러 메세지를 본적이 있을 것이다. ex) # git merge Updating e4ea95d..f5ebfb7 error: Your local changes to the following files would be overwritten by merge: 소스~ P..
-
[Git (5)] GitHub Repository(원격저장소) 생성, GitBash로 연결, 초대하기
[Git (5)] GitHub Repository(원격저장소) 생성, GitBash로 연결, 초대하기 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ GitHub Repository, Git 연동 방법, 초대하기 ] 입니다. : ) 0. 들어가기 앞서 Git을 제대로 사용하기 위해서는 원격 저장소가 필요하다. Remote repository(원격 저장소)를 사용하면 1. 프로젝트 작업물을 안전 하게 백업할 수 있으며, 2. 많은 사람들과 협업이 용이하다는 장점이 있다. 오늘은 그 시작인 Remote repository를 사용하여 프로젝트 생성하는 내용을 살펴 볼 예정이다. 1. 저장소 생성하기 (Create Repository) ▶ 1. Remote Repository 생성 - 깃헙 사이트 접속 및 로그인..
-
[Git (4)] 깃허브(GitHub) 학생 인증하기
[Git (4)] 깃허브(GitHub) 학생 인증하기 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 깃헙 학생 인증하기 ] 입니다. : ) 0. 들어가기 앞서 Microsoft, Github, JetBrains 등은 학생인증을 하면 여러 혜택을 주기도 한다. 대표적으로 얼마전 포스팅 했던 IntelliJ도 학생인 경우 Ultimate버전을 사용해볼 수 있다. Github도 학생 인증을 하면, ☆다양한 혜택을 제공 한다. 이에 학생분들이 인증할 수 있는 방법을 살펴 보자. 1. GitHub 학생 인증 ▶ 1. Github Education 사이트로 이동 https://education.github.com - "GitHub Student Developer Pack"을 선택 하자. ▶ 2."get the pa..
-
[Git (3)] 깃허브(GitHub) 회원 가입하기(계정 만들기)
[Git (3)] 깃허브(GitHub) 회원 가입하기(계정 만들기) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 깃헙 회원 가입하기 ] 입니다. : ) 0. 들어가기 앞서 Git을 제대로 사용하기 위해서는 원격 저장소가 필요하다. Git으로 Commit한 파일들을 push 하기위하여 원격 저장소가 필요한데 이런 Git 웹호스팅 서비스를 제공하는 서비스가 여러개 있다. ex) GitHub, GitLab, BitBucket GitHub 이란 깃(Git)을 사용하여 소스를 관리할 수 있는 분산 버전 관리 시스템 이라고도 볼 수 있다. 이번 포스팅에서는 이중 GitHub 회원 가입하는 방법을 간단하게 살펴 보려 한다. 1. GitHub 가입하기 ▶ 1. 깃헙 가입 페이지 이동 - 다음 깃헙 가입 페이지로 이동..
-
[Git (2)] Git 명령어, 저장소 만들기(init) 및 커밋 하기(add / commit)
[Git (2)] Git 명령어, 저장소 만들기(init) 및 커밋 하기(add / commit) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ Git 명령어 간단 정리 및 저장소 생성 및 커밋 하기 (Init, add, commit) ] 입니다. : ) 0. 들어가기 앞서 Git은 대부분의 명령을 로컬에서 실행 한다. 이때문에 여러 장점이 있다. 속도도 빠르며, 오프라인에서도 작업이 가능하다. 등등. 이번 포스팅에선 간단하게 로컬 저장소(Local Repository)를 생성하여 변경 이력을 커밋해보려고 한다. Git 저장소를 사용하기 위하여 주로 다음 2가지 방법으로 저장소를 쓰기 시작 한다. 1) 아직 버전관리를 하지 않는 로컬 디렉토리 하나를 선택해서 Git 저장소를 적용하는 방법 2) 다른 어딘..
-
[Git (1)] 윈도우 10 Git 설치 하기
[Git (1)] 윈도우 10 Git 설치 하기 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ Window 10 Git 설치 방법 ] 입니다. : ) 1. Git 설치 Git은 패키지를 설치하거나 별도의 인스톨러로 설치할 수 있다. 혹시라도 이미 설치한 경우에는 최신 버전으로 업데이트 하면 된다. ▶ 1. Git 설치 파일 다운로드 1.1 Git SCM에 접속하여 설치 파일 다운로드 https://git-scm.com/ - 화면 하단, 우측을 보면 모니터 모양의 이미지에 접속된 운영체제에 맞는 Git 최신 버전과 다운로드가 표시되어 있다. "DownLoad 클릭". - 자동으로 다운로드가 안된다면 다음 클릭. (현재 기준 2.25.1 버전 다운로드) ▶ 2. Git 설치 2.1 Next 클릭 2.2 Gi..
AWS 기초
-
[AWS] 10. CloudFront(CDN) 이해 및 사용해보기
안녕하세요. 갓대희 입니다. 이번 포스팅은 [ AWS - CloudFront란?(사용해보기) ] 입니다. : ) 0. 들어가기 앞서 ▶ CloudFront란 AWS에서 제공하는 CDN(Content Delivery Network or Content Distribution Network, 콘텐츠 전송 네트워크) 서비스를 의미한다. ▶ CDN에 대해선 최소한의 내용만 체크하고, 실습 위주로 진행 해보려고 한다. ▶ CloudFront의 사용 사례는 다음 자습서를 통해서도 확인할 수 있다. https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/IntroductionUseCases.html ex1) 정적 웹사이트 콘텐츠 전달 가속화 (Accele..
-
[AWS] 9. 프리티어 요금 폭탄 방지 및 환불 요청 방법
안녕하세요. 갓대희 입니다. 이번 포스팅은 [ AWS - 프리티어 요금 폭탄 방지 및 환불 요청 방법 ] 입니다. : ) 0. 들어가기 앞서 - 나의 경우에도 프리티어 사용기간이 끝난 계정들 또는 나의 실수로 인해 비용이 청구된 적이 많다. 흔히 많이 겪는 일이긴 한데 보통 소잃고 외양간 고치는 경우가 많다. - 프리티어 관련하여 요금 발생 방지를 위한 최소한의 노력은 미리 해두면 좋을 듯 하여 해당 내용을 포스팅 하며, 환불 요청 했던 내용도 추가해 두려 한다. 1. 프리티어 요금 폭탄 방지 - AWS 비용 체계를 정확하게 인지하지 못한 채 프리티어 한도를 넘어서게 되어 비용이 발생 하는 경우가 발생하게 된다. 이런 경우를 모니터링하기 위해 메일 또는 SNS를 통해 알림을 받도록 설정 할 수 있다. 1..
-
[AWS] 8. EFS란?(with EC2에 EFS Volume 추가하기)
안녕하세요. 갓대희 입니다. 이번 포스팅은 [ AWS - EBS란?(with EC2에 EFS Volume 추가하기) ] 입니다. : ) 0. 들어가기 앞서 - 예전에 생성하였던 EC2에 MySql을 설치하여 사용하다보니 EC2 EBS 용량 이 부족한 상황이 발생 하여 EBS Volume을 추가 해 보았다. 하지만 동일AZ에서만 연결 가능 하는 등의 제약 사항이 있다. - 이번엔 EFS Volumne을 추가해보려 한다. 기존 WAS(EC2)여러대에 하나의 NAS(EFS)를 마운트 하는 컨셉으로 내용을 이어 가보려 한다. 1. EFS (Elastic File System) 정의 및 특징 - 기존 온프레미스 환경에서의 NFS, NAS와 비슷한 서비스이다. ( 파일 스토리지 서비스인 나스의 기능으로서도 사용 가..
-
[AWS] 7. EBS란?(with EC2에 EBS Volume 추가하기)
안녕하세요. 갓대희 입니다. 이번 포스팅은 [ AWS - EBS란?(with EC2에 EBS Volume 추가하기) ] 입니다. : ) 0. 들어가기 앞서 - 예전에 생성하였던 EC2에 MySql을 설치하여 사용하다보니 EC2 EBS 용량 이 부족한 상황이 발생 하였다. - 간단하게 EBS Volume을 추가해보며 이참에 EBS란 어떤 것인지도 함께 알아보자. 1. EBS (Elastic Block Storage) 정의 및 특징 - EBS는 클라우드에서 사용하는 가상 하드디스크(HDD or SSD)라고 할 수 있다. EC2 인스턴스 - EC2 인스턴스에 사용할 대규모 고성능 블록 스토리지 볼륨을 제공한다. EC2 인스턴스가 실행 중인 동안 연결 가능한 네트워크 드라이브. 즉 인스턴스와 저장소간 실제 물리..
-
[AWS] 6-3. AWS - S3를 통해 정적 웹 사이트 호스팅 하기(3)(S3로 index.html 호스팅 하기)
안녕하세요. 갓대희 입니다. 이번 포스팅은 [ AWS - S3 로 정적 웹 사이트 호스팅 하기 ] 입니다. : ) 0. 들어가기 앞서 - 정적 웹 호스팅을 무료로 할 수 있는 방법은 github, netlify 등등 많기 떄문에 잘 사용되지 않을 수 있지만, 해당 방법도 알아두자. - netlify를 통해 호스팅 하는 방법은 해당 포스팅 참고. 2022.02.07 - [2. 웹개발/환경설정 & etc] - React 프로젝트, 정적 사이트 Netlify에 배포하기 1) S3를 통해 정적 사이트 웹 호스팅이 가능 하다. ex) 스토리지에 index.html파일을 올리고, 브라우저에서 해당 객체url로 접근하면 html이 띄워지며, 이게 정적 웹 호스팅이다. 2) EC2를 통해 정적 웹 호스팅을 한 경우와 ..
-
[AWS] 6-2. AWS - AWS Transfer로 FileZilla(+MobaXterm)로 S3 파일 전송하기(1)(AWS Transfer로 Serverless SFTP 구현하기)
안녕하세요. 갓대희 입니다. 이번 포스팅은 [ AWS - S3 에 FileZilla, MobaXterm으로 S3 파일 전송해보기 ] 입니다. : ) 0. 들어가기 앞서 - AWS는 EBS, EFS, FSx, S3, Glacier 등등, 요구사항에 맞춰 다양한 스토리지 서비스를 제공한다. - 예전에 SFTP를 사용하기 위해 리눅스에 직접 SFTP 설치, 설정을 했었던 기억이 있다. (https://goddaehee.tistory.com/73) - AWS Transfer Family와 S3를 통해 구지 서버 없이도, 즉 Serverless 하게 SFTP를 구현할 수 있어 이와 관련된 실습을 해보려 한다. 1. AWS Transfer Family 란? https://docs.aws.amazon.com/ko_k..
-
[AWS] 6-1. AWS - S3 버킷 생성 및 파일 업로드 하기
안녕하세요. 갓대희 입니다. 이번 포스팅은 [ AWS - S3 버킷 생성 하기, 파일 업로드 해보기 ] 입니다. : ) 1. S3(Simple Storage Service)란? - 온라인 오브젝트(객체) 스토리지 서비스이다. - 구글 드라이브 처럼 파일 저장 스토리지 서비스이며, 데이터를 온라인, 오브젝트 형태로 저장하는 서비스라고 볼 수 있다. 2. S3 특징 1) 확장성 : EC2와 마찬가지로 확장, 축소가 쉽다. 2) 가용성 및 내구성 - 99.99999%의 데이터 내구성을 가지고 있어 장애나 오류, 위협에 강하다. - S3객체는 최소 4개의 가용 영역에 자동으로 복제되어 보존되기 때문에 어느 한쪽에 장애가 발생해도 계속 사용가능 하다. 3) 신뢰성 : 암호화 기능과 접근 관리 도구가 있고, 각종 ..
-
[AWS] 5-3. AWS - EC2 Ubuntu에 mysql8.0 설치하기(Ubuntu 22.04, mysql 8.0.34)
안녕하세요. 갓대희 입니다. 이번 포스팅은 [ AWS - EC2 Ubuntu에 mysql 설치하기 ] 입니다. : ) 0. 버전 확인 - EC AMI는 ubuntu는 22.04를 선택하였다. - 현재 mysql 최신 버전은 8.0.34이며, 해당 버전을 설치할 예정이다. 1. mysql 설치 1) 업데이트 sudo apt-get update 또는 sudo apt update 2) mysql-server 설치 sudo apt-get install mysql-server 또는 sudo apt install mysql-server - y 만 입력하면 설치가 완료 된다. - 예전 버전, 환경(aws linux ami)에서는 Password를 물어봤는데, 이번 설치엔 물어보지 않기에 따로 설치시 비번 설정을 하진..
-
[AWS] 5-2. AWS - EC2 인스턴스 접속하기(Linux Ubuntu) + 기본설정
안녕하세요. 갓대희 입니다. 이번 포스팅은 [ AWS - EC2 Instance 접속하기 ] 입니다. : ) 0. Amazon EC2(Amazon Elastic Compute Cloud) 접속 방법 - Instance 설정 화면에서 이미 설치한 EC2 우클릭, "연결" 을 클릭 하자. - "ssh 클라이언트" 를 클릭 하자. - 하기와 같이 가이드가 나와 있는데 이 부분을 따라 가보자. 1. SSH 클라이언트를 연다. - gitbash, putty를 통해 접속하는 방법은 예전 글에 기록 되어 있으니 참고 하도록 하자. https://goddaehee.tistory.com/181 - 이번 포스팅에선 MobaXterm으로 진행 하려고 한다. 1) MobaXterm이란? - SSH, RDP, SFTP 등 다양..
-
[AWS] 5-1. AWS - EC2 인스턴스 생성하기(Linux Ubuntu)
안녕하세요. 갓대희 입니다. 이번 포스팅은 [ AWS - EC2 Instance 생성 해보기 ] 입니다. : ) 1. Amazon EC2(Amazon Elastic Compute Cloud)란? - AWS 에서 제공하는 클라우드 컴퓨팅 서비스, 독립된 컴퓨터를 임대해서 사용할 수 있게 해주는 서비스이다. - 하기에 실습한 내용은 AWS 자습서에 더 자세히 나와 있으니 참고 하도록 하자. https://docs.aws.amazon.com/ko_kr/ec2/ 1. 장점 및 특징 1) 간단한 절차(마우스 클릭 몇 번)만으로 컴퓨터 한대를 구성할 수 있다. - EC2는 컴퓨터를 주문하면 바로 몇분(보통 1분 이내에) 안에 생성되고, 삭제 역시 즉시 가능하다. 2) 안전하며 크기 조정이 가능한 컴퓨팅 파워를 클라..
-
[AWS] 4. AWS - IAM 유저 생성 하기
4. AWS - IAM 유저 생성 하기 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ AWS - IAM 유저 생성 해보기 ] 입니다. : ) - AWS Console에 로그인하려고 보면 2가지 방식이 있는것을 보았을 것이다. (ROOT 계정, IAM계정 2가지 ) 1) ROOT 계정 - 모든 권한을 가지고 있는 계정이다. 보안상 ROOT계정은 최대한 사용을 자제해야하고, IAM키로 제한된 기능을 사용해야 한다고 가이드 하고 있다. - 계정 설정, AWS 지원 플랜, IAM 사용자 권한, 특정 세금 계산서 조회 및 결제, 비용관리 코솔에 대한 IAM 엑세스 등 은 ROOT 사용자만 할 수 있다. 2) IAM 계정 - AWS 리소스를 안전하게 관리하기 위한 서비스. - ROOT 계정 혹은 다른 IAM 계정으..
-
[AWS] 3. AWS - 2차 인증, 멀티 팩터 인증(MFA) 적용 하기
안녕하세요. 갓대희 입니다. 이번 포스팅은 [ AWS 2차 인증, MFA 설정 하기 ] 입니다. : ) 시작하기 앞서.. - AWS Console에 로그인하려고 보면 2가지 방식이 있는것을 보았을 것이다. (ROOT 계정, IAM계정 2가지 ) 1) ROOT 계정 - 모든 권한을 가지고 있는 계정이다. 보안상 ROOT계정은 최대한 사용을 자제해야하고, IAM키로 제한된 기능을 사용해야 한다고 가이드 하고 있다. 2) IAM 계정 - AWS 리소스를 안전하게 관리하기 위한 서비스. - ROOT 계정 혹은 다른 IAM 계정으로부터 권한을 부여 받으며, 주어진 권한 내의 작업만 할 수 있다. IAM 계정관련해서는 다른 포스팅에서 다룰 예정이다. 당장 ROOT 계정을 사용한다면 최소한 MFA 설정은 꼭 하면 좋..
-
[AWS] 2. EC2 생성 및 접속하기(AWS SSH키 등록 하기)
2. EC2 생성 및 접속하기 & SSH키 등록 하기 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ EC2 생성, 섭속, 종료 그리고 AWS SSH키 등록 하기 ] 입니다. : ) 시작하기 앞서 - 혹시 공부를 위해서 이 글을 본다라고 하면, 예전에 작성했던 내 글들도 한번 살펴보는것도 좋을 것 같다. (그땐 무슨 열정이었는지 잘 알지 못하는 상황에서도, 수업을 열심히 듣고 정리 했나 보다.) 2019.02.05 - [3. 웹개발/3_3 AWS] - [AWS] 4.EC2(Elastic Compute Cloud) 란? (설치 포함) 2019.02.07 - [3. 웹개발/3_3 AWS] - [AWS] 5.EC2 리눅스 인스턴스 접속 방법 Amazon Elastic Compute Cloud (EC2) 1. 특..
-
[AWS] 1.AWS 회원가입 (AWS 계정 생성)
1. AWS 회원가입 및 계정 생성 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ AWS 시작하기, 계정 생성하기 ] 입니다. : ) 시작하기 앞서 -예전 2019 ~ 2020년 즈음 AWS 자격증을 따며 관련내용을 정리하고 포스팅 했었던 적이 있다. 2019.02.04 - [3. 웹개발/3_3 AWS] - [AWS] 2.AWS 회원가입 따라하기 현 시점에서 다시 초심으로 돌아가 2022년이 벌써 끝나가는 즈음 다시 AWS 기초에서부터 활용 방법까지 작성을 해보면 좋지 않을까 하여 시작해본다. ※ 프리티어 요금제 https://aws.amazon.com/ko/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-orde..
-
[AWS] 11. Route 53(DNS서비스) 개념 및 사용해보기
안녕하세요. 갓대희 입니다. 이번 포스팅은 [ AWS - Route 53 개념 및 사용해보기 ] 입니다. : ) 항상 공식 문서 같이 확인 하도록 하자. https://docs.aws.amazon.com/ko_kr/Route53/latest/DeveloperGuide/Welcome.html 0. 들어가기 앞서 ▶ Amazon Route 53 은 가용성과 확장성이 뛰어난 Domain Name System (DNS) 웹 서비스이다. ▶ Route 53을 통해 DNS를 관리(도메인 구입, 네임서버 등록 등)를 할 수 있고, 모니터링 기능까지 제공한다. ▶ 사용자의 요청을 EC2 인스턴스, ELB, S3 등 AWS 에서 실행되는 인프라에 효과적으로 연결하고, AWS 외부의 인프라로 라우팅하는데도 사용 가능하다...