전체 글

1년자 주니어 개발자의 좋은 백엔드 개발자로 걸음을 기록하는 공간
· Spring
[Spring] 외부 API 호출 테스트 코드  문제상황현재 셀프 면접 연습 서비스 모니터미를 개인프로젝트로 진행하고 있다.여기서 OAuth 클라이언트를 따로 구현하여 구글 API 서버에 code, redirect_uri 와 같은 내용을 포함해 요청을 보내고 인증 토큰을 응답 받는다. 또한 인증 토큰을 전달해서 사용자 정보를 응답 받는다. 즉 외부 서버로 부터 정보를 받아오는 과정이 존재한다.구글 API 문서에 따라서 구현을 했는데 이걸 어떻게 테스트 해야하나 고민이 되었다.1️⃣ 외부 API 응답에 대한 문서에 따라야 한다.구글에서 제공한 API 문서 스펙에 따른 응답이 오게된다. 하지만 실제 개발자는 정해진 스펙에 맞는 요청을 보내고 그에 따른 응답이 오는지만 기대한다. 그렇기 때문에 외부 API 응..
· 알고리즘
[알고리즘] 완전탐색 알고리즘 내가 가장 아이디어를 떠올리지 못하는 알고리즘 중 하나이다.시간 복잡도를 고려하다 보니 O(n^2) 시간 알고리즘이 답일까 하는 의문 때문이고 쉽다는 편견이 있어 완탐 문제를 많이 안풀어 정답률이 낮은 편이다.이번 포스팅을 통해서 완탐 알고리즘의 방법을 정리해보려 한다. 1. 완전탐색 이란이름 그대로 완전히 탐색한다는 뜻으다. 즉 가능한 경우의 수를 모두 확인하며 정답을 가지는 바업ㅂ이다.전체를 모두 확인한다 해서 영어로는 Brute-Force 라고 한다.대표적으로 000-999 숫자 3개를 조합한 자물쇠의 비밀번호를 풀때 모든 경우의 수를 체크하는 방법이 있을 것이다. 이 알고리즘의 특징은 반드시 해를 찾는다는 것이고, 단점은 시간 복잡도가 매우 높아질 수 있다는 것이다대..
· FrontEnd
[FE기초] CSS - Float & Position이번시간에는 CSS의 Float와 Position 요소에 대해서 알아보겠다.이전 포스팅은 아래 링크를 따라가면 된다. [FE기초] CSS - Box Model & Display[FE기초] CSS - Box Model & Display이전 글에서는 CSS 폰트를 다루었다.이번에는 HTML에서 정의된 요소의 공간을 다루는 Box Model 과 Display에 대해서 한번 알아보자2024.04.25 - [FrontEnd] - [FE기초]CSS폰트 [Fdeveloper-dodo.tistory.com  1. Float사전적으로 뜨다 하는 의미를 가지고 있다.HTML 요소에서는 float 은 기존의 흐름에서 벗어나 해당 요소가 둥둥 떠다니는 것처럼 배치된다.인접한..
· Java
[Java 기초] 컬렉션 프레임워크 - List자바에서는 컬렉션 프레임워크를 이용해서 다수의 데이터를 다루는 풍부한 클래스를 제공한다.그럼 컬렉션 프레임워크가 무엇인지 한번 알아보고 예시를 통해서 개념을 정리해보자1. 컬렉션 프레임워크란컬렉션 프레임워크에는 크게 3가지의 타입이 존재한다.List, Set, Map 3가지의 타입이 존재하고 List와 Set의 공통 부분을 뽑아 Collection이라는 새로운 인터페이스를 정의했다.인터페이스특징List순서가 존재하는 데이터의 집합구현 클래스 : ArrayList, LinkedList, Stack, Vector 등Set순서를 유지하지 않는 데이터의 집합, 중복 허용 ❌구현 클래스 : HashSet, TreeSet 등MapKey & Value 값을 쌍으로 이루어..
· JPA
[JPA기초] JPA 활용 설계JPA를 이용한 DB 연동 방법 및 엔티티 설계, 인터페이스 등에 대해서 알아보겠다.이전 포스팅에서 JPA가 무엇인지를 알아보았고 이제 실제로 동작하는 기능 및 설계를 알아보자 [JPA기초]JPA란❔JPA란❔국내의 서비스 업체중 Spring 프레임워크를 사용하는 많은 기업들이 JPA를 표준으로 하여 서비스를 개발하고 있다.그럼 JPA가 무엇인지 어떤 특징이 있는지를 알아보기 위해서 먼저 JPA가 어developer-dodo.tistory.com  1. 데이터베이스 연동먼저 스프링 부트 프로젝트를 생성한다.라이브러리는 다음과 같이 추가한다.Dev Tool : Lombok, Spring Configuration ProcessorWeb : Spring WebSQL : Spring..
· JPA
JPA란❔국내의 서비스 업체중 Spring 프레임워크를 사용하는 많은 기업들이 JPA를 표준으로 하여 서비스를 개발하고 있다.그럼 JPA가 무엇인지 어떤 특징이 있는지를 알아보기 위해서 먼저 JPA가 어떤 특징을 가지고 있는지그리고 MyBatis와는 어떤 점이 다른지 한번 알아보겠다.1. ORMJPA를 알기 전에 먼저 ORM에 대해서 정의를 하고 넘어가보자ORM을 Object Relational Mapping 의 줄임말로 번역하면 객체 관계 맵핑을 의미한다.객체지향 언어에서 의미하는 객체와 RDB에서 테이블을 자동으로 맵핑해주는 방법이다. 클래스는 DB 테이블과 맵핑 하기 위해서 만들어 진 것이 아니다. 그렇기 때문에 테이블과 객체에는 불일치가 존재한다.ORM은 바로 이 둘의 불일치, 제약사항을 해결하는..
· Spring
[Spring Petclinic]1. application properties스프링 펫 클리닉 프로젝트의 소스 분석의 시작으로 설정 파일을 먼저 알아보자이 설정 파일을 통해서 어떤 DB를 썼는지 등 기초적인 정보를 파악할 수 있다.  1. DB 설정기본 DB는 H2 데이터베이스로 설정되어 있다.h2 데이터 베이스라는 것을 명시하고스키마를 초기화 하는 위치와 초기 데이터를 넣는 sql 쿼리 파일의 위치를 명시한다. 해당 설정을 통해서 스프링 어플리케이션이 실행할때 쿼리파일을 실행하여 스키마와 데이터를 생성해준다이외에도 MySQL, PostgreSQL 등 RDB를 지원한다.해당 DB에 맞는 설정 파일 일부가 각 디렉토리에 위치하고 있으며 각 DB에 마즌 SQL 쿼리 파일 또한 개별로 존재한다.database..
· FrontEnd
[FE기초] CSS - Box Model & Display이전 글에서는 CSS 폰트를 다루었다.이번에는 HTML에서 정의된 요소의 공간을 다루는 Box Model 과 Display에 대해서 한번 알아보자2024.04.25 - [FrontEnd] - [FE기초]CSS폰트 [FE기초]CSS폰트[FE기초]CSS폰트이전 포스팅에서는 CSS를 다루는 법 그리고 선택자를 사용하는 방법 정도를 알아보았다.이제부터 본격적인 css의 스타일을 적용하는 방법 등의 다양한 사용 방법을 알아보자  (adsbydeveloper-dodo.tistory.com  1. Box Model모든 HTML 요소는 웹에서 일정 공간 영역을 차지하고 있다.이러한 공간을 CSS에서는 Box Model 이라고 정의한다.HTML요소의 박스 모델은 ..
김도도새
Stacking Devlop