티스토리 뷰
Done
- 미션 3 완료하고 PR보내기
- 자바의 정석 5복습
Learned
1. StringBuffer_ char가 들어갈 때마다 capacity에 변화가 생긴다
(1-1) 왜 학습?
- StringBuffer의 capacity로 for문을 돌면서 하나씩 내용물을 채우고 싶었다. 그러나 그것이 불가하다는 것을 알았다.
(1-2) 학습내용
length와 capacity차이
- StringBuffer에 내용을 채우지 않았을 때 StringBuffer의 length로 찾지 말고 capacity로 길이 구하기. 이 용량을 구할 때.
- length는 내용물이 들어간 크기
capacity는 char을 buffer에 넣을 때 크기가 변한다.
- 아직 왜 이러는지 찾지 못했지만 ( for (int i=0; i<sb.capacity(); i++){
sb.append("\*"); System.out.println(sb.capacity());
}
이렇게 하면, 계속 capcity의 크기가 늘어나면서 for문이 계속 추가된다. 왜 이럴까?- 이 예제를 봐도 크기가 유동적인 것을 알 수 있다. https://www.javatpoint.com/java-stringbuffer-capacity-method
2. Git - 갓파이로 조교님 덕에 해결한 깃문제
(2-1) 왜 학습?
- 조원 한 분이 git과 풀리퀘의 과정 중에 문제가 있었다. 파이로님이 해결해 주어 이 같은 문제가 생겼을 때 대처법을 알게 되었다.
(2-2) 상황
- upstream (원격의 원래 레포짓 ) - 여기서 fork 해서 내 깃헙에도 같은 내용 만든 다음에(oirgin), 내 깃헙에 올린 후 -> upstream에 풀 리퀘해서 merge 하는 내용의 반복 작업중, (step1 step2 같은 단계별로 pull request를 날리고 있다)
- 그런데 문제 발생.
- step2단계를 원격의 upstream에 pr 보낸 상황 - > 잘못된 브랜치로 pr보내서 closed
- stpe3단계 브랜치를 만들고 해당 브랜치로 작업을 한 상황
- step2에 잘못 step3까지 머지된 상황
(2-3) 문제 1. step2에 step3가 섞여 새로운 pr 생성시 step3 커밋 내용이 올라간다.
- 갓 파이로님의 해결
- 1) step2에서 step2_recover 로 브랜치를 체크아웃하고 생성한다. (혹시 모를 보존용) : git checkout -b step2_recover
- 2) step2로 다시 switch
- 3) step2의 마지막 커밋 id를 복사
- 4) git reset --hard 마지막커밋id (해당 커밋으로 git을 되돌린다, step2 브랜치를)
- 5) git log로 제대로 되었는지 확인!
- 6) git push --force (하면 해당 내용이 강제로 원격에 push 된다. 충돌되어도 덮어버린다)
- 7) 그 다음에 다시 내 원격의(origin)의 step 브랜치에 가보면 거기까지만 올라와있고 그걸 풀리퀘하면 된다 !! 해결
(2-4) 문제 2. 잘못된 브랜치로 PR을 보내서 -> closed 된 상태 -> 나에게 reopen 권한 없는데 -> 이걸 다시 upstream의 다른 브랜치로 PR을 보내려고 하면 -> 바뀐 내용이 없다면서 자꾸만 closed 된 PR을 보여주는 깃헙
- 풀리퀘를 다른 브랜치로 보내고 싶은데, 내가 이미 pr을 보낸 것이 closed 된 상솽이다
- 보통 이런 경우, re-open을 하고 브랜치를 바꿔서 다시 pr을 보내면 되지만
- 문제는 re-open의 권한이 없다
- 그러면 갓파이로의 해결
1) 새로운 브랜치를 만들어서 거기서 pr을 보내라
2) 코드를 수정 (엔터 등) 하고 다시 pr을 보내기
(2-5) 배운점
- 갓파이로 조교님 능력은 역시다..
- 브랜치는 많이 만들어도 전혀 상관 없다
- 생각해보니 이 sanpshot 이기 때문에 많이 만들어도 삭제하면 된다
- 하나의 브랜치당 하나의 PR만 날릴 수 있으며 이는 closed된 PR도 포함한다. (단, Closed 된 pr에서 코드 수정 후 다시 commit 후에 원격으로 pr을 보내는 것은 허용된다)
(2-6) 더 학습할 점
- reset --hard와 -f(호눅스가 알려줬던 해결 책)은 어떤 차이가 있을까?
3.기타
(3-1) vim
- j 하면 쭉 내려간다 (터미널에서 길어서 안보이던 내용, git log 라든지...)
(3-2) int[] arr; 과 int arr[];은 같다.
- int[] arr[]; 은 2차원 배열 선언이다.
- c..프로그래머들이 익숙하게 사용하려고 ok 했단다. https://stackoverflow.com/questions/129178/difference-between-int-array-and-int-array
(3-3) Arrays.copyOf(arr, 복사할사이즈), System.arraysCopy(원본배열, 복사시작위치, 복사값넣을배열, 복사값입력시작index, 가져올길이)
- 둘이 기능은 같다. Arrays.copyOf(arr, 복사시작, 복사끝) 이것도
- Arrays..는 System.. 얘를 래핑한 것이다.https://nhj12311.tistory.com/62
- 하드 카피보다 훨씬 성능이 빠르다.
Good
컨디션이 너무 좋았다. 먹었던 밤양갱 때문인지 수면시간을 늘렸기 때문인지, 공부할 때 머리가 맑아서 앞으로 이 정도의 수면시간은 유지할 것 같다.
미션을 풀다가 다른 사람은 이렇게 하지 않을 것을 알고 있었지만, 왜 안됐을까 궁금해서 삽질을 했다. 틀린 것을 알고 있으면서 삽질을했다. 그러니까 오히려 코딩할 때 재미를 느꼈다. 정답이 없는 문제를 이렇게도 풀어보고 저렇게도 풀어보고. 삽질을 해보니까 사람들이 왜 안했는지 알았다.
Bad
- 생각보다 미션 해결에 시간이 많이 걸렸다. 자바로 기초 코드를 짜는 연습을 더 해야겠다.
Feeling
- 밤 양갱 같은 하루다. 오늘 밤양갱을 먹어서 그런가. 따뜻한 차와 먹은 밤양갱이 초콜릿보다 덜 달고 그러면서 당은 꽉꽉 채워주는 느낌.. 늙어가는 건가. 옛날엔 진짜 먹지 않았던 밤양갱이 참 맛있다. 사람도 옛날에는 초콜렛 같은 사람이 좋았다면 이제는 밤양갱 같은 사람이 좋은 것 같다. 아니다. 사실 이건 말을 적기 위한 말이었다. 난 원래 초콜릿보다 밤양갱 같은 사람을 더 좋아했다. 초콜릿 먹는 것을 워낙 좋아해서 그렇지. 내일은 한 번 초콜릿을 먹어볼까?...ok 운동할게
'기타 > TIL' 카테고리의 다른 글
210219 금 TIL (0) | 2021.02.19 |
---|---|
210218 목 TIL (0) | 2021.02.18 |
210216 화 TIL (0) | 2021.02.16 |
210215 월 TIL (0) | 2021.02.15 |
210214 일 TIL (0) | 2021.02.14 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 예외
- thread
- 우선순위큐
- Stack
- 프로그래멋lev2
- 프로그래머스lev2
- 동빈북
- arraylist
- spring-boot-qna
- 최단경로
- JdbcTemplate
- 힙
- 백준
- 프로그래머스lev1
- Gitignore
- FLASK
- 그래프이론
- 프로그래머스lev3
- Stream
- SQL코딩테스트
- Sort
- array
- Queue
- 순열조합
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함