DEV

2023-50W 대노스터디

Beomsu Koh 2023. 12. 12.

2023-50W 대노스터디

알고리즘

CS

@노수지의 질문

  • Service && Component의 차이점

    • Service와 Component는 모두 Spring 프레임워크에서 사용되는 어노테이션입니다.
    • Service는 비즈니스 로직을 처리하는 서비스 계층을 나타내며, Component는 일반적인 컴포넌트로 사용됩니다.
      • Service는 Component의 특수한 형태로 볼 수 있습니다.
  • Bean의 생명 주기

    • Bean의 생명 주기는 인스턴스화, 의존성 주입, 초기화, 사용, 그리고 소멸 단계를 포함합니다. Spring Container는 이러한 생명 주기를 관리합니다.
  • 트랜잭션(Transaction)이란

    • 트랜잭션은 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위를 의미합니다. 트랜잭션은 ACID(Atomicity, Consistency, Isolation, Durability) 속성을 보장합니다.
  • BFSDFS의 핵심 차이

    • BFS(너비 우선 탐색)는 레벨 별로 탐색하며, DFS(깊이 우선 탐색)는 경로를 따라 최대한 깊이 탐색
  • 대칭 키와 비 대칭 키

    • 대칭 암호 원리 기초는 암호화와 복호화에 동일한 키를 사용합니다.
      • 대칭 키의 보안은 키의 비밀성에 의해 지켜진다
      • 강한 알고리즘, 안전한 비밀키 공유가 요구 된다
    • 공개 키 암호는 공개 키와 개인 키 두 개의 키를 사용합니다.
  • ⚙️ Oauth

    • Oauth는 인증(Authentication)이 아닌 인가(Authorization) 프로토콜입니다.
    • 사용자의 인증을 거쳐 권한을 부여하는 과정에서 사용됩니다.
      • 인증 : 접근 가능함을 확인하는 과정
      • 인가 : 허가, 접근 권한을 관리
      • 사용자의 확인(인증) 과정을 통해 권한을 부여(인가)
  • SQL 공격 방어

    • ⚙️ Prepared Statements를 사용하여 SQL 인젝션 공격을 방어할 수 있습니다.
    • 이 방법은 유해한 SQL 입력 값을 검증하여 공격을 차단합니다.
  • 프레임워크와 라이브러리의 차이

    • 프레임워크는 전체적인 애플리케이션의 구조를 정의하며, 라크이브러리는 특정 기능을 제공하는 모듈입니다.
    • 프레임워크는 애플리케이션의 흐름을 제어하고 라이브러리는 사용자가 호출하여 사용합니다.

범수의 질문

  • 그래프 사용 이유

    • 그래프는 복잡한 네트워크 관계를 표현하는 데 유용합니다.
    • 데이터 간의 다양한 관계를 시각적으로 나타내고, 복잡한 구조를 분석하는 데 도움을 줍니다.
  • 트리 구조

    • 트리 구조는 계층적인 데이터 구조로, 노드들이 부모-자식 관계를 가지고 있습니다.
    • 루트 노드 개념과 각 노드의 자식 노드 수에 따라 다양한 형태의 트리가 존재합니다.
  • 트랜잭션 격리레벨

    • ⚙️ MySQL에서 ‘Read Committed’ 격리 수준은 커밋된 데이터만 읽을 수 있게 합니다.
    • 이는 데이터베이스의 일관성을 유지하면서 동시성을 제공하는 방법입니다.
  • 조인 방법

    • Full Outer Join은 두 테이블의 모든 레코드를 결합하며, 매칭되지 않는 경우 NULL 값을 사용합니다.
  • 부하 테스트 방법

    • 부하 테스트는 시스템이나 애플리케이션의 성능을 평가하기 위해 고의로 부하를 주는 테스트 방법입니다.
    • 여러 도구와 기법을 사용하여 시스템의 한계와 성능을 평가합니다.
  • OOP의 4가지 특징

  • SOLID 원칙

    • SOLID는 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙을 나타냅니다
    • 단일 책임 원칙, 개방-폐쇄 원칙, 리스코프 치환 원칙, 인터페이스 분리 원칙, 의존성 역전 원칙.
  • 📜 Java의 모든 함수 호출은 Call By Value입니다.

    • 객체 참조도 마찬가지로 값(메모리 주소)으로 전달되며, 이로 인해 객체의 내부 상태는 변경될 수 있지만, 참조 자체는 변경되지 않습니다.
    • Java에서 객체 참조가 전달 되어 오해 할 수 있지만, 실제로는 참조 값(주소)가 전달 되니까 착각하지 않기!

댓글