My footsteps

getElementByClassName쓸때는 꼭 인덱스 까지 적어줘야함 [0] [1] 이렇게. 중복 클래스명이 아니여도!!! document.getElementsByClassName('list-group')[0].classList.add('show'); 클래스명 하나 더 추가하는 문법 classList.add('추가할 클래스명') document.getElementsByClassName('list-group')[0].classList.toggle('show'); toggle : 클래스명 있으면 제거, 클래스명 없으면 추가 querySelectorAll도 인덱싱 붙어야함 [i] - $ = 쿼리셀렉터 같은거 - html안에 있는 내용 바꾸고 싶다면 $('.hello').html('메롱'); 이런식으로.. -..

스프링 데이터 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("이미 존재하는 회원 이..