Git Hooks Git과 관련한 어떤 이벤트가 발생했을 때 자동으로 특정 스크립트를 실행하도록 할 수 있는 것 꼭 지켜야 하는 코딩스타일이나 테스트코드, 등등의 정책들을 강제하기 위해 Git Hooks를 사용할 수 있다. commit이나 merge 할 때 클라이언트 훅이 실행되고, push 할 때 서버 훅이 실행된다. Git Hooks을 반드시 적용하게끔 강제하기 위해 만약 프로젝트가 npm을 사용하고 있다면 husky라는 모듈을 사용하자 husky Git Hooks를 보다 쉽게 적용할 수 있는 npm 모듈 husky 설치 npm install --save-dev husky commit 정책 정의하기 .huskyrc 파일에 정의하고자 하는 훅과 실행할 명령어 지정 { "hooks { "pre-commi..
방어적 프로그래밍 방어 코딩이라고도 한다. 예상치 못한 입력에도 계속적인 기능을 할 수 있도록 고안된 방어적 설계의 한 형태 종종 발생하지 않을거라 생각하고 넘어가거나 예외 상황들을 테스트 해봤기 때문에 완벽하다 생각하여 쉽게 오류에 빠진다. 방어적 프로그래밍은 프로그래머가 문제를 예상하고 이를 처리하는 코드를 작성하는 것이다. 0. 버그 없는 코드 유지 테스트 하기 (단위테스트, 꼼꼼한 테스트) 코드 검토하기 (여러 사람과) 신뢰할만한 라이브러리 사용 좋은 코딩 관례 따르기 (구조화 잘 하기) 1. 외부로부터 입력받거나 파라미터로 받는 값, 함수의 리턴값 올바른 데이터 범위인지 유형인지 검사 필요 데이터 체크를 하는 습관을 들여야 한다. 2. 공유 메모리, 쓰레드 데이터가 덮어씌워지거나 데드락에 걸리지..
ESLint ECMAScript + Linter 자바스크립트 코드에서 발견된 문제 패턴을 식별하기 위한 정적 코드 분석 도구 대부분의 프로그래밍 언어에는 컴파일 과정에서 수행되는 Linter가 내장되어 있음 인터프리터 언어인 자바스크립트는 Linter가 내장되어 있지 않아 런타임 환경에서 에러 발생 확률이 높다. 다양한 방식으로 구현할 수 있는 코드 방식을 일관성있게 구현할 수 있도록 잡아주는 것이 ESLint의 역할 Lint란? 소스코드를 분석하여 프로그램 오류, 버그, 스타일 오류, 의심스러운 구조체 등에 표시(flag)를 달아주는 행위 Prettier formatter 스타일을 교정하기 위함 깔끔한 코드와 협업을 위해 일관성 있는 코드 스타일을 유지하는 것이 매우 중요한데 ESLint가 코드 퀄리티..
JavaScript와 ECMAScript의 차이 JavaScript는 1996년에 만들어 졌고, JavaScript의 표준화를 위해 1997년에 ECMAScript가 만들어졌다. ECMAScript는 스크립팅 언어를 어떻게 만들어야 하는지를 설명하는 일종의 설명서라 생각하면 되고, JavaScript는 ECMAScript를 사양을 바탕으로 만들어진 언어이다. ECMAScript ECMA 인터내셔널이라는 정보 통신에 대한 표준을 제정하는 비영리 표준화 기구에서 표준을 제정한다. 스크립트 언어가 준수해야 하는 규칙, 세부사항 및 지침을 제공한다. JavaScript ECMAScript 사양을 준수하는 범용 스크립트 언어 ECMAScript 버전 ES5, ES6, ES2020 등 ES6 Promise, Cla..
반복되는 작업을 개발자가 직접 하는 회사들이 아직 많고, 그로인해 작업시간은 길어져 효율도 떨어지고 야근도 늘어나고 있다. 이런 이슈를 해결하기 위해 RPA가 나오게 되었다. RPA란? Robot Process Automation으로 직역하면 로봇으로 프로세스 자동화 이다. 로봇을 만들어 반복되는 작업을 수행하도록 함으로써 개발자는 그 시간을 다른 작업에 쓰게 하는 것이다. 이렇게만 말하면 로봇이 개발자 밥그릇 뺏어가는거 아닌가? 할수도 있는데 개발자들은 로봇과 동일시되어 공장의 기계처럼 반복되는 작업을 하고 있었을지도 모른다. 회사마다 다르겠지만 특히 스타트업은 그런 반복작업에 인력이 투입되기엔 꽤나 아까울 것이다. 다시 돌아와서 RPA를 만들 수 있는 툴은 다양하지만 그 중 UiPath라는 툴이 제일..
- Total
- Today
- Yesterday
- 모니터링
- Service
- AWS
- 서버
- html
- js
- ALB
- github action
- redux
- ECS
- react
- ecr
- ci/cd
- RDS
- springboot
- 로깅
- subnet
- Workflow
- 리액트
- Hook
- Grafana
- CSS
- javascript
- SG
- VPC
- Grafana Alert
- 인프라
- LOKI
- EC2
- Docker
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |