Development
-
[Javascript] Prettier과 ESLint로 코드 예쁘게 유지하기Development/Javascript 2020. 10. 10. 22:24
What is Prettier? 협업을 하다보면 코딩 스타일이 각자 다르기때문에, 후에 유지보수 팀이 프로젝트를 열어보면 가독성과 유지보수의 문제가 있을 수 있다. 따라서, 코드 포맷을 정해서 한 방향으로 가는게 좋다. 이걸 도와주는 것이 바로 코드 포맷터(code formatter)인 Prettier다. Prettier는 다양한 언어와 Editor를 지원하고, 간단하게 사용자 맞춤 포맷 설정이 가능하므로 현업에서 많이 사용한다. Prettier · Opinionated Code Formatter Opinionated Code Formatter prettier.io What is ESLint? 자바스크립트는 문법 오류가 나도 알려주지 않고, 실행을 해서 오류를 확인해야 오류가 났다는걸 알 수 있다. 코드..
-
[React] 리액트 프로젝트 초기 셋업 (Webpack, babel 설정)Development/React 2020. 10. 8. 12:23
# 들어가기전에 CRA를 사용하면 쉽고 간편하게 React 개발 환경 구축을 할 수 있지만, 자동으로 다수의 패키지들이 설치되고 Webpack 및 babel설정도 자동으로 셋업되서 숨겨지기 때문에 번들링 옵션을 변경 때 번거롭다. 또한, CRA만 사용하여 Webpack과 babel이 뭔지도 모르는 사람을 많이 봤다.... 이 포스팅을 보는 사람들은 그런 일이 없길 바라면서, React 초기 개발환경 셋업에 대한 포스팅을 하겠다. Let's start 🥳 # React 프로젝트 환경 구성 npm 설치 React는 Webpack과 Babel을 사용하는데 이것을 사용하기 위해 Node가 필요하다. 또한, 의존성관리를 npm을 사용하기 때문에 Node가 필요하다. 아래 명령어를 입력하여 npm을 설치한다. np..
-
[SAP HANA] SAP HANA Service Restart 명령어(Linux)Development/SAP 2020. 10. 7. 18:08
# Service Layer Sevice 재시작 /etc/init.d/b1s stop /etc/init.d/b1s start # SAP Database Engine Service 재시작 adm 계정으로 접속. (su ndbadm) cd /usr/sap/NDB/HDB00 ./HDB stop ./HDB start # SAP SLD service, Analytics Platform, etc. 재시작 /etc/init.d/sapb1servertools restart # 참고사항 Restart SAP HANA Services in SuSE Linux
-
[NodeJS] ExpressJS에서 Swagger 사용하기Development/NodeJS 2020. 10. 5. 16:00
💁♀️ Swagger 란? 대부분의 프로젝트는 프론트엔드와 백엔드가 나눠진다. 백엔드 개발자는 API를 만들어서 API 사양서를 프론트엔드 개발자에서 전달해줘야한다. API 사양서를 엑셀이나, 워드로 관리한다면 백엔드 개발자도 프론트엔드 개발자도 서로 번거로워질 것이다. API가 수정되었다고해도 엑셀이나, 워드에 바로바로 업데이트를 하지않으면 도로묵이기때문이다. Swagger를 사용하면 REST API 문서화를 도와주고 API를 바로 실행해서 테스트도 가능하니 한번 사용하면 정말 편한 프레임워크다. 🧚♀️ ExpressJS에 Swagger 적용하기 본격적으로 Swagger를 적용하기 전에 사전작업이 필요하다. ExpressJS를 사용해서 개발한 REST API 프로젝트가 있어야한다. 사전 작업해둔 프..
-
[Network] Cookie SameSite (browser cookie issue)Development/Network 2020. 10. 5. 15:59
🍪 Chrome cookie issue 개발하던 웹 데모버전 배포일을 앞두고 총 테스트를 진행하는데, 갑자기 쿠키 전송이 안되서 엄청 당황했었다. 알고보니 2020년 02월 04일에 릴리즈된 구글 크롬 80버전부터 새로운 쿠키 정책이 적용되어 Cookie의 SameSite속성의 기본값이 None에서 Lax로 변경되서 그런거였다. 회사는 물론 고객사까지 거의 크롬을 사용하는데... 이걸 이제 알다니 😂 급하게 Edge로 테스트 하긴 했지만, 앞으로 다른 브라우저도 Chrome과 동일한 설정으로 기본값을 변경한다고하니 이제 쿠키 속성에 대해 신경써서 개발을 해야겠다. 💁♀️ SameSite란? SameSite는 웹 응용 프로그램에서 CSRF공격을 방지 하기 위해 HTTP 쿠키에 설정할 수 있는 속성이다. ..
-
[DB] Connection PoolDevelopment/DB & SQL 2020. 9. 29. 12:03
# Connection Pool이란? 데이터베이스에 대한 향후 요청이 필요할 때 연결을 재사용할 수 있도록 유지 관리하는 데이터베이스 연결의 캐시다. 쉽게 말해서 다른 사용자가 다시 사용할 수 있도록 데이터베이스 연결을 열린 상태로 유지하는 데 사용되는 방법으로, DB와 연결된 Connection을 미리 만들어서 pool 속에 저장해 두고 있다가 필요할 때 Connection을 Pool에서 쓰고 다시 Pool에 반환한다. DB와 Connection하는 작업은 네트워크 세션을 열고, 인증하고, 인증을 확인하는 등의 작업을 수행해야 하므로, 비용이 많이 들고, 리소스를 낭비한다. 이 작업을 DB 접근요청이 들어올때 마다 매번 한다고 생각하면 서버에 부하도 많이 갈 것이다. 따라서, Connection Poo..
-
[Network] HTTP Status Code(상태 코드)Development/Network 2020. 9. 29. 03:07
🙋♀️ 들어가기전에 API를 설계하다보면 Http 상태 코드의 중요성을 알 수 있다. 현재 회사의 API 설계를 보면 모든 Error는 400, 모든 Success는 200로 코딩이 되어있었다. 근데 찾아보니 다양하고 구체적인 상태 코드들이 많이 있다는걸 알게되었고, 코드만 봐도 어떤 에러인지 알 수 있게 용도에 맞게 상태 코드를 반환해주는게 중요하다는걸 알았다. 이번 포스팅에서 다양한 Http 상태 코드의 대해서 알아보겠다. 💁♀️ HTTP Status Code란? Http 요청이 성공/실패 여부를 서버에서 알려주는 코드다. 응답은 5개의 그룹으로 나누어진다. -정보를 제공하는 응답(1xx) -성공적인 응답(2xx) -리다이렉트(3xx) -클라이언트 에러(4xx) -서버 에러(5xx) # 정보 응답..
-
[Jenkins] Jenkins와 GitLab을 사용해서 React CI&CD 구축하기Development/Etc 2020. 9. 23. 14:55
🙋♀️ 들어가기전에 CI&CD란? CI는 지속적 통합(Continuous Integration)으로 간단히 빌드작업을 생각하면 되고, CD란 지속적 배포(Continuous Deploy)로 서버에 프로젝트를 올리는 작업이다. 서비스를 운영해본 사람들은 직접 빌드/배포를 하는게 얼마나 귀찮은 일인지 알 것이다. 프로젝트 초기에 잔오류들 때문에 배포를 자주 해야할때가 있는데, 그때마다 직접 빌드하고 그걸 압축해서 서버에 압축풀고 배포하는 작업을 계속해왔다😂 단순 반복 작업이 계속 되니 도저히 안되겠어서 CI&CD를 구축해야겠다고 결심했다. Jenkins를 사용해서 GitLab에 푸시가 되면 Slack 알람까지 오게하는 방법을 알아보겠다. # Jenkins로 분산환경 구축 분산환경이란 Jenkins서버(Ma..