Overman

고정 헤더 영역

글 제목

메뉴 레이어

Overman

메뉴 리스트

  • 홈
  • 분류 전체보기 (92)
    • 맛집 (1)
    • 자격증 (1)
    • 영화 (1)
    • 프로그램 검증 (0)
    • 딥러닝 (21)
      • 자연어처리_학술대회 (9)
      • 데이터사이언스 (2)
      • 음성인식 (6)
      • Dacon (3)
      • 졸업프로젝트_챗봇파트 (1)
    • 알고리즘, 백엔드 (68)
      • 알고리즘, 자료구조 (14)
      • Django (1)
      • 기술 면접 대비 매일메일 (32)
      • FastAPI (6)
      • Economic discord bot 만들기 (4)
      • Serendi (11)
    • 오픈소스 (0)

검색 레이어

Overman

검색 영역

컨텐츠 검색

전체 글

  • [매일메일] 자바 프로그램이 실행되는 흐름을 설명해주세요.

    2025.07.23 by grizzly

  • [백엔드 논문] Zanzibar: Google's Consistent, Global Authorization System #1

    2025.07.23 by grizzly

  • [매일메일] JCF 자료구조의 초기 용량을 지정하면 좋은 점이 무엇인가요?

    2025.07.21 by grizzly

  • [매일메일] 멀티 태스킹 시스템의 한계에 대해서 설명해주세요

    2025.07.18 by grizzly

  • [Serendi] 프로젝트 #4 플레이리스트가 유지하는 음악의 인덱스가 바뀌었을 경우

    2025.07.18 by grizzly

  • [매일메일] Keep Alive에 대해 설명해 주세요.

    2025.07.16 by grizzly

  • [매일메일] 자료구조 트라이에 대해서 설명해주세요.

    2025.07.15 by grizzly

  • [매일메일] 자바에서 제네릭의 공변, 반공변, 무공변에 대해 설명해주세요

    2025.07.15 by grizzly

[매일메일] 자바 프로그램이 실행되는 흐름을 설명해주세요.

보통 파일을 컴파일하여 실행한다? 이런거를 물어보는 것일까? .java 파일은 JDK에 포함된 javac(java compiler)를 통해 컴파일된다.이 과정에서 JVM이 이해할 수 있는 바이트 코드로 변환되어 .class 파일이 생성된다. 이후 JVM의 클래스 로더가 바이트 코드를 JVM 메모리에 동적으로 로드한다.로드된 바이트 코드는 Method Area에 저장되며, 로딩, 링킹, 초기화 단계를 거친다.그 다음 실행 엔진이 로드된 바이트 코드를 실행한다.하지만 바이트 코드는 컴퓨터가 읽을 수 없어, 인터프리터와 JIT 컴파일러를 사용하여 기계어로 변환한다. 인터프리터는 바이트 코드를 한 줄씩 읽어서 실행하고, JIT 컴파일러는 자주 실행되는 메서드(Hotspot)를 감지하면 해당 메서드 전체를 네이티..

알고리즘, 백엔드/기술 면접 대비 매일메일 2025. 7. 23. 13:40

[백엔드 논문] Zanzibar: Google's Consistent, Global Authorization System #1

코딩 애플 영상을 보던 중 구글은 어떻게 방대한 데이터 베이스에 대해서 빠르게 접근하고 구글 드라이브, 지메일 등의 여러 서비스의 접근 권한이나 이런 연산까지 순식간에 처리하고 우리에게 좋은 경험을 주는 지에 대한 영상을 만났다. 거기서 이런 방식을 쓴다 라는 느낌으로 가볍게 논문에 대한 언급이 나와서 실제로 어떤 논문인 지 궁금해져서 읽어봤다. Abstract온라인 사용자가 디지털 객체에 접근 권한 있는지 확인하는 것은 중요접근 제어 목록을 저장하고 평가하기 위한 글로벌 시스템인 Zanzibar의 설계, 구현, 배포에 대해 제시캘린더, 클라우드, 드라이브 등 클라이언트 서비스들의 광범위한 접근 제어 정책을 표현하기 위하여 통일된 데이터 모델과 구성 언어를 제공사용자 작업의 인과적 순서에 따라 접근 제어..

알고리즘, 백엔드/Serendi 2025. 7. 23. 11:21

[매일메일] JCF 자료구조의 초기 용량을 지정하면 좋은 점이 무엇인가요?

JCF라는 이름은 일단 처음 들어봤는데 앞에 J가 붙으면 보통 Java 꺼 였던 거 같다. JCF는 Java Collections Framework라고 한다.요소를 넣고, 찾고, 출력한다. 이 상황에서의 목적과 방향은 똑같다. 하지만, 세부적으로 어떤 데이터 방식이냐에 따라서 어떤 함수를 호출하냐는 다를 것이다.Vector는 addElement()이고, Hashtable은 put()이라 한다.자바 개발자들은 이런 문제 해결을 위해 공통 인터페이스를 설계하였다. (찾아본 블로그 말로는, Vector, Hashtables는 레거시 클래스가 되어 더이상 사용하지 않는다고 한다.) JCF는 코드 재사용이 쉽고, 관련 없는 API 간의 상호 운용성을 제공한다. (다 읽어봐도 결국은 재사용이 중요한 거 같다)JCF..

알고리즘, 백엔드/기술 면접 대비 매일메일 2025. 7. 21. 10:30

[매일메일] 멀티 태스킹 시스템의 한계에 대해서 설명해주세요

