반응형
[IntelliJ] JS Code Convention 맞추기 (by eslint, husky, lint-staged)
공부/IDE2023. 4. 13. 11:19[IntelliJ] JS Code Convention 맞추기 (by eslint, husky, lint-staged)

Convention 정하지 않고 작업하게 될 경우, 서로 다른 작성 방식으로 인해 코드 가독성 저하를 일으키고 장기적으로 볼 때 유지 보수 함에 있어 큰 문제를 야기할 수 있습니다. Team Convention JS 코드 형식이 사람마다 미묘하게 차이나서, 통일 시켜 일관성을 맞추고 신경쓰지 않고 자동화될 수 있도록 사용하게 됨 ESLint 활용하여 JavaScript Code Convention 검사 수행 (ES6 기준) husky , lint-staged 활용하여 pre-commit 단계에서 staged file 대상으로 ESLint 검사 자동화 Automatic ESLint 아래의 플러그인 활용하여 자동화 수행 husky : Git hook 편리하게 사용할 수 있도록 지원 ( pre-commit 활..

공부/IDE2023. 4. 10. 13:52ubuntu (os)에 intellij ultimate PATH 설정

*라이센스 발급 및 설치 파일 다운로드 생략 ( 링크 ) 폴더로 이동하여 실행 $ cd home/사용자경로/idea-IU-31.8109.175/bin/ $ ./idea.sh// run intellij PATH 등록하여 실행 intellij 에서 create command-line launcher 검색 아래의 경로를 PATH에 추가하면 idea.sh 로 실행가능하다 한다 맥의 경우 /usr/local/bin/idea 을 PATH에 추가하면 $ idea . 명령어로 현재 디렉토리 기준으로 인텔리제이 실행가능 oh-my-zsh를 사용하고 있기 때문에 .zshrc 파일에 PATH 설정을 추가하도록 한다 $ vim ~/.zshrc # 인텔리제이 경로 추가 export PATH=$HOME/bin:/usr/local..

[Vim] colortheme gruvbox 적용기 (to. Mac , WSL)
공부/Vim2023. 1. 28. 19:25[Vim] colortheme gruvbox 적용기 (to. Mac , WSL)

Vim에 syntax on 설정만 할 경우 가독성이 조금 나아지지만 마음에 들지 않는다. (기본 colortheme 또한..😑) 그래서 vim colortheme 중에 랭킹 1위로 보이는 gruvbox를 설치해보기로 했다. vim vundle 설치 vim 플러그인 관리자로 최초 설치하도록 함 (마치 프론트의 nvm, 스프링의 maven, gradle 같은 느낌인듯) $ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim 참고. - WSL 의 경우 개행문자로 인해 Vundle 실행시 에러 발생함! (아래 "에러2" 참고) - Mac OS 의 경우 문제없이 정상 동작함 ! 🤗 gruvbox 플러그인 설치 $ vim ~/..

공부/IDE2022. 12. 30. 20:36[VSCode] oh-my-zsh 사용시 터미널 폰트 깨짐 문제 해결

개요 - ubuntu 또는 wsl2 작업 환경이 익숙해서 vscode 기본 터미널을 변경 함 - 그런데 폰트 설정이 안 되어 있어, 아래와 같이 아이콘이 깨진 상태로 출력됨 해결 - Setting (ctrl + , ) > User >Features > Terminal 선택 - Integerated : Font Fmaily 입력 칸에 사용하는 폰트 입력 ( ex. MesloLGS NF ) 필자의 경우 oh-my-zsh custom theme 에서 요구하는 폰트 사용 ! 사용하는 폰트 설치 후 입력 !

공부/Spring2022. 6. 19. 22:48[JUnit] org.junit.runners.model.InvalidTestClassError: Invalid test class

개요 udemy 에서 junit test 인강 강의 듣던 중 해당 에러 발생 org.junit.runners.model.InvalidTestClassError: Invalid test class (이하 생략) 해결 방법 @Test 의 import 가 틀렸음 import org.junit.Test; ✨ //import org.junit.jupiter.api.Test; 💣참고 https://stackoverflow.com/questions/24319697/java-lang-exception-no-runnable-methods-exception-in-running-junits

[Git] stash
공부/Git2022. 5. 9. 22:39[Git] stash

stash 명령어 Stash 명령을 사용하면 워킹 디렉토리에서 수정한 파일들만 저장한다. Stash는 Modified이면서 Tracked 상태인 파일과 Staging Area에 있는 파일들을 보관해두는 장소다. 아직 끝내지 않은 수정사항을 스택에 잠시 저장했다가 나중에 다시 적용할 수 있다 - 'git-scm.com' ① 도움말 확인 $ git stash --help ② stash 저장 목록 확인 $ git stash list ③ 작업 내용 임시 저장 $ git stash push -m "메시지 작성" 👉 이 경우 Tracked 파일이면서 Modified 상태이거나, Staging Area에 있는 파일만 대상이 됨 $ git stash push -um "메시지 작성" // untracked 파일까지 전부..

[도서 리뷰] 비전공자를 위한 이해할 수 있는 IT 지식
독서/📚2022. 5. 6. 12:17[도서 리뷰] 비전공자를 위한 이해할 수 있는 IT 지식

오래전 기술 블로그, 유튜브 통해 추천받아 알게 된 도서로 회사 도서관에 있길래 대여해서 읽어 보았다🤔 요약👨‍💻 신입 웹 개발자 뿐만 아니라 연관 직군에 있는 사람에게 권장하고 싶은 도서 였습니다 - (경력 기준) 이해가 쉽게 되고, 다른 사람한테 어떻게 설명하면 좋을지 가이드가 되는 도서 - 방대한 웹 개발에 대한 지식(웹, 프론트, 백엔드, DB, 서버 등)을 풀어 이해 돕기 위해 고민한 흔적이 느껴지는 도서 - 비전공자뿐만아니라 웹 개발 시작하는 주니어에게도 추천하고 싶은 도서 - 2시간 정도 가벼운 마음으로 읽기 좋은 도서 (단, 깊이는 다른 도서에서 찾길) HTML이 프로그래밍 언어가 아니라는 점입니다. HTML은 컴퓨터에게 특정 일을 시킬 수 있는 언어가 아닌 단지 브라우저가 볼 수 있는 문..

공부/Spring2022. 4. 20. 11:12[Spring] @RequestMapping pathvariable regex - exclude word , 표현식 사용해서 path에 특정단어 들어 올 경우 제외시키기

문제 페이지 작업 중에 URL이 겹치는 부분이 발생해서 원하는 view 로 이동하지 않는 것을 확인함 /* # 예시 - /log/index 입력시 로그와 관련된 index 페이지로 가기 원하지만 - (문제) 아래에 PathVariable({service}) 부분에 다 걸려버림 */ @RequestMapping(/{service}/index) // log 단어를 제외하고 여기에 다 걸렸으면 좋겠음 public String index(){ return "index" } @RequestMapping(/log/index) //내가 원하는 곳 public String logPage() { return "index" } 정보 찾아보니 표현식으로 필터링 가능하다는 것을 확인함 ! 해결 정규 표현식(regex) 사용해..

공부/DB2022. 4. 6. 21:14[Mysql v5.7] regexp_replace function 생성, 문자열 내 숫자 검출

개요파일명 내에 숫자 범위 검색 가능하도록 검색 필터 기능 추가 요청받음Mysql v8.0 부터 regexp_replace() function 이 지원되는데, 테스트 DB 버전 확인 결과 v5.7 이었음😅인터넷에 있는 소스는 동작하지 않아, 직접 mysql function 선언 복습/정리함 Mysql 함수 선언 형식CREATE FUNCTION '함수명'(파라미터명 as 타입, ...) ----- ①RETURNS 반환할 데이터 타입 ----- ② BEGIN 선언문, 수행할 쿼리 .. ----- ③ RETURN 반환할 값 ----- ④END  설명① Function Arguments/parameters함수 매개변수/파라미터 명칭 및 타입 선언 // ex. name VARCH..

[클린코드] 5장. 형식 맞추기
독서/📚2022. 2. 22. 22:15[클린코드] 5장. 형식 맞추기

1. 형식/포맷팅 중요한 이유 ✔ 가독성에 필수적이기 때문 ① 코드를 수월하게 읽어 나갈 수 있다. ② 아마추어처럼 보이지 않는다. ③ 형식을 맞춤으로써 버그 위험을 줄인다. 2. 클린코드 포맷팅 - 행 간격 ✔ 적절한 길이 유지 행(row, 세로) : 200Lines 이하 또는 500Lines 미만 → 현업에서의 대부분의 코드들도 200Lines 정도를 유지한다. → 코드 길이가 200Lines을 넘어간다면, 클래스가 여러 개의 일을 하고 있을 수 있다.(SRP위배) "코드 길이를 200줄 정도로 제한하는 것은 반드시 지킬 엄격한 규칙은 아니지만, 일반적으로 큰 파일 보다는 작은 파일이 이해하기 쉽다." ✔ 밀접한 개념은 가까이, 개념은 빈행으로 분리 - 행 묶음은 완결된 생각 하나를 표현하기 때문에 ..

[클린코드] 4장. 주석
독서/📚2022. 2. 22. 22:15[클린코드] 4장. 주석

결론 주석을 작성할 시간에 함수명, 변수명을 이해하기 쉽게 수정하거나 좀 더 간결하게 코드를 짜는 방법에 대해 고민하는 게 좋다👍 1. 주석을 최대한 쓰지 말자 ✔ 주석은 나쁜 코드를 보완하지 못한다. ① 코드에 주석을 추가하는 일반적인 이유는 코드 품질이 나쁘기 때문이다. ② 이는 곧 작성자가 의도를 명확히 표현하지 못했다는 것을 뜻하기도 함 👉 난장판을 주석으로 설명하지 말고 개선하는데 시간을 보내자 ✔ 주석은 방치된다. ① 코드의 변화에 따라가지 못하고, 주석은 방치된다. ② 방치된 주석은 뒤에 읽는 사람에게 혼용 야기 할 수 있다. 👉 관리 하지 못 할 거면 자제하는 것이 낫다. 2. 좋은 주석 👍 1) 법적인 이유로 다는 주석 //Copyright (C) 2003,2004,2005 by Obje..

