Tag: back-end

Ready for System Design Interview Vol.2

시스템 디자인 인터뷰를 진행하면서 준비가 필요한 항목에 대해서 좀 더 정리해보고자 한다. 대략적인 솔루션은 알고 있었겠지만, 상세한 설계에 대한 방법에 대한 준비와 정리가 필요하다. 요청 트래픽 제한되는 외부 서비스 연동 시스템 설계 분리된 다른 시스템 간 요청 거래 대사 시스템 설계 네트워크 구간 장애 대응...

Ready for System Design Interview

System Design Interview 시스템 아키텍처를 설계한다는 것은 개발자만이 할 수 있는 특별한 경험 중 하나일 것이다. 하지만, 스타트업에서 일하거나 좋은 기회로 신규 서비스의 인프라를 구축하는 경우 외 대부분은 이미 구축된 기존 시스템 인프라를 그대로 이용하고, 배포하고, 운영하게 된다. (그러면서 점차 개...

Ready for Interview

Back-End 개발자 인터뷰를 위한 준비 알고 있는 것도 헷갈리고, 서툰 신입이 되는 순간이 인터뷰를 진행하는 순간인 것 같다. 항상 처음 사회 생활을 시작하는 마음으로 준비된 모습을 보여주기 위해서는 아는 것도 기록하고, 복기하고, 정리하는 것이 중요하다고 생각이 들었다. 개발자로서 CS부터 실무 개발 프레임워크까지 ...

Redis

Redis 와 Cache 에 대해서 Redis Redis (Remote Dictionary Server)는 메모리 기반의 다양한 구조 데이터를 메모리에 저장이 가능하여 높은, Read, Write 성능을 보장하는 비관계형 데이터베이스 이다. 그래서 Caching Solution 으로 많이 사용중인데, 그렇다면 Cachin...

AWS Basic

AWS? Amazon 에서 제공하는 Cloud Computing Web Service 플랫폼 Cloud Computing? 물리적인 형태의 실물 서버 컴퓨팅 환경을 네트워크 기반의 원격 서비스 형태로 제공 사용자가 네트워크 상에 있는 서버로 접근하여 리소스를 사용 EC2 인스턴스 서버 컴퓨터 1대의 개...

AWS ElastiCache for Redis

Spring Boot + AWS ElastiCache for Redis AWS ElastiCache for Redis Cluster 생성 자세한 방법은 AWS ElastiCache 가이드 참고. 요약 VPC Subnet Group 생성 Redis Cache Cluster 생성 보안 그룹 설정에 Redis 관련...

Token Authorization

서버 기반 인증의 문제점 Session 문제 Session에 사용자의 인증 정보를 계속 저장해둔다면, 서버의 RAM 과부하의 문제와 Session 정보를 Database화 하더라도 Database 성능 저하 문제가 발생한다. 서버의 확장성 여러개의 서버 프로세스를 진행할 때의 성능 저하가 발생 및 방대한 트래픽 감당 힘들 수...

Travis CI

참고. swchoi.log 블로그 [Travis CI 배포 자동화] CI & CD CI(Continuous Integration) - 지속적인 통합? VCS 시스템을 통해 새로운/변경된 Resource 에 대해 자동으로 테스트 또는 빌드 수행 후 안정적인 배포 파일을 생성하는 과정 CD(Continuous ...

Nginx

참고. swchoi.log 블로그 [Nginx 무중단 배포] Nginx Nginx(엔진엑스) 는 동시 접속 처리에 특화된 웹 서버 프로그램 Apache 보다는 단순하면서, 전달자 역할만 수행하기 때문에 동시 접속 처리에 용이 비동기 Event-Driven 기반 구조 Nginx 의 역할로서, ...

Spring Unit Test

Dependency 추가 testImplementation 'org.springframework.security:spring-security-test' testImplementation 'org.springframework.boot:spring-boot-starter-test' JPA Test JPA Test 를 위하여 ...

Spring Security (feat. JWT)

Spring Security? Spring 기반의 웹 애플리케이션의 웹 보안 제어를 위한 프레임워크 인증 및 권한 부여를 통해 요청에 대한 Resource 제어 JWT (JSON Web Token) 최근 Spring F/W 활용한 웹 애플리케이션에서는 API 유효성 검증을 위한 방식으로, Token 인증 ...

Spring Annotation

Spring 설정 관련 @Configuration 해당 Class 를 Bean 구성 Class 로 Spring IOC Container 에 지정 @Bean 개발자가 직접 제어가 불가능한 외부 라이브러리등을 Bean 등록할 때 사용 Bean? Spring IOC Container 가 관리하는 Java 객체. ...

Spring Boot + OAuth 2.0

OAuth 란? OAuth 는 사용자 인증 및 권한 부여을 위한 개방형 표준 프로토콜이다. 사용자의 정보가 있는 리소스 서버에서 제공하는 자원에 대한 접근 권한을 관리하고, 접근 인증을 해주는 기능을 수행한다. 사용자는 이용하고자 하는 서비스 시스템에 정보 제공하지 않고, 원하는 리소스 서버의 서비스를 통해 계정 정보를 ...

Spring Basic

IoC(Inversion of Control) 제어권 역전? 의존성을 직접 선언하는 것이 아닌, 어떤 방법을 통해 선언된 객체를 주입받아 사용하는 것 IoC Container ApplicationContext (BeanFactory) Container 내부에서 생성한 Bean 들만 관리 Bean 을 생성하고...