전체 글

전체 글

    [JAVA] baekjoon 2447 별 찍기-10

    [JAVA] baekjoon 2447 별 찍기-10

    문제 https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 이 문제는 재귀로 생각하는 것도 어려웠지만 공백과 별 찍는 것을 어떻게 채워나가야할지 규칙을 찾는 것이 힘들었다. 이해한 것을 기반으로 글을 작성해보려한다. 나의 풀이 입력으로 받는 N은 3의 거듭제곱(3, 9, 27, 81..)인데, 재귀적으로 패턴이 존재한다고 한다. 바로 아래와 같이 가운데 공간이 비어있는 패턴이다. *** * * *** 키워서 9X9인 크기로..

    [JAVA] baekjoon 1891 사분면

    문제 https://www.acmicpc.net/problem/1891 1891번: 사분면 첫 줄에 이동시키려는 사분면 조각 번호의 자릿수를 나타내는 정수 d와, 그 사분면 조각의 번호가 주어진다. (1 ≤ d ≤ 50) 둘째 줄에는 이동의 내용을 나타내는 두 정수가 x, y가 주어진다. (|x|, |y| www.acmicpc.net 나의 풀이 1. 주어진 사분면 정보를 기반으로 위치 (row, column) 찾는다. 2. 찾은 위치를 이동시키고 범위를 확인한다. - 범위가 벗어나면 -1을 출력하고 종료한다. 3. 이동한 위치의 사분면을 찾는다. 코드 뜯어보기 초기화 및 입력을 받는 코드입니다. 저는 변수 d를 이용해서 한 변의 길이를 의미하는 size 변수를 미리 할당해놓았습니다. d는 최대 50까지 ..

    [ORM] 상속 관계 매핑

    객체 지향 언어에서는 '상속' 관계가 존재합니다. 그러나 관계형 데이터베이스에는 상속이라는 개념이 없는데요, 그래도 가장 유사한 관계가 '슈퍼타입 서브타입 관계'라는 모델링 기법입니다. 그리고 이 '슈퍼타입 서브 타입 관계'라는 논리적 모델을 실제 물리 모델(테이블)로 구현할 때는 3가지 방법이 있습니다. 1. 각각의 테이블로 변환시키고 조인하는 방법 JPA에서는 '조인 전략' (Joined)이라고 부릅니다. 구체적으로 엔티티 각각을 테이블로 모두 만들고 부모 테이블의 기본키를 받아서 이를 기본키이자 외래키로 사용합니다. 그래서 조회할 때 조인을 자주 사용합니다. 주의할 점은 객체는 타입으로 하위 객체들을 구분할 수 있지만 테이블은 타입의 개념이 없으므로 따로 구분하는 컬럼을 부모 테이블에 추가해야합니다..

    [ORM] 연관관계의 주인을 정해야하는 이유

    추후 업데이트될 수 있는 포스팅입니다. Spring Boot에서 간단한 도메인을 만들다가 작성하는 포스팅입니다. 현재 데이터베이스로 관계형 데이터베이스를 쓰기 때문에 이를 객체와 매핑시키기 위해 JAVA 진영의 ORM 기술 표준인 JPA를 사용합니다. 객체가 연관관계를 다루는 방법과 테이블이 연관관계를 다루는 방법에는 차이가 있습니다. 객체는 객체의 주소를 참조해서 연관관계를 맺습니다. 그래서 도메인 A에서 도메인 B의 객체 주소를 참조하면, 도메인 A를 조회 시 B를 함께 조회할 수 있지만, B에서는 A의 존재를 모릅니다. 이는 다시 말해 단방향의 연관관계를 맺는 것이라 말할 수 있습니다. 각 필드를 참조하고 JPA가 연관관계를 맺은 것을 알 수 있도록 애너테이션을 붙여야합니다. 일대다 관계의 경우, ..

    [Network] TCP/UDP

    [Network] TCP/UDP

    이번 포스팅에서는 전송계층에서 사용하는 TCP와 UDP에 대해서 알아볼 것입니다. 목차는 다음과 같고 중간중간 '더보기'를 통해 필요한 개념 정리를 했습니다. 전송계층이 무엇이고 존재하지 않으면 어떤 문제가 있는지 알아봅니다. TCP와 TCP 서버의 특징, TCP 헤더의 구조 UDP와 UDP 서버의 특징, UDP 헤더의 구조 전송 계층(TransportLayer)은 무엇이고 왜 존재할까요? 전송 계층은 End Point 간 신뢰성있는 데이터 전송을 담당하는 계층입니다. 전송 계층을 이용함으로써, 포트 번호에 해당하는 프로세스에 데이터를 전달(전송)하는데 데이터를 순차적이고 안정적으로 전달(신뢰성)할 수 있습니다. 1. 데이터를 순차적으로 전송하는 것을 원활히 해줍니다. 만약 순차 전송이 원활히 되지 않으..

    CS정리 [네트워크]

    CS정리 [네트워크]

    Protocol 원거리의 서로 다른 기기 간의 데이터 교환을 원활히 하기 위해 표준화 시켜놓은 통신 규약입니다. 보통 TCP/IP 를 많이 사용하며, 대표적으로 IEEE, ISO 기관에서 프로토콜을 정의합니다. 통신을 제어하기 위해 표준 규칙과 절차의 집합으로, H/W, S/W, 문서를 모두 규정합니다. 기본 요소 구문(Syntax) : 전송하고자 하는 데이터 형식, 부호화, 신호 레벨 규정 의미(Semantics) : 두 기기 간 효율적이고 정확한 정보 전송을 위한 협조 사항, 오류 관리를 위한 제어 정보 규정 시간(Timing) : 두 기기 간 통신 속도, 메시지 순서 제어 규정 더보기 프로토콜 기능 단편화와 재결합 : 단편화 : 전송에 알맞은 크기로 데이터를 자르는 작업 재결합 : 수신 측에서 단편..