본문 바로가기
반응형

개발자35

[테코톡] JUnit5 사용법 📚 참고자료 [10분 테코톡] 🌊 바다의 JUnit5 => 링크 1️⃣ JUnit이란? 자바 개발자의 93%가 사용하는 단위 테스트 프레임워크 JUnit5는 2017년 10월 공개 스프링 부트 2.2버전 이상부터 기본 제공 Platform : 테스트를 실행해주는 런처 제공. TestEngine API 제공 Jupiter : JUnit 5를 지원하는 TestEngine API 구현체 Vintage : Junit 4와 3을 지원하는 TestEngine 구현체 셋 다 JUnit5 세부 모듈이다 2️⃣ JUnit5 시작하기 스프링 부트 프로젝트 => 스프링 부트 2.2버전 이상부터는 기본적으로 JUnit5 의존성이 추가된다. 스프링 부트 프로젝트가 아닐 경우 => 다음과 같이 의존성을 추가해주면 된다. org... 2022. 4. 3.
[테코톡] 트랜잭션(Transaction) 📚 참고자료 [10분 테코톡] 샐리의 트랜잭션 => 링크 0️⃣ 트랜잭션 개념 공부를 하게 된 계기 스프링을 사용하면서 @Transactional 이라는 어노테이션을 적용해본 적이 있습니다. 메서드 위에 해당 어노테이션을 적용하면 메서드 안에 있는 쿼리들이 하나의 단위로 묶인다는 대략적인 용도만 고 있습니다. 그래서 @Transactional 어노테이션의 정확한 개념을 모르고 사용했기 때문에 의문점이 많이 들었습니다. 트랜잭션이란? 트랜잭션을 사용해야 하는 상황은? 스프링에서는 트랜잭션을 어떻게 지원하는지? 1️⃣ 트랜잭션이란? 더이상 나눌 수 없는 가장 작은 하나의 단위를 의미 데이터베이스에서는 트랜잭션을 조작함으로써 사용자가 데이터베이스에 대한 완전성을 신뢰할 수 있도록 함 모든 데이터베이스는 자체적.. 2022. 4. 2.
[개발자] 야근을 지양해야 하는 이유와 SI개발 회사에 입사하고 야근에 대해 많은 생각을 하게 되었습니다. 아무래도 야근을 좋아하는 분은 거의 없을 것이라고 생각합니다. 주변에서도 야근을 자주 하는 회사는 최대한 피하라는 얘기를 많이 들었을 것입니다. 그 근본적인 이유가 무엇일까 신입 개발자가 보고 느끼면서 생각해봤습니다. * 이 글은 SI업체에 다니는 신입 개발자의 관점으로 작성한 것입니다. 🤔 근본적인 문제가 무엇일까? 위의 문제에 대해 생각하기 전에 우선 '야근을왜 할까?' 라는 의문을 먼저 가졌습니다. 그 결과 나온 것은 해당 개발자의 역량을 넘어서는 업무 할당 ex) 신입 개발자에게 자바로 배치 프로그램을 만들라고 시킴 회사가 소화할 수 없는 수준의 일을 받은 경우 ex) 회사에 개발팀이 제대로 꾸려져 있지 않은데 무리하게 금융권 대규모 프로.. 2022. 3. 27.
[노개북] 클린코드 36일차 - 노마드 코더 😀 책에서 기억하고 싶은 내용을 써보세요. 알고리즘을 이해하라(383p) 알고리즘을 안다고 생각하지만 실제는 코드가 '돌아갈' 때까지 이리저리 찔러보고 굴려본다. '돌아간다'는 사실은 어떻게 아느냐고? 생각할 수 있는 테스트 케이스를 모두 통과하니까. * 이 방식이 틀렸다는 말이 아니다. 구현이 끝났다고 선언하기 전에 함수가 돌아가는 방식을 확실히 이해하는지 확인하라. => 테스트 케이스를 모두 통과한다는 사실만으로 부족하다. 알고리즘이 올바르다는 사실을 확인하고 이해하려면 기능이 뻔히 보일 정도로 함수를 깔끔하고 명확하게 재구성하는 방법이 최고다. if/Else 혹은 Switch/Case 문보다 다형성을 사용하라(385p) 대다수 개발자가 switch 문을 사용하는 이유는 그 상황에서 가장 올바른 선택.. 2022. 3. 2.