분류 전체보기
-
TDD - 2부 xUnit 간단 정리JAVA 2022. 6. 27. 01:38
2부 xUnit 예시 간단 정리 xUnit 페이지를 공부하면서 이 정도는 알아둬야 겠다 하는 내용에 대해 간단히 정리 TDD를 마스터하면 훨씬 큰 기능 단위로 작업할 수 있게 되지만 TDD를 마스터 하기 위해서는 필요할 때 작은 단계로 작업하는 법을 배워야 한다. AAA 패턴 준비(arrange) - 객체 생성 행동(act) - 어떤 자극을 준다 확인(assert) - 결과 검사 이전에 공부했을 때는 주로 .net 진영에서 많이 쓰는 패턴으로 보였다. Java 진영에서는 Given/When/Then 패턴을 많이 쓰는 것으로 보인다. 테스트를 위해 필요한 객체 생성 제약 성능 여러테스트에서 같은 객체 사용한다면 객체 하나만 생성 격리 다른 테스트에 영향을 주지 않기 위해 테스트 마다 각 객체 생성 테스트 ..
-
TDD 17장. Money 회고 요약 및 정리JAVA 2022. 6. 27. 01:21
17장. Money 회고 요약 및 정리 메타포 어떤 메타포를 선택하느냐 → 완전 다른 방식의 설계 내가 지금까지 작성한 모든 프로그램을 20번씩 다시 작성해 본다면 어떨까?매번 새로운 통찰을 얻고 놀라움을 경험할 것인가? 더 신중을 기해서 모든 통찰을 세 번 안에 다 얻어낼 방법이 있을까? 아니면 한번에? 왜 자신이 짠 코드를 다시 짜면 더 잘 짤 수 있다고 이야기 하는지 더 와 닿는 부분이다. JUnit 사용도 실행 버튼을 정확히 125번 눌렀다. … 보통 일분에 한 번 정도 테스트를 실행했다. TestCode가 없었다면 과연 몇번이나 테스트를 할 수 있었을까? TestCode만 있다면 테스트를 수행하는 건 너무나도 간단하기 때문에 수 없이 많은 테스트를 할 수 있게 한다. TestCode는 개발자의 ..
-
RFC 4868 번역카테고리 없음 2022. 2. 12. 23:14
더보기 RFC를 별도 수정 없이 구글 번역기로 번역하는 경우 띄어쓰기, 줄바꿈 등의 이유로 제대로 알아볼 수 없게 번역되는 문제 때문에 띄어쓰기, 줄바꿈을 올바르게 맞춘 뒤 구글 번역기로 번역한 내용입니다. 출처 : https://datatracker.ietf.org/doc/html/rfc4868 Using HMAC-SHA-256, HMAC-SHA-384, and HMAC-SHA-512 with IPsec 1. Introduction This document specifies the use of SHA-256, SHA-384, and SHA-512 [SHA2-1] combined with HMAC [HMAC] as data origin authentication and integrity verificat..
-
JWT BestPractice카테고리 없음 2021. 12. 26. 18:42
JWT 토큰 사용의 모범사례를 따라서 JWT 토큰 사용 시 JWT 토큰 사용이 단점을 최소화 하는 걸 목표로 해보겠습니다. JWT 토큰의 구성 - 헤더(header) - 페이로드(payload) - 시그니쳐(signature) 1. 어떤 알고리즘을 사용해서 토큰을 생성할 것인가 - 대칭 알고리즘, 비대칭 알고리즘 - 대칭 알고리즘 HS256 - 비대칭 알고리즘 RS256, ES256 * HS란 HAMC-SHA - HS256 : 32비트 컴퓨터 - HS512 : 64비트 컴퓨터 -> 여기서 RS256이 가장 권장되는 알고리즘 입니다. 2. 항상 토큰에 서명하기 적적한 알고리즘을 선택했다면 토큰 발행 시 항상 서명하는 것입니다. JWT 서명은 토큰 내의 데이터(페이로드)가 변경되지 않았는지 확인하는 기본 보..
-
@Transactional 제대로 알고 쓰기Spring 2021. 11. 18. 02:23
@Transactional 을 꼭 붙여야 하나? 왜 붙여야 하지? 라는 의문들을 가지신 분들이 분명히 있을 겁니다! 그래서 오늘은 아주 간단한 Sample 코드를 통해서 @Transactional 을 붙였을 때와 붙이지 않았을 때 어떤 이들이 벌어지는지 확인해 볼께요! 그리고 DB 테이블이 데이터가 들어가는지 들어가지 않는지 뿐만 아니라, Spring이 트랜잭션을 어떤식으로 처리하는지 로그까지 확인해 보도록 하겠습니다. 로그는 org.springframework.jdbc 패키지 경로를 줘서 확인하면 됩니다. 참고로 mybatis를 사용했습니다. 테스트 내역은 아래와 같습니다. insert(insert 만 테스트 했지만, commit 관련해서는 update, delete 도 동일합니다.) @Transact..
-
primitive type vs wrapper classJAVA 2021. 10. 31. 00:49
Java 에서는 8가지 Primitive Data type 을 제공 합니다. 그리고 Primitive Type에 대한 Wrapper Class 를 제공하는데요. 여기에 대한 차이에 대해서 한번 알아봅시다! 그리고 어떤 경우에 primitive Type을 써야 하고 Wrapper Class 를 사용해야 하는지 알아봐요! 😀 Primitive Type과 Wrapper Class에 대한 Default Value 확인 (Sample Code) public class Main { byte primitiveTypeByte; short primitiveTypeShort; int primitiveTypeInt; long primitiveTypeLong; float primitiveTypeFloat; double pri..
-
수년 전 공부했던 TDD의 기억Etc 2021. 7. 14. 23:29
수년전에 공부했었던 TDD.. 다시 어딘가 찾아보지 않고 머릿속에 있는 기억만을 한번 꺼내보려 합니다. 머릿속에 있는 기억을 꺼내서 확실한 부분인지 검증하거나 수정하지 않고 그대로 한번 적어보겠습니다. 많은 오류가 있을 수 있으니 재미삼아 봐주시면 감사하겠습니다. 그리고 다음 게시글에서는 확실한 내용만을 정리해서 올려보겠습니다. Given When Then 템플릿이 먼저 생각 나네요. Given - 상황이 주어졌을 때 When - 어떤 무언가의 행동을 한다. Then - 그랬을 때의 예상 결과는 이렇다. Given 에는 input과 output의 기대값을 적었었고 When 은 실제 Feature 코드를 호출했고 결과 까지 받았습니다. Then에서는 When 에서 발생된 결과를 Matcher를 사용해서 검..
-
web.xml 에 선언된 context-param, init-param 테스트Spring 2021. 6. 30. 00:41
실제작성일 2018년 12월 13일 web.xml metawerx 사이트 를 참고 했습니다. context-param 태그는 전체 context/web application 에 parameter를 제공합니다. 실제 테스트를 해봤습니다. web.xml 코드 contextConfigLocation classpath:spring/application-config.xml spring Controller 에서 테스트 해봤습니다. @RequestMapping("/test") public String test(HttpServletRequest request) { String initParameter = request.getServletContext().getInitParameter("contextConfigLocat..