본문 바로가기

728x90

전체 글

(302)
12. 22 TIL : 자바 & 스프링 1. 테스트 코드에서 객체를 생성하고 그 객체가 잘 생성된 것인지 확인하기 위해선 해당 클래스에 equals & hashCode()가 구현되어 있어야 한다 2. CGI 프로토콜에 따른 프로그램 안에서 웹 서버와 스크립트 엔진 사이 관계는 서블릿과 서블릿 컨테이너와 같은 관계다 - 두 개의 관계 모두 CGI 규약을 따른다 * 서블릿 : 자바에서 웹 애플리케이션을 만드는 기술, 자바에서 동적 웹페이지 구현을 위한 표준 1) 서블릿 "컨테이너" - 서블릿의 생성부터 소멸까지 라이프 사이클을 관리하는 역할 ** 스크립트 "엔진" vs 서블릿 "컨테이너" ~ 서블릿 컨테이너는 서블릿의 수명 주기를 관리하기 때문에(컨테이너는 수명 주기 관리 역할이 있을 떄 이름을 붙인다) 컨테이너라고 한다 - 서블릿 컨테이너는 웹..
12. 17 TIL : Stack 공부 외 1. Stack Stack은 자바의 Vector 클래스를 상속 Stack은 Stack가 기본 형태다 2. @ParameterizedTest, @ValueSource https://www.petrikainulainen.net/programming/testing/junit-5-tutorial-writing-parameterized-tests/ Writing Parameterized Tests With JUnit 5 - Petri Kainulainen This blog post describes how we can write parameterized tests with JUnit 5 and configure the arguments which are passed to our test methods. www.p..
12. 11 패스트캠퍼스 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 초격차 패키지 Online. 수강 후기 현재 진행 중인 해당 강의에 대한 짧은 후기를 남겨본다. 강의를 결제하고 난 후, 지금까지 듣는 강의 총평은.. 매우 만족스럽다. 시작은 요구사항을 가지고 단순하게 또는 하드코딩으로 구현한 MVC 패턴에서 조금씩 객체지향적으로 코드를 리팩토링해나가면서 구현하는 모습에서 객체지향적 관점에 대해 더욱 깊이 이해할 수 있었으며, 계속 배워나가는 중이다. 특히나 매 강의마다 프로젝트 하나씩 실습을 통해 이해를 돕는 점이 마음에 들었다. 다만 정말 중요한 점은 강사님의 구현을 그냥 보고만 끝낼 것이 아니라, 직접 구현해보는 과정을 거쳐야 더 손에 익는다는 점이다! 이는 꼭 이 강의뿐만 아니라 다른 어떤 공부, 학습을 할 때에도 중요한 점이다. 그렇지 않다면 사람에 따라 그냥 돈 낭비했다는 생각이 들 수도 있다. ..
CS 강의 12. 시간 자원과 시간복잡도 출처 : 내일배움캠프 0. 시간 자원 0 - 1. CPU 시간 자원 컴퓨터는 한정된 CPU를 여러 프로세스가 나누어 사용하므로, 효율적으로 사용하기 위해 CPU 스케줄러를 통해 시간 자원을 관리한다. 대부분 OS가 주관하지만, 사용자로서 잘 알고 있어야 한다 0 - 2. 메모리 시간 자원 CPU와 주 메모리의 시간 자원은 컴퓨터의 주 메모리 공간에 로드되어 CPU를 통해 연산하기 때문에, 연산하는 동안 사용하는 메모리를 점유 가능한 시간이 프로그램의 시간 자원이 된다. 알고리즘 테스트도 이 시간 자원을 최대한 효율적으로 줄이기 위한 목적이다 - 프로그램의 시간 자원은 기본적으로 메모리 상에 데이터를 조회/연산을 수행하는 동작 당 1개의 연산 단위로 두고 있다 => 수행 시간이 실행 환경에 따라 달라질 수..
12.05 TIL : GROUP BY 절에서 HAVING COUNT의 역할 외 GROUP BY절에서 특정 칼럼에 대한 COUNT 조건을 설정하고 싶을 떄 having count를 사용한다 + SYS_CONECT_BY_PATH + LAPD, RPAD
12. 03 TIL : 데브원영의 카프카 카프카 커넥트 공식 컴포넌트 중 하나 커넥트와 커넥터 1. 카프카 커넥트 커넥터를 동작하도록 실행해주는 프로세스 * 커넥트를 실행하기 위해 먼저 실행되어야 한다 1-1) 단일 실행 커넥트 1-2) 분산 실행 커넥트, 카프카 커넥트 클러스터 2개 이상의 커넥트가 하나의 클러스터로 묶인 형태 : 커넥트 장애 시 대응할 수 있다 ~ 실질적으로 상용에 사용할 수 있다 2. 카프카 커넥터 커넥터는 데이터를 실질적으로 처리하는 코드가 담긴 jar 패키지와 같다. 파이프라인에 필요한 메서드 등이 포함되어 있다 => 토픽에서 DB로 데이터를 보내고 싶을 때 커넥터의 insert 메서드를 구현해 커넥터를 실행한다 2-1) 싱크 커넥터 : 특정 토픽의 데이터를 DB에 저장하는 역할, 컨슈머와 같은 역할 2-2) 소스 커넥..
11. 30 TIL : Runtime Exception - Runtime Exception에 대해 ** 값이 Null인 것이 Null Pointer Exception 발생보다 일반적으로 낫다 = 예외는 다른 로직으로 어떻게 전이될 지 알 수가 없다 ** 값이 null일 수도 있는 할당 시, try - catch 문으로 감싸주면 좋다 그래서 String a = b + " ";보다 String a = String.valueOf(b);이 낫다 ( " "로 문자열 할당하는 건 Null Pointer Exception이 발생할 수 있고, String.valueOf()의 경우 null이면 예외가 발생하지 않고 그대로 null로 값이 할당된다) + 추가로.. String a = String.valueOf(b != null ? b : "default");로 null일 경우..
CS 강의 11. 공간 자원과 공간 복잡도 출처 : 내일배움캠프 1. 공간 복잡도 1 - 1. 공간 복잡도 개요 - 프로그램을 실행 및 완료하는데 필요한 저장공간의 양을 뜻한다 = > 프로그램 복잡도는 시간 복잡도와 공간 복잡도로 나눌 수 있다 시간 복잡도 : 얼마나 빠르게 실행되는지 공간 복잡도 : 얼마나 많은 저장 공간이 필요한지 ~ 통상 둘 다를 모두 만족하기는 어렵다 - 시간과 공간 복잡도는 반비례하는 경향이 있다 - 최근 대용량 시스템이 보편화되며, 공간 복잡도보다 시간 복잡도가 낮은 것이 우선되는 추세 - 알고리즘 풀이시, 시간 복잡도를 우선하자 - 다만, 그렇다고 공간 복잡도를 소홀히 하면 안된다 총 필요한 저장공간 - 고정 공간(알고리즘과 무관한 공간) : 코드 저장 공간, 단순 변수 및 상수 - 가변 공간(알고리즘 실행과 관련있는..

728x90