HTTP 월드 와이드 웹(WWW)의 토대라고 볼 수 있고 웹에서 정보를 요청하고 제공하는 데 사용되며 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜입니다. 더보기 World Wide Web, WWW, W3 인터넷을 기반으로한 정보 및 멀티미디어 리소스를 공유하고 검색할 수 있는 서비스, 시스템 웹은 인터넷을 통해 정보를 전파하고 상호작용하는 플랫폼으로 볼 수 있습니다. www를 공부하면서 URL, HTTP, HTML에 대해서도 찾아보면 좋을 것 같습니다. HTTP 요청 HTTP 요청은 일반적으로 클라이언트로부터 서버로 전달됩니다 웹 리소스를 요청하는데 사용되구요 다음과 같은 정보가 포함된다고 합니다! HTTP 메서드 (HTTP Method): 요청의 목적을 나타내..
OAuth 2.0 1. 개념 💡 the industry-standard protocol for authorization 인터넷 사용자들이 ID/PW를 제공하지 않고 다른 웹사이트상의 자신들의 정보에 대해 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준 인증은 유저가 진행, 이후 권한은 외부 어플리케이션이 사용 (을 위한 표준규약) 2. OAuth 의 Roles 사전 설명 a. Resource Owner b. Client 클라이언트는 애플리케이션 또는 서비스를 개발하거나 운영하는 개발자 또는 조직에 의해 구현 c. Authorization Server 기업 내부 시스템에서 자체 인증 서버를 구현 or 외부적으로 구현하여 제공받을 수 있음 d. Reso..
개념 인증 (Authentication) 유저가 자신의 신원을 증명해 웹 애플리케이션에 로그인하고 접근 권한을 얻는 과정 간단히 말해 신원의 검증! 예시로 ID PW를 통해 로그인하는 과정 인가 (Authorization) 인증된 주체에 대한 권한을 관리하고, 어떤 자원에 접근할 수 있는지 결정하는 프로세스 간단히 말해 인증 이후의 프로세스 (자원 접근~) 동작 HTTP 통신 위에서 동작하는 상황에 대해서… http와 서버, RESTful API는 무상태성을 기초로 함 (웹 사이트 내의 모든 요청은 stateless 한 특성을 가짐) But 로그인 후에는 인증된 상태를 유지해야 함 : Stateful 만약 인증과 인가가 stateless 하다면 사용자는 반복된 인증과정에 지치게 될 것 해소의 방식은 어떤..
Interface, Abstract class, Class, Instance 얼마나 구체적인지, 즉 추상화 수준에 따라 분류할 수 있다 Interface 클래스가 구현해야 할 메서드의 명세를 정의 // 동물 인터페이스 public interface Animal { void speak(); // 추상 메서드 } // 개 클래스 public class Dog implements Animal { @Override public void speak() { System.out.println("멍멍!"); } } // 고양이 클래스 public class Cat implements Animal { @Override public void speak() { System.out.println("야옹!"); } } publ..
대학 자료구조 알고리즘 수업을 들으며 기초 지식에 대해 좀 더 공부하였다. ADT (Abstract Data Type 추상 데이터 타입) 세부사항에서 벗어나서 추상적으로 정의한 데이터 타입 어떤 데이터 타입이 어떤 작업으로 이루어지는지만 표현 데이터 추상화와 모듈화, 타입 안정성, 코드 재사용성 등을 향상시키는 것에 기여 다양한 소프트웨어 개발 및 설계 시나리오에서 유용하게 활용됨 UML (Unified Modeling Language 통합 모델링 언어) 객체지향 소프트웨어를 개발할 때 시스템, 산출물을 명세화, 시각화, 문서화할 때 사용될 수 있음 (graphical language used for designing and documenting OOP software) 다양한 UML 다이어그램 종류가 ..
gitignore 가 제대로 적용이 안되는 경우는 여러 경우가 있는데 (gitignore 파일의 위치, 내부 문법 오류 등) 이번 경우는 캐시된 파일이 이미 존재하는 경우였다. 이전에 이미 Git으로 추적되었던 파일은 .gitignore를 추가하더라도 캐시에 남아 있을 수 있습니다. 이 때문에 .gitignore 파일이 새로운 파일에는 적용되지만 기존의 캐시된 파일에는 적용되지 않을 수 있습니다. 이를 해결하기 위해 다음 명령을 실행하여 캐시를 비워줄 수 있습니다: git rm -r --cached . git add . git rm -r --cached git add . 는 한마디로 Git 저장소의 캐시(인덱스?)에서만 파일을 제거하는 것 제거하므로써 추적을 끊어내고 (기존의 작업폴더의 파일을) 다시 a..
한동안 aws 관련해서 시도해보고 공부하다가 너무 많은 시간이 지났다... 지금 상황에서 rds를 활용하려는 이유가 개발환경에서 DB를 서버에 두고 같이 활용하려는 취지에서였다 처음에는 하단 링크 내용을 읽어보고 ec2 와 rds 모두 생성하여 사용해야 하는 것인줄 알았는데 지금 나의 상황에서는 rds만 활용해서 데이터베이스를 관리하는 것이 적절한 것을 알게되었다. (한참 어려워서 고민했다....) 로컬에서 개발한 뒤 추후 배포를 하는 과정에서 웹 서버와 데이터베이스 서버의 연결이 진행되는 흐름으로 이해했다 https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.MySQL.html ..
EC2는 가상 컴퓨팅 환경을 제공해주고 사용자가 컴퓨팅 리소스를 프로비저닝하고 운영체제를 선택하여 원하는 애플리케이션을 실행하는 서비스 RDS는 RDS는 AWS에서 관리형으로 제공되는 데이터베이스 서비스인데 rds로 데이터베이스를 관리하고 ec2에 연결하여 사용하는 것이 매우 큰 이점이 있다고 한다 서버와 데이터베이스를 따로 관리하게 되어서 서버의 변동이 서비스 중단을 일으키지 않는다? 는 이점이라고 이해했다 https://dingrr.com/blog/post/rds%EB%A5%BC-%EC%8D%A8%EC%95%BC-%ED%95%98%EB%82%98%EC%9A%94-ec2%EC%97%90-%EC%84%A4%EC%B9%98%ED%95%98%EB%A9%B4-%EC%95%88%EB%90%98%EB%82%98%..