[클린코드] 3장. 함수
독서/📚2022. 2. 22. 22:13[클린코드] 3장. 함수

해당 장을 통해 중복👎, 가독성👍, 재사용성👍 할 수 있는 함수 작성 방법에 살펴 보았다. 1. 함수명 ✔ 동사 + 명사 # init public void initData(){..} // 데이터 초기화 # is/has/can public boolean isNumber(){..} // 숫자 여부 판단 public boolean hasData(){..} public boolean canOrder(){..} # create public Board create(){..} // 새로운 객체 생성 후 리턴 # find public Element findElement(int number){..} ✔ 전치사 + 명사 || 전치사 # to public String toString(){..} // String 변환 pub..

[클린코드] 1장. 깨끗한 코드
독서/📚2022. 2. 22. 22:12[클린코드] 1장. 깨끗한 코드

클린코드란 성능이 좋은 코드 의미가 명확한 코드 가독성이 좋은 코드 중복이 제거된 코드 나쁜 코드 1) 성능이 나쁜 코드 불필요한 연산이 들어가서 개선 여지 있는 코드 2) 의미 모호한 코드 이해가 어려운 코드 ( ex. 네이밍과 그 내용이 다른 코드 ) 3) 중복된 코드 비슷한 내용이 중복되는 코드 → 버그💣 발생 가능성 증가 나쁜 코드가 나쁜 이유 1) 깨진 유리창 법칙 🔳 나쁜 코드는 깨진 유리창처럼 계속 나쁜 코드가 만들어지도록 한다. 깨진 유리창 하나를 방치해 두면, 그 지점을 중심으로 범죄가 확산되기 시작한다는 이론으로, 사소한 무질서를 방치하면 큰 문제로 이어질 가능성이 높다는 의미를 담고 있다 ( 위키 백과 참조 ) 2) 생산성 저하 🕛 기술 부채를 만들어 수정을 더 어렵게 한다. ( + ..

[Spring]  Http Request에 대한 DispatcherServlet 동작과정
공부/Spring2021. 11. 13. 22:47[Spring] Http Request에 대한 DispatcherServlet 동작과정

DispatcherServlet 동작과정 @Controller 인 경우 ① Client(사용자)에서 브라우저 통해 Http Request 보내면 DispatcherServlet이 받음 ② HandlerMapping한테 지시하여 Http Request URI에 맞는 Handler(Controller)를 찾음 ③ 해당 Handler를 실행할 수 있는 HandlerAdapter를 탐색 ④ 찾은 HandlerAdapter를 사용해서 Handler Method를 실행 ⑤ 개발자가 만든 비즈니스 로직을 수행 후 View name(ex. "index")과 model (key, value 형태) 반환받음 ⑥ DispatcherServlet은 ViewResolver 에게 View name전달하여 해당 View 파일을 찾..

[네트워크] Http Method 와 Http Status Code
공부/CS2021. 11. 12. 12:14[네트워크] Http Method 와 Http Status Code

HTTP (HyperTexT Protocol) 하이퍼텍스트를 빠르게 교환하기 위한 프로토콜의 일종 즉, HTTP는 서버와 클라이언트의 사이에서 어떻게 메시지를 교환할지를 정해놓은 규칙 80번 포트를 사용하며 HTTP의 구조는 요청(Request)과 응답(Response)으로 구성 https://namu.wiki/w/HTTP HTTP Request Method 서버에 요청시 주어진 리소스에 수행하길 원하는 행동을 Method 로 나타냄 CRUD ('Create', 'Read', 'Update', 'Delete') 에 대해 Http Method를 보통 아래와 같이 구분함 Create = POST/PUT Read = GET Update = PUT Delete = DELETE GET 서버에게 특정 Resourc..

[네트워크] DNS(Domain Name System)
공부/기타2021. 10. 13. 14:21[네트워크] DNS(Domain Name System)

'웹 브라우저에 주소 입력했을때 동작 과정' 중 그 일부인 DNS 정리 DNS란 사람이 읽기 쉬운 도메인명(ex. www.google.com ) 을 기계가 읽을 수 있는 IP주소(네트워크 상 주소) 변환하는 것 획득한 IP 주소로 라우팅(라우터를 거쳐 최적 경로 찾아가는 과정)을 통해 서버에 찾아가게 됨 https://aws.amazon.com/ko/route53/what-is-dns/ DNS란 무엇입니까? – DNS 소개 - AWS Internet Explorer에 대한 AWS 지원이 07/31/2022에 종료됩니다. 지원되는 브라우저는 Chrome, Firefox, Edge 및 Safari입니다. 자세히 알아보기 aws.amazon.com 도메인 주소로 IP 획득하는 과정 요약 도메인에 대한 IP 주..

공부/기타2021. 10. 13. 14:05[네트워크] TCP 와 UDP 비교

TCP , UDP 비교 구분 TCP UDP 서비스 연결 지향형 서비스 비연결 지향형 서비스 통신 방식 port 이용 소켓주소 이용 (ip주소 + port 번호) 세션(연결) 설정 3-way handshaking(논리적연결) 4-way handshaking(연결해제) x 신뢰성 확보 흐름제어/오류제어/혼잡제어 x 전송속도 느림 빠름 장점 신뢰성있는 정보전송가능 실시간 통신 적합 (비연결형에 제어가 없으므로) 단점 절차로 인한 지연 발생 신뢰성 보장x 용도 http, SMTP VoIP TCP의 흐름제어, 오류제어, 혼잡제어 흐름제어 송/수신측 사이의 데이터 처리 속도 차이(흐름)을 제어하기 위한 기법으로 데이터 처리 속도를 조절하여 수신자의 버퍼 오버플로우를 방지. Stop and Wait / Sliding..

[Jupyter Notebook] java kernel 설치시 에러 해결 기록
공부/기타2021. 9. 19. 23:52[Jupyter Notebook] java kernel 설치시 에러 해결 기록

'빠른캠퍼스' 강의에서 Jupyter Notebook에 java 코드 실행하는 환경에 대해 설명함 단순히 Anaconda3 설치하고 압축파일 내려받으면 될 것처럼 말했는데, 설정해야 될게 있었음 아래는 Anaconda3 다운로드 주소이며 , 운영체제 bit 수에 맞게 설치 https://www.anaconda.com/products/individual-d 5시간에 걸쳐 삽질하여 알아낸 해결 내용 기록 명령어는 아래 Anaconda prompt 에서 전부 처리함 ( 관리자 권한으로 실행할 것 ! ) 에러1. A JNI error has occurred 💩 Error: A JNI error has occurred, please check your installation and try again Excepti..

반응형
image