My footsteps

스프링 데이터 JPA 생성자가 하나이면 오토와이어드 어노테이션 생략 가능 public interface SpringDataJpaMemberRepository extends JpaRepository, MemberRepository { //이렇게하면 스프링데이터jpa가 구현체를 만들어서 빈에 자동으로 등록해준다 @Override Optional findByName(String name); } @Configuration public class SpringConfig { private final MemberRepository memberRepository; @Autowired public SpringConfig(MemberRepository memberRepository){ this.memberRepositor..

가치 있는 삶 잘 풀리지 않는 업무, 엉키어만 가는 관계, 상처를 주는 연인. 우리는 고통만 없으면 행복할 거라고 생각한다. 하지만 마리 루티는 고통이야말로 우리 삶을 가치 있게 만든다고 말한다. 과거에 나를 힘들게 했던 것이 타인과 원활하게 관계 맺는 능력의 토대를 만들고, 자신을 더 잘 이해하는 발판이 될 수 있다고. 그래서 저자는 현재에만 충실하라며 성공을 강조하는 자기 계발서의 지침을 비판한다. 대신 한나 아렌트, 자크 라캉, 프리드리히 니체 등 가치 있는 삶을 사는 데 도움을 주는 철학자들의 이론을 쉽게 풀어 자신만의 방법을 건넨다. 저자 마리 루티 출판 을유문화사 출판일 2022.09.25 불안이 항상 우리의 적이기만 한 것은 아니다. 불안은 종종 우리가 바란다는 사실조차 잊어버린 바람을 바란..

@Transactional : 테스트 케이스에 이어노테이션이 있으면 테스트 완료후에 항상 롤백을해서 DB에 데이터가 남지 않으므로 다음테스트에 영향을 주지않음 단위테스트 : 자바코드만 실행해보는거 통합테스트 : 스프링 컨테이너랑 디비까지연동해서 테스트해보는거 * 순수한 단위테스트가 훨씬 더 좋은거다 jdbcTemplate // jdbc템플릿 사용방법(레퍼지토리에 임플리먼츠 받고) private final JdbcTemplate jdbcTemplate; @Autowired public JdbcTemplateMemberRepository(DataSource dataSource){ jdbcTemplate = new JdbcTemplate(dataSource); } 테스트케이스 잘작성하는게 굉장히 중요하다.. ..

- Optional을 쓰면 null일때도 감싸서 반환할수있기때문에 if조건문에서 null일때~ 이런조건문을 쓰지않아도 되서 훨씬 코드가 간결해진다 public class MemberService { //final:한번값을 설정하면 바꿀수없음.회원가입이라서 파이널로 했나봄 private final MemberRepository memberRepository = new MemoryMemberRepository(); public Long join(Member member){ Optional result = memberRepository.findByName(member.getName()); result.ifPresent(m ->{ throw new IllegalStateException("이미 존재하는 회원 이..

https://youtu.be/frI5CoZe-vE?si=8ZOQlfs8JYQin9u5 인텔리제이 자바 프로젝트 생성 (mysql 비번 12345) MySQL 워크벤치 설치 https://velog.io/@jongjin_kim/MySQL-Workbench-%EC%82%AC%EC%9A%A9-%EB%B0%A9%EB%B2%951 MySQL Workbench DB 서버 연결 설치 완료 후 데이터 베이스 서버와 연결하는 방법과 연결하는 작업 중 발생할 수 있는 문제들을 파악하고 해결책을 제안한다. velog.io 기존에 수업들으면서 이미 워크벤치는 깔려있어서(아니 근데 왜 mysql은 없었찌..?몰까..환경변수도 새로 추가함..) 새로 만든 내 개인 db랑 워크벤치랑 연결하려는데 어케 하는지 아리까리해서..서치해..