오늘 원래 예비군가는날이라 불참예정이였지만, 몸상태 이슈로 9시까지 자고 내일배움캠프 출석을 선택하였다.
09~10시 알고리즘(두 수의 나눗셈) - 초반 문제라 쪼금 쉬운편이지만 살짝? 헤매었다.
- 문제 : 정수 num1과 num2가 매개변수, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return
class Solution {
public int solution(int num1, int num2) {
// 나누기할때 소수점을 나타내려면 int를 double로 변환해주기
// 변수에 저장해서 *1000해도 되지만, 식에 바로 * 1000을 해주고,
// 소수점을 반올림이 아닌 그냥 없애는 거니깐 다시 int 자료형으로 형변환
double answer = (double)num1 / (double)num2 * 1000;
int result = (int)answer;
return result ;
}
}
내가 푼 풀이
class Solution {
public int solution(int num1, int num2) {
int answer = 0;
return num1 * 1000 / num2;
}
}
좋아요 제일 많이 받은 풀이법.
소수점자릿수에서 1000을 곱해야해서 double 자료형에 신경을 썼는데, 저런식으로 풀이도 가능했었다.
알고리즘은 쉬운 난이도에서 다른 사람 풀이를 보며 배워가는게 하나씩 있다.
10~12시 : 새 챕터의 발제 및 새 팀 구성
- 이번주에 Java강의를 빨리 듣고 수요일에 개인과제 발제가 있을 예정이라 목요일까진 강의를 다 들어야하는데.. 예비군이 발을 잡는다,,!!
- 컨디션 악화로 오늘은 집중도 못한 상태도 강의진척도는 0.. / 하지만 2개의 강의에 집중력을 다 썼다
14시 : Git 세션 2
- 요약
- 브랜치 생성 : git branch [이름]
- 브랜치 이동 : git switch [이름] or git checkout [이름] (checkout이 구버전, 커밋 변경점 관련도 있음)
- 브랜치 생성 및 이동 : git swich -c [이름] or git checkout -b [이름] // 여기서 c는 create b는 branch를 의미
- 브랜치 합치기 : git merge 합칠브랜치이름(ex.login) **merge하기전 switch로 합칠 브랜치로 이동(main or dev)
*주로 협업땐 PR로 하기때문에 잘 쓰진 않는다.
19시 : 현직 개발자 세션
- 요약
1. 어떻게 학습할지?
- 메타인지 : 내가 뭘 모르는지 아는 것 (학습은 어떻게보면 뭘 모르는지 알아가는 과정)
TIL(오늘 알게된 것), WIL(이번주에 알게된 것) 쓰기 - 배운거 까먹지 않게 키워드 남기기, 요구사항/문제사항 나누기
- 개발 공부는 힘들기 때문에 더욱 가치 있다. *내가 하는 일이 힘들수록 아무나 할 수 없는 더욱 가치있는 일 이라는 증거
- 열심히 하는 사람, 잘하는 사람보다 더 잘 학습하는 법 : 한단어로 정의하면 - 독기
- 번아웃 : 오늘 할 일을 감당할 수 없을 때, 오늘 공부해야할 내용을 가늠할 수 없을 때
-> 해결법 : 내일 무리하지 않도록 오늘 해냄으로 내일의 번아웃을 방지하자
2. 어떻게 적응할까?
- 질문의 적정성을 잘 찾아서 적극적인 질문, 업무에 임하는 자세 중요 : 내가 뭘 알고 모르는지 "메타인지" 중요
- 내 업무의 핵심질문 정의, 업무 트리형태로 분류하는 연습
- 적극적으로 물어보고, 겸손 해야한다.
- 실수를 무서워하지 않는 과감함
- 기록하는 습관 (같은거 여러번 묻지 않도록)
* 일론머스크가 면접시 하는 질문 (https://www.youtube.com/watch?v=chJkNSDtga4)
- 질문이 항상 같다. 살아온 과정 , 직접 겪었던 문제가 무엇이고 어떻게 해결했는지
문제 해결한 사람은 세부사항까지 알고, 해결한척은 조금 설명하다가 막힌다.
3. 어떻게 일해야할까?
- 직장이 아닌 직업을 가지는 개발자가 되자 -> 회사에서 내가 업무의 전문성을 키우는 과정
- 진심으로 개발하는 개발자 -> 기능이 아닌 서비스를 개발하는 사람
- 겸손이 더 중요하다 -> 잦은 커뮤니케이션에선 논리력과 겸손함이 중요
4. 살아있는 코드 작성
- 코드를 통해 의도를 전달 : searchUserId() -> userIdEq()
- 팀과 일관된 코드 스타일 : 코드 컨벤션 적용 및 숙지
- 하나의 역할 담당 : SOLID 원칙
- 매개변수 명확히 : userId -> mentionedUserId
- 예측 가능한 코드 : 생성자 함수 호출했으면 어떤 쿼리? -> create
- 테스트 코드 중요
- 원시값 포장 : boolean -> Boolean 괜히 만든게 아님
- 변경 가능성 최소화 -> final 선언, 메소드 throw exception, interface 정의, Setter 미정의
5. 채용공고를 통해 기술 점검
오늘 강의를 들으면서 느낀 점
- Git은 계속 쓰면서 익숙해져야 할 듯 하다. dev브랜치파고, 기능개발 브랜치 / PR 전체적인 그림은 그려진다.
- 현직 개발자 특강을 들으면서 내가 부족한 부분을 잘 아는게 중요하고, 그것을 또한 하나하나 학습해 나가는게 중요할 것이라고 생각 된다. // 기록에 대한 습관도 잘 해나가야할듯!
- TIL , WIL 쓰는 습관 잘 들이자. 특히 TIL은 공부를 많이 해야 쓸 인사이트도 많다.
'끄적끄적 > TIL' 카테고리의 다른 글
TIL #6 계산기프로젝트 - 클래스, 객체, 컬렉션, 예외처리 (3) | 2024.09.11 |
---|---|
TIL #5 계산기 프로젝트 시작, StringIndexOutOfBoundsException(트러블슈팅) (0) | 2024.09.10 |
TIL #3 미니 프로젝트 마무리 + 회고(KPT 회고 방법론) (4) | 2024.08.30 |
TIL #2 미니 팀 프로젝트 2일차 (1) | 2024.08.29 |
TIL #1 미니 팀 프로젝트 1일차 (2) | 2024.08.29 |