일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 재귀
- git
- 트리
- 매개변수 탐색
- 해시맵
- 알고리즘
- 백트래킹
- Recursion
- 자바
- 집합
- MySQL
- 멘딕스
- 완전탐색
- Mendix
- algorithm
- dfs
- microflow
- 그래프
- 이분탐색
- 프로그래머스
- 반효경교수님
- 가중치없는그래프
- 정렬
- 스택
- Sort
- lcap
- Bruteforce
- SQL
- 자료구조
- domain model
- Today
- Total
목록전체 글 (144)
mondegreen
머지 리퀘스트 날리니 뜬 충돌 화면.. 제안하는 해결 방안은 git fetch하고 어쩌고..하는데 우리 조 천재는 다른 방식으로 해결했다.. [문제 상황] 원격 저장소에 A라는 부모 브랜치가 있고 그 아래 B와 C라는 자식 브랜치가 있다. B에는 백엔드 프로젝트가, C에는 프론트 프로젝트가 존재한다. A의 브랜치에 C 브랜치가 머지 리퀘스트를 진행하고 정상적으로 머지되었다. 하지만 B 브랜치가 A 브랜치에 머지하면서 충돌이 발생하고 C 브랜치가 머지해놓은 프론트 프로젝트가 전부 삭제 되었다. [해결 방안] 로컬에서 해당 저장소를 복제하고 A 브랜치로 이동한다. 그리고 로컬과 동일하게 B 브랜치를 pull로 당겨온다 -> 즉, 원격 저장소와 동일한 상황을 로컬에서 만들어주는 방법이다. 이렇게 하면 마찬가지..
JWTUtils.java package com.kkosunnae.deryeogage.global.util; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import io.jsonwebtoken.*; import io.jsonwebtoken.security.Keys; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import javax.crypto.SecretKey; import java.io.UnsupportedEncod..
1. @Entity 2. @Getter (@Setter는 사용하지 않는 것을 권고) 3. 엔티티간 관계 설정 @ManytoOne => 연관관계의 주인이 되며 DB에서 FK, @JoinColumn(name="외래키 컬럼")와 함께 쓰임 이쪽에 데이터 변경이 이루어져야 다른 쪽에도 변경이 적용됨. @OnetoMany => 연관관계의 주인이 되지 못함, (mappedBy="many에 있는 주인인 인스턴스") @OnetoOne => 주인이되되는 엔티티는 access가 빈번한 곳으로 위와 같은 규칙으로 작성 4. 상속 관계인 경우 Inheritance(strategy=InheritanceType.구현방식) 구현방식1: 단일 테이블 = Discrmination Column과 Discrimination Value 적..
Your local changes to the following files would be overwritten by merge 오류는 로컬 저장소에서 변경사항이 있고, 그 변경사항이 아직 커밋되지 않았을 때 발생합니다. 즉, 현재 작업중인 내용이 아직 커밋되지 않았는데 git pull origin back을 실행하면, 원격 저장소의 변경사항을 가져와서 병합하려 할 때, 로컬에서 변경한 내용과 충돌이 날 수 있어서 이런 오류가 발생합니다. 이런 경우에는 다음 두 가지 방법 중 하나를 선택할 수 있습니다: 로컬 변경사항 커밋: 로컬에서 변경한 내용을 커밋한 후에 git pull을 수행하면 됩니다. 이렇게 하면 로컬 변경사항과 원격 저장소의 변경사항이 모두 보존됩니다. git add . git commit ..
[MySQL Command Line Client에서 작성한 코드] mysql> use mysql Database changed mysql> create USER 'root'@'%' identified by 'root'; Query OK, 0 rows affected (0.02 sec) mysql> create user '사용자명'@'%' identified by '비밀번호'; Query OK, 0 rows affected (0.00 sec) mysql> grant all privileges on *.* to 'root'@'%' with grant option; Query OK, 0 rows affected (0.02 sec) mysql> create database 데이터베이스명; Query OK, 1 ..
김영한님 강의를 들으면서 한번도 마주한 적 없던 이 화면... 아마 스프링 시큐리티를 의존성 주입하여 프로젝트를 생성해서 이렇게 뜨는 것 같다. 아이디는 'user' 이고 비밀번호는 프로젝트를 실행할 때 콘솔 창에 뜨는 값을 입력하면 된다. 이러한 로그인 화면이 뜨지 않게 하려면 아래와 같이 어노테이션에 작성해주면 된다. @SpringBootApplication(exclude = {SecurityAutoConfiguration.class})
application.properties 파일에 아래와 같이 작성하여 의존성을 주입할 수 있다. 1) implementation 'com.mysql:mysql-connector-j' 2) runtimeOnly 'com.mysql:mysql-connector-j' 두 방식 모두 의존성 주입이 가능한데 다음과 같은 차이점이 있다. Gradle에는 다양한 종류의 의존성 스코프가 있습니다. implementation과 runtimeOnly은 그 중 일부입니다. implementation: 이 의존성 스코프는 프로젝트에 의존성을 추가하고자 할 때 가장 일반적으로 사용됩니다. 이는 주로 컴파일 시점과 런타임 시점 모두에 필요한 의존성을 추가할 때 사용됩니다. 이 스코프에 추가된 의존성은 프로젝트의 API와 구현 모..
[처음 깃 저장소에 프로젝트를 담을 때] 재료: 1. 스프링 프로젝트 2. 브랜치가 생성된 깃 저장소 프로젝트 폴더(깃 저장소가 되는 폴더) 깊이 0 Back --- Front (한 뎁스 아래 존재하는 폴더) 깊이 1 Back 안에 git Ignore를 포함한 개발 파일 모두 존재(스프링 프로젝트 파일들) 깊이 2 깊이 0 폴더에서 터미널/git bash 열고 git init : 비어 있는 깃 저장소 생성 git remote add origin [깃 저장소 주소] : 깃 원격 저장소(master) 연결 git pull: 현재 레포에 존재하는 정보 당기기 git switch 브랜치명: 원하는 브랜치로 전환 [이미 프로젝트가 담긴 깃 저장소 클론할 때] git clone [깃 저장소 주소] : 깃 원격 저장..
1. H2 데이터 베이스 사용(버전: 1.4.200) - Generic H2(Server) 모드: 실제 데이터베이스처럼 별도로 띄우는 방식 - 실행이 잘 되지 않는 경우 URL을 127.0.0.1:8082 또는 localhost:8082로도 접속 가능 2. Maven 프로젝트로 생성하며 Maven Repository의 라이브러리 활용 3. POM.xml에 라이브러리 추가 - HIBERNATE-ENTITYMANAGER: 스프링 부트 버전과 호환 잘되는 버전을 찾아서 의존성 주입(레퍼런스 독스 -> 디펜던시) - H2 데이터 베이스는 로컬에 다운로드 받아 사용하는 버전으로 의존성 주입 4. JPA 사용하기 위해 설정: Persistence.xml - 위치: resources\META-INF 경로에 작성 - ..
[강의 목표] 1. 객체와 테이블 설계 매핑 1)객체와 테이블을 제대로 설계하고 매핑하는 방법 2) 기본 키와 외래 키 매핑 3) 1:N, N:1, 1:1, N:M 매핑 4) 실무 노하우 + 성능까지 고려 5) 복잡한 시스템도 JPA로 설계할 수 있도록 2. JPA 내부 동작 방식 이해 1) JPA 내부 동작 방식 (그림 + 코드) 2) 어떠한 SQL을 만들어내고 어느 단계에서 실행하는지에 대한 이해 객체 지향 프로그래밍과 관계형 데이터베이스의 패러다임에 차이가 있기 때문에 개발자에게 어려움이 있음 객체 지향 프로그래밍은 추상화, 캡슐화, 정보은닉, 상속, 다형성 등 시스템의 복잡성을 제어할 수 있는 다양한 장치들을 제공한다. 그리고 객체를 RDB나 NoSQL, File 등 다양한 저장소에 영구 보관할 ..