전체 글 375

22.09.20 한참 멀었다...

남과 비교하지 말고, 어제의 나와 비교하기로 해놓고, 힘든 상황이 오니까 남과 비교하면서 잠깐 구렁텅이 빠졌었다. 다행히 금방 나오긴 했지만, 그새를 못참고 비교하다니...아직 한참 멀었다. 남들이 잘해진다고 내가 못해지는 건 아니다. 그냥 힘들어도 이해하려고 노력만 해도 무조건 어제보다 나아진 내가 있다. 개꿀이다. 그러니까 좀만 참고 힘내자. 근데 너무 여유부리진 말자.

일상/일기 2022.09.20

21_재귀 함수_22.09.20

학습 목표 재귀 함수 개념 이해 재귀적 사고 연습 재귀 함수 >의미 및 특징 : 원래의 자리로 되돌아오는 함수 : 호출 시, 다시 본인(함수)을 호출하는 함수. : 몸체에 본인을 호출하는 코드가 존재함 : 함수가 해결되면, 제일 마지막(내부)부터 제일 처음(외부)까지 거슬러 올라가면서 계산이 이루어짐. >조건 문제를 더 작은 단위로 쪼갤 수 있어야함. 재귀 호출이 종료되는 시점을 설정해야함. >장점 : 반복문을 사용하지 않음 : 코드가 간결하고 수정이 용이함(반복문 X) : 변수의 양을 줄일 수 있음. (오류를 줄일 수 있음) /* 22.10.19 변수의 양을 줄일 수 있는 장점 외에는 사실 명확한 장점은 아닌 것 같다. 하지만 재귀로만 풀 수 있는 문제들이 있고, 이를 분명하게 정리해두면 장점으로 표현..

20_[Section 1] 회고_22.09.19

짧고도 길었던 Sectrion 1이 끝이 났다. 괜히 묘한 감정이 든다...ㅋㅋ 지금껏 배우고 느끼고 생각했던 것들을 돌아보며 정리하겠다. 1. 생각없이 해도 생각보다 좋다! 난 걱정이 참 많은 성격이다. 뭐 좋을 때도 있지만, 내가 쌓았던 커리어를 돌아보면 내 진로에 대해서는 최악인 성격이라고 생각한다. 코드스테이츠 부트캠프를 신청할 때도 그랬다. 신청부터 걱정했고, 심지어 합격하고 나서도 걱정했다. ㅋㅋ근데 아무래도 부트캠프를 하는 사람 중에서 나 같은 사람이 많았던 것 같다. 부트캠프 극 초반에는 꽤나 강력한 정신 개조(?) 교육이 있다. 근데 그게 나한테는 참 큰 도움이 됐다. 많은 내용이 있었지만, 아래의 두 내용이 가장 크게 와닿았다. '남과 비교하지 말고 어제의 나와 비교하라' '실패하는 건..

20_기술 면접 연습, 미니 잡 서칭_22.09.19

기술 면접 연습 >진행 : 원하는 질문을 3개 골라 답변을 준비하여 기술 면접 연습에 임했다. : 각각의 질문이 답변 혹은 질문 주제에 대한 추가적인 질문을 예상하며 준비했다. >느낀점 : 준비하면서 생각보다 내가 더 대충 기억하고 있다는 것을 깨달았다. (메타인지...) : 나름 그때 그때 회고하면서 잘 정리했다고 생각했는데, 오늘 면접을 준비하면서 더 알게된 경우가 많았다. : 한 번에 완벽히 정리는 못한다고 생각하고, 후에 다시 공부하고 그때그때 추가되는 정보와 이해를 더 기록하자. // 아래 단 질문은 지금 보기도 힘겨운데 나중에 보면 많이 역할 것 같다...참고 그때 수정해보도록 하자. 미니 잡 서칭_책 읽기 >회고 : 코드스테이츠의 세심함에 다시 한 번 놀란다. 이따금 구성된 프로그램을 보면서..

19.01_스레드_22.09.16

학습 키워드 스레드 싱글 스레드와 멀티 스레드 스레드 생성 방법 스레드 실행 스레드 동기화 스레드의 상태와 제어 스레드, Thread >의미 : 프로세스 내에서 실행되는 소스 코드의 실행 흐름 : 운영체제로부터 프로세스가 제공받은 데이터와 컴퓨터 자원을 활용하는 하나의 실행 흐름 >프로세스 : 실행중인 프로그램 : 자원, 데이터, 스레드로 구성 >스레드 종류 메인 스레드 : 시작점 스레드 : 프로그램이 시작될 때, 가장 먼저 시작되는 스레드 작업 스레드 : 메인 스레드가 아닌 스레드 >프로그램 종류 (스레드에 따른) 싱글 스레드 프로그램 : 메인 스레드 하나만 존재하는 프로그램 : 하나의 작업만 실행하는 프로세스 멀티 스레드 프로그램 : 메인 스레드와 한 개 이상의 작업 스레드가 존재하는 프로그램 : 여..

18.06_파일 입출력_22.09.15

학습 키워드 바이트 기반 스트림 문자 기반 스트림 파일 클래스 InputStream, OutputStream >의미 및 특징 : 입력과 출력을 다루기 위한 스트림 : 단방향으로 데이터를 전송하는 스트림 : 스트림의 대상(데이터 송수신의 대상)이 누구냐에 따라 다른 입출력 스트림을 사용해야한다. 바이트 기반 스트림 >의미 및 특징 : 입출력 단위가 byte. >FileInputStream : 데이터의 대상이 File인 입력 스트림 : File로부터 데이터를 입력받는 스트림 : File을 읽을 수 있음 : 해당 File은 IDE의 Workspace에 존재해야한다 import java.io.FileInputStream; public class ExampleInput{ public static void main..

18.05_애너테이션_22.09.15

학습 키워드 애너테이션 표준 애너테이션, 메타 애너테이션 사용자 정의 애너테이션 Annotation >의미 : 프로그램 실행에 영향을 끼치지 않는 동시에 정보를 제공하는 역할을 한다. : 주석과 비슷한 목적성을 띈다. 하지만 정보를 제공하는 대상에 차이가 있다. >주석(comment)와 애너테이션(annotation)의 차이 주석: 소스 코드를 읽는 사람(개발자)에게 정보를 제공 애너테이션: 특정 코드를 사용하는 프로그램에게 정보를 제공 >용도 컴파일러에게 문법 에러를 체크하도록 정보 제공 프로그램 빌드 시, 코드를 자동으로 생성하도록 정보 제공 런타임에 특정 기능을 실행하도록 정보 제공 >종류 1. 표준 애너테이션 : 자바에서 기본으로 제공하는 애너테이션 2. 메타 애너테이션 : 애너테이션에 붙이는 애..

18.04_메서드 레퍼런스_22.09.15

메서드 레퍼런스 >의미 및 특징 : 람다식처럼 특정 조건에서 좀 더 간결한 코드를 위해서 사용하는 방법 : 메서드의 입력값과 출력값의 반환타입이 유추하기 쉬울 경우에 사용 : 메서드를 호출하는 것 같지만 사실 람다식처럼 익명 객체를 생성하고 이를 함축한 표현이다. (= 객체라는 뜻!) : 람다식은 추상 인터페이스의 메서드를 간결하게 표현하는 것이고, 메서드 레퍼런스는 정의된 메서드를 간결하게 표현하 는 것. >정적 메서드 참조 클래스명::메서드명 >인스턴스 메서드 참조 참조 변수명::메서드명 >생성자 참조 클래스::new //깊은 이해를 위해서는 익명 객체와 람다에 대한 이해가 더 필요해 보인다. //이후에 더 공부해서 람다와의 비교를 더 추가해서 기록해 두자