전체 글 210

MSA 인텔리제이로 프론트엔드, 백엔드 동시에 로컬에서 각각의 인텔리제이 인스턴스로 작업시 브랜치 공유되어 작업하기 곤란한 사항

MSA 인텔리제이로 프론트엔드, 백엔드 동시에 로컬에서 각각의 인텔리제이 인스턴스로 작업시 브랜치 공유되어 작업하기 곤란한 사항 백엔드만 작업하다가 프론트엔드까지 react로 작업하려고 프론트 초기 버전까지 나의 github에 커밋까지 하였는데 오늘 더 작업 하려고 보니 이상하게 다른 작업한 것이 없는데 백엔드(자바) 부분이 서버가 작동을 하지 않았다 이상하게 생각하다가 브랜치가 react(가칭)로 되어 있었다. 다른 것로 바꿔도 react 프론트랑 java 백엔드 부분 인텔리제이가 브랜치가 공유되고 있어서 두개를 동시에 작업 할 순 없었다. 서버를 인텔리제이를 통하지 않고 띄우는 방법이야 있겠지만 앞으로도 위해서 프론트엔드 부분과 백엔드 부분을 동시에 뛰우는 것이 여러모로 필요하였다. 구글링과 챗티피티..

Sort Merge Join, Nested Loop Join, b-tree, b+tree

조인 방식이 여러개 있짢아 그것들 알려줘 sort merge 방식의 조인 과 nested loop 방식 join inner join과 outer join은 테이블 간의 join인 거잖아? sort Merge 조인과 nested loop 조인도 join인데 이런 것들은 어떤 조인이야?? 네, 맞습니다. 'Inner Join'과 'Outer Join'은 테이블 간에 수행되는 조인의 종류로서, 데이터베이스에서 두 테이블의 데이터를 결합하는 방법을 정의합니다. 반면, 'Sort Merge 조인'과 'Nested Loop 조인'은 데이터를 조인하는 방식, 즉 실제로 조인 연산을 수행하는 내부 메커니즘을 설명합니다. 이들은 조인의 구현 방식이며, 'Inner Join', 'Outer Join' 등과 같은 조인의 논..

[SQLD] 2024.03.06

@Enumerated, @Temporal 어노테이션

어노테이션 @Enumerated 어노테이션에 대해 설명 해줘 @Enumerated 어노테이션은 Java Persistence API(JPA)에서 열거형(enum) 타입을 데이터베이스에 저장할 때 사용하는 어노테이션입니다. 이 어노테이션을 사용하면, 열거형의 값을 어떻게 데이터베이스에 저장할지를 지정할 수 있습니다. @Enumerated는 주로 엔티티(entity) 클래스의 필드에 적용됩니다. @Enumerated 어노테이션에는 EnumType.ORDINAL과 EnumType.STRING 두 가지 방식이 있습니다: EnumType.ORDINAL: 이 방식을 사용하면, 열거형의 순서(ordinal) 값이 데이터베이스에 저장됩니다. 예를 들어, 열거형에 FIRST, SECOND, THIRD가 순서대로 정의되어..

[JPA] 2024.03.04

문제 풀이_1

SQLD 정보시스템 모델링 세 가지 관점 1. 데이터 관점: 데이터 관점은 정보 시스템에서 사용되는 데이터를 정의합니다. 데이터 관점은 다음과 같은 요소를 포함합니다. 엔터티: 정보 시스템에서 구별되는 개체입니다. 속성: 엔터티를 설명하는 데이터입니다. 관계: 엔터티 간의 연결입니다. 데이터 관점은 일반적으로 **엔터티 관계 모델(ERM)**을 사용하여 표현됩니다. 2. 프로세스 관점: 프로세스 관점은 정보 시스템에서 수행되는 작업을 정의합니다. 프로세스 관점은 다음과 같은 요소를 포함합니다. 활동: 정보 시스템에서 수행되는 작업입니다. 데이터 흐름: 활동 간에 전달되는 데이터입니다. 제어 흐름: 활동이 수행되는 순서입니다. 프로세스 관점은 일반적으로 **데이터 흐름 다이어그램(DFD)**을 사용하여 표..

[SQLD] 2024.03.02

(스터디) 파이브 라인스 오브 코드 - 5장 유사한 코드 융합하기

5장 유사한 코드 융합하기 이번 장에서 다룰 내용 유사 클래스 통합하기 조건부 산술로 구조 노출하기 간단한 UML 클래스 다이어그램 이해하기 전략 패턴의 도입(p5.4.2)으로 유사 코드 통합하기 구현체가 하나뿐인 인터페이스를 만들지 말 것(R5.4.3)으로 어지러움 정리하기 5.1 유사한 클래스 통합하기 리팩터링에서 "유사한 클래스 통합하기"란 비슷한 기능을 하는 여러 클래스들을 하나의 클래스로 합치는 작업을 말합니다. 이러한 리팩터링의 목적은 코드 중복을 줄이고 유지보수를 용이하게 하기 위함입니다. 유사한 클래스들이 서로 비슷한 메서드나 필드를 가지고 있다면, 이들을 통합하여 하나의 클래스로 만드는 것이 좋습니다. 이 과정은 다음과 같은 단계로 진행됩니다: 공통 요소 식별: 먼저, 유사한 클래스들 사..

