[TIL] 8/2 데브코스 W1D1

.·2021년 8월 4일
0

TIL이란?

Today I Learned

TIL : 일기와 같은 것
1. 오늘 무엇을 새롭게 알게 되었는지
2. 느낀점은 무엇인지 간단하게 요약
만약 새롭게 알게된 내용이 굉장히 많다면 시간을 내어 주제로 빼서 정리를 해보는 것은 어떨까요?

vs 주제 정리 : TIL과 다르게 배운 내용을 주제 별로 정리할 수도 있겠죠. 이런 경우에는, 글 주제에 따른 하나의 내용만 담아 봐요. 만약, 내용이 너무 길어진다면 주제를 (1), (2)로 구분해서 글을 나눠서 쓰는 것을 추천해요.

_ 프로그래머스 마케터 썸머님


자바 Java 이야기

프레임워크를 위한 JAVA(1)

1. JAVA 개발환경

  1. JDK
    • 자바를 써오면서도 항상 헷갈렸던 부분이다.
    • JDK 안에 JRE 안에 JVM..? 이라고 대략 들었었는데 실행? 환경? 😵
  • 자바 컴파일러
    • 자바를 가지고 작성한 자바 소스 코드를 자바 가상 머신이 이해할 수 있는 자바 바이트 코드로 변환
  • JVM(Java Virtual Machine, 자바 가상 머신)
    • 자바 바이트코드를 실행하는 실행기이다.
    • 자바 실행을 위해 필요하다.
  • JRE(Java Runtime Environment, 자바 실행 환경)
    • java(실행 명령어)만 가지고 있다. javac(컴파일 명령어)는 없음!
    • = 자바를 실행하기 위한 환경이다.
    • = 자바 개발을 위한 환경은 없다. 개발툴이 필요하다!
  • JDK(Java Development Kit, 자바 개발 키트)
    • JRE + 개발툴
    • java + javac 모두 가짐.

2. Build Tool

  • 단어 그대로 자동으로 빌드해주고 실행해주는 툴
    • ex> Gradle
  • gradle task: gradle이 수행하는 명령 단위
    • build.gradle에서 작성(추가) 가능
    • ex> task 명령어: gradle builde(빌드), gradle run(실행) 등등
  • plugins : gradle이 미리 만들어놓은 task sets
    • ex> id 'java', id 'application'...

3. IDE(통합 개발 환경, Integrated Development Environment)

  • 몰랐던 IntelliJ 단축키 (윈도우 기준)
    • ctrl+1 폴더창으로 커서 이동
    • Esc 코드 창으로 이동
    • shift+shift 파일 이름 검색
    • shift+ctrl+alt+T 리팩토링 메뉴(Refactor this)
      • ctrl+alt+C constant(상수) 추출
      • ctrl+alt+F field(필드) 추출
      • M method(메소드), V variable(변수), P parameter(매개변수)
    • shift+ctrl+A 명령어 검색
  • IntelliJ Cheat Sheet 단축어 모음 참고하기
  • tmi로 나는 ctrl+shift+enter Complete Current Statement(현재 문장 완성)와 alt+Insert Generate(코드 생성) 단축키를 제일 좋아한다.

4. 초보 개발자가 알면 좋을 정보

  1. Coding Convention

    • 클래스명: PascalCase
    • 메소드명, 변수명: lowerCamelCase (O), snake_case (X)
  2. Reference

    • Java에는 포인터 대신 레퍼런스라는 개념이 있다
    • 8개 primitive(boolean, byte, int, short, long, float, double, char) 제외
    • array는 reference로 취급한다. ex> int[]
  3. Constant Pool

    • String을 상수로 취급한다. Constant Pool에 저장
    String str = "";
    for (int i = 0; i < 10; i++) {
    	str += i;
    }
    • String에서 +=연산을 사용할 경우 매번 새로운 String이 생성된다.
      • 위의 예제와 같은 경우 ""~"0123456789"까지 Constant Pool에 11개의 constant가 들어가게 된다
    • 대신 StringBuffer를 사용하자!
      • string buffer를 따로 만들어서 글자를 조합하고, 조합이 끝나면 constant pool에 1번만 등록하는 방식
    • StringBuilder와 StringBuffer는 무슨 차이가 있는가?
  4. Object


TIL..

난 TIL이 오늘 배운 내용과 모든 지식을 정리해야하는 것이라고 생각했다. 그래서 아래와 같이 몇십줄을 오늘 데브코스에서 들은 강의 내용으로 꽉꽉 채우면서 고통받고 있었다...! 🤕

배움 기록에 대한 오해


ㅋㅋㅋㅋ보고 아주 찔림..!
나는 그동안(이틀밖에 안 되지만) 필기를 TIL이라고 착각하고 있었다. 그래서 TIL이 Today I Learned, 오늘 배운 것을 적어야하지만 내용이 너무 많았기에 밀리고 밀려서 월, 화 TIL을 오늘 수요일이 되어서야 적고 있다^^.. 이러면서 '이 많은 내용들은 어떻게 매일매일 정리하지?!' 라는 생각을 많이 했었다.
사실 오늘 작성한 TIL도 최대한 간추려서 몰랐던 내용들만 적은건데도 많아서 필기 느낌이 나긴 하지만 점점 쓰다보면 나아질 것 같다.
이 때문에 오늘 Yesterday I Learned가 되었지만 뭐.. 오늘부터 다시 제대로 하자~
그래도 위와 같이 오늘 배운 내용 적고 복습하면서 도움이 많이 됐다! 간간히 이런 식으로 필기를 정리해가며 블로그에 적는 것도 좋을 것 같다

참고

📖 배움 기록은 어떻게 하나요? written by 프로그래머스 마케터 썸머님✨

0개의 댓글