요새 ChatGPT가 유행이어서 백엔드 면접 예상 질문에 대해서 물어봤습니다. 백엔드란 무엇인가요? 백엔드는 웹 애플리케이션의 서버 측 영역을 말합니다. 사용자의 요청을 받아 처리하고, 데이터베이스와 통신하여 필요한 정보를 제공합니다. 백엔드에서 사용하는 언어와 기술은 무엇인가요? 백엔드에서 자주 사용하는 언어는 Java, Python, Ruby, PHP 등이 있습니다. 기술로는 Node.js, Spring, Django, Flask, Ruby on Rails 등이 있습니다. RESTful API에 대해 설명해주세요. REST는 Representational State Transfer의 약자로, 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일입니다. RESTful API는 이 REST 아키텍처를 따르..
연초에 쿼리 스트링 공통 객체를 만든 적이 있습니다. 쿼리 스트링 만들기 외부 API를 받아오는 WebClient 개발 관련 포스팅입니다. 해당 github 주소입니다. GitHub - laboratory-kkoon9/spring-batch-gradle Contribute to laboratory-kkoon9/spring-batch-gradle development by creating an account on GitHub. github.co kkoon9.tistory.com 팀원들과의 지식 공유 자리에서 쿼리스트링 개발 내용을 발표했었습니다. 저는 발표에서 다음과 같은 고민을 공유했습니다. 디미터 법칙 위반 String queryString = QueryStringConverter.convert(Jso..
영속성 컨텍스트란? 영속성 컨텍스트는 엔티티를 영구 저장하는 환경을 의미합니다. 엔티티에 대한 설명은 다음 포스팅을 참고해주세요. 엔티티의 정의와 생명주기(lifecycle) 엔티티의 정의 엔티티는 사전적 정의로 개체, 실재라는 뜻을 가집니다. JPA에서는 가볍게 데이터 모델링에서 사용되는 객체라고 생각하시면 됩니다. 코드를 가볍게 살펴봅시다. import lombok.AccessLe kkoon9.tistory.com 영속성 컨텍스트를 쓰는 이유는 1차 캐시, 동일성 보장, 트랜잭션을 지원하는 쓰기 지연, 변경감지(Dirty checking), 지연로딩이 있습니다. 1차 캐시 영속성 컨텍스트 내부에 캐시를 1차 캐시라고 합니다. 영속 상태의 엔티티는 모두 1차 캐시에 저장이 됩니다. Id 어노테이션을 매..
지하철 이동 시 틈틈히 개발자의 글쓰기 책을 읽어보았습니다. 개발자의 글쓰기 개발자의 글쓰기 능력을 종합적으로 향상하기 위한 책이다. 코드 안에서는 함수와 변수 이름을 짓는 것부터 주석 쓰는 법, 에러 메시지 쓰는 법까지 알려준다. 코드 밖에서는 릴리스 노트, 장애 www.aladin.co.kr 잽싸게 독서 시리즈는 꼼꼼하게 읽기보다는 가볍게 읽다가 인상깊은 한두 구절이나 느낀점을 기록하기 위함입니다. 간단한 문장 구조로 핵심만 말하자. 내 글은 핵심만 간단한 문장으로 말하고 있을까? 블로그에 글을 쓰는 입장에서 어떤 식으로 글을 써야할까 많이 고민을 했습니다. 이 단락을 읽고, 제가 최근에 썼던 글들을 보면서 반성하는 시간을 가졌습니다. 좀 더 세세한 제목으로 나누고, 글을 간략하게 구성하는 연습이 필..
엔티티의 정의 엔티티는 사전적 정의로 개체, 실재라는 뜻을 가집니다. JPA에서는 가볍게 데이터 모델링에서 사용되는 객체라고 생각하시면 됩니다. 코드를 가볍게 살펴봅시다. import lombok.AccessLevel; import lombok.Getter; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import java.time.Duration; @Getter @Entity @NoArgsConstructor(access = Acces..
시간날 때 틈틈히 좋은 코드, 나쁜 코드 책을 읽어보았습니다. 좋은 코드, 나쁜 코드 - YES24 구글 엔지니어가 말하는 좋은 코드 작성법 좋은 코드를 작성하기 위한 이론과 실전을 소개한다. 단순히 해야 할 일과 하지 말아야 할 일을 나열하기보다, 여섯 가지 원칙을 바탕으로 각 개념과 www.yes24.com 잽싸게 독서 시리즈는 꼼꼼하게 읽기보다는 가볍게 읽다가 인상깊은 한두 구절이나 느낀점을 기록하기 위함입니다. 클린 코드 축소판 이 책을 읽다가 문득 클린 코드 책과 비슷한 내용이 많다고 느꼈습니다. 그래서 그런지 클린 코드를 복습한다는 느낌이 강했습니다. 오랜만에 클린 코드 책을 복습하고, 좋은 코드를 짜는 습관을 다시금 점검할 수 있어서 좋았습니다. 테스트만을 위해 퍼블릭으로 만들지 말라 최근 ..
이번 포스팅에서는 new String()과 “”의 차이를 살펴봅시다. new String()과 ""의 차이점 둘의 차이는 새로운 인스턴스를 만들어내느냐에 있습니다. String string = new String("eric"); 이 코드는 실행될 때마다 String 인스턴스를 새로 만듭니다. 반복문이나 빈번히 호출되는 메서드 안에 있다면 쓸데없는 String 인스턴스가 수천 개 이상 만들어질 수 있습니다. 이에 개선된 버전의 코드가 바로 “”로 선언하는 코드입니다. String string = "eric"; 이 코드는 새로운 인스턴스를 매번 만드는 대신 하나의 String 인스턴스를 사용합니다. 나아가 이 방식을 사용한다면 같은 가상 머신 안에서 이와 똑같은 문자열 리터럴을 사용하는 모든 코드가 같은 객..
앞선 포스팅에서 언급한 애플리케이션 컨텍스트에 대해서 공부한 내용입니다. 스프링의 주요 기술 [1]. DI 스프링 주요 기술에서 언급한 DI에 대해서 공부한 내용입니다. 스프링의 주요 기술 스프링의 주요 기술은 크게 세 가지입니다. DI(Dependency Injection) AOP(Aspect Oriented Programming) PSA(Portable Service Abstracti kkoon9.tistory.com 미리 언급하자면 개발자가 애플리케이션 컨텍스트를 직접 구현할 일은 없을 것입니다! 단지, 어떻게 동작하는지 알기 위한 포스팅입니다. 스프링에서 오브젝트의 생성과 관계설정, 사용, 제거 등의 작업을 독립된 컨테이너가 담당합니다. 코드가 아닌 컨테이너가 오브젝트에 대한 제어를 담당한다고 해..
- Total
- Today
- Yesterday
- AWS
- Kotlin
- MSA
- 알고리즘
- BOJ
- C++
- 정규표현식
- JPA
- 이팩티브 자바
- 디자인 패턴
- kkoon9
- 클린 아키텍처
- 테라폼
- BAEKJOON
- kotest
- node.js
- Algorithm
- Olympiad
- 백준
- 디자인패턴
- Spring Boot
- 프로그래머스
- Effective Java
- 객체지향
- programmers
- Java
- 코테
- 이펙티브 자바
- Spring
- 클린 코드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |