2024.05.27.월.TIL 내일배움캠프 29일차 Java Spring 숙련주차

김기남·2024년 5월 27일
0

[오늘의일정]
09:00 ~ 10:00 코드카타
10:00 ~ 10:30 팀회의
10:30 ~ 12:00 숙련주차 학습
12:00 ~ 13:00 점심스
13:00 ~ 14:00 기술면접 준비
14:00 ~ 14:30 기술면접
14:30 ~ 15:00 팀장선발
15:00 ~ 16:00 기술면접 내용정리
16:00 ~ 18:00 숙련주차 학습
18:00 ~ 19:00 저녁스
19:00 ~ 21:00 개인과제 진행, TIL 작성

[Java] 약수의 개수와 덧셈
두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.

class Solution {
    public int solution(int left, int right) {
        // 커다란 반복문 안에 left -> right
        // 약수의 개수를 구하는 반복문 투입
        int answer = 0;
        
        for (int i = left; i<=right; i++){
            int n = 0;
            for (int j = 1; j<=i; j++){
                if(i%j==0){
                    n++;
                }
            }
            if(n%2==0){
                answer +=i;
            } else{
                answer -=i;
            }
        }
        
        return answer;
    }
}

[SQL] 상품 별 오프라인 매출 구하기
PRODUCT 테이블과 OFFLINE_SALE 테이블에서 상품코드 별 매출액(판매가 * 판매량) 합계를 출력하는 SQL문을 작성해주세요. 결과는 매출액을 기준으로 내림차순 정렬해주시고 매출액이 같다면 상품코드를 기준으로 오름차순 정렬해주세요.

SELECT A.PRODUCT_CODE, SUM(A.PRICE*B.SALES_AMOUNT) AS SALES
FROM PRODUCT A LEFT JOIN OFFLINE_SALE B ON A.PRODUCT_ID = B.PRODUCT_ID
GROUP BY A.PRODUCT_CODE
ORDER BY SALES DESC, A.PRODUCT_CODE

[Spring]
Entity : Comment
RequestDTO : CommentRequestDTO
ResponseDTO : CommentResponseDTO
Controller : CommentController
Service : CommentService
Repository : CommentRepository

[모의기술면접]
-RESTful한 API를 설계하는 장점은?
RESTful API 는 네트워크 애플리케이션을 설계하기 위한 일련의 규칙 및 프로토콜
HTTP 메서드 POST,GET,PUT,DELETE 를 해당 api에 적절하게 사용하였을때,
restful하게 api를 설계하였다고 할 수 있습니다.
이를 통해 서로 다른 소프트웨어간 통신에서
단순성과 효율성, 유연성, 확장성 등의 장점을 가지며 더 뛰어난 성능 및 유지 관리가 가능
+장점에 대한 서술 (예시)

-적절한 관심사 분리가 필요한 이유는?
Controller, Service, Repository 3계층 분리
Controller 클래스 하나로 모든 API를 처리
한 개의 클래스에 너무 많은 양의 코드가 존재하기 때문에 코드를 이해하기 어렵습니다
현업에서는 코드의 추가 혹은 변경 요청이 계속 생길 수 있습니다
클라이언트의 리퀘스트를 컨트롤러가 받아서 서비스에 전달 서비스에서 db조회나 등록이 필요하면 레포지토리
서비스에서 처리된 결과를 컨트롤러가 받아서 클라이언트에게 리스폰스
+논리 추가

-세터를 무분별하게 사용하면 안되는 이유
캡슐화, 데이터 무결성 침해

-NoSQL RBDMS 의 차이
비관계형데이터베이스 / 관계형데이터베이스

-객체지향 프로그램이란?
객체지향 프로그래밍은 실세계에 존재하고 인지하고 있는 객체(Object)를 소프트웨어의 세계에서 표현하기 위해 객체의 핵심적인 개념 또는 기능만을 추출하는 추상화(abstraction)를 통해 모델링하려는 프로그래밍 패러다임을 말한다.

  • 기술면접 point
    기술적 역량에 대한 평가
    기술에 대한 견해가 어떻고, 논리적으로 접근하는가에 대한 평가
    티키타카가 되면 베스트
    핵심키워드에 대한 정의를 하고
    특징과 배경에 대해 서술하고
    나의 경험은 이러했다

  • 기술면접 학습방향
    개념에 대해 정리하고 상대방에게 설명할 수 있도록 TIL에 정리해보자

profile
새로운 시작~!

0개의 댓글