프로젝트에서 선배 개발자들이 이러한 용어를 사용하는 것을 보았다.

무엇인가 해서 조사해보니, Github같은 플랫폼에서 소통할 때 약어로 많이 사용한다고 한다.

 

- AFAIK
    - As Far As I Know
        - 내가 아는 바로는
- FYI
    - For Your Information
        - 참고로
- GOTCHA
    - I've Got You
        - 알았다! 해냈다!
- IM(H)O
    - In My (Humble) Opinion
        - 내 개인적인 의견으로는
- LGTM / SGTM
    - Looks Good To Me / Sounds Good To ME
        - 난 괜찮은 것 같은데?
- SSIA
    - Subject Says It All
        - 타이틀만 봐도 알아.
- TBD
    - To Be Determined
        - 아직 결정되지 않았어.
- TGIF
    - Thank God, It's Friday
        - 야호! 오늘은 금요일이야!
- TIA
    - Thanks In Advance
        - 미안하지만 잘 부탁해!
- TL;DR
    - Too Long. Didn't Read
        - 너무 길어서 안 읽었어.
- WFM
    - Works For Me
        - 나는 되더라.
- PTAL
    - Please Take Another Look
        - 제발 좀 봐주세요.
        - Reviewer가 Review를 해주다가 Stop된 상태에서 Review를 부탁할 때 쓴다.
- TNX / THX
    - Thanks
        - 고마워!

반응형

개요

- 서버가 없는 것이 아니라, 개발자가 직접 서버를 관리할 필요가 없도록 해주는 서비스를 의미한다.

- 백엔드의 소스를 작은 함수로 쪼개어, AWS Lambda와 같은 서버에 업로드 하면, 그것을 호출하여 사용할 수 있다.

 

등장배경

- 과거, 서버를 운용하기 위해 하드웨어 / 소프트웨어를 직접 수동으로 관리했다.

- 예상치 못한 요인(정전, 과도한 트래픽 등)으로 서버가 다운되고는 했다.

- AWS EC2가 등장하여 돈만 내면 최신식 서버를 빌려 사용할 수 있게 되었고, 큰 회사들이 서버의 하드웨어 부분을 책임지고 관리하면서, 예기치 못한 서버의 문제를 방지할 수 있게 되었다.

- 서버의 소프트웨어 부분은 여전히 직접 관리해야 했으므로, 개발자가 서버단의 관리나 설정에 신경쓸 필요가 없도록 하기 위해 등장했다.

 

장점

- 24시간 가동하는 일반적 서버와 달리, Serverless는 요청이 오는 순간에만 함수를 깨워 작업을 수행하며, 수행 횟수 만큼만 요금을 지불하면 되고, 100만번의 함수 수행에 200원 꼴이므로 저렴하다.

- 서버의 스케일을 따로 관리할 필요가 없다.

- 서버를 관리하고 설정할 필요 없이, 개발자는 비즈니스 로직에만 집중하면 되므로, 빠른 생산성이 보장된다.

 

단점

- 서버 단의 함수를 호출할 때마다, 잠을 자고 있는 함수를 깨워야 하므로, 약간의 시간이 소요된다.

    - 단, AWS Lambda에서는 자주 호출되는 함수를 파악하여, 해당 함수를 상시 대기하도록 하기도 한다.

- 서버를 통제할 수 없으므로, 제공되는 서버 환경에 의존하게 된다.

    - 제공하는 서버리스 환경에 맞춰 애플리케이션의 구조가 맞춰지기 때문에, 한 서버리스에서 다른 서버리스로 마이그레이션하기 힘들다.

 

참고

- serverless.com

- AWS Lambda

- Google Cloud Function

- Apex

- Terraform

- https://www.youtube.com/watch?v=ufLmReluPww 

 

반응형
  • 개요
    • 하나의 객체가 여러 타입을 가질 수 있는 것을 의미한다.
  • 목적
    • 사용자의 편의성을 보장하자.
    • 유지보수를 편하게 하자.
      • 객체 지향 설계로 만든 코드의 경우, 상위 클래스 타입을 공유하는 하위 클래스 객체를 교환하는 것으로, 코드 수정량을 줄일 수 있다.
  • 수단
    • Upcasting
      • 상위 클래스 타입을 가지는 하위 클래스 객체를 생성하는 것이다.
    • Overriding
      • 상위 클래스의 메서드와 동일한 시그니처를 하위 클래스에서 재정의 하는 것이다.
      • 상위 클래스의 자료형을 가지는 하위 클래스 객체의 메서드를 실행하면, 동적으로 상위 클래스가 아닌 하위 클래스에서 재정의된 메서드를 실행한다.
    • Overloading
      • 메서드의 이름은 같되, 매개변수만 바꾸어 여러 메서드로 정의한 것이다.
      • 매개 변수의 타입, 순서, 갯수만 바꾸어도 같은 이름의 함수의 호출로, 서로 다른 함수를 호출할 수 있다.
반응형
  • 개요
    • 구체적인 사물에서, 목적 달성에 필요한 공통적인 특성만을 추출 / 재조합, 추상적으로 분류하여, 클래스로서 모델링 하는 것이다.
      • 예) 사람 클래스를 설계할 때, 관찰자에 따라 의미 있는 특성
        • 은행 : 나이, 직업, 연봉
        • 병원 : 시력, 몸무게, 혈액형
  • 목적
    • 클래스나 데이터베이스의 테이블 등을 설계하자.
  • 수단
    • class 키워드로 구현
    • 객체 그 자체의 공통적인 특성을 생각하고, 목적에 맞는 것만 추출하여 하나의 클래스로 만들 수 있다.
      • 예) 로봇 강아지를 만들자.
        • 로봇 강아지의 목적을 생각한다.
          • 24시간 감시하여, 낯선 사람이 집에 침입하면 주인에게 경고한다.
        • 강아지1, 강아지2, 강아지3, ..., 강아지n의 공통적인 특성을 생각한다.
          • 강아지1의 개인기인 두 발로 걷기는 모든 강아지에 해당되지 않기에 제외한다.
          • 모든 강아지가 주인을 사랑한다는 공통적인 특성이기에 추출한다.
          • 모든 강아지가 밥을 먹고, 잠을 자지만, 로봇 강아지의 목적에 맞지 않으므로 제외한다.
  • 출처
반응형
  • 개요
    • 상위 클래스의 특성을 하위 클래스에서 상속하여 재사용, 확장하는 것이다.
    • 상속의 관점은 부모 - 자식 관계라기 보다, 동물 - 포유류의 관계에 가깝다.
    • 상속 관계는 [하위 클래스 is a kind of 상위 클래스]를 만족해야 한다.
      • 펭귄 is a kind of 조류
      • 펭귄 is a kind of 동물
      • 고래 is a kind of 동물
      • 조류 is a kind of 동물
  • 목적
    • 코드를 재활용하여 생산성을 높이자.
  • 수단
    • extends
반응형
    • 개요
      • 객체 외부로부터 내부 정보를 은닉한다.
    • 목적
      • 사용자에 의한 객체의 오용을 방지하자.
        • 객체의 내부 데이터를 외부에서 참조할 수 없으므로, 내부 데이터의 변화가 다른 객체에 영향을 끼치지 못한다.
      • 유지보수를 간편화 하자.
        • 객체 내부가 바뀌어도, 사용 방법은 같으므로, 리팩토링으로 인한 객체의 개수 범위가 해당 객체로 한정 된다.
    • 수단
      • 접근 제어자

반응형

+ Recent posts