회고직장인들의 여름 방학이라고 할 수 있는 여름 휴가가 이번주에 있었다.다른 것보단 휴식이 필요한 시기에 적절하게 여름 휴가가 찾아와 휴식에 많은 시간을 할애하는 바람에 강의 수강과 더불어 복습하는 데에 소흘하였던 한 주 였다.하지만, 강의를 듣고 과제를 수행하는 데에는 최대한 지연이 없도록 노력하여 학습 진도율의 주간 목표인 80%에는 충족하였지만, 복습을 하며 이해하는 데에는 많은 부족함을 느끼기 때문에 개인적으로 이번 주간의 학습 진도율을 50% 정도 수준이라고 생각한다.이번주부터 컴퓨터 과학(CS, Computer Science)에 대해서 학습을 하기 시작하였으며, 그 중 컴퓨터 구조와 운영체제에 대해 학습을 진행하였다.무래도 CS 영역은 처음으로 깊이 있게 학습을 하는 것이라 이해가 안되는 부분..
명령어 집합- 명령어 집합(Instruction Set) 또는 명령어 집합 구조(ISA, Instruction Set Architecture)라고 한다.- 구조라는 단어가 붙는 이유는 CPU가 어떤 명령어를 이해하는 지에 따라 컴퓨터 구조 및 설계 방식이 달라지기 때문이다.- ISA는 CPU의 언어임과 동시에 CPU를 비롯한 하드웨어가 소프트웨어를 어떻게 이해할 지에 대한 약속이라고 할 수 있다.CISC (Complex Instruction Set Computer)CISC의 특성- 명령어의 포맷이나 길이에 관한 규칙이 없으어 가변적인 길이를 가질 수 있다.- 하나 이상의 사이클로 명령어를 실행하나, 이로 인하여 전체 명령의 수행 시간이 얼마나 걸릴 지 예측이 어렵다.- 복잡한 명령어를 사용하여 메모리 사..
회고1주차부터 4주차까지 진행된 학습 내용을 기반으로 JAVA 문제 풀이를 진행하였다.이번주의 경우, 다양한 이벤트들이 많이 발생하여 금주 목표였던 스트림에 대해서 복습을 진행하지 못하였다.2주 연속으로 과제 제출을 진행하지 못하였던 부분이 내심 마음에 걸려서 이번주는 주 초반에 빠르게 과제부터 선 진행하고 제출을 하였다. 다만, 진행하면서 느낀 점은 기본 구조를 갖추고 구현을 시작하는 것이 좋겠다라는 생각을 갖게 되었다.학습 내용- JAVA 문제풀이과제 내용로또 당첨 프로그램수행 목적- Scanner의 입력함수와 조건문 및 반복문과 배열을 통한 로또 당첨 로직 작성소스 코드HTML 삽입미리보기할 수 없는 소스코드 리뷰 로또 번호 생성과 추첨 진행, 결과를 나타내는 부분을 별도의 클래스(LottoSer..
회고- 컬렉션 프레임워크에 대해 이해가 안되는 부분은 바로 잡고 가야지 안 그러면 뒤에 오는 학습 내용을 따라가기 힘들 것 같단 생각에 주 초반에 복습을 하며 이해하는 데에 시간을 할애하였다.- 현재까지 람다식과 스트림의 생성까지는 이해가 되었지만 이후 중간 연산과 최종 연산 부분에 대해서 이해가 되지 않아서 그 부분에 대해 5주차 초반에 다시 복습을 하면서 정리해보려고 한다.- 과제를 수행함에 있어서 한 주의 학습을 마무리하고 수행하려다보니 에러가 발생한 부분에 대해서 바로 잡고 수정하다보니 제출 마감 기한을 넘기고 말았지만, 그래도 직접 코드를 짜면서 에러 수정도 하면서 개발 능력이 향상되고 있는 과정이라고 생각이 들었다.학습 내용- [자바/심화] 컬렉션 프레임워크 (1/2), [자바/심화] 컬렉션 ..
스트림(Stream)이란?- 배열, 컬렉션 등의 데이터를 하나씩 참조하여 코드를 실행할 수 있는 기능을 제공한다.- 람다식을 사용해서 간결하게 요소들을 다룰 수 있다.- 대량의 데이터를 병렬로 처리할 수 있다. 이를 통해 대량의 데이터에서 평균값, 최대값, 조건에 맞는 결과값, 통계 등을 쉽게 얻을 수 있다.- 데이터를 최종 처리하기 전에 여러 가지 중간 처리를 할 수 있다.- 스트림은 크게 3가지로 구성되며, 스트림 생성(원본 스트림) ▶ 중개 연산(필터링 스트림, 매핑 스트림) ▶ 최종 연산(최종 처리 스트림) 과정으로 구성되어 있다.스트림 종류- 자바에서 제공하는 스트림 클래스를 이용하면 여러 가지 데이터 소스에서 데이터 스트림으로 변환해서 일관성 있고 빠르게 처리할 수 있다.- 자주 사용되는 데..
람다식 (Lambda Expression)- 자바 8버전에서 처음 도입되었으며, 함수형 프로그래밍 스타일을 지원하는 표현식이다.- 익명 클래스를 더 간단하고 간결하게 작성할 수 있으며, 주로 추상 메소드가 하나만 있는 인터페이스와 함께 사용된다.- 메소드 대신 하나의 식으로 표현하며, 익명 함수 (Anonymous function) 이라고도 한다.- 코드가 간결해지고, 코드 가독성과 생산성이 높아진다는 장점을 지닌 반면, 재사용이 불가능하고 디버깅이 어렵고 재쉬함수로는 맞지 않다는 단점을 지니고 있다. 람다식 기본 문법- 자바에선 람다식을 익명 객체를 이용해서 구현하며, "->" 기호를 이용해서 객체 생성 없이 바로 추상 메소드를 함수처럼 구현한다.- 람다식 이전public abstract 리턴 타입 ..