일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- CSS display 속성
- 시맨틱 태그
- 속성
- multiarray
- 자바의 장점
- html요소
- css
- 구글 리캡차
- 바닐라js
- 신입개발자
- 스프링 부트
- 예외처리
- html
- 자바
- database
- 스프링부트
- cs질문
- tcp와 udp의 차이점
- Java
- 80 to 443
- Create
- 리캡차
- 네트워크
- 기술면접
- Oracle
- Rename to
- 기술 면접
- css position
- position속성
- Failed to read the 'responseText' property from 'XMLHttpRequest'
- Today
- Total
목록면접 질문 (9)
Building value
OSI (Open Systems Interconnection) 7 계층은 네트워크 통신을 일곱 개의 계층으로 나눈 모델로, 각 계층은 특정 기능과 역할을 담당합니다. 1. 물리 계층 (Physical Layer): 주로 하드웨어적인 부분을 다룸. 전송 매체, 신호, 전압 등의 물리적인 특성을 다룸. 케이블, 허브, 리피터 등의 장치가 여기에 속함. 2. 데이터 링크 계층 (Data Link Layer): 프레임으로 데이터를 나누고, 에러 검출 및 수정을 수행. MAC 주소를 사용하여 네트워크 디바이스 간 통신을 관리. 스위치 등의 장치가 이 계층에 속함. 3. 네트워크 계층 (Network Layer): 패킷을 목적지까지 최적의 경로로 전달. 라우팅, 서브넷팅 등의 기능을 수행. 라우터가 이 계층에서 동..
TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)는 네트워크 통신에서 주로 사용되는 프로토콜로, 데이터를 전송하는 방식에 차이가 있습니다. TCP (Transmission Control Protocol) 연결 지향형 프로토콜: 통신 전에 연결을 설정하고, 연결이 설정된 후에 데이터를 안정적으로 전송합니다. 신뢰성 있는 전송: 데이터 전송 시 오류 검사, 재전송, 흐름 제어 등을 통해 신뢰성 있는 전송을 보장합니다. 순서 보장: 전송한 순서대로 데이터를 받아오므로, 데이터가 정확한 순서로 도착합니다. 흐름 제어와 혼잡 제어: 수신자의 처리 속도에 맞게 데이터를 조절하여 네트워크 혼잡을 방지하고 효율적으로 데이터를 전송합니다. 주로 웹 브라우저..
DB 트랜잭션은 데이터베이스에서 여러 작업을 하나의 논리적 단위로 묶어 일관성을 유지하는 개념입니다. 이 트랜잭션은 여러 작업을 모두 성공하거나 실패할 때 데이터베이스가 일관된 상태를 유지할 수 있도록 합니다. 트랜잭션은 데이터베이스의 무결성과 일관성을 보장하며, 원자성, 일관성, 격리성, 그리고 지속성이라는 특성을 갖고 있어요. 이러한 특성들은 데이터베이스 조작 시 안전성과 정확성을 확보하는 데 중요한 역할을 합니다. 예를 들어 은행에서 송금 트랜잭션을 생각해보겠습니다. 송금 트랜잭션은 일련의 단계를 거칩니다. 예를 들어, A라는 고객이 B라는 고객에게 100달러를 송금하는 상황을 생각해보죠. 트랜잭션 시작: A 고객의 계좌에서 100달러가 출금되고, B 고객의 계좌로 입금될 예정입니다. 출금: A 고..
MVC는 Model-View-Controller의 약자로, 소프트웨어 디자인 패턴 중 하나입니다. 이 패턴은 소프트웨어를 세 가지 주요 부분으로 나누어 개발하는 방법을 의미합니다. 모델 (Model): 데이터와 데이터를 처리하는 부분을 담당합니다. 데이터베이스에서 정보를 가져오거나 업데이트하고, 비즈니스 로직을 처리하는 역할을 합니다. 뷰 (View): 사용자에게 보여지는 부분으로, 데이터를 시각적으로 표현하는 역할을 합니다. HTML, CSS, JavaScript 등으로 이루어질 수 있습니다. 컨트롤러 (Controller): 사용자의 입력을 받아 모델과 뷰를 연결시켜주는 부분입니다. 사용자가 요청한 것에 따라 적절한 데이터를 모델에서 가져와 뷰에 전달하거나, 사용자 입력을 받아 모델에 전달하는 역할을..
JSON(JavaScript Object Notation)은 데이터를 효율적으로 표현하고 전송하기 위한 경량의 데이터 교환 형식입니다. 이것은 사람이 읽고 쓰기 쉬우며, 기계가 파싱하고 생성하기도 용이합니다. 주로 웹에서 데이터를 주고 받는 데 사용되며, 최근에는 다양한 응용 분야에서 널리 사용되고 있습니다. JSON은 키-값 쌍의 집합으로 구성되어 있으며, 다른 프로그래밍 언어에서도 쉽게 이해하고 사용할 수 있습니다. 대부분의 현대 언어들은 JSON을 다루기 위한 내장된 라이브러리나 함수들을 제공하고 있어, 데이터를 직렬화하고 파싱하는 작업을 간단하게 수행할 수 있습니다. 간단히 말해, JSON은 데이터를 구조화하여 표현하는 포맷으로, 데이터를 주고 받거나 저장하는 데 유용하며, 웹 애플리케이션을 비롯..
자바는 많은 특징을 가지고 있지만, 자바의 주요 특징을 다음과 같이 요약할 수 있어요: 객체 지향 프로그래밍 (OOP): 자바는 객체 지향 프로그래밍 언어로, 클래스와 객체를 기반으로 하며 상속, 다형성, 캡슐화 등의 개념을 지원합니다. 상속 (Inheritance): 상속은 객체 지향 프로그래밍에서 기존 클래스의 특성을 그대로 물려받아 새로운 클래스를 생성하는 개념입니다. 이를 통해 코드의 재사용성을 높이고 클래스 간의 계층 구조를 형성할 수 있습니다. 부모 클래스의 모든 특성과 기능을 자식 클래스가 물려받아 사용할 수 있습니다. 다형성 (Polymorphism): 다형성은 하나의 객체가 여러 형태를 가질 수 있는 성질을 의미합니다. 이를 통해 같은 메소드 호출이지만 실제 실행되는 메소드가 다를 수 있..
1. 오버로딩(Overloading) 오버로딩은 같은 메서드 이름을 가지면서 매개변수의 개수나 타입을 다르게 정의하는 것을 의미합니다. 오버로딩을 사용하면 같은 이름의 메서드를 다양한 매개변수로 호출할 수 있습니다. 메서드 시그니처(메서드 이름, 매개변수 개수, 매개변수 타입)이 서로 다른 경우, 자바는 이를 다른 메서드로 인식합니다. public class Calculator { // 정수형 두 개를 더하는 메서드 public int add(int a, int b) { return a + b; } // 실수형 두 개를 더하는 메서드 (매개변수 타입이 다름) public double add(double a, double b) { return a + b; } // 세 개의 정수를 더하는 메서드 (매개변수 ..
HTTP(하이퍼텍스트 전송 프로토콜)와 HTTPS(하이퍼텍스트 전송 프로토콜 보안)는 인터넷을 통해 정보를 전송하기 위한 프로토콜 중 두 가지 주요한 프로토콜입니다. 이 두 프로토콜 간의 주요 차이점은 보안과 데이터 암호화에 관련이 있습니다. 1. 보안: HTTP: HTTP는 데이터를 평문으로 전송합니다. 즉, 정보가 암호화되지 않고 노출될 수 있습니다. 이는 중요한 개인 정보나 민감한 데이터를 전송할 때 보안 문제가 발생할 수 있음을 의미합니다. HTTPS: HTTPS는 데이터를 암호화하여 전송합니다. 이를 위해 SSL(보안 소켓 계층) 또는 TLS(전송 계층 보안) 프로토콜을 사용하여 데이터의 기밀성과 무결성을 보장합니다. 따라서 중간에서 데이터를 가로채거나 변조하는 공격으로부터 보호됩니다. 2. 포..
스프링(Spring)과 스프링 부트(Spring Boot)는 둘 다 자바 기반의 프레임워크로, 웹 애플리케이션 및 서비스를 개발하기 위해 사용되지만, 목표와 사용 시나리오, 특징 등에서 차이가 있습니다. 1. 목표 및 설계 철학 - 스프링(Spring): 스프링은 엔터프라이즈급 애플리케이션 개발을 위한 포괄적인 프레임워크로, 높은 유연성과 확장성을 갖고 있습니다. 스프링은 설정의 자유도가 높고 다양한 기능을 모듈로 제공하여 개발자가 필요한 기능을 선택적으로 사용할 수 있습니다. - 스프링 부트(Spring Boot): 스프링 부트는 스프링의 생산성을 향상시키기 위해 만들어진 도구입니다. 주요 목표는 개발자가 빠르게 애플리케이션을 개발하고 설정에 대한 번거로움을 줄이는 것입니다. 스프링 부트는 기본 설정을..