본문 바로가기

분류 전체보기

(191)
프로그래머스_올바른 괄호(JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 스택을 이용하여 문제를 풀었습니다. 괄호로 구성 된 문자열이 주어졌을 때, 괄호가 올바르게 되어있는지를 찾는 문제입니다. 구현한 방식은 아래와 같습니다. 문자열을 순회 하면서 문자열 원소가 '(' 경우 스택에 넣어준다. 문자열 원소가 ')' 인 경우 스택이 비어있거나 스택의 최상단이 ')' 경우 false를 반환한다. 문자열 순회가 끝난 후 스택이 비어있지 않으면 false를 반환하..
프로그래머스_전력망을 둘로 나누기(JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] BFS을 이용하여 문제를 풀었습니다. 트리가 주어졌을 때 간선을 하나 끊어서 양쪽 노드의 갯수의 차이가 최소인 것을 구하는 문제입니다. 아이디어는 다음과 같습니다. 주어진 트리를 기록할 이차원 배열을 선언하여 기록하여 줍니다. 그 후 간선을 하나씩 뽑으면서 이차원 배열에 기록된 간선을 지워주고 한쪽 노드의 갯수를 구하여 차이를 구합니다. 구현한 방식은 아래와 같습니다. MAP[노드의..
[스프링] Maven build error(Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved) 메이븐을 build 하는 과정에서 아래와 같은 에러가 날 때가 있습니다. [INFO] [INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1 [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building test 3.5.0 [INFO] ------------------------------------------------------------------------ [INFO] Downloading: https..
스프링 컨테이너와 스프링 빈 1.스프링 컨테이너 생성 ApplicationContext 를 스프링 컨테이너라 한다. ApplicationContext 는 인터페이스이다. 스프링 컨테이너는 XML을 기반으로 만들 수 있고, 애노테이션 기반의 자바 설정 클래스로 만들 수 있다. 직전에 AppConfig 를 사용했던 방식이 애노테이션 기반의 자바 설정 클래스로 스프링 컨테이너를 만든 것이다. 자바 설정 클래스를 기반으로 스프링 컨테이너( ApplicationContext )를 만들어보자. new AnnotationConfigApplicationContext(AppConfig.class); 이 클래스는 ApplicationContext 인터페이스의 구현체이다 참고: 더 정확히는 스프링 컨테이너를 부를 때 BeanFactory , Appli..
SVN Connector 에러(SVN: '0x0400006': Validate Repository Location) SVN 플러그인(SVN Team Provider) 설치 후 SVN 레파지토리를 추가할 때 SVN Connector 에러발생 해결방법 Window > Preferences > Version Control(Team) > SVN > SVN Connector 탭에 커넥터 추가 SVN Connector 탭화면 > Get Connectors 버튼 클릭 > SVN Connector 를 설치 SVN Connector 설정을 다시 확인해 보면 정상적으로 SVN Connector 가 설치되어 있는 것을 확인할 수 있다.
스프링 핵심 원리 - 스프링 핵심 원리 이해 IoC, DI, 그리고 컨테이너 제어의 역전 보통 개발자가 직접 원하는대로 객체를 생성하고 호출하는 등 개발자가 다 제어를 하는데 프레임워크가 대신 호출해주는 것을 제어의 역전이라 한다. 기존 프로그램은 클라이언트 구현 객체가 스스로 필요한 서버 구현 객체를 생성하고, 연결하고, 실행했다. 한마디로 구현 객체가 프로그램의 제어 흐름을 스스로 조종했다. 개발자 입장에서는 자연스러운 흐름이다. 반면에 AppConfig가 등장한 이후에 구현 객체는 자신의 로직을 실행하는 역할만 담당한다. 프로그램의 제어 흐름은 이제 AppConfig가 가져간다. 예를 들어서 OrderServiceImpl 은 필요한 인터페이스들을 호출하지만 어떤 구현 객체들이 실행될지 모른다. 프로그램에 대한 제어 흐름에 대한 권한은 모두 A..
스프링 핵심 원리 - 객체 지향 설계와 스프링 스프링의 핵심원리를 확실히 이해하려면 단순히 기능만 사용하는 것이 아니라 객체지향의 원리와 스프링이 그 원리를 어떻게 지원하는지 객체지향과 스프링을 함께 풀어가면서 이해해야 된다. 스프링의 핵심 가치는 객체 지향 프로그래밍이 있다. 1.이야기 - 자바 진영의 추운 겨울과 스프링의 탄생 EJB(Enterprise Java Bean) - 자바당 정파 기술 당시 기술 영업은 EJB로 했다. 진짜 어렵고 복잡하고 느렸다. 스프링 EJB 컨테이너 대체 단숨함의 승리 현재 사실상 표준 기술 하이버네이트 EJB 엔티티빈 기술을 대체 JPA(Java Persistence API) 새로운 표준 정의 EJB 엔티티빈 -> 하이버네이트 -> JPA(표준 인터페이스) 스프링의 역사 2002년 로드 조슨 책 출간에 의해 시작 ..
[스프링부트]No identifier specified for entity Caused by: org.hibernate.AnnotationException: No identifier specified for entity: hello.hellospring.domain.Member import org.springframework.data.annotation.Id; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; @Entity public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; 오류를 잘 읽어 보면 Annotat..