20210112-TIL

나영원·2021년 1월 13일
0

T.I.L.

목록 보기
109/145

공부할 내용

  • 스프링 복습 및 질문 정리해서 보내기
  • 오후 자료구조 & 알고리즘 수업
  • 저녁 스프링 수업
  • TiL 정리 및 Git & 블로그 업데이트

오늘 공부한 것 & 배운 내용

스프링 복습

  • @Bean과 @Componenet 차이점

    • 개발자가 컨트롤이 불가능한 외부 라이브러리들을 Bean으로 등록하고 싶은 경우에 사용한다
    • 직접 컨트롤이 가능한 Class들의 경우 @Componenet를 사용한다
    • 개발자가 생성한 클래스에는 @Bean이 선언가능 하지 않다
  • AOP 용어

    • Target
      • AOP를 활용해 부가기능을 부여할 대상을 얘기한다
      • 보통은 비지니스 로직이 된다
    • Aspect
      • 부가기능의 모듈처럼 작성하는 것이다
      • 실질적 기능인 어드바이스와 어디에 적용할것인지를 얘기하는 Pointcut의 결합으로 이루어진다
      • 실제로 AOP를 커스텀으로 사용하기 위해 작성하게되면 이 어스펙트를 작성한다고 봐도 된다
    • Advice
      • 부가기능을 담은 구현체를 얘기한다
      • 에스펙트가 언제 무엇을 할지 정의하고 있다
    • PointCut
      • 부가기능이 적용될 대상(메소드)를 선정하는 방법을 얘기한다
      • 어드바이스를 적용할 조인포인트를 선별하는 기능을 정의한 모듈을 얘기한다
    • JoinPoint
      • 어드바이스 가 적용될 수 있는 위치를 얘기한다
      • 스프링에서는 메소드 조인포인트만 제공하고 있어서 메소드 고정이라고 보면된다

알고리즘 문제풀이

문자열내림차순으로배치하기

  • 풀이

    import java.util.Arrays;
    import java.util.Collections;
    
    class Solution {
        public String solution(String s) {
    
            char[] charArray = s.toCharArray();
    
            Character[] characters = new Character[charArray.length];
    
            for (int i = 0; i < charArray.length; i++) {
                characters[i] = charArray[i];
    
            }
    
            Arrays.sort(characters, Collections.reverseOrder());
    
            for (int i = 0; i <characters.length ; i++) {
                charArray[i] = characters[i];
            }
    
            return String.valueOf(charArray);
        }
    }
    • 지난번 알고리즘 문제풀때 낑낑대면서 생각했던 알고리즘을 사용했더니 쉽게 풀수 있었다

      • 열심히 고민한건 언젠간 사용할 수 있구나라는 생각을 들게해준 문제였다

내일 공부할 내용

  • 알고리즘 문제풀이
  • 운영체제&자료구조 복습 및 과제
  • 스프링 복습
  • 스프링 수업
  • TiL 정리 및 Git & 블로그 업데이트
profile
배우는 개발 일기

0개의 댓글