분류 전체보기
-
메가테라 웹 개발자 과정 4주차 (2) 주간 회고주간 회고 2022. 7. 15. 23:55
이월되어 다시 돌아온 4주차가 거의 끝나간다. 한 주 동안 정말 고통스럽게 과정을 이어나갔었던 것 같은데, 6월 초 진짜 4주차였을 때에도 이렇게 고통스러웠었나 싶었다. 그때 지금의 마음가짐인 '여기서 더 밀려나면 끝장이야!' 같은 마인드를 가졌었다면 지금보다 더 나은 상황인 상태에서 다른 주차를 맞고 있었겠지 하는 아쉬움은 있지만, 그 때 충분히 시간을 쓰지 않았던 것을 인지하고 많은 시간과 노력을 쏟았기에 지금의 이월 4주차를 어쨌든 마친 결과가 나온 것이니까 쏟은 노력 자체에 대해서는 고생했다고 스스로에게 이야기해주고 싶다. 그럼에도 미진했던 부분은 되돌아보고 짚어봐야 한다. 다음 주에 또다시 미진한 경험이 반복되도록 하지 않게 하기 위해서는. 부족했던 개념 정리 개념 정리 자체에 쏟았던 시간이 부..
-
2022년 7월 15일 TIL - 어떻게 해야 기록을 잘 할 것인가?Today I Learned 2022. 7. 15. 23:01
메가 골든벨 시간에 풀어야 할 문제가 30문제에서 50문제로 대폭 늘어났다. 2기 분들과 함께하는 골든벨 자리였기에 1주차에서 다뤘었던 내용들이 주로 출제되었는데, 문제를 풀어본 결과는 반타작이었다. Java 프로그래밍에 대한 근간을 큰 틀에서 잡기 위해 알고 있어야 할 개념들에 대한 설명들을 딱 접했을 때 그것이 이 개념이라고 바로 딱 이야기할 수 있을 정도로 개념의 정립이 되어 있지 않다는 의미였다. 이월되기 전까지의 주차에서는 개념들을 나만의 언어로 정리해놓는 과정을 거의 하지 않고 있었다. 이월 이후의 주차부터는 주말에 평일보다 더 많은 시간을 투자해 강의에서 다룬 내용을 정리하고 그 개념들을 찾아 노트를 만드는 과정을 수행해야 했는데, 공식 문서, 각종 블로그 글들에서 찾아지는 내용들을 정립해서..
-
2022년 7월 14일 TIL - 지나친 추상화는 오히려 가독성을 저해한다Today I Learned 2022. 7. 14. 23:57
메가테라 백엔드 트레이닝 4주차 퀘스트 중 하나로 주어진 '깐깐한 계산기'에서 주요하게 구현해야 하는 부분에는 사용자가 입력한 수식이 조건에 맞는 수식인지를 검사해야 하는 부분이 있다. 수식을 검사하는 과정 역시 테스트 코드를 작성하면서 구현해야 하기 때문에 수식을 검사하는 작업 흐름이 클래스나 메서드로 분리를 시켜주고, 그 분리된 메서드를 테스트 코드를 작성하면서 구현하는 과정을 거치게 된다. 엊그제 처음으로 받은 코드 리뷰를 바탕으로 수정을 거쳐 PR을 재차 올렸던 소스코드에 다시 코드 리뷰가 올라왔다. 주요한 리뷰는 수식 조건 검사기 클래스를 구현한 부분과 그 테스트 코드에 집중되어 있었다. 리뷰들 중에 하나로 프로세스의 유의미한 추상화가 이루어져야 할 것이라는 내용이 있었다. 처음에 수식 검사기 ..
-
2022년 7월 13일 TIL - 무엇을 시도해도 안 될 때는 눈 딱 감고 뒤로 돌아가기Today I Learned 2022. 7. 13. 23:56
이월 결정 이후 1주일 반 정도가 지난 이월 4주차 수요일을 지나고 있다. 오늘은 이월 이후 진행된 날들 중 가장 집중력과 텐션이 떨어지는 것 같다는 느낌이 들었다. 오후 2시까지 짝 프로그래밍을 진행하고, 3시 30분 즈음까지는 어제 올렸던 깐깐한 계산기의 소스코드를 복기하고 트레이너님이 올려주셨던 코드리뷰에 답글을 달았다. 그리고 Todo List 구현에 돌입했다. 지난 주차에 몇 번 완성해 본 Todo List였기에 지난 주차까지의 내용은 금방 구현하고, 파일 입력, 출력 기능을 추가해볼 수 있을 것이라 생각했다. 먼저 하나의 소스 코드 상에서 지난 주차까지 다뤘던 부분들은 작동되도록 완성하고, 작동하는 소스코드의 메서드와 클래스를 분리한 뒤, 파일 입출력 기능을 추가하는 것을 계획했다. 지난 주차..
-
2022년 7월 12일 TIL - 메서드를 사용할 때는 구체적인 작동 방식도 확인하자Today I Learned 2022. 7. 12. 23:56
어제 주어졌던 코딩 도장 문제인 문자열 내림차순으로 배치하기 문제를 푸는 과정에서 처음 알게 된 Character 클래스의 메서드 compare()를 사용해보는 과정에서 작은 이슈가 있었다. 어제 코딩 도장 문제는 영어 소문자와 대문자가 혼용되어 있는 주어지는 문자열을 영어 소문자 z와 영어 대문자 A의 순서인 [z-aZ-A]의 순서대로 정렬하는 문제였다. 해당 문제를 푸는 방법으로는 해당 문자열을 String인 상태 그대로 혹은 char 배열 타입의 변수로 변환한 뒤 정렬을 수행해주는 메서드를 사용하는 방법이 있었지만, 정렬 메서드를 이용해보지 않고 풀어보겠다는 계획을 세웠다. 주어진 문자열의 문자를 하나씩 꺼내와서 List에 문자를 넣는데, List에 이미 들어가 있는 문자들과 하나씩 크기를 비교해서..
-
2022년 7월 11일 TILToday I Learned 2022. 7. 11. 23:50
오전 코딩 도장 시간 풀이 시간 1시간 동안 주어진 정렬 문제를 풀지 못했었다. 할 것들이 많으니 일과 이후 밤 시간에 풀리지 않았던 부분을 찾아서 풀어보자는 생각으로 지금까지 잠시 미뤄뒀고, 소스코드의 논리 구조가 맞지 않는 부분을 찾아 교정하고 어떻게 교정했는지를 이 글에 써서 올릴 계획이었다. 그러나 풀어낸 소스코드가 모든 테스트 케이스를 완전히 통과하지 못해 관련된 글은 잠시 미뤄둬야 할 것 같다. 오늘은 풀릴듯 말듯 해결이 안 되는 것들에 시간을 오래 쏟았고, 그랬는데도 시원하게 해결한 것은 없었다. 하루를 되돌아보니 진도 체크 시트에 주간 과제 말고는 체크 박스를 채우지 못했다. 머리가 굳어 있는 것처럼 진도가 잘 나가지 않던 하루였다. 일단 이 글을 올린 뒤 밤 시간 동안 TDD와 마카오뱅크..
-
2022년 7월 10일 TIL - 결과물의 도출과 완벽주의Today I Learned 2022. 7. 10. 23:53
디스코드에 새 메세지가 올라왔음을 알리는 알림 소리가 때로는 신경을 곤두세울 때가 있다. 팀원들이 자신이 하고 있는 작업의 과정이나 결과를 공유하고, 트레이너님들이 그에 대한 피드백을 달아주시거나 조언을 주시는 등, 자신의 가치를 공유하고 기나긴 마라톤에서 한 걸음을 더 앞으로 내딛는 소리. 어떤 동료들은 정말 많은 가치들을 공유하기도 하는데, 그 생산성을 볼 때마다 자주 부럽다고 느낀다. 알림 소리가 날 때마다 가슴이 움찔거렸다. 마치 나에게 '빨리 글 써서 올려!' '넌 개념 정리 안하고 뭐하고 있었어?' 라고 다그치는 느낌이다. 왜 나는 파워 당당하게 디스코드에 '이게 제가 열심히 공부해서 정리한 개념 노트입니다!! 하하하하' 라고 올릴 만치의 글이 만들어져 있지 않을까? 주말에 학습에 투자한 시간..
-
2022년 7월 9일 TIL - 멤버 변수의 가시성과 접근 방식에 대한 고찰Today I Learned 2022. 7. 9. 23:30
프로그래밍을 하면서 거의 무조건 이런 방식으로 써야 한다고 해서 그렇게 써오고 있던 규칙 같은 것들이 있었다. 대표적으로 객체를 정의할 때 객체의 데이터인 멤버 변수의 접근 제어자는 private으로, 객체의 동작인 메서드의 접근 제어자는 public으로 지정하여 멤버 변수에는 메서드를 통해서만 접근하도록 하는 등이다. 사실 멤버 변수의 접근 제어자를 public으로 지정한다고 해서 문법적으로 틀려서 컴파일 에러가 발생한다던지 하지는 않는다. 그러나 이를 지키지 않으면 원칙에 위배되는 것이므로 그렇게 해서는 안 된다고 하길래 계속 그렇게 써 오고는 있었는데, '그게 그렇게까지 문제될 일인가?'라는 생각은 남아 있었다. 어제 트레이너님과 이야기를 나누면서 멤버 변수가 private이어야 하는 간략한 이유를..