본문 바로가기

분류 전체보기110

[CS 면접 기본 - 자바] 10. JVM에 대해서 알려줘 jvm : 가비지 컬랙터 / 실행엔진 / 클래스 로더 / 메모리(runtime data area) 4가지 영역으로 이뤄짐.  자바 어플리케이션 실행 방법  MAC WIN 위에 자바가 미리 짜놓고 그 위에 사용자가 짤 수 있도록 해놓음  MAC, WIN 위에 자바가 미리 짜놓은 곳이 JVM이라고 한다.  그 위에서 공통된 자바소스를 짜면,  환경에 영향을 받지 않는다.  java -컴파일 -> 클래스 파일  여기가 바이트 코드다.  이거를 JVM이 읽어서, class loader를 통해 자바의 메모리  (Runtime Data area)올리고, 실행엔진이 동작시킨다.  정리) 컴파일러가 java를 클래스 파일로 바꾸는데 이 바꾼코드를 바이트 코드라고 합니다. 이 바이트 코드는 JVM의 클래스 로더를 통해서.. 2024. 10. 27.
[CS 면접 기본 - 자바] 9. 인터페이스와 추상클래스의 차이가 뭘까? - 추상 클래스 : abstract로 지시자로 정의되며, 추상메소드가 하나이상 포함 (상속을 위한 것)  => 강아지와 고양이를 예로 공통점은 짖는다는 특징 :   => 차이점은 짖는 소리가 다르다.   => 짖는 소리에 대한 정의는 Dog 객체, Cat 객체 다르게 해주어야하기 때문에, 동물이라는 추상클래스를 만들고, 거기에 공통 특징은 일반메소드로 구현하고  차이점은 추상 메소드로 정의만 한 뒤, 상속 받은 자식 클래스가 구체적인 구현을 맡긴다.    - 인터페이스 : interface 지시자로 정의하며 모든 메소드가 추상메소드로 정의(보장을 위한 것) 인터페이스는 정의만 넣어두고 각 클래스는 그 기능을 구현하도록 강제한다. 다중 상속이 가능하다. interface swim, fly 등 다중으로 상속.. 2024. 10. 27.
[CS 면접 기본 - 자바] 8. 자바의 버전은 무슨 차이가 있을까? Java 8: 함수형 프로그래밍, Stream API, 새로운 날짜/시간 API, Optional 클래스 도입.Java 11: 장기 지원 버전으로 HTTP Client API, String 메서드 개선, 오래된 기능 제거.  LTS  버전 2014, 2018녀에 출시,  1) 람다 표현식을 사용함.int plus(int a) { return a = a+3; }  = (a) -> {a+3}2)  STREAM : 병열처리 지원 for문, while 문 대신STREAM() , filter를 사용하여서 반복문을 처리해서 속도가 더 빨라지게 됩니다. (병열처리라 조금 더 빠르게 처리가 된다.)  3) 인터페이스 :  3) 인터페이스 기능 의 개선 - default  매소드 정의가 가능해짐. 원래는 추상 매소드만 .. 2024. 10. 27.
[CS 면접 기본 - 웹의 시작 ] 6. REST API는 뭘까? 설계시 고려사항은? REST API는 Representational State Transfer의 약자로, 웹 서비스 아키텍처 스타일 중 하나입니다. REST는 클라이언트와 서버 간의 통신을 간단하고 일관된 방식으로 설계하기 위해 만들어졌으며, 주로 HTTP 프로토콜을 사용하여 자원(Resource)을 정의하고, 이를 전송하는 방법을 규정합니다. REST API를 통해 애플리케이션은 서버의 자원을 생성, 읽기, 업데이트, 삭제(CRUD) 작업을 수행할 수 있습니다.REST의 주요 특징REST 아키텍처 스타일의 API는 몇 가지 주요 원칙과 특징을 따릅니다.자원의 표현(Resource)REST에서는 서버의 자원(예: 사용자 정보, 게시물, 제품 등)을 URL을 통해 명확하게 식별합니다.각 자원은 고유한 URI(Uniform R.. 2024. 10. 27.
[CS 기본 - 웹의 시작 ] 5. http통신에서 동기와 비동기의 차이는 뭘까? HTTP 통신에서 **동기(Synchronous)**와 **비동기(Asynchronous)**의 차이는 요청을 보낸 후 응답을 기다리는 방식에 있습니다. 이 차이점은 클라이언트와 서버 간의 통신에서 처리 흐름과 대기 방식에 영향을 줍니다.1. 동기(Synchronous) 통신동기 통신에서는 클라이언트가 서버에 요청을 보낸 후, 서버로부터 응답을 받을 때까지 기다립니다. 이 동안 클라이언트는 다른 작업을 수행하지 않고, 응답을 받을 때까지 대기 상태가 됩니다.즉, 요청 → 응답의 순서가 보장되며, 응답이 올 때까지 클라이언트의 흐름이 멈추는 방식입니다.동기 통신의 특징단순한 흐름 제어: 요청과 응답이 차례대로 이루어져 흐름을 관리하기 쉽습니다.응답 시간에 의존적: 서버의 응답이 늦어지면, 그만큼 클라이언트.. 2024. 10. 27.
[CS 기본 - 웹의 시작 ] 4. https는 왜 쓸까? HTTPS(HTTP Secure)는 HTTP에 보안 기능을 추가한 프로토콜로, 데이터의 기밀성, 무결성, 인증을 보장합니다. 웹사이트와 사용자 간의 통신을 안전하게 보호하기 위해 HTTPS를 사용합니다. HTTPS를 사용하는 주요 이유는 다음과 같습니다:1. 데이터의 기밀성 (Confidentiality)HTTPS는 SSL/TLS(Secure Sockets Layer / Transport Layer Security) 암호화를 통해 클라이언트와 서버 간의 데이터가 암호화된 상태로 전송되도록 합니다.암호화되지 않은 HTTP에서는 네트워크에 있는 중간자(인터넷 서비스 제공자, 네트워크 관리자 등)가 전송 중인 데이터를 쉽게 도청할 수 있습니다.HTTPS를 사용하면 데이터가 암호화되어 있기 때문에 도청자가 내용.. 2024. 10. 27.