전체 글
-
AWS - S3 사용 실습Infra/클라우드 2023. 8. 5. 15:39
버킷 생성 파일 업로드 및 다운로드 폴더 생성 파일 옮기기 s3 storage의 최상위 컨테이너이다. 버킷이름은 전세계적으로 유니크해야 한다. s3에 올라가는 모든 파일들은 무조건 URL을 갖는다. s3 버킷안에 폴더를 만들 수도 있는데 폴더는 사실 AWS에서 존재하지 않는 개념이다.(prefix) 다시 말해 폴더를 사용할 수는 있지만 실제로는 폴더가 아니고 prefix라는 개념이다. 버킷(bucket) - 정리 버킷 : 객체(파일)을 저장하기 위한 컨테이너 버킷의 이름은 전 세계에 유일하게 저장해야 한다.(중복 불가) 오브젝트 : 버킷은 오브젝트 저장소라고 하는데 일반적으로 오브젝트 = 파일이다. ex) 1GB짜리 파일에 한글자를 변경해서 새로 업데이트 하면 기존파일의 모든 것이 변경된다. 즉 읽고 쓰..
-
AWS - S3 Simple Storage ServiceInfra/클라우드 2023. 8. 5. 15:00
S3 - Simple Storage Service 객체 스토리지 (객체는 파일을 의미한다.) 파일 업로드,다운로드,검색 가능 무제한 용량 다양한 인증 / 권한 부여 S3 - 특징 리전 기반 서비스(가용 영역이 합쳐져서 region이 된다. 데이터 센터가 분산되어 있는 것과 마찬가지이다.) 매우 안전 내구도를 가진다. eleven 9 (file이 깨지지 않는다.) 상대적으로 빠르지 않다. CDN과 연동가능하다. (cloud front라고 불리는 AWS 서비스 존재한다. ) static web page 기능 지원 필요에 따라 버저닝(versioning)기능 사용 가능(같은 파일을 여러번 업로드해도 각각의 버전을 유지 옵션을 활성화해야 한다.) 다양한 요금 옵션으로 비용 절감 가능 사용예 클라우드 저장소(개인..
-
AWS - CLI 설치 및 간단히 사용해 보기Infra/클라우드 2023. 8. 5. 14:06
IAM - 보안자격증 - 액세스 키 만들 프로파일을 이용한 IAM Role 사용하기 콘솔을 통해 Role ARN을 알아내고 메모장 등에 기입한다. config파일을 열고 profile 아래 내용을 참고해서 편집한다. [profile iam] role_arn = arn:aws:iam::[계정번호]:role/iam-full source_profile = default profie의 두줄의 문장을 추가해주면 되는데 우선 role-arn에 대한 내용을 넣어준다. 두번째로 source_profile에 해당하는 내용을 넣어주는 role_arn을 assume(사용할)사용자가 누군지 명시하는 것이다. 이곳에 default를 넣어주면 기본사용자를 의미하게 된다. .aws/ config 파일 [default] region..
-
팩토리 메소드(Factory Method)패턴2Web 개발/디자인 패턴 2023. 6. 25. 15:37
Client.class public class Client { public static void main(String[] args) { Client client = new Client(); Ship whiteship = ShipFactory.orderShip("Whiteship", "study1@mail.com"); System.out.println(whiteship); Ship blackship = ShipFactory.orderShip("Blackship", "study2@mail.com"); System.out.println(blackship); } } Client.class는 Factory를 사용하는 코드이다. Factory 패턴을 적용하지 않는 ShipFactory 클래스에서 orderShip(..
-
팩토리 메소드(Factory Method)패턴1Web 개발/디자인 패턴 2023. 6. 25. 12:57
Factory Method 시나리오 팩토리 메소드 패턴이 해결하려는 문제는 어떤 인스턴스를 생성하는 책임을 구체적인 클래스가 아니 추상적인 인터페이스의 메서드로 감싸는 것이다. 어떤 배를 만드는 공장이 있다고 가정할 때 그 공장은 고잉메리호라는 배 딱 한 종류만을 만들었다. 근데 사업이 잘되어 추후에 써니호라는 것도 만들게 되었다. 처음에는 고잉메리호만 만들었으므로 ShipFactory라는 클래스안에 orderShip이라는 메서드가 있다고 가정한다 해당 메서드는 당연히 static 메서드여도 되고 인스터스 메서드여도 된다. 해당 메서드는 Static 메서드라고 가정을 한다. 그래서 orderShip이라는 static메서드에 고잉메리호 라는 배를 만들어 주었다. 당연히 해당 메소드에는 배를 만드는 과정이 ..
-
싱클톤(Singleton)패턴 구현2Web 개발/디자인 패턴 2023. 6. 17. 13:19
싱글톤 패턴 구현 방법1 1.private 생성자에 static 메서드 public static Settings getInstance(){ if(instance == null){ instance = new Settings(); } return instance; } 해당 어플리케이션에 A쓰레드와 B쓰레드가 있다고 가정했을때 A쓰레드가 위코드의 if문을 평가해서 true가 나왔다고 가정했을 때 A쓰레드가 if문을 통과해 괄호안에 진입한 순간("instance"변수에 Settings 인스턴스를 생성하여 대입하기 직전) B쓰레드도 A쓰레드가 Settings 인스턴스를 만들기 직전 if문을 평가하고 if문 안으로 들어 올 수 있다. 그럼 결과 적으로 A쓰레드도 new Setting()를 실행할 것이고, B쓰레드도..
-
싱글톤(Singleton)패턴1Web 개발/디자인 패턴 2023. 6. 17. 11:47
싱글톤 패턴 인스턴스를 오직 한개만 제공하는 클래스 시스템 런타임, 환경세팅에 대한 정보 등, 인스턴스가 여러개 일 때 문제가 생길 수 있는 경우가 있다. 인스턴스를 오직 한개만 만들어 제공하는 클래스가 필요하다. private한 생성자와 static한 메서드를 이용한 구현 Settings.class public class Settings{ } App.class public class App{ public static void mian(String[] args){ Settings setting = new Settings(); Settings setting1 = new Settings(); } } App이라는 class가 있고, Settings라는 class가 있다. 이때 App class에서 Settin..
-
OAuth2.0 - AccessToken, Role, RegisterWeb 개발/Web 기본 지식 2023. 5. 5. 12:12
3가지 point가 존재 예를 들면 사용자가 Service에 접속해 글을 작성하거나 글을 봤다고 가정하면 해당 Service 사용자를 대신해서 Their(구글,페이스북, 트위터) 구글과 같은 서비스에 캘린더에 날짜 기록을 한다던지, 또는 페이스북에 글을 썼다거나 글을 봤다는 걸 공유 해준다던지 이러한 것들을 하기 위해서는 Service에서 User로 부터 User가 사용하고 있는 Their Service에 접근할 수 있도록 허가를 받아야한다. 일단 Their Service에 사용자의 Id, Password가 존재할 것이다. 그것을 User로 부터 전달 받아 Service에서 User의 Id, Password를 기억하고 있다가 실제로 User를 대신해서 Their Service에 접속할 때 기억한 Id,P..