■ 기본적인 @BeforeEach > @Test > @AfterEach 순의 코드수행 흐름 ■ assertThat().isEqualTo() (물론 @Test 메소드가 여러개라면, 각 @Test 메소드 전후로 @Before/AfterEach 메소드가 중복 수행됨) public class CalculatorTest { StringCalculator stringCalculator; @BeforeEach void setUp() { stringCalculator = new StringCalculator(); } @Test void 복합_계산() { assertThat(stringCalculator.calculate("5 * 2 + 2")).isEqualTo(12); assertThat(stringCalculato..
Logcat @@@@@point2: 0 @@@@@point3: 0 @@@@@point1: 10 (Firestore db속의 수치) 설명 Google Firebase의 Firestore DB를 이용중, docRef.get()을 통해 db속 데이터를 읽긴하였으나, 밖으로 값을 가져와 사용하는 방법에 대한 문제 발생. ('Point'Colletion안의 'email~'Document안의 'point'Field를 읽는중) 위의 로그에서 보이듯, 처음엔 39라인의 point값 할당이 정상적으로 이뤄지지않는줄 알았으나, 알고보니 get()의 비동기 특성상 docRef.get()-; / Log.d-; / return point; 문장들이 get()이 끝나기전에 곧바로 실행되..
Java와 C의 차이점, Java에서 주의할점 18.11.17) 오랫동안 C언어를 주로 사용해오다, 올해 Java로 바꾸며 헷깔렸던 점들과 언어 차이, 주의할 점 등을 정리 메모리 구조와 Garbage Collection 개념 8개의 '기본형변수' : 실제값 저장 / 나머지 '참조형변수' : 어떤값의 주소값 저장 이때 C와 달리, 참조형변수들간엔 연산불가. ex. Date today = new Date(); // Date객체를 생성후, 그 주소를 참조형변수 today에 저장 상수는 선언과 동시에 초기화 해야함 ex. final int MAX_SPEED = 100; long, float은 리터럴에 접미사 붙이는 것 유의. 연산이 수행되며, 나도 모르게 형변환이 수행되는 경우가 있다. 주의. ex. 7 + ..
Lv2 - 2주차 미션 : Spring Data JPA/회원 관련 기능 구현 https://github.com/woowacourse/jwp-blog 학습목표 Spring Data JPA 통해 데이터를 관리하는 경험을 한다. 미션 회원 등록/조회기능 구현하기 회원 로그인 기능 구현하기 회원정보 수정/탈퇴 기능 구현하기 (adv) 페이징 기능 구현하기 (adv) interceptor를 이용하여 로그인 기능 구현하기 체크리스트 모든 요청에 대한 Acceptance Test를 구현했는가 HTML 중복 제거하였는가 테스트의 중복을 제거하였는가 URL 컨벤션을 지키며 구현했는가 회원가입/수정 및 로그인/로그아웃 기능이 잘 동작하는가? 회원가입시 회원가입 유효성을 잘 확인하는가? 유저 정보 수정 / 회원 탈퇴 시 본..
Lv2 - 1주차 미션 : Spring Boot/게시글 관련 기능 구현 https://github.com/woowacourse/jwp-blog 학습목표 Spring Boot를 통해 웹 애플리케이션 프로젝트를 생성하는 경험을 한다. Spring MVC를 통해 웹 애플리케이션에서 요청을 받고 응답을 하는 흐름을 이해한다. Acceptance Test(인수 테스트) 기반으로 웹 애플리케이션을 개발하는 경험을 한다. 미션 게시글 생성/조회기능 구현하기 게시글 수정/삭제기능 구현하기 (adv) 카테고리 관련 기능 구현하기 체크리스트 제약조건 HTML 중복 제거하였는가 정적 파일 수정 시 재시작 하지 않고 변경사항 반영하기 class 파일 수정 시 자동으로 재시작 하기 기능구현 게시글 CRUD 기능을 구현했는가 모..
6,7,8주차 미션 : 체스 게임 with Console/Web UI https://github.com/woowacourse/java-chess 이번주 빌런 : Pawn 웹/DB는 역시 욕심을 버리고 부담없이 대충 만들었고, 비즈니스 체스 코드는 중간에 폰때문에 한번 갈아엎긴했지만 나름일단 완성은 됬다. 폰빼고 거의다 완성했는데 폰 규칙이 너무 복잡해서 구조가 다 바뀌어야하는 상황이 초래되어, 갈아엎고 이번엔 폰을 제일먼저 완성시킴. DB는 DAO의 중복을 JDBCTemplate으로 추출하니 훨씬 깔끔해져 마음 편안하고 재밌었다. 서비스, DAO, JDBCTemplate 모두 상태를 없애고 singleton으로 만들어보았다. 싱글턴과 static 클래스의 차이에 대해서도 고민해보았고, 레이어 아키텍쳐에 ..
4,5,6주차 미션 : 로또 게임 with Console/Web UI https://github.com/woowacourse/java-lotto 후기 오랜만에 다시 페어가 아닌 혼자 코딩하다보니, 습관적으로 코딩하게되는 부분이 생긴다. 항상 의식적으로 코딩하도록 조심해야겠다. 물어보고 토론할 페어가 없어서 불편한 점도 있었다. 더 움직이며 발품팔걸 그랬다. web/DB 관련해선 고민많았으나, 이번단계에서 욕심내지않고 차차 알아가기로. 내 코드 피드백 Collection들의 다양한 메소드를 활용하자. 이 경우, 별도의 initialize() 초기화 메소드 대신 getOrDefault()를 사용하면 됬었다. HashMap (Java Platform SE 8 ) 자바 HashMap을 효과적으로 사용하는 방법 ..
Lv1- 3주간의 페어프로그래밍 회고록 좋은 협업관계를 유지하기 위해선, 주기적인 회고가 필요하다고 한다. 각종 프로젝트를 진행하며, 동료들과 함께 프로젝트를 진행하고 몇시간정도 페어프로그래밍을 해본적도 있지만 이번처럼 3주간 서로의 하루시간 전체를 공유한적은 처음이라 돌아보고 느낀점을 정리해보았다. 페어 프로그래밍의 장점 같은 고민을 공유하고 함께 이야기할 동료들이 있다는 것, 그자체만으로도. 서로가 아는것이 달라서, 이를 공유하며 모르는걸 배우고 성장할 수 있었다. 1-2. 같은 이슈에 대해 여러 접근방식을 접할 수 있고, 토론을 통해 최선의 결정을 내릴 수 있다. 1-3. 혼자 개발하면 자기 습관대로만 짜게 된다. 도움이 되지않는 삽질, 즉 사소한 버그를 빠르게 잡을 수 있었다. 주기적으로 리더가 ..
- Total
- Today
- Yesterday
- 리버싱
- Vo
- Stack
- C
- 웹해킹
- reversing
- queue
- Data Structure
- brute-force
- Java
- socket
- Algorithm
- git
- 우아한 테크코스
- mysql
- 회고
- Android
- 해외여행
- dfs
- 개발자
- sort
- JPA
- 프로그래머스
- webhacking.kr
- Android Studio
- bfs
- OneToMany
- graph
- FRAGMENT
- javascript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |