본문 바로가기

분류 전체보기

대용량 DB 처리 관련 개념 > 1. 정규화 vs 비정규화1) 정규화 : 중복데이터를 최소화하여 데이터 일관성을 유지2) 비정규화 : 조회 속도를 높이기 위해 중복을 허용하고 조인을 줄임  2. 인덱스 최적화 - 인덱스는 select 성능을 향상시키지만, INSERT, UPDATE, DELETE 성능에는 영향을 줄 수 있다.- B-Tree 인덱스(일반적인 인덱스), Hash 인덱스(빠른 조회), Full-Text 인덱스(검색 최적화)- 대량 데이터에서 너무 많은 인덱스를 설정하면 INSERT 성능이 저하되므로 필요한 컬럼만 인덱싱 3. 파티셔닝 - 데이터를 여러 물리적 파일로 나누어 성능을 최적화- 종류 : 범위 파티션, 리스트 파티션, 해시 파티션, 조합 파티션- 테이블이 수십억 건 이상이면 파티셔닝을 고려하여 쿼리 성능을 최적화.. 더보기
프로프레임이란 프로프레임(ProFrame)이란, 티맥스소프트에서 개발한 애플리케이션 프레임워크로,기업용 애플리케이션 개발을 위한 통합 환경을 제공한다. 이를 통해 개발자는 비즈니스 로직 구현에 집중할 수 있으며, 개발 생산성과 효율성을 높일 수 있다.  ProFrame의 주요 특징 - 비즈니스 중심 개발 환경 :   거래 유형별 템플릿과 표준 API를 제공하여, 개발자가 순수한 비즈니스 로직에 집중할 수 있도록 지원한다. - EMB 기반 개발 생산성 향상 :   EMB(Enterprise Module Bus) 아키텍처를 기반으로, 코딩 없이 디자인만으로 프로그래밍이 가능하며,    모듈의 재사용성을 높여 개발 효율성을 향상시킨다. - 고성능 및 안정성 보장 :  메모리 관리, DB 로깅 등 시스템적인 기능을 검증된 기.. 더보기
자바의 특징 (객체 지향, 캡슐화, 상속, 다형성, 플랫폼 독립성) 1. 객체 지향 비유 : 레고 블록으로 집을 짓는 것 자바는 객체라는 개념을 중심으로 프로그래밍을 한다.객체는 현실 세계의 사물을 코드로 표현한 것이라고 보면 된다. 예 > 레고 블록레고 블록 하나하나(객체)가 모여서 집(프로그램)이 완성된다.각 블록(객체)은 특정한 모양과 역할을 가지고 있다.블록끼리 조립하는 방식(클래스와 상속)을 정하면, 다른 집을 만들 때도 재사용할 수 있다. 객체 지향 프로그래밍(OOP)은 프로그램을 ‘하나의 거대한 덩어리’가 아니라, 여러 개의 객체를 조립해서 만드는 방식이다.  2. 캡슐화 비유 : 리모컨의 버튼 자바에서는 객체의 내부 데이터를 보호하고, 외부에서 직접 변경하지 못하도록 숨길 수 있다. 예 > TV 리모컨 - 리모컨 내부에는 복잡한 회로(데이터, 로직)가 있지.. 더보기
restAPI란 API : 'A가 이렇게 요청하면 B는 이렇게 응답한다'라는 약속RESTful API : 'A가 어떤 방식으로 요청하고, B가 어떤 방식으로 응답할 지 지정해 놓은 다양한 형식들 중 하나 CreateReadUpdateDelete  200번대 : 성공400번대 : 클라이언트 에러 (잘못된 URI, 권한 외의 요청)500 : 서버 에러  -클라이언트의 상태 정보가 서버에 저장되지 말아야 함 -클라이언트가 같은 요청을 몇 번을 보내든 언제나 같은 답이 돌아와야 함 -캐싱 참조https://youtu.be/fB3MB8TXNXM?feature=shared 더보기
#8) OSI 7계층, TCP/IP 4계층 OSI  모델 Open System Interconnection의 약자로, 개방형 시스템을 뜻한다.국제 표준기구 ISO (Internet Organization for Standardization)에서 개발하였다. 서로 다른 컴퓨터 간 통신에서, 네트워크 구조나 하드웨어 종류에 상관없이 통신할 수 있도록 제안된 개방 통신 모델이다. (초기의 정보 통신 업체 장비들은 자신의 업체 장비들끼리만 연결이 되어 호환성이 없었다.)   TCP/IP  모델 미국 국방부에서 정의한 네트워크 통신 표준 모델이다.실제 인터넷 환경에 적합하도록 설계되었기 때문에, OSI 모델에 비해 더 단순하고 실용적이다.특히 인터넷 통신을 위해 최적화되어 있으며, 실제 네트워크 장비와 프로토콜 개발에 널리 사용되고 있다.  OSI  7 .. 더보기
#7) HTTP 메서드 / GET과 POST의 차이점 1.  HTTP 메서드란?클라이언트와 서버 사이에 이루어지는 요청(Request)과 응답(Response) 데이터를 전송하는 방식이다.즉, 서버가 수행해야 할 동작을 지정하는 요청을 보내는 방법이다.  * 주요 메서드GET : 데이터 조회POST : 요청 데이터 처리 (주로 등록)PUT : 데이터 변경 (해당 데이터가 없으면 생성) PATCH : 일부 데이터만 변경 (PUT이 전체 변경, PATCH는 일부 변경)DELETE : 데이터 삭제 2.  GET 방식과 POST 방식의 차이점 GET 방식POST 방식URL에 데이터 노출 여부OXURL 예시http://localhost:8080/boardList?name=스터딩쿼티&contents=메서드차이점http://localhost:8080/addBoard데.. 더보기
#6) 쿠키(Cookie)와 세션(Session)의 차이점 1. 쿠키 & 세션 사용 이유 HTTP 프로토콜의 특성이자 약점을 보완하기 위해 쿠키와 세션을 사용한다.   * HTTP 프로토콜의 특징 - Connectionless (비연결성)HTTP 프로토콜은 클라이언트에서 서버에 요청을 보내면, 서버는 클라이언트에 응답을 하고 연결을 끊는 특징을 가지고 있다.*참고 : HTTP1.1 버전에서 Connection 헤더에 keep-alive라고 설정하면 컨넥션을 유지하고, 요청에 재활용하는 기능이 추가되었다. (기본 옵션)HTTP가 TCP위에서 구현되었기 때문에(TCP : 연결 지향, UDP : 비연결 지향) 연결 지향적이라고 할 수 있다는 얘기가 있어 논란이 있지만, 아직까지는 네트워크 관점에서 keep-alive는 옵션으로 두고, 서버 측에서 비연결 지향적인 특성.. 더보기
#5) TCP 3 Way-Handshake & 4 Way-Handshake TCP는 신뢰성 프로토콜로,전송 전에 목적지가 이상 없는지 미리 확인하고 전송이 끝나고도 다시 확인해주는 과정이 있다. 이러한 과정이 3 Way Handshake 와 4 Way Handshake이다. 3 Way는 통신을 시작할 때, 4 Way는 통신을 마칠 때 거치는 과정이라는 차이가 있다. FLAG 설명SYN접속 요청 시 보내는 패킷TCP 접속 시에 가장 먼저 보냄ACK상대방으로부터 패킷을 받은 뒤에, 잘 받았다고 알려주는 패킷FIN접속 종료 시 보내는 패킷  ======================================================== 1. TCP 3-way HandshakeConnection 생성 과정1단계  - SYN(1)클라이언트가 서버에게 : 연결 요청(SYN)(초기 순.. 더보기