분류 전체보기 156

[AWS]AWS와 AWS의 서비스(1)

1. AWS란? On-Premise : 기업의 서버를 클라우드 같은 원격 환경에서 운영하는 방식이 아닌, 자체적으로 보유한 전산실 서버에 직접 설치해 운영하는 방식 Cloud Computing : 인터넷을 통하여 데이터를 저장하거나 데이터베이스, 서버, 네트워킹, 소프트웨어와 같은 도구, 애플리케이션 등 다양한 서비스를 제공하는 방식 2. Cloud Computing의 이점 서버의 증축과 감축이 쉽다. 전세계 어디서 접근을 해도 이상없이 접속이 가능하다. 3. AWS를 사용하는 이유? 전세계의 과반수 이상이 AWS를 사용하고 있다. 지원하는 서비스가 많다.(하지만 중요하게 사용하는 것만 알면 된다.) 4. AWS 인프라 인프라 관련 요소 AWS API Gateway, AWS S3, AWS ELB, AWS..

Basic/AWS 2023.05.05

[Redis] 서버운영과 Redis

1. 매일 다른 시간 평소의 3배에 달하는 트래픽이 몰리는 SNS 서비스가 있는데 어떤 아키텍처를 구성하면 서버를 안정적으로 운영할 수 있나? 메인 서버의 Load Balancer / Auto Scaling 이용자 / 게시물 캐싱 처리를 위한 Redis 이미지 캐싱을 위한 CloudFront - Contents Delivery Network (CDN) 이미지 처리(ex. 이미지 크롭, 업로드, 영상 인코딩 등)를 위한 서버리스 함수와 메세지 큐 알림 서비스를 위한 서버리스 함수와 메세지 큐 Redis는 이용자의 정보와 게시물 패싱처리를 한다. 백엔드 서버를 다루다보면 웬만하면 서버가 터지는 경우가 없다. 80%는 DB가 터지는 경우가 많다. 서버는 수평적으로 확장이 가능(Docker, EC2) / DB는..

Basic/코딩기초 2023.05.04

[MySQL] Intelli J와 MySQL연동하기

일단 내가 사용하는 Intelli J는 Community Edition(깡통버젼)이라 따로 Plugin을 설치했다. 1. Intelli J Community Edition에서 Database 플러그인 설치하기 - Preference -> Plugins을 들어간다. - database검색 후 Database Navigator 설치 - 설치 완료 하면 View -> Tool Windows에 DB Browser이 생긴다. 2. MySQL과 연동하기 - DB Browser를 눌러 MySQL을 추가한다. - Name : 프로젝트 이름 - Host : localhost - Port : 3306 - Database : mysql - Authentication : User / Password - User : 사용자 이..

Basic/Database 2023.05.03

[Spring] Spring Batch(2)

1. Batch Job - 먼저 Spring Initializr에서 다음과 같이 설정해 준다. (여기서 JPA나 JDBC둘중에 하나만 사용하면 하나만 선택해 주면 된다.) - build.gradle 설정이 이렇게 나온다. - main 메소드에서 '@EnableBatchProcessing' 어노테이션으로 Batch기능을 활성화한다. - 위의 어노테이션을 선한하지 않으면 Spring Batch 기능을 사용할 수 없기에 필수로 선언해야 한다. - Job 패키지를 생성하고 안에 SimpleJobConfiguration을 생성한다. - @Configuration -> Spring Batch의 모든 Job을 Configuration으로 등록해서 사용한다. - jobBuilderFactory.get("simpleJo..

JAVA/Spring 2023.04.28

[인증/보안] JWT TCP, CIA, RFC

1. 통신 : OSI 7 계층 응용계층 프리젠테이션계층 세션계층 트랜스포트계층 네트워크계층 데이터링크계층 물리계층 - 트랜스포트 계층에서의 TCP / UDP TCP : 데이터를 보내고 답이 없으면 재송신을 통해 수신을 확인한다. 따라서, 속도가 느리고 정확한 데이터를 주고받을 수 있다. UDP : 데이터를 보내면 확인 없이 바로 다음 데이터를 보낸다. 따라서, 속도가 빠르고 정확하지 않은 데이터를 주고받을 수 있다. 2. 보안 (CIA) 기밀성(Confidentiality) 인가된 사용자에게만 정보를 허가한다. 개인정보나 지적 재산권 등 가치 있는 정보 비밀로 유지되며 특정 인물만 볼 수 있는 기밀정보 무결성(Intrgrity) 부적절한 정보 변경이나 파기 없이 정확하고 완전하게 보존 가용성(Availa..

JAVA/인증&보안 2023.04.27