본문 바로가기

개발 지식

(7)
이젠 console.log대신 console.debug하세요 들어가며 어느 날, 옆자리의 사수분께서 혹시라도 코드를 지우지 않았을 경우 모두에게 드러날 수 있으니 이제부터는 console.log보다는 console.debug를 사용하는게 좋겠다는 말씀을 하셨다. 무의식적으로 console.log만 사용하던 사람 그게 바로 나에요 머쓱함은 접어두고 console과 조금 더 친해져보자 console의 주요 출력 메소드 console에서 가장 많이 활용하는 기능은 텍스트/데이터 출력이다. 코드의 결과가 의도대로 나오지 않을 때 단계별로 어떤 값이 리턴되는지 하나하나 console에 출력해본 경험은 누구에게나 있을 것. console 메세지는 중요도별로 출력 스타일이 다르고, 필터를 사용해 원하는 메세지만 볼 수도 있다. 메세지의 중요도에 따라 출력 메서드는 아래로 분류..
내가 보려고 쓰는 인텔리제이(IntelliJ) 단축키 for Mac 들어가며 vscode에서 인텔리제이를 사용하게된지 어언 한달 반, 단축키에 익숙하지않아 뚝딱거리는 날 더이상 마주하고 싶지 않아 적어보는 단축키 모음집 자주 쓰는 단축키가 생기는대로 계속해서 추가해나갈 예정! 참고사항 Symbol 의미 ⌘ command ⌥ option ⇧ shift ⏎ Enter 🔎 검색 동작 단축키 비고 전체 파일에서 검색 ⌘ + ⇧ + f 특정 함수나 변수 등을 찾을 때 유용하다. 라인 검색 ⌘ + i 특정 파일에서 에러가 났을 때, 그 라인을 찾는데 유용하다. 최근 본 파일 검색 ⌘ + e 파일명으로 검색 ⌘ + ⇧ + o 특정 파일을 찾을 때 사용한다. 전체에서 검색 ⇧ + ⇧ 검색 범위가 너무 광범위해서 오히려 불편할 수도 있다. ⚙️ 도구창 열기 동작 단축키 비고 Projec..
JWT(JSON Web Token)과 인증 방식 들어가며 프로젝트를 진행할 때 JWT를 활용한 인증 방식으로 로그인을 구현한 적이 있다. 백엔드 개발자분과 협업을 하며 key값을 맞춰보고, 인증이 완료되었다고 기뻐하던 추억은 선명하지만.. JWT가 무엇인가란 질문에 자신있게 대답할 수 없었다. 추억속의 JWT를 꺼내 등장 배경부터 인증 프로세스, 장단점까지 알아보자. JWT의 등장배경 JWT가 무엇이고 어떤 형태로 사용되는지도 중요하지만, 먼저 그 배경을 알아야 어떤 장점과 특징을 가지고 있는지 제대로 이해할 수 있다. JWT는 어떻게 등장하게 되었을까? HTTP의 특징 : contactless, stateless HTTP는 contactless(클라이언트의 요청이 처리되면 연결이 끊어짐), stateless(서버가 클라이언트의 이전 상태를 저장하지 ..
인증(Authentication) & 인가(Authorization) 인증 (Authentication) 유저의 identification을 확인하는 절차 이 때 인증에 필요한 게 뭐가 있을까? 바로 ID, PW, E-mail등이다. 따라서 인증을 한 마디로 쉽게 말하면 로그인 절차 user의 ID / PW 생성 user의 PW 암호화 후 DB에 저장 user가 ID / PW 입력 user가 입력한 PW를 암호화한 값과, DB에 저장되어있던 암호화된 PW가 일치하는지 비교 두 값이 일치하면 로그인 성공! 로그인 성공시 user에게 access token을 발급 (로그인 인증 증명서 같은 느낌) 이후 user는 server에 access token을 첨부해 request를 보내기 때문에, 계속해서 로그인을 하지 않아도 된다. 비밀번호 암호화 user의 비밀번호는 해킹, 보안..
TDD (Test Driven Development) TDD란? TDD(Test Driven Development)는 테스트 주도 개발이라고도 불리며, 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스 중 하나이다. TDD를 적용해 개발을 진행할 경우, 우선 작은 단위의 테스트 케이스를 작성한 뒤 이를 통과하는 코드를 추가하는 과정을 반복하게 된다. 한 마디로, 테스트 코드를 먼저 작성하고 이를 통과하기 위한 코드를 작성해나가는 개발 방식 이라고 할 수 있다. 일반 개발 방식 vs TDD 개발 방식 일반 개발 방식 일반적인 개발 방식은 요구사항 분석 > 설계 > 개발 > 테스트 > 배포 형태의 주기로 이루어진다. 이러한 방식은 아래와 같이 몇 가지 위험요소를 가지고 있다. 사용자의 요구사항이 명확하지 않거나 변경될 경우 재설계가 필요한데, 이러한 ..
웹 서비스의 역사와 발전 Internet과 Web의 출현 인터넷의 출현 1960년대 핵전쟁 이후 상황에서 핵 공격에도 마비되지 않을 통신 시스템이 필요했고, 물리적으로 떨어져 있어도 서버 간 통신이 가능한 인터넷이 출현하게 되었다. 결국 인터넷은 군사적 목적으로 처음 출현하게 된 셈이다. 웹의 출현 1990년대, 팀 버너스리를 통해 처음 등장하게 된다. 최초의 브라우저인 web이 등장하면서 인터넷이 대중화되기 시작했다. (인터넷이 web을 포함하는 관계! 헷갈릴 수 있으니 메모..📝️ ) 인터넷이 가져온 혁신 인터넷이 가져온 가장 큰 혁신은 유통 인터넷이 발달하기 이전, 소프트웨어를 구입하면 물리적인 매개체(CD, 플로피디스크 등)을 전달받아 컴퓨터에 연결해 설치해야했다. 인터넷이 대중화 된 이후 이러한 유통 과정이 혁신적으로 ..
CRUD와 HTTP 요청 메소드 CRUD 데이터를 다룰 때 큰 틀의 기준이 되는 4가지 요청으로, 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말이다. ex. 클라이언트 💻 : CRUD에 따라 타임라인에 사진을 ~해줘! 라고 한다면, 각 요청의 뜻은 아래와 같다. CRUD 요청의 뜻 Create 올려줘 Read 불러와줘 Update 바꿔줘 Delete 지워줘 CRUD와 HTTP 요청 메소드의 상관관계 1. API (Application Programming Interface) CRUD와 메소드의 관계에 대해 학습하기 전, API에 대한 이해가 필요하다. API : 클라이언트와 서버가 같은 서로 다른 프로그램에서 요청과 응..