카테고리 없음 2023.11.14

Mutex vs Monitor vs Semaphore

Mutex vs Monitor vs Semaphore 뮤텍스(Mutex) 뮤텍스(Mutex)는 "Mutual Exclusion"(상호 배제)의 줄임말로, 다중 스레드 프로그래밍에서 한 번에 하나의 스레드만 특정 자원을 사용할 수 있도록 보장하는 메커니즘입니다. 컴퓨터에서 여러 스레드가 동시에 실행되는 환경에서는, 이러한 스레드들이 같은 자원에 접근하려 할 때 데이터의 무결성을 유지하기 위해 동기화가 필요합니다. 뮤텍스는 이러한 동기화를 위한 기본적인 도구 중 하나입니다. 뮤텍스의 작동 원리는 다음과 같습니다: 잠금(Lock): 어떤 스레드가 특정 자원을 사용하기 전에 뮤텍스를 "잠금"하여 다른 스레드가 해당 자원에 접근하지 못하게 합니다. 자원 사용: 잠금을 얻은 스레드는 필요한 작업을 수행합니다. 잠금..

HTTPS 암호화 작동원리-2

HTTPS 암호화 작동원리 HTTPS는 웹 통신을 보호하기 위해 사용되는 프로토콜로, HTTP에 Secure Socket Layer(SSL) 또는 Transport Layer Security(TLS) 암호화 프로토콜을 추가한 것입니다. 간단하게 설명드리면, HTTPS는 데이터를 안전하게 주고받을 수 있게 하는 방식입니다. 여기서 '안전하게'라는 것은 데이터가 제3자에게 읽히거나 수정되는 것을 막는 것을 말합니다. 작동 원리를 쉽게 설명하자면 다음과 같습니다: 암호화: 데이터를 암호화하여, 타인이 데이터를 가로채더라도 그 내용을 이해할 수 없도록 만듭니다. 인증: 클라이언트가 서버에 접속할 때, 해당 서버가 신뢰할 수 있는 서버임을 증명하는 과정입니다. 이를 위해 서버는 SSL/TLS 인증서를 제공합니다...

TCP와 HTTP의 차이, OSI 7계층

TCP와 HTTP의 차이, OSI 7계층 TCP와 HTTP의 차이 TCP(Transmission Control Protocol)와 HTTP(Hypertext Transfer Protocol)는 네트워킹에서 사용되는 프로토콜이지만, 다른 계층에서 작동하며 각기 다른 역할을 수행합니다. TCP (전송 제어 프로토콜) TCP는 인터넷 프로토콜 슈트의 전송 계층에 위치하며, 데이터가 네트워크를 통해 정확하고 신뢰성 있게 전송되도록 보장하는 역할을 합니다. 연결 지향적인 프로토콜로, 데이터 전송을 시작하기 전에 '핸드셰이크'를 통해 두 장치 간에 안정적인 연결을 설정합니다. 데이터가 패킷으로 분할되어 전송되며, 도착 순서가 바뀌었을 때 순서를 재정렬하고, 분실된 패킷은 재전송을 요청합니다. HTTP (하이퍼텍스트..

Public IP vs Private IP

Public IP vs Private IP 공인 IP(Public IP)와 사설 IP(Private IP)는 IP 주소를 지정하는 방식에 따라 구분됩니다. 각각의 주요 차이점에 대해 쉽게 설명드리겠습니다. 공인 IP (Public IP): 공인 IP 주소는 인터넷 상에서 유일하게 식별 가능한 주소입니다. 전 세계 어디에서나 인터넷을 통해 해당 IP 주소로 접근이 가능합니다. 인터넷 서비스 제공업체(ISP)에 의해 할당되며, 외부 네트워크와의 통신에 사용됩니다. 웹사이트 호스팅, 원격 접속, VPN 등 외부와의 직접적인 네트워크 통신을 필요로 하는 서비스에서 주로 사용됩니다. 사설 IP (Private IP): 사설 IP 주소는 내부 네트워크(예: 가정, 사무실) 내에서만 사용되고, 인터넷 상에서는 식별할..

프로세스와 스레드의 차이

프로세스와 스레드 프로세스와 스레드는 컴퓨터에서 프로그램을 실행하는 방식과 관련된 개념입니다. 둘의 차이를 이해하기 위해 각각에 대해 설명드리겠습니다. 프로세스(Process): 프로세스는 실행 중인 프로그램의 인스턴스입니다. 각 프로세스에는 독립된 메모리 공간이 할당됩니다. 이를 프로세스의 가상 주소 공간이라고 합니다. 프로세스는 운영 체제에 의해 관리되며, 운영 체제는 프로세스 간의 메모리, CPU 시간, 입/출력 자원 등을 할당합니다. 프로세스는 서로 독립적이며, 한 프로세스의 메모리에 다른 프로세스가 직접 접근할 수 없습니다. 멀티태스킹 환경에서 여러 프로세스가 동시에 실행될 수 있습니다. 스레드(Thread): 스레드는 프로세스 내에서 실제로 작업을 수행하는 단위입니다. 하나의 프로세스는 하나 ..