자바 .java 라는 소스코드를 .class 라는 바이트코드로 변환시켜줌이 과정을 컴파일이라고함class 파일들을 Class Loader 가 Runtime Data Area ,즉 , JVM메모리 공간으로 연결 시킴Runtime Data Area 는 총 5가지로 이루어져
아래의 그림을 보자
값에 의한 호출UntitledUntitledUntitled메인 메서드안의 StackFrame내에서 값을 변경해줘야한다.call by value 호출 방식은 함수 호출 시 전달되는 변수 값을 복사해서 함수 인자로 전달함이때 복사된 인자는 함수 안에서 지역적으로 사용되기
공통점개체들의 공통분모를 일반화한 이름 차이점추상클래스는 상속 받아서 기능을 이용하고, 확장시킴반면, 인터페이스는 함수의 껍데기만 존재, 함수의 기능의 구현을 강제 시키기 위함—추상클래스는 클래스 이기에 다중 상속 불가능반면, 인터페이스는 다중 상속이 가능하다.—인터
원시 타입의 데이터가 값과 저장 (int, byte, double…)HEAP 영역에 생성된 Object 타입의 데이터의 참조값이 저장된다.함수가 호출될 때 사용하는 메모리. 기능 수행이 끝나면 자동으로 반환되는 메모리Object 타입의 데이터가 저장애플리케이션의 모든
컬렉션의 요소를 하나씩 참조해 람다식으로 처리할 수 있는 반복자HOW 중심의 코드.. 단순히 count를 평균을 구하기 위하여 사실상 필요없는 변수들이 너무 많이 사용되었다.직장인 들을 가지고 있는 객체에 지시를 하면 연산가능WHAT중심의 코드 → 내부 반복 코드자료구
OSI7계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다.물(리) 데(이터링크) 네(트워크) 전(송) 세(션) 표(현) 응(용) 응용 계층어떠한 어플리케이션에서 통신을 요청표현 계층통신들의 규격을 맞춰준다.세션 계층통신을 관리한다.전송 계층연결 후
신뢰성이 높은 프로토콜UCP보다 느림등기 우편이랑 비슷 → 상대방이 해당 요청을 받았는지 확인가능연결의 설정(3-way handshaking) 과 해제(4-way handshaking)연결을 주고 받고 주고 >> 연결연결 주고 받고 주고 받고 >> 해제데이터 흐름 제어
스프링은 객체를 생성, 라이프사이클 관리 및 필요로 하는 객체에 의존 주입을 하는 라이브러리 집합체라고 할 수 있다.객체 사용법약한 결합 | 강한 결합강한 결합약한 결합약한 결합을 가진 프로그래밍 방식은 보다 유연한 대처가 가능하다.
연관 관계가 설정된 엩티티를 조회할 경우 조회된 데이터 갯수(n) 만큼 연관관계의 조회 쿼리가 추가로 발생하여 데이터를 읽어오는 현상Fetch 모드를 EAGER(즉시 로딩)으로 한 경우findAll() 을 한 순간 > select u from User u; 이라는 JP
정보를 주고받는 데에 있어서 개발자들 사이에서 널리 쓰이는 일종의 형식이다.우체국에서이러한 송장을 채워넣는 것처럼 형식이다!.Application Programming Interface소프트웨어가 다른 소프트웨어로부터 지정된 형식으로 요청, 명령을 받을 수 있는 수단클
크기에 따라 네트워크를 구분짓는 단위들이다.LAN (Local Area Network)근거리 통신망 | 집, 사무실, PC 방 등의 단위가 LAN단위에 속한다.MAN (Metropolitan Area Network)도시 지역 통신방 | 도시 하나 정도의 단위가 MAN단
망에 입력되는 트래픽 양이 망이 처리 할 수 있는 한도(Capacity) 를 초과하는 경우 체증이 발생한다.다음 그림은 단위 시간 당 입력되는 패킷의 수(input load)와 단위 시간당 처리되는 패킷의 수(throughput), 그리고 패킷이 처리될 떄 까지의 지연
뭐.. 기초적인 사이트의 경우 PHP를 이용해서 운영이 충분히 가능하다.하지만 기능이 계속적으로 추가되는 경우.. 힘들다.. 관리가 무척이나 힘들어진다.뭔가 거대해지고 복잡해는 경우 특정 기준으로 분리, 모듈화를 통해 접근해야한다.ModelViewController뜬금
주석처럼 프로그래밍 언어에 영향을 미치지 않으며, 유용한 정보를 제공소스의 변경에 따른 관련 문서의 불일치가 발생 → 주석 적극 도입으로 코드상에서 문서도 수정하게 함(스웨거 , JavaDoc…) 메타 에너테이션 - 애너테이션을 만들때 사용
가장 기본적인 자료구조논리적 저장 순서와 물리적 저장 순서가 일치한다.따라서 인덱스로 해당 원소에 접근이 가능하다.찾고자 하는 원소의 인덱스 값을 알고 있으면 O(1) 시간 내에 해당 원소에 접근가능하다.Random Access가 가능하다.하지만, 삭제 또는 삽입 과정
프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용해 해결할 수 있도록 하나의 규약 형태로 만들어 놓은 것라이브러리공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것을 의미. 폴더명, 파일명 등에 대한 규칙이 없고, 프레임워크에 비해 자유로움.
하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴.하나의 클래스를 기반으로 여러 개의 개별적인 인스턴스를 만들 수 있지만 그렇게 하지않고하나의 클래스를 기반으로 단 하나의 인스턴스를 만들어 이를 기반으로 로직을 만드는데 쓰이며보통 데이터베이스 연결모듈에 많이 사용한다
객체를 사용하는 코드에서 객체 생성 부분을 뗴어내 추상화한 패턴이자 상속 관계에 있는 두 클래스에서 상위 클래스가 중요한 뼈대를 결정하고, 하위 클래스에서 객체 생성에 관한 구체적인 내용을 결정하는 패턴이다.상위 클래스와 하위 클래스가 분리되기 때문에 느슨한 결합을 가
이터레이터 패턴 iterator pattern 은 이터레이터 iterator 를 사용하여 컬렉션 collection 의 요소들에 접근하는 디자인 패턴입니다.이를 통해 순회할 수 있는 각기 다른 자료형의 구조와는 상관없이 이터레이터라는 하나의 인터페이스로 순회가 가능해서
정책 패턴(Policy pattern) 이라도고 하며, 객체의 행위를 바꾸고 싶은 경우 직접 수정하지 않고 전략이라고 부르는 캡슐화한 알고리즘을 컨텍스트 안에서 바꿔주면서 상호 교체가 가능하게 만드는 패턴이다.컨텍스트 : 프로그래밍에서 컨텍스트는 상황, 맥락, 문맥
대상 객체(Subject)에 접근하기 전 그 접근에 대한 흐름을 가로채 대상 객체 앞단의 인터페이스 역할을 하는 디자인 패턴이다.이를 통해 객체의 속성, 변환 등을 보완하며 보안, 데이터 검증, 캐싱, 로깅에 주로 사용합니다. 대표적으로 프록시 서버가 있다.프록시 서버
모델(Model), 뷰(View), 컨트롤러(Controller) 로 이루어진 디자인 패턴이다.애플리케이션의 구성 요소를 세 가지 역할로 구분하여 개발 프로세스에서 각각의 구성요소에만 집중해서 개발할 수 있다.재사용성과 확장성이 용이하다는 장점이 있고, 애플리케이션이
인덱스 생성DB에서 인덱스를 생성하는 경우, 해당 열에 대한 포인터를 포함하는 별도의 데이터 구조가 생성된다.해당 데이터 구조는 대부분 B-트리라는 특별한 형태로 저장됩니다.B - 트리 구조란? 검색, 삽입, 삭제 등의 작업을 효율적으로 할 수 있게 해준다.데이터 검색
답변데이터 파티셔닝을 해야할 것 같습니다데이터를 더 작은 청크로 나눠서, 쿼리가 특정 파티션에만 접근하게 함으로 속도를 빠르게 해야한다.청크?큰 데이터 집합을 더 작고 관리하기 쉬운 부분을 나누는 것을 말합니다.파티셔닝을 통해 쿼리가 특정 파티션에만 접근하도록 하는 것
답변인덱스 컬럼의 선정 기준WHERE 절이나 JOIN 조건에 자주 사용되는 컬럼을 인덱스로 생성하는 경우 해당 쿼리의 속도를 높을 수 있습니다.카디널리티가 높아야합니다.컬럼의 값이 다양하는 의미입니다.단순하게 남 여 뿐이라면 카디널리티가 낮아 인덱스의 효과가 떨어집니다
논클러스터링 클러스터링 등의 인덱스 종류mybatis와 jpa 차이 설명실행계획 해본적있냐ddd 무엇이냐 현재 프로젝트도 dddleft join 과 inner join 의차이점?테이블 설계 어떤 기준으로 하냐jpa 설계시 테이블 크기는 어느 정도냐블로그 글 물어보심 다
오늘 면접질문으로 인덱스의 종류가 무엇이 있냐고 질문이 들어왔다.솔직히 당황스러웠다. 클러스터 인덱스와 논클러스터 인덱스 혹은 유니크 인덱스에 관련한 질문이였는데일단 각설, 데이터 베이스의 인덱스의 경우에는 데이터 검색 성능을 최적화하기 위해 사용되는 DB 구조라고 한
인프라 아키텍처는 IT 환경의 기초를 이루는 구조와 서비스를 구축, 관리하는 방법론하드웨어, 소프트웨어, 네트워크 지원 및 서비스가 조화롭게 작동하여 비즈니스 목표를 지원하는데 필수적임!조직의 IT 시스템을 지원하기 위해 필요한 컴퓨터, 네트워크, 스토리지, 서비스 등
네트워킹은 컴퓨터, 서버, 기타 장치들이 서로 정보를 공유하고 통신할 수 있도록 연결하는 기술.이를 가능하게 하는 것이 네트워크 구조 + 프로토콜의 조합기본적인 구조로는 LAN(로컬 영역 네트워크), WAN(광역 네트워크), PAN(개인 영역 네트워크) 등이 있음.LA
네트워크 상에서 클라이언트의 요청을 처리하고 데이터를 제공하는 서버의 구조적 설계를 의미함.서버의 성능, 확장성, 보안, 관리 용이성 등을 결정하는 중요한 요소가상화 기술은 - 서버 아키텍처를 더 유연하고 효율적으로 만든다.단일 서버 아키텍처정의모든 클라이언트의 요청을
스토리지 아키텍처는 데이터를 저장, 관리, 접근하는 방법을 정의한다.개념NAS 는 네트워크에 직접 연결되어 여러 사용자와 클라이언트가 공유할 수 있는 파일 기반 스토리지 시스템임.간단히 말해, NAS 는 네트워크를 통해 접근할 수 있는 고급 파일 저장소이다.예시가정에서