전체 글 474

@Entity

@Entity : 해당 클래스가 엔티티임을 알려준다. JPA에서 해당 클래스의 필드를 이용하여 DB에 테이블을 만들어준다. 참고 블로그 : https://whitepro.tistory.com/265 스프링 부트 : 기본 개념 1) Entity, Repository 개념 개인적인 정리와 기록을 위한 글이다. 혹시라도 참고해주시는 분들께서는 정확하지 않은 내용이 많으니 유의해주시길 바란다. 자바 진영의 백엔드 개발을 아무런 지식없이 시작하게 되었다. 현 whitepro.tistory.com

Thymleaf가 뭔데?

타임리프 공식 사이트 : https://www.thymeleaf.org/ Thymeleaf Integrations galore Eclipse, IntelliJ IDEA, Spring, Play, even the up-and-coming Model-View-Controller API for Java EE 8. Write Thymeleaf in your favourite tools, using your favourite web-development framework. Check out our Ecosystem to see more integrati www.thymeleaf.org thymleaf는 템플릿 엔진 중 하나이다. 템플릿 엔진은 서버의 데이터와 정적자원(html, css)를 조합하여 결과물을 만들어..

[React]DB 데이터를 화면에 불러오기

일단 결과 화면 -! DB에 있는 데이터들이 화면에 잘 보이는 것을 확인 할 수있다. 파일 구성 : 1. server.js에서 길 지정하기 const board = require('./routes/board'); const PORT = 4000; // board 처리는 './routes/board'에서 처리 app.use('/board', board); // server port 4000 할당 // 클라이언트와 다른 번호로 충돌나지 않도록 app.listen(PORT, () => { console.log(`Server run : http://localhost:${PORT}/`) }) app.use를 이용해서 uri에 /board가 있다면 board라고 지정된 const, 즉 /routes/board에서 ..

의존관계 주입 방법에는 뭐가 있을까?

의존관계 주입 방법에는 4가지가 있다. 1. 생성자 주입 2. 수정자 주입 3. 필드 주입 4. 일반 메서드 주입 스프링은 스프링 빈 등록 단계와 의존관계 주입 단계로 나뉘어져있다. 1. 생성자 주입 1) 스프링이 컴포넌트 스캔을 한다. 2) @Component가 붙은 메서드를 스프링 빈에 등록한다. 3) 스프링 빈에 등록하기위해서는 생성자를 호출해야한다. 4) 생성자를 호출하러 갔는데 @Autowired가 붙어있다. 5) 이는 생성자의 파라미터이 있는 것들을 스프링 컨테이너에서 스프링 빈을 갖고와서 주입해준다. 호줄 시점에 딱! 1번만 호출된다는 특정이 있고 불변, 필수 의존관계에서 사용된다. 만일 생성자가 1개만 있으면 @Autowired를 생략해도 된다. 2. 수정자 주입 생성자 대신 (생성자를 없..

[Python/백준]12865번_평범한 배낭(DP, 냅색)

https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 코드 : N,K = map(int,input().split()) items = [] dp = [0 for _ in range(K+1)] for i in range(N): w,v = map(int,input().split()) for j in range(K,w-1,-1): dp[j] = max(dp[j],dp[j-w]+v) print..

안드로이드 스튜디오 & Flutter 설치[트러블 슈팅]java.lang.runtimeexception: could not find installation home path.

어플을 위한 개발 환경 설정 완료-! 원래 있던 안드로이드 스튜디오에서 새로운 버젼의 안드로이드 스튜디오로 업데이트 하였다. 나는 원래있던 안드로이드 스튜디오가 잘 삭제되고 새로운 안드로이드 스튜디오가 잘 설치될거라 생각했다. 그러나 설치를 완료하고 열자마자 안열리는 에러가 발생하였다. java.lang.runtimeexception: could not find installation home path. 환경변수 설정부터 인텔리제이 설치까지 전부 구글링 해보았다. 구글링 해보니 idea.properties를 파일에 만들어보라고 해서 jdk 파일/bin 에 만들어보고 했는데 소용없었다. 그래서 파일에서 Android -> Android Studio를 찾아보았는데 2개가 설치되어있었다. 원래 안드로이드 스튜..

[Python/BOJ] 백준 1027 고층 건물(구현)

기울기를 사용한다는 건 생각도 못했다. 그림으로 그려보았다. 건물의 왼쪽은 건물이 보이기 위해서는 기울기가 작아져야하고 건물의 오른쪽은 건물이 보이기 위해서는 기울기가 커져야한다. 이걸 생각만 할 수 있다면 그렇게 어려운 문제는 아니다ㅎㅎ 코드 : # 원점이 (x1,y1) def slope(x1,y1,x2,y2) : return (y2-y1) / (x2-x1) # 기울기가 작아져야 볼 수 있다. def count_left(idx) : min_scope = int(1e9) cnt= 0 for i in range(idx-1,-1,-1) : s = slope(idx, mp[idx], i, mp[i]) if min_scope > s : min_scope = s cnt+=1 return cnt # 기울기가 커야 ..

싱글톤과 스프링 컨테이너

싱글톤 패턴이 뭐에요? 하나의 클래스에 하나의 인스턴스만 생성되는 것을 보장하는 디자인 패턴 -! 스프링은 주로 웹 어플리케이션을 개발할 때 사용한다. 웹 어플리케이션은 사용자의 요청이 참 많고 동시에 이뤄지는 경우가 많다. 이러한 요청 때마다 객체가 만들어진다면 메모리 낭비가 심하다. 그래서 static으로 객체를 1개를 생성한 후 private으로 생성자를 선언하여 외부에서 new 를 이용해 객체 생성하는 것을 막는다면 싱글톤 패턴을 구현할 수 있다. 이를 이용하면 고객의 요청마다 객체를 생성하는 것이 아니라, 이미 만들어진 객체를 공유해서 효과적으로 사용할 수 있다. 하지만 여러 문제점이 존재한다. 싱글톤을 구현하는 코드가 꽤 필요하고, 구체 클래스에 의존하여 DIP를 위반하고, 테스트가 어려우며 ..