본문 바로가기

개발 공부 일지/CS23

런타임 vs. 빌드타임 런타임과 빌드타임의 차이에 대해 알아보다가 아티클을 읽게 되었다. 내가 이해하려고 간단히 정리해본다. 소프트웨어를 구성하는 방법  >개발 라이프 사이클 중 아래 세 단계에 대해 살펴보자Development time ▷ Build time ▷ Run time  각 단계에서 소프트웨어의 어떤 요소가 구성되는지에 대해 살펴보자  Development time 변경할 수 없는 상수를 정의하고, 인터페이스나 서비스의 구체적인 구현을 하기 위한 구성을 정의한다.소프트웨어의 정적 (고정된 불변의 요소) 구성의 예시라고 할 수 있다.  Build time : 소스 코드(개발용 코드)를 배포 가능한 형태(프로덕션 코드)로 변환하는 과정 빌드타임이 가장 복잡한 단계이다.일반적으로 포함되는 작업 : 컴파일*, 단위 테스트,.. 2025. 1. 20.
유저 기능 - 인증 (쿠키, 세션, 토큰) [기본 개념]유저기능인증 - 특정 유저임을 확인인가 - 해당 유저의 권한 여부 확인인증 Authentication유저 - 모델 (또는 클래스) 의 인스턴스: id(email), pw 등의 정보를 갖는다.회원가입 - 유저 모델의 body(email, pw) 를 서버에 저장하는 것: 회원가입 API(POST 리퀘스트)를 보내면 성공/실패 반환로그인 - email, pw 정보를 로그인 API 리퀘스트 로 보내면서버는 '어떤' 유저인지 확인후 성공/실패 반환성공인 경우 인증서를 클라이언트에게 전달이후 클라이언트가 리퀘스트를 보낼때 (= 유저가 보호된 리소스에 접근하려고 할때) 인증서를 서버에 같이 보낸다  -> 각 리퀘스트를 보낸 유저를 알 수 있다 (인증)로그아웃 : 인증서 만료 기간이 지남인증서 종류에 따라.. 2024. 10. 16.
OIDC 를 이용한 구글 소셜 로그인 과정 Authorization Code를 활용하는 구글 소셜 로그인을 실행하기 까지 유저, 프론트엔드, 백엔드, OpenID Connect 프로바이더 사이에 어떤 과정을 거치는지 설명해 주세요. 원래의 로그인 과정이라면?유저 : 회원가입 시 전송한 아이디(또는 이메일), 비밀번호 등 인증 정보를 입력하여 로그인 버튼을 누른다.프론트엔드 (클라이언트) : 유저가 입력한 정보를 담아 로그인 api 요청을 보낸다.백엔드 (서버) : 클라이언트가 보낸 정보가 서버 DB에 있는지 확인하고 토큰을 생성해 클라이언트에게 전송한다.클라이언트 : 서버에서 받은 인증 토큰을 로컬스토리지나 쿠키에 저장.이후 유저가 보호된 리소스에 접근할때 Authorization 헤더에 담아 백엔드에 보내 인증을 유지 구글 소셜 로그인준비구글의.. 2024. 10. 12.
면접질문 (24/9/5) 객체 지향 프로그래밍의 특징: 추상화, 캡슐화, 상속성, 다형성이 네 가지 특징은 객체 지향 언어에서 프로그램을 보다 유연하고, 재사용 가능하며, 유지 보수하기 쉽게 만드는 데 중요한 역할을 합니다.  1. 추상화 (Abstraction)추상화는 복잡한 시스템에서 중요한 부분만을 드러내고, 불필요한 세부 사항은 숨기는 개념입니다. 이를 통해 사용자는 복잡한 내부 구현을 알 필요 없이, 간단하고 직관적인 인터페이스만으로 시스템을 사용할 수 있습니다. 추상화를 통해 시스템의 복잡성을 줄이고, 사용성과 이해도를 높일 수 있습니다.예시: 자동차를 운전할 때, 운전자는 가속 페달을 밟아 속도를 높일 수 있습니다. 이때 가속 페달을 밟는 행위는 간단하지만, 그 뒤에 엔진이 연료를 공급받아 동작하는 복잡한 과정은 운.. 2024. 9. 4.
클래스의 접근 제한자 (Public, Private, Protected) 1. public : public 접근 제어자가 붙은 클래스 멤버는 모든 클래스에서 접근이 가능합니다. 즉, 해당 멤버는 동일한 클래스, 동일한 패키지, 다른 패키지, 서브클래스 등 어디에서든 접근할 수 있습니다. 2. private: private 접근 제어자가 붙은 클래스 멤버는 해당 클래스 내에서만 접근 가능합니다. 다른 클래스에서는 해당 멤버에 직접 접근할 수 없으며, 동일한 패키지나 서브클래스에서도 접근할 수 없습니다. 3.protected: protected 접근 제어자가 붙은 클래스 멤버는 같은 패키지 내의 다른 클래스들과 서브클래스에서 접근 가능합니다. 즉, 동일 패키지의 모든 클래스와 다른 패키지의 서브클래스에서 접근할 수 있습니다. 보호된(Protected) 접근 제한자는 클래스 자신과.. 2024. 9. 3.
그래프, 트리 그래프와 트리의 차이점노드와 간선으로 이루어져서 요소간의 관계를 나타내는 자료구조 구분그래프트리구조적 차이- 순환을 허용한다.- 방향성 유무 둘다 가능- 노드 간의 연결 수에 제한이 없다- 비순환 구조한 노드에서 출발 후 다시 자기 자신에게로 돌아올 수 없음- 계층적 구조root 라고 불리는 하나의 시작 노드가 있다.모든 다른 노드는 루트의 자식노드이다노드간의 관계-비 위계적- 위계 부모 자식 관계를 갖는다형태- 다양한 형태로 존재할 수 있다 비고트리를 포함하는 개념이다 트리 = 특정한 규칙을 따르는 그래프(연결 그래프 중 비순환 무향 그래프) / 관점에 따라 단방향 ;; 도식도사용 예시길찾기 알고리즘 힙 ? 2024. 9. 3.