분류 전체보기 248

[데이터설계] 2장, 데이터 모델과 질의 언어

1. 데이터 중심 애플리케이션 설계가 책의 전체 이름이지만 너무 길어서 데이터 설계로 줄인다. 2. 1장은 기능적 요구사항, 비기능적 요구사항, 신뢰성, 확장성, 유지보수성에 대해서 다룬다. 다른 곳에서 많이 다뤘던 이야기이므로 PASS 데이터 중심 애플리케이션 설계 - 2장, 데이터 모델과 질의 언어 관계형 모델 - 데이터(테이블): 관계와 튜플로 구성 - 비즈니스 데이터 처리 시 유용 ex) 트랜잭션 처리, 일괄 처리 NoSQL: Not Only SQL - 다중 저장 지속성: 폭넓은 다양성 객체 관계형 불일치 임피던스 불일치(impedance mismatch): 관계형 테이블 저장 시, 애플리케이션 코드와 데이터 베이스 모델 객체 사이 전환 계층 - 객체 관계형 매핑(ORM) 프레임워크를 사용 일대다..

IT/책 2022.08.13

[Error] Mapper.class를 찾지 못하는 현상

Error Message class path resource [com/mbti/user/user/entity/UserEmailMapper.class] cannot be opened because it does not exist 상황 데이터 모델링 변경으로 인해 UserEmail을 UserOauth2로 변경했다. 따라서, 기존에 있던 UserEmailMapper가 UserOauth2Mapper로 변경되었지만 시스템에 UserEmailMapper가 남아있어서 찾지 못한다는 에러가 나타났다. 해결 비단 mapper.class 뿐만 아니라, gradle에 추가한 의존성 있는 외부 라이브러리들은 이렇게 이름이 바뀌면 종종 찾지 못하는 경우가 있다. 1. clean build gradle의 경우 clean을 한 번..

[BOJ] 나이순 정렬 10814.java

준비 겸, JAVA Stream에 익숙해지기 위해. 문제 https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 나이 - 이름으로 입력 받았을 때, 나이 순으로 정렬하고, 같은 경우 입력 순서대로 정렬한다. 해설 및 코드 public class 나이순정렬 { public static class User{ int age; String name; User(int a, String n){ this.age = a; this.name = n; } public int..

IT/알고리즘 2022.05.25

[DB] 데이터 모델링의 이해 - 물리 모델링 절차

물리 데이터 모델링 데이터 설계란 - 데이터 분석에서 작성한 논리 모델을 구축 시 사용하는 환경에 맞게 물리 모델로 전환하는 것 - 물리 ERD의 통합/검토/보완을 통해 코드를 식별하고 정의하는 것 물리 데이터 모델링 논리 데이터 모델을 테이블 생성이 가능한 물리 데이터 모델로 전환하는 것 목적 1. 논리 데이터 모델을 그대로 전환하면 성능 보장이 불가능하므로, 성능 향상을 고려한 물리 데이터 모델링이 필요 2. 반정규화, 이력테이블, 채번 테이블, 코드 테이블 등을 적용하여 실제 테이블 생성 절차 1. 관계형 테이블 전환 - 엔터티 테이블 전환 2. 통합/분리 결정 - 슈퍼타입-서브타입 모델 전환 3. 이력/코드/채번 테이블 도출 4. 반정규화 5. 물리명 전환 관계형 테이블 전환 Entity Tabl..

IT/CS 2022.04.24

[프로그래머스] 종이접기 - Cos Pro 1급

문제 https://programmers.co.kr/learn/courses/11132/lessons/71152 COS Pro 1급 Java 모의고사 - 종이접기 [[1, 4, 16, 1], [20, 5, 15, 8], [6, 13, 36, 14], [20, 7, 19, 15]] 55 programmers.co.kr 1. 4 x 4 크기인 정사각형 종이가 1 x 1 크기인 격자 칸으로 나누어져 있음 2. 이 종이를 가로축 혹은 세로축에 평행한 격자 선을 따라 한 번 접었을 때, 만나는 격자 칸에 적힌 숫자의 합이 최대일 때 3. 종이를 접을 때는 만나는 격자 칸이 정확히 일치 예를 들어 다음과 같이 4 x 4 크기인 종이가 있을 때, - 종이는 점선 중 하나를 따라서 접을 수 있음 - 붉은색 점선을 따라..

IT/알고리즘 2022.04.20

[DB] 데이터 모델링의 이해 - 논리 모델링 절차

데이터 분석이란 - 고객 비즈니스를 이해하여 논리 ERD를 도출하고 시스템 성능을 고려하여 물리 ERD로 전환하는 절차 논리 ERD 물리 ERD 용어 일반 용어 DBMS 용어 대상 Entity, Attribute, identifier, Occurrence Table, Column, Primary Key 특징 정규화, 중복 배제, 유연성 반정규화, 중복 허용, 파티셔닝, 집계테이블 - 현행시스템에서 사용한 용어/도메인을 조사하여 엔티티 도출, 속성/식별자/관계를 정의하는 활동 데이터 분석 목적 - 비즈니스 처리에 필요한 정보를 구조화 - 안정적 시스템의 기초 논리 데이터 모델 논리 데이터 구성 요소 1. 주제영역: 주요 토픽에 대한 엔터티 그룹 2. 엔터티: 유용한 정보를 저장하고 관리하는 영속적으로 존재..

IT/CS 2022.04.13

[TypeScript] Typescript 장점과 타입

TypeScript TypeScript 특징 자바스크립트의 확장된 언어, 자바스크립트에 타입을 입힌 언어 컴파일 필요: 브라우저에서 실행할 때 한 번 변환이 필요함 TypeScript의 장점 에러 사전 방지 JavaScript에서 잡을 수 없는 데이터의 모습, 오타 등을 알 수 있음 ex) JS Dock을 이용한 type 정의 /** User 객체 타입 정의 * @typedef {object} User * @property {string} name * @property {string} email */ /** * @returns {Promise } */ function ~ 코드 가이드 및 자동 완성 function add(a : number, b : number): number{ return a + b; ..

IT/개발 2022.04.08

[Mysql] Mac에서 Mysql 실행 간단 명령어

많이 참조한 블로그 https://shanepark.tistory.com/41 mac) MYSQL 설치 및 초기설정하기 설치 Homebrew HOMEBREW 패키지 설치를 이용해 설치하는게 가장 간단하고, 나중에 관리하기도 좋습니다. 사실 요즘엔 데이터베이스를 도커에 올리고 볼륨을 따로 빼놓는게 관리하기 좋다고는 생각이 shanepark.tistory.com 실행 mysql.server start 접속 mysql -u root -p 종료 mysql.server stop

IT/Others 2022.04.06

[SpringBoot] WebSecurityConfigurerAdapter 지원 불가

환경 - SpringBoot 2.7 - Java17 - Spring Security //spring security implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.security.oauth.boot:spring-security-oauth2-autoconfigure:2.6.3' 문제 발생 SpringBoot 2.7+ 버전에서 Spring Security의 WebSecurityConfigurerAdapter를 통해 security config를 override 할 때 오류가 발생하였다. 원인 공식 홈페이지를 보면, spring security 5.7이상에서 더 이상..

PROJECT 2022.04.05