TIL 17주차

이상인·2023년 9월 4일
0

9월 4일

Math.round() 사용

장점

  • 간단하고 직관적입니다.
  • 기본 Java 수학 함수를 활용합니다.

단점

  • 정확한 반올림을 보장하지 않을 수 있습니다. (예: 4.555를 반올림하면 4.56이 아니라 4.55로 반올림될 수 있음)

BigDecimal 사용

장점

  • 높은 정밀도를 제공합니다.
  • 정확한 반올림이 가능합니다.
  • 반올림 모드를 선택할 수 있습니다.

단점

  • 코드가 약간 더 복잡할 수 있습니다.

String 포맷팅

장점

  • 간단하게 사용할 수 있습니다.
  • 문자열로 형식화하기 때문에 결과를 출력할 때 유용할 수 있습니다.

단점

  • 문자열로 변환하고 다시 숫자로 변환하는 오버헤드가 있을 수 있습니다.
  • 문자열 형식으로 변환되어 일시적인 문자열 객체를 생성합니다.

Java 8 이상의 스트림 사용

장점

  • 함수형 프로그래밍 스타일을 사용하여 코드를 작성할 수 있습니다.
  • 스트림은 병렬 처리를 지원하여 대규모 데이터에 유용합니다.

단점

  • 코드가 다소 복잡할 수 있으며, Java 8 이상이 필요합니다.

9월 5일

채팅기능 구현 시 문제

  • 스톰프를 메시지브로커 역할로 사용할 때 스톰프가 백엔드 애플리케이션에 결탁돼서 운영되기 때문에 메시지가 많아지면 스케일 아웃이 힘들다.
    이에 대한 핸들링 전략이 필요하다.

9월 6일

알림기능

  • 단방향 통신방식을 선택했다면 서버에서는 클라이언트의 상황에 관심이 없어야 한다.
    실시간으로 클라이언트와 상황이나 무언가를 주고받는다면 그 순간에만 api를 호출하거나 웹소켓을 사용해야 한다.

9월 7일

해시태그
M To M : pk가 없다, 컨트롤하기 어려워 변경시 문제발생가능
중간 테이블을 사용하는 경우:

장점:

관계 추가 및 관리 용이성: 중간 테이블을 사용하면 관계를 더 명확하게 정의하고 관리할 수 있습니다. 특히 추가 정보를 포함하는 경우, 중간 테이블은 해당 정보를 저장하는 데 효과적입니다.
추가 정보 저장: 중간 테이블은 관계 자체에 추가 정보를 저장할 수 있는 유용한 장소입니다. 예를 들어, "포스트와 태그 간의 연결일자"와 같은 정보를 저장할 수 있습니다.
유연성: 중간 테이블을 사용하면 미래에 추가적인 관계 또는 속성을 쉽게 추가할 수 있습니다.
단점:

복잡성: 중간 테이블은 데이터 모델을 복잡하게 만들 수 있습니다. 이로 인해 쿼리 작성 및 유지보수가 어려워질 수 있습니다.
성능 영향: 중간 테이블을 사용하면 관계를 쿼리할 때 조인 연산이 추가될 수 있으며, 이는 성능에 영향을 미칠 수 있습니다.
데이터 무결성: 중간 테이블을 사용하는 경우 데이터 무결성을 보장하기 위해 추가적인 검증이 필요할 수 있습니다.
중간 테이블을 사용하지 않는 경우:

장점:

간단한 데이터 모델: 중간 테이블을 사용하지 않으면 데이터 모델이 간단해질 수 있으며, 이로 인해 쿼리 작성 및 유지보수가 더 쉬워질 수 있습니다.
성능: 중간 테이블을 사용하지 않으면 조인 연산이 없으므로 쿼리 성능이 향상될 수 있습니다.
단점:

추가 정보 저장의 어려움: 추가 정보를 저장하려면 중간 테이블이나 다른 방식을 사용해야 합니다.
유연성 제한: 미래에 추가 관계나 속성을 쉽게 추가하기 어렵습니다.
데이터 무결성: 데이터 무결성을 보장하기 위해 수동으로 검증 및 관리해야 할 수 있습니다.

유연성 매우 중요! 중간테이블 생성!

9월 8일

지도 API기능 사용

후보


0개의 댓글

관련 채용 정보