목록2024/03 (37)
soowanlog
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bACJ2q/btsFHmuomHg/q4lcNQTUVcx1LazsWsUeBK/img.png)
Spring 이란? Spring의 핵심 기술 - IoC(제어의 역전) - DI(의존성 주입) - AOP(관점 지향 프로그래밍) - PSA - POJO Spring boot란? Spring boot 동작방식 ※ Front Cotnroller Pattern Spring 이란? Spring 이란 Java의 웹 프레임워크로 Java 언어를 기반으로 합니다. Java의 활용도가 점점 높아짐에 따라 JSP, Mybatis, JPA 등 Java를 이용한 여러 가지 기술들을 더 편하게 사용하기 위해 만들어진 것입니다. 즉, Spring이란 Java 기술들을 더 쉽게 사용할 수 있게 해주는 오픈소스 프레임워크입니다. Spring의 핵심 기술 - IoC(Inversion of Control, 제어의 역전) : 객체의 생성..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/owK74/btsFFQpV6fm/eJDmo77iEX4QD9KCEBR8P1/img.jpg)
Javascript란? ※ Java와 Javascript Javascript 특징 - 스크립트 언어 - 객체 기반의 언어 - 객체 주심, 함수 중심의 설계 가능 Javascript의 역할 - 브라우저 제어 - 웹 요소 제어 - 사용자와 상호작용 - 웹 애플리케이션 제작 - 폭 넓은 확장성 변수 선언 - var - let - const Hoisting이란? TDZ란? ※ V8 Engine Hoisting 되는 / 되지 않는 Javascript란? Javascript(JS)란 웹 페이지를 만들기 위해 사용되는 스크립트 언어(인터프리터 언어)입니다. 웹 페이지의 화면에서 단순한 정적 페이지를 보여주는 것뿐만 아니라 동적인 상호작용이 가능하도록 합니다. 기존의 JS는 브라우저 상에서만 사용할 수 있었지만 현재는..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/diuoE8/btsFDAVu4Dv/CzMyLydODmdMkFLl2FTEK1/img.png)
REST란? ※ REST에서의 CRUD REST의 구성 요소 - 자원 - 자원에 대한 행위 - 자원에 대한 행위의 내용 REST의 특징 - Server-Client - Stateless - Cacheable - Layered Architecture - Uniform Interface API란? REST API란? REST API 설계 규칙 - 명사, 소문자 - 마지막에 슬래시 포함하지 않음 - 언더바 대신 하이폰 사용 - 파일확장자는 URI에 포함하지 않음 - 행위를 포함하지 않음 RESTful이란? REST란? Representation State Transfer의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미합니다. 즉, HTTP URI(Uniform Resource I..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nRkzD/btsFGL8KGfz/YTmDSCCUuMWg6IbkkgdrO1/img.png)
JVM이란? ※ Java compiler JVM 구성요소 - Class Loader - Execution ※ JIT compiler - Runtime Data Area Runtime Data Area ※ 프로세스 ※ 스레드 - PC Register - JVM Stacks - Native Method Stacks ※ 커널(Kernel) - Heap - Method Area ※ Runtime Constant Pool JVM이란? Java Virtual Machine의 줄임말로 Java를 OS에 종속받지 않고 실행하기 위한 가상의 기계(컴퓨터)입니다. Java 소스코드(*.java)는 OS가 인식을 하지 못하므로 기계어로 컴파일해줘야 합니다. 하지만 Java는 JVM을 거쳐서 OS에 도달하기 때문에 바로 기계..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/wbMHX/btsFI5tjudD/WH9sQMHki6FJid9fab0R01/img.png)
Garbage Collector(GC)란? JVM heap 영역 ※ Perm 영역이 삭제된 이유 - Perm 영역 - Metaspace - Minor GC - Major GC Garbage Collector(GC)란? GC는 JVM의 heap 영역에 할당한 메모리 중 사용하지 않는 메모리를 자동으로 수거하는 기능을 말합니다. C/C++ 같은 언어는 메모리를 할당하고 직접 해제해야 했지만, Java는 GC를 이용하여 개발자들이 메모리 관리를 비교적 신경 쓰지 않아도 됩니다. JVM heap 영역 GC의 동작 방법을 이해하기 앞서 JVM의 heap 영역 구조를 이해해야 합니다. heap 영역은 크게 Young 영역과 Old 영역으로 메모리를 구분합니다. 영역 설명 New/Young 영역 - 객체가 생성되자마..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Vp0jy/btsFAB0UzVK/VGqBjmhVnmuClRXbLX7nAK/img.jpg)
JDK 1.0 JDK 1.1 J2SE 1.2 J2SE 1.3 J2SE 1.4 J2SE 5 Java SE 6 Java SE 7 (LTS) Java SE 8 (LTS) Java SE 9 Java SE 10 Java SE 11 (LTS) Java SE 12 Java SE 13 Java SE 14 Java SE 15 Java SE 16 Java SE 17 (LTS) Java SE 18 Java SE 19 Java SE 20 JDK 1.0 - 1996. 01 공개 - 발표 이전에 불린 이름은 Oak JDK 1.1 - 1997. 02 공개 - JDBC, Inner Class, Java Beans, RMI, Reflection, Calendar, Unicode 지원 등이 추가 - Beans 규약 1. 기본 생성자가 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/T3PqR/btsFDE9JWeO/P9VXUMp1RJo6xHVE0edr2K/img.jpg)
Java란? Java의 특징 - 객체지향 언어 - 높은 이식성 - 인터프리터 언어 - 메모리 자동 관리 - 동적 로딩 - 느린 실행 속도 ※ JVM Java 버전 별 특징 Java란? Java는 널리 사용되는 객체 지향 프로그래밍 언어로 다양한 디바이스에서 실행됩니다. 이름이 비슷한 Javascript와 다르다는 것도 이해해야 합니다. Javascript는 컴파일할 필요가 없지만 Java코드는 컴파일해야 하고 Javascript는 웹브라우저에서만 실행되지만 Java는 어디에서나 실행될 수 있습니다. 개발에 사용되는 여러 언어들이 놀라운 속도로 시장에 출시되면서 기존의 언어들을 대체하고 있습니다. 이런 지속적인 전환을 고려할 때 Java의 수명은 인상적입니다. Java의 특징 - 객체지향 언어 : 객체를 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bzl1dN/btsFB2ptgUu/57mfjPfL9ABmZ1ILTSHrqk/img.png)
UDP란? UDP를 사용하는 이유 UDP란? UDP(User Datagram Protocol)이란 TCP와 같이 IP에 기반한 프로토콜입니다. TCP와는 달리 데이터 순서 유지를 위한 작업을 하지 않고, 연결을 하지 않으므로 connect() 함수를 사용하지 않습니다. 즉, 연결을 하지 않고 데이터 손실에 대해 상관하지 않고 해당 IP에 전송하는 프로토콜입니다. UDP를 사용하는 이유 TCP와 달리 하나의 소켓으로 다수의 클라이언트에 대한 서비스를 제공할 수 있습니다. 데이터 손실의 위험은 있지만 다수의 클라이언트에게 데이터 전송이 가능하고 TCP보다는 속도가 빠릅니다. UDP는 실시간 영상 스트리밍 서비스와 같이 중간에 데이터가 손실 되어도 실시간으로 전송하는 곳에서 사용됩니다. 또한 온라인 게임에도 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b5YvO1/btsFAvscpg9/qyqHehXDovxyQC1WxP1eT1/img.png)
ICMP란? ICMP의 주요 용도 - 에러 알림 - 진단/정보 전달 메시지 ICMP 형태 - Type - Checksum - Additional header field - Payload ICMP란? ICMP(Internet Control Message Protocol)란 이름 그대로 여러 정보를 전달하거나 관리하는 용도로 사용되는 프로토콜입니다. TCP/IP 계층 모델의 Network 계층에 위치합니다. ICMP의 주요 용도 - 에러 알림 : Packet 전송이 실패했을 때 에러가 났음을 알림과 동시에 해결 가능한 힌트를 제공합니다. - 진단/정보 전달 메시지 : ping, tr aceroute 명령 등 진단과 정보전달을 하는 데 사용합니다. ICMP 형태 - Type : ICMP Packet의 종류를 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cKCGwh/btsFA8jbvzY/DL45CzDmj49bAQExHPqsJ0/img.png)
Packet이란? ※ 대역폭 Packet의 구조 - 버전 - TTL(Time To Live) - 프로토콜 - 헤더 체크섬 - 소스 주소 - 대상 주소 - 데이터 Packet이란? Packet은 Pack과 Bucket의 합친 말로 우체국에서 화물을 적당한 덩어리로 나눠 행선지를 표시하는 꼬리표를 붙이는 방식을 데이터 통신에 접목한 것입니다. 즉, 정보를 보낼 때 특정 형태를 맞추어 보내는 것을 말합니다. 데이터를 주고받을 때 네트워크를 통해서 전송되는 데이터 조각이라고 생각하면 편합니다. 데이터를 조각내지 않고 한번에 보내는 것이 유리하다고 생각할 수 있지만 그렇게 된다면 데이터가 대역폭을 너무 많이 차지하기 때문에 Packet의 흐름을 원활하게 하지 못합니다. ※ 대역폭 신호를 전송할 수 있는 주파수의 ..