Welcome! Everything is fine.
[네부캠/And] 네이버 부스트캠프 베이직 2주차 후기 본문
⬇️⬇️⬇️ 1주차에서 배운 것들 정리⬇️⬇️⬇️
2주차에서는 1주차와는 또 다른 느낌의 미션이 주어졌다. 사람에 따라 2주차가 더 쉽다고 느껴졌을 수도 있을 것 같다. 이번 후기 역시 새로 알게 된 점과 공부한 내용을 중심으로 기록해보겠다. 다 끝나고 되짚어가며 기록하려니 쉽지 않다.😂 역시 회고는 그때그때...
👀 새로 알게 된 점
설계 시작하기
2주차 미션을 하면서 스스로 제대로 설계를 해보고 개발을 시작한 적이 거의 없다는 사실을 알게 되었다. 상태 다이어그램, 데이터 흐름도, 유스케이스 다이어그램 등을 알고는 있지만 그려본 적은 거의 없고 ‘설계’를 하는 것이 정확히 어떤 결과물을 내야하는지 헷갈렸다. 정처기에서 공부했던 기억만 어렴풋이 남아있는..🤔 모르는 것들을 차근차근 검색해보며 내 나름대로 다이어그램을 그려보고, 설계해봤다. 'SW개발 표준 산출물 관리 가이드'를 검색해보니 분석 - 설계 - 구현 - 시험 단계에 따라 아주 많은 산출물이 있었지만..우선 미션을 하며 필요하다고 생각되는 부분을 공부하였다. 내가 그린 다이어그램을 넣고싶은데 미션 내용이 들어있어 올리지 못하는게 아쉽다.🥲 제출하고 다른 사람들이 설계한 것을 보니 내가 부족한 부분이 많이 보였다. 개인적으로 설계가 코딩보다 더 어려운 것 같다..
상태 관리 다이어그램
우선 가장 먼저 나오는 ‘상태 관리 다이어그램’에 대해 검색해보았다. 또 다이어그램을 그릴 툴도 검색해보고, drawio 라는 툴을 사용하기로 결정했다. 상태 다이어그램이란 시스템, 객체, 또는 프로그램이 다양한 상태에서 어떻게 변하는지를 시각적으로 표현한 다이어그램이다. 상태(State)와 그 상태 간의 전화(Transition)을 보여준다.
데이터 흐름도
데이터 흐름도란 시스템 내에서 데이터가 어떻게 흐르고 변환되는지를 시각적으로 나타낸다. 주요 프로세스와 데이터 저장소, 외부 엔터티 간의 데이터 흐름을 강조한다.
코틀린에서의 파일 입출력
코틀린에서 파일을 읽고 쓸 때 java.io.File 클래스를 이용한다. 다음과 같이 path 변수에 파일 경로를 저장한 후, forEachLine을 통해 각각의 라인을 읽으며 출력하는 코드이다. 이 코드를 보고 forEach문과 forEachLine문의 차이가 뭔지 몰라서 찾아보았다. forEach문은 컬렉션, 배열, 시퀀스 등의 각 요소를 처리할 때 사용하고, forEachLine문은 주로 파일이나 문자열을 줄 단위로 처리할 때 사용한다고 한다.
import java.io.File
fun main() {
val path = "파일경로"
File(path).forEachLine { println(it) }
}
💻다시 공부해본 것들
스택
스택은 후입선출(LIFO) 방식의 자료구조로, 먼저 들어온 요소가 나중에 나간다. 데이터의 삽입, 삭제, 접근이 빠른 반면 top 위치 외 데이터의 접근이 원칙적으로 불가능하다는 단점이 있다. Array, LinkedList, MutableList 등을 이용해 스택을 구현할 수 있다.
문자열 분석
StringTokenizer로 문자열을 자르고 원하는 대로 분석을 하니 재밌었다. 에러를 마주치기도 했지만 오류를 기록하며 진행하는게 재밌고 유익한 경험이었다. 실수로 낸 오류뿐만 아니라 일부러 오류를 내보는 것도 좋은 경험일 수 있다는 것을 배웠다.
💡느낀 점
- 기록은 그때 그때하자.(이게 제일 어렵지만 나중에 가서 해야지~하면 거의 까먹는다..)
- 기본이 중요하다.
- 오류를 잘 기록하고 정리하자.
- 남의 코드를 읽고 내 코드를 고치는 것도 좋은 경험이다.
'자격증 및 기타 활동 > 부스트캠프 베이직' 카테고리의 다른 글
[네부캠/And] 네이버 부스트캠프 베이직 전체 회고📝 (0) | 2024.07.15 |
---|---|
[네부캠/And] 네이버 부스트캠프 베이직 1주차 후기 (0) | 2024.07.09 |