본문 바로가기

전체 글

(48)
Stream stream 객채로 List에 있는 요소들을 순차적으로 순차적으로 처리할 수 있는 파이프라인을 만들고mapToInt로 기본형 스트림 매핑후 인자로 변환할 값을 준다.(Integer::intValue)마지막에 .toArray로 배열로 변환
RDB와 NoSQL RDBMS : 관계형 데이터베이스 관리 시스템을 의미하며 모든 데이터를 2차원 테이블 형태로 표현하는 데이터베이스이고 외래 키(foreign key)로 테이블 간 Join이 가능 장점 : 정해진 스키마에 따라 데이터를 저장해 명확한 데이터 구조를 보장하며 각 데이터를 중복없이 한 번만 저장할 수 있다. 단점 : 시스템이 커질 경우 Join문이 많은 복잡한 쿼리가 만들어 질 수 있다. NoSQL : 관계형 데이터베이스가 아닌 다른 형태의 데이터 저장 기술로 테이블 간 관계를 정의하지 않고 일반적으로 테이블 간 Join도 불가능 장점 : 스키마가 없기 때문에 유연하고 자유로운 데이터 구조를 가지고 언제든 저장된 데이터를 조정하고 새로운 필드를 추가할 수 있다. 단점 : 데이터 중복이 발생할 수 있고 명확한 ..
시간복잡도와 공간복잡도 시간 복잡도 : 특정 알고리즘이 어떤 문제를 해결하는데 걸리는 시간 같은 결과가 나오는 소스라면 시간이 적게 걸리는 것이 좋은 소스 공간 복잡도 : 작성한 프로그램이 얼마나 많은 공간(메모리)을 차지하는지 분석하는 방법 하지만 예전에 비해 컴퓨터 성능의 발달로 메모리 공간이 넘쳐나다 보니 중요도는 떨어짐
절차지향 / 객체지향 / 함수형 프로그래밍이란 절차지향 : 일이 진행되는 순서대로 프로그래밍하는 방법단점 : 각각의 코드가 순서에 민감하게 연결되어 유지보수가 어려움 장점 : 코드 가독성이 좋고, 컴퓨터의 처리구조와 비슷해 실행 속도가 빠름 단점 : 각각의 코드가 순서에 민감하게 연결되어 유지보수가 어려움 객체지향 : 모든 데이터를 객체로 취급하고 객체가 처리 요청을 받을 때 객체 내부에 있는 기능을 사용해 처리하는 방법 장점 : 코드의 재사용 가능(확장, 유지보수 용이) 단점 : 처리 속도가 상대적으로 느림 함수형 프로그래밍 : 순수 함수를 사용해 상태를 제어하기보단, 빨리 처리하는데 초점을 둔 방법 순수 함수란? : 동일한 입력값을 넣었을 때 항상 동일한 리턴값을 반환하며 외부에 영향을 받지 않는 함수 장점 : 함수의 동작부가 간결해지기 때문에 ..
웹 서버와 WAS의 차이 웹 서버: HTTP 프로토콜 기반으로 클라이언트가 웹 브라우저에 요청을 하면 그 요청을 받아 정적 컨텐츠를 제공하는 서버이다. 정적 컨텐츠란 단순 HTML문서, CSS, 이미지, 파일 등 즉시 응답 가능한 컨텐츠 WAS : DB 조회 혹은 다양한 로직 처리를 요구하는 동적 컨텐츠를 제공하기 위해 만들어진 Application서버이다. HTTP 프로토콜 기반으로 사용자 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어로 주로 데이터베이스 서버와 같이 수행된다.
@SpringBootTest와 @WebMvcTest의 차이점 @SpringBootTest: 프로젝트의 전체 컨텍스트를 로드해 빈을 주입하기 때문에 속도가 느리고 통합 테스트를 할 때 많이 사용된다. 어플리케이션의 설정, 모든 Bean을 로드하기 때문에 시간이 오래걸리고 테스트 단위가 크기에 디버깅이 까다롭다. @WebMvcTest : MVC 부분 슬라이스 테스트로, 보통 컨트롤러 하나만 테스트하고 싶을 때 사용한다. WebApllication과 관련된 Bean들만 등록하기 때문에 @SpringBootTest보다 빠르고 Mock을 기반으로 테스트하기 때문에 실제 환경에서 예상 밖의 오류가 발생할 수 있다.
Parameter와 Argument의 차이 함수를 정의할 때, 함수는 인자(Argument)를 받아들이며 그 값들은 함수 안에서 파라미터(Parameter)로 참조 됩니다. 파라미터와 인자는 서로 다른 개념입니다. Parameter(매개변수)는 함수를 정의할 때 함수가 받아 들일 값의 종류와 개수를 지정하는 변수입니다. 함수의 매개변수는 함수 본문 내에서 사용되는 지역 변수와 같은 역할을 합니다. 코드로 예시를 보면 def add(x, y); result = x + y; return result; 여기서 x와 y는 매개변수입니다. Argument(인자)는 함수를 호출할 때 함수에 전달되는 값입니다. 함수가 호출될 때 인자는 매개변수와 일치해야 합니다. add(2, 3) 이때 함수를 호출할 때 2와 3인 인자 입니다. 이때 함수는 2와 3을 x와 ..
List, Set, Map, HashMap의 차이 List, Set, Map, HashMap은 모두 데이터를 저장하고 관리하는 자료구조(data structure) 중 일부입니다. 각각의 구조는 다른 목적과 사용 방법이 있습니다. List : 리스트는 데이터를 순차적으로 저장하고, 인덱스를 사용하여 데이터를 검색합니다. 리스트는 중복된 값을 가질 수 있습니다. 리스트의 대표적인 예시로는 배열(Array)이 있습니다. Set : 세트는 순서가 없이 값을 저장하고, 중복된 값을 허용하지 않습니다. 즉, 같은 값을 여러 번 저장 할 경우, 한개의 값만 저장합니다. 이러한 특성 때문에 집합 연산(합집합, 교집합, 차집합 등)을 수행하기에 유용합니다. HashMap : 해시맵은 맵의 한 종류로, 내부저긍로 해시 함수를 사용하여 값을 저장하고 검색합니다. 해시 함..