Pre-request script 포스트맨에서 pre-request script는 request를 전송하기 전에 자바스크립트 코드를 실행할 수 있는 기능이다. pre-request script는 단순히 request 뿐만 아니라 collection, folder 단위로도 작성이 가능하다. pre-request script는 주로 환경 변수 설정, 파라마티나 헤더 설정, 디버깅 코드 실행 등으로 사용이 가능하다. 또는 로그를 남기는 용도로도 사용할 수 있다. Tests와의 차이는 Tests는 request가 전송되고 response가 온 후에 실행되지만, pre-request script는 request가 전송되기 전에 실행된다는 점이다. 참고) [Postman] 포스트맨 환경변수(Environments ..
신년계획 나는 연초가 되면 항상 신년계획을 짜곤한다. 물론 신년계획을 전부 달성한 적은 한 번도 없다...ㅠㅠ 그래도 이렇게 모두가 볼 수 있는 블로그에 내 목표를 적는다면 좀 더 열심히 노력하지 않을까라는 생각에 이렇게 블로그에 내 신년계획을 적어본다. 1. 건강챙기기 나는 취준생 시절부터 건강이 많이 악화됐다. 그 때부터 건강이 다른 무엇보다도 중요하다는 것을 느꼈다. 이를 위해 다음과 같은 것들을 이루고 싶다. 일주일에 3번 이상은 헬스장가서 운동하기 몸무게 65KG 달성(근육량 증가) 규칙적인 생활하기 저녁 8시 이후 야식 금지 스트레스 관리하기(명상, 호흡, 운동) 2. 개발 공부하기 개발자로서의 성장을 위해 할게 정말 많다. Spring 인프런 강의 복습 이펙티브 자바 읽기 JPA 인프런 강의..
카카오 청년전월세 보증금 대출 새로 이사할 집의 보증금을 마련하기 위해 카카오 청년전월세 보증금 대출을 신청했다. 카카오 청년전월세 보증금 대출의 조건은 아래와 같았다. 만 19세 ~ 34세 이하 내국인 근로소득자(재직기간 무관), 사업소득자, 기타소득자, 무소득자 부부합산 무주택자 연소득 7천만원 이하 회생, 파산, 면책 등 신고사실 없는 자 이외에 사기 이력이 없는 등 여러 가지를 더 보는데 보통 해당하지 않는 경우가 많다. 서류 간편인증서를 통해 여러가지 서류를 자동으로 제출하지만, 아래와 같은 서류들은 직접 사진을 찍어 제출해야했다. 1. 근로소득 원천징수 영수증 근로소득 원천징수 영수증은 현 직장에서 1년 이상 근무해야지만 발급된다. 나는 아직 현 회사에서 1년 미만으로 근무했기 때문에 회사에서..
꾸준한 성장 2022년에는 총 317,901명이 내 블로그를 방문해주었다. 2022년 블로그 연말 결산, 티스토리 일일 방문자 1000명 수익 공개 꾸준한 성장 내가 기술 블로그를 처음 시작한 것은 2021년 7월부터다. 처음엔 하루 10명도 안 되는 방문자에 기뻐하곤 했는데 어느새 하루 평균 천 명이 넘는 방문자가 방문해주기 시작했다. 2022년 code-lab1.tistory.com 2023년에는 총 864,332명이 내 블로그를 방문해주었다. 거의 세 배에 가까운 방문자 수의 증가가 있었다. 기술블로그의 특성상 일시적인 트래픽 증가보다는 꾸준하고 완만한 증가 그래프를 그리는 것 같다. 2023년에는 총 115개의 글을 작성했다. 매주 두 개 이상의 글을 작성하기 위해 노력했고, 글의 양보다는 질에 ..
포스트맨 환경(Environments) 설정 포스트맨은 한 개 이상의 변수들(variables)을 저장해놓을 수 있는 환경(Environments)을 설정할 수 있다. 사이드바의 Environments 탭에서 + 버튼을 누르면 새로운 환경을 만들 수 있다. 예를 들어 [그림 2]와 같이 개발(dev), 운영(prod)환경을 따로 구성할 수 있다. 이렇게 환경을 설정해두고 해당 환경에 여러 변수들을 저장해놓으면 환경이 바뀔때마다 일일히 변수값을 변경해주지 않아도 된다. 오른쪽 위 화면에서 본인이 원하는 환경을 선택할 수 있다. 환경변수(Environments Variables) 설정 환경을 선택하면 해당 환경에 환경변수들을 설정할 수 있다. 예를 들어 호출하고 싶은 도메인 주소를 저장할 host라는 변수를..
Authorization API를 사용하다 보면 클라이언트의 요청이 보안적으로 안전한지 검증하는 과정이 있다. API 호출을 할 수 있는 권한이 있는지, 해당 데이터에 접근할 수 있는지 검증하는 것이다. 예를 들어 유저의 권한을 체크하는 Token 방식도 Authorizaion의 타입 중 하나다. 포스트맨에서는 Authorization 탭을 통해 authorization을 설정할 수 있다. 이번 포스팅에서는 자주 사용되는 Authorization 타입들에 대해 알아보겠다. Basic Auth Basic Auth는 username과 password를 Request Header에 담아서 보낸다. 실제로 Headers 탭에 들어가 Hidden 항목을 살펴보면 Authorization 항목에 Basic dXNl..
포스트맨(Postman)이란? 포스트맨은 API를 디자인, 빌드, 테스트하기 위한 API 플랫폼이다. 포스트맨을 이용하면 API 라이프사이클의 각 단계를 간소화하고 협업을 쉽게 만들어 더 좋은 API를 더 빠르게 생성할 수 있다. 많은 개발자들이 API 테스트를 위해 사용하는 플랫폼으로, 사용법이 간단하고 직관적이다. 이번 포스팅에서는 포스트맨의 기초적인 사용법에 대해서만 다루고, Authentication이나 테스트 자동화 등 고급 활용법은 추후에 다루도록 하겠다. 포스트맨 설치 https://www.postman.com/downloads/ Download Postman | Get Started for Free Try Postman for free! Join 30 million developers wh..
에러 상황 @FeignClient public interface SomeApi{ @PostMapping("/my/test", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) void postSomthing( @RequestPart MultipartFile uploadFiles, @RequestPart MyDto myDto ); } 상황은 위와 같이 Multipart/form-data를 MultipartFile 하나와 내가 정의한 Dto 하나를 파라미터로 전송하는 것이였다. 구글링을 통해 @RequestBody나 @RequestParam 대신 @RequestPart를 사용하면 된다는 정보를 얻고 위와 같이 코드를 작성하였다. 그런데 아래와 같은 에러가 발생했다. "Re..
코드연구소를 시작한 계기 안녕하세요. 코드연구소의 연구소장입니다. 제가 이 블로그를 시작한건 2021년이였습니다. 당시 대학생 신분으로 학과에서 배운 내용을 복습하고 기록하기 위해 기술블로그를 시작했습니다. 처음엔 자료구조, 알고리즘과 같은 CS 기초 지식에 대해서만 다루었는데, 백엔드 개발자를 꿈꾸면서 점차 웹에 관련된 기술들도 작성하게 되었습니다. 코드연구소 이름의 의미 기술 블로그를 시작하면서 가장 먼저 고민한 것은 블로그의 이름이였습니다. 기술 블로그의 정체성을 살리면서 간결한 이름을 원했고, 결국 코드연구소라는 이름을 짓게 되었습니다. 아직은 기초적인 내용들만 작성하지만 실력이 충분히 성장한다면 여러 코드를 연구하는 컨텐츠를 작성해보고 싶습니다. 프로필 사진 코드연구소의 프로필사진은 그림을 잘 ..
@RequestParam 어노테이션 @RequestParam 어노테이션은 주로 HTTP 요청의 파라미터를 읽어 메서드의 매개변수에 바인딩할 때 사용한다. 예를 들어 https://www.code-lab1/v1/board?page=1&pageSize=10 위와 같이 API 호출을 한다고 하자. @GetMapping("/v1/board") public ResponseDto getBoardList( @RequestParam(value="page") Integer page, @RequestParam(value="pageSize") Integer pageSize){ System.out.println(page + ", " + pageSize);// 1, 10 } @RequestParam 어노테이션은 value 속성..
&& 연산자 && 연산자는 논리적 AND 연산자이다. 모든 피연산자가 true 일 때 해당 피연산자의 집합이 true가 된다. if( someFlag && otherFlag ){ // ... } 다른 프로그래밍 언어를 먼저 접한 사람이라면 && 연산자를 위와 같이 단순히 논리연산자로만 사용할 것이다. 하지만 자바스크립트에서 && 연산자는 단순히 논리연산자로만 사용되지 않는다. test = false && true // false test = "" && "test" // "" test = 12 && 4 // 4 test = 12 && 4 && 2 // 2 && 연산자는 피연산자를 왼쪽부터 평가하면서 첫 falsy(거짓 같은 값) 피연산자를 만나면 바로 해당 피연산자의 값을 반환한다. 만약 모든 값이 tru..
옵셔널 체이닝(optional chaining)이란? 옵셔널 체이닝은 '?.' 형태의 특별한 문법구조체의 사용을 뜻하는데, 이것을 이용하면 프로퍼티(property)가 없는 중첩 객체를 에러 없이 안전하게 접근할 수 있다. 다만 옵셔널 체이닝은 자바스크립트 스펙에 추가된 지 얼마 되지 않았기 때문에 구식 브라우저는 폴리필이 필요하다. 옵셔널 체이닝의 등장 배경 const student = {} 위와 같이 비어있는 student라는 객체의 프로퍼티에 접근하려고 하면 어떻게 될까? alert(student.name.lastName); // TypeError: Cannot read property 'lastName' of undefined 당연히 오류가 발생하게 된다. 실제로 어떤 객체의 프로퍼티가 비어있는 ..