10월 17일 목요일
AM 과제 마무리
PM 특강 청강, 개인 자습
git 특강에서 협업할때 주로 사용하는 명령어
Stream
Git 특강
git 특강에서 협업에 주로 사용하는 명령어 순서를 알려주었다.
이전에 책임자가 repository를 생성하여야하며 branch는 main(배포용), dev(테스트용)이와 같이 2개로 나누어 구성하고 default branch를 dev로 설정한 후에
git pull or git clone <깃 주소> . 을 통해 개인 프로젝트에 불러온다.이후 git checkout -b <브런치명> or git switch -c <브런치명>을 통해 새로운 branch를 생성하고 이동한다.
기능 개발을 완료하면 git add . -> git commit -m "커밋메세지"를 통해 커밋 후
git pull origin <작업중인 브런치>를 통해 병합 전 충돌 여부를 검사한 후git push origin <브런치>를 한 후 pullrequest를 통해 리뷰를 받고 통과한다면 merge를 통해 병합하면 된다.
Stream API
[스트림을 적용할 수 있는 데이터 소스]
- 컬렉션
- 배열
- 가변 매개변수
- 지정된 범위의 연속된 정수
- 특정 타입의 난수들
- 람다 표현식
- 파일
- 빈 스트림
[Stream API의 특징]
- 원본의 데이터를 변경하지 않는다.
- 일회용이다.
- 내부 반복으로 잡업을 처리한다.
[Collection에서의 Stream()의 정의]
Stream<T> Collection.stream()
[Stream API의 연산 종류]
Stream은 데이터 처리를 위해 다양한 연산을 지원하는데 3가지 단계로 나눌수 있다.
1. 생성하기
2. 가공하기
3. 결과 만들기List<String> myList = Arrays.asList("a1", "a2", "b1", "c2", "c1"); myList .stream() // 생성하기 .filter(s -> s.startsWith("c")) // 가공하기 .map(String::toUpperCase) // 가공하기 .sorted() // 가공하기 .count(); // 결과만들기
위에 코드에서 보듯이 가공하기는 여러번 할 수 있고 재사용이 불가능하다는 점도 인지해야한다.
이번 과제에서 git을 사용하면서 이런 저런 오류가 많이 발생했고 많이 부딪혀봤지만 아직도 다른 기능들이 많이 써보지 못해 아쉬운점이 있다. 앞으로 더 많이 사용하면서 git을 더 잘 다루도록 노력해야겠다.
또한 과제에서 Stream과 예외처리, 람다, 함수형 인터페이스 등 부족한 부분을 많이 알게되었고 이에 대한 복습이 필수적으로 이루어질 수 있도록 해야겠다.