[TIL] 2021-08-10

June·2021년 8월 10일
0

TIL

목록 보기
1/9

Facts

  • 인턴 과정에서 진행 중인 프로젝트의 백엔드 부분을 80퍼센트정도 진행
  • 코드숨 코드 리뷰를 받고 알려주신 키워드에 대해 찾아보고 정리함
  • TIL을 처음 작성함
  • 거의 두달 만에 알고리즘 문제를 품

Feelings

  • 항상 SQL을 짜고 나면 끝인 것처럼 했는데 내일은 업무 시간에 파라미터 검증도 한번 찾아보고 적용해보자
  • 키워드들을 찾아보고 몰랐던 것들을 알게되었을 때 성장한다는 느낌이 들어 좋았다
  • TIL 자체가 목적이 되지 않고, TIL은 성장하는데 도구로 잘 이용하자
  • 알고리즘을 바쁘다는 핑계로 두달 가량 손을 놓았더니 역대 최저 실력인듯하다. 다시 꾸준히 해야겠다.

Findings

매직 넘버

프로그래밍에서 상수(static final) 로 선언하지 않은 숫자를 매직 넘버, 문자열을 매직 리터럴이라 한다. 이를 정적(static)이고 변경 불가능(final)한 상수로 선언하여 사용하자.

코드에서 상수로 선언되어 있지 않은 숫자, 문자열은 무엇을 의미하는지 확신할 수 없다.
따라서 그 의미를 파악하기 위해 클래스를 이해하고, 코드의 흐름을 이해하기 위한 시간과 노력이 필요하게 된다.
이를 상수로 선언하게 됨으로써 불분명한 값들은 이름을 가지게 된다.
이름을 가지게 된 값은 그 이름만으로도 어떠한 역할을 하는지 알수 있게된다.

https://javabom.tistory.com/28
https://ko.wikiqube.net/wiki/Magic_number_(programming)


    public static void main(String[] args) {
        InetSocketAddress address = new InetSocketAddress(8000);
        ...
     }

코드만 보고서는 8000이 무엇을 의미하는지 알기 어렵다.

    private static final int PORT = 8000;

    public static void main(String[] args) {
        InetSocketAddress address = new InetSocketAddress(PORT);
    ..
}

코드만 봐도 8000이 PORT를 의미하는 것을 알 수 있다.

/ 의 의미

HttpContext란 URI 경로에서 핸들러로의 매핑을 나타낸다. 한번 만들어지고나면, 모든 요청은 핸들러 오브젝트를 불러서 처리된다. 컨텍스트는 경로로 구분된다.

여기서 path는 root URI 경로를 나타낸다.

'문자열'.equals(변수) vs 변수.equals('문자열')

만약 변수.equals("문자열")일 경우에, 변수가 null일 경우 NullPointerException이 발생하는 문제가 있다. 그래서 "문자열".equals(변수)를 하면 그 문제를 해결 할 수 있다. 찾아본 바에 의하면, 오히려 NullPointerException 문제를 터트릴 수 있을 때 확실히 터트리는 것(?)을 선호해서 전자를 쓰는 사람도 있다고 하지만, 개인적으로는 후자가 나은 것 같다.

if (method.equals(GET)) {

vs

if (GET.equals(method)) {

Affirmation

할 수 있다 생각하면 할 수 있다.

0개의 댓글