IT 179

[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

[코딩인터뷰] 자료구조 - 배열과 문자열 해법

코딩인터뷰 자료구조 - 배열과 문자열 해법 1. 문자열이 주어졌을 때, 같은 문자열에 같은 문자가 중복되어 등장하는 지 확인하는 알고리즘 💡 아스키코드 문자열인지 유니코드 문자열인지 확인: 유니코드 문자열인 경우 저장 공간이 늘어날 수 있음 해법1) 아스키코드 문자열일 경우, 길이가 256개라고 가정한 후 문자열 순회 boolean[] char_set = new boolean[128]; ... if(char_set[val]) return false; ... - 이미 char_set[val]가 true이면 문자열이 있다고 가정 - 시간복잡도: O(n), 공간복잡도: O(1) 해법2) 비트 벡터 - 필요 공간은 1/8로 줄일 수 있음 해법3) 문자열 내 각 문자를 다른 모든 문자와 비교 - 시간복잡도: O(..

IT/책 2022.01.30

[Vue.js] 최신 Typescript를 사용할 경우, 발생하는 에러

Property '변수명' has no initializer and is not definitely assigned in the constructor. Vue.js를 인프런 강의를 보면서 따라한 후, 실행하면서 아래 코드에서 위 에러가 발생했다. 해결 방법 https://stackoverflow.com/questions/49699067/property-has-no-initializer-and-is-not-definitely-assigned-in-the-construc Property '...' has no initializer and is not definitely assigned in the constructor in my Angular app i have a component: import { Mak..