멀티 태스킹의 시스템의 문제점하나의 프로세스가 동시에 여러 작업을 수행하지 못함여러 프로세스를 생성할 시, 해결은 되지만 자원 관리와 소모 측면에서 단점 발생무거운 프로세스 간 컨텍스트 스위칭프로세스 간 데이터 공유의 어려움스레드의 등장과 특징프로세스 내 여러 스레드 보유하나의 프로세스는 하나 이상의 스레드 보유, 각 스레드가 하나의 작업을 담당CPU 실행 단위과거에는 프로세스가 CPU에서 실행되는 단위였지만, 현재는 스레드가 최소 단위임가벼운 스레드 간 컨텍스트 스위칭동일 프로레스 내에서 메모리 영역을 공유하므로, 훨씬 가벼움하지만, 고유한 stack, 포인터, 프로그램 카운터를 갖고 있어 자신만의 실행 상태를 유지함.현재의 멀티 태스킹이란,여러 프로세스와 스레드가 아주 짧게 쪼개진 CPU타임을 나눠가..

알고리즘, 백엔드/기술 면접 대비 매일메일 2025. 7. 18. 16:36

[Serendi] 프로젝트 #4 플레이리스트가 유지하는 음악의 인덱스가 바뀌었을 경우

친구와 프로젝트를 하던 중 구현 로직에 막힌 부분이 있었다. 우리가 플레이리스트를 생각해보면 노래의 순서가 굉장히 중요하다. 빵빵 터지는 음악이 계속될 수도, 터지다가 가라 앉을 수도, 가라 앉다가 다시 터지게 노래를 배치할 수 있다. 즉, 노래의 순서는 계속해서 취향에 따라 바뀔 수 있는 부분이다. 그렇다면 이 부분에 대한 로직은 어떻게 작성되어야 할까? 1번 - 4번 까지의 노래가 있다는 가정 하에4번이 1번과 2번 사이의 위치하기 위해 이동시킨다면, 배열이라면 거의 전부가 이동해야한다. 1번 4번 2번 3번 -> 2 3 4가 모두 이동해야하는 비효율적인 코드이다. 그렇다면 딕셔너리 형태로 구현한다면 {노래_id: index} 꼴 : [{1 : 1 }, {2 : 2} , {3 : 3}, {4 : 4}..

알고리즘, 백엔드/Serendi 2025. 7. 18. 16:31

[매일메일] Keep Alive에 대해 설명해 주세요.

Keep Alive란, 네트워크 또는 시스템에서 커넥션을 지속해서 유지하기 위해 사용되는 기술이나 설정을 의미한다고 한다.HTTP 프로토콜에서 Keep-Alive는 하나의 TCP 커넥션으로 여러 개의 HTTP 요청과 응답을 주고 받을 수 있도록 하는 기술이라한다.HTTP 1.0에선 요청마다 새로운 커넥션 열고 닫았으나, 1.1부터 Keep-Alive가 기본적으로 활성화 되어 있어 커넥션을 재사용 가능하다고 함. 장점과 단점은 무엇이 있을까 커넥션 재사용 - 네트워크 비용 절감handshake에 필요한 RTT(Round Trip Time)가 감소하여 네트워크 지연 시간을 줄일 수 있다.handshake 과정에서 발생하는 CPU, 메모리 등 리소스 소비를 줄일 수 있다. (여기서 말하는 handshake란,..

알고리즘, 백엔드/기술 면접 대비 매일메일 2025. 7. 16. 13:27

[매일메일] 자료구조 트라이에 대해서 설명해주세요.

트라이 구조에 대해서 코딩 테스트를 했던 친구한테 들어본 적이 있다.친구가 설명해 준 것으로는 욕설 관련 필터링을 구현할 때 어떻게 할 것인가? 라는 질문에 로직을 고민하던 중 찾다가 알게 되었다며 알려주었다. 간단하게 아는 부분은 트리 구조와 같이 진행되면서 문자열에 대한 서칭을 좋게 한다는 점이었다. 이제 세부 내용에 대해서 한 번 자세히 알아보자. 트라이(Trie)는 문자열을 저장하고 효율적으로 탐색하기 위한 트리 형태의 자료 구조라고 한다.문자열을 비교하는 부분에서는 단순히 비교하는 것에 비하여 효율적일 수 있지만, 각 정점이 자식에 대한 링크를 모두 가지고 있기 때문에 저장 공간을 더욱 많이 사용한다는 특징이 있다.루트 노드는 항상 비어져 있으며, 각 간선은 추가될 문자를 키로 가지고 있다.각..

알고리즘, 백엔드/기술 면접 대비 매일메일 2025. 7. 15. 17:12

[매일메일] 자바에서 제네릭의 공변, 반공변, 무공변에 대해 설명해주세요

제네릭은 자바에서 내부에서 사용할 데이터 타입에 대해서 정의하고 지정하는 것을 말한다고 한다.공변이 영어로 적혀 있는 것을 보면 covariant라고 한다. 제네릭의 공변이 서브타입 관계를 그대로 따라가는 것을 의미한다고 한다.예를 들어 Dog가 Animal 서브클래스라면, List[Dog]는 List[Animal]의 서브타입으로 인정된다. 이때 반공변은 서브타입 관계가 반대로 적용된다고 한다. 이때 무공변이라면 서브타입 관계를 인정하지 않는다고 한다. 서브타입이란, 객체지향 프로그래밍에서 한 타입이 다른 타입의 하위 타입임을 의미한다고 한다.자식 클래스가 부모 클래스의 서브 타입 이라고 생각하면 된다고 한다.즉, is-a 관계로 이 타입을 이 자리에 대신 써도 문제가 없는가를 의미한다고 한다. (아하)..

알고리즘, 백엔드/기술 면접 대비 매일메일 2025. 7. 15. 15:14

추가 정보

인기글

최신글

페이징

이전
1 2 3 4 5 6 ··· 12
다음
TISTORY
Overman © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바