본문 바로가기

전체 글83

데이터베이스 첫걸음 정리 - 13장. 문자열 연산 데이터는 수치형 외에도 문자열형도 존재합니다. 이번에는 SQL에서 문자열형을 연산하는 방법을 알아보겠습니다. 문자열 결합 문자열 결합이란 다음과 같이 문자열 데이터를 결합하는 연산입니다. 'ABC' || '1234 -> 'ABC1234' 문자열을 결합하는 연산자는 데이터 베이스 제품마다 다르며 다음과 같습니다. 연산자/함수 연산 데이터베이스 + 문자열 결합 SQL Server CONCAT 문자열 결합 MySQL 문자열 결합은 2개의 열 데이터를 모아서 1개의 열 데이터로 처리하고 싶은 경우에 사용됩니다. 다음은 문자열 결합 예시입니다. (테스트 사이트 sqltest.net) SELECT CONCAT(firstname, lastname) FROM mysql_test_a; SUBSTRING 함수 SUBSTR.. 2022. 9. 4.
스프링 빈과 스프링 컨테이너 스프링 빈과 스프링 컨테이너 스프링 컨테이너는 스프링에서 자바 객체들을 관리하는 공간을 의미합니다. 스프링에서는 자바 객체를 빈(Bean)이라고 부르며 스프링 컨테이너는 빈의 생명주기(생성 → 설정 → 초기화 → 소멸)를 관리하게 됩니다. 스프링 컨테이너를 사용하면 스프링 컨테이너가 빈을 관리하기 때문에 개발자가 직접 객체를 관리하지 않아도 됩니다. 스프링 컨테이너의 종류 스프링 컨테이너는 다음과 같이 두 종류로 나누어집니다. BeanFactory 스프링 컨테이너의 최상위 인터페이스로, 스프링 빈을 관리하고 조회하는 역할을 담당합니다. 예를 들어, 등록된 Bean을 가지고 있는 getBean() 메서드를 제공하고 있습니다. ApplicationContext ApplicationContext는 BeanFa.. 2022. 9. 4.
데이터베이스 첫걸음 정리 - 12장. 수치 연산 사칙 연산 SQL에서도 다음과 같이 사칙연산이 가능합니다. 연산자 연산 예 + 덧셈 1 + 2 → 3 - 뺄셈 1 - 2 → -1 * 곱셈 1 * 2 → 2 / 나눗셈 1 /2 → 0.5 % 나머지 1 % 2 → 1 데이터베이스 제품에 따라 % 대신 MOD 함수를 사용하는 경우도 있습니다. 연산자의 우선순위의 경우 일반적으로 사칙연산 할때와 같이 나눗셈, 곱셈, 나머지를 먼저 계산하고 다음은 덧셈, 뺄셈을 계산합니다. 우선순위가 같다면 왼쪽에서 오른쪽으로 계산하게 됩니다. SELECT 구로 연산하기 SELECT 구에는 열명을 지정한다고 학습했지만 이외에도 여러가지 식을 작성할 수 있습니다. 이 식은 열명, 연산자, 상수로 구성됩니다. SELECT 식 1, 식 2... FROM 테이블명 다음은 SELECT.. 2022. 9. 3.
데이터베이스 첫걸음 정리 - 11장. 결과행 제한하기 인터넷 쇼핑몰에서 물건을 구매하거나 커뮤니티 사이트의 게시판을 읽다 보면, 수많은 상품과 게시물을 전부 하나의 페이지에 표시하는 대신 몇 건식 나누어 표시하는 것을 알 수 있습니다. 이런 경우 LIMIT 구를 사용해 표시할 건 수를 제한할 수 있습니다. 행수 제한 LIMIT 구는 표준 SQL은 아닙니다. MySQL과 PostgreSQL에서 사용할 수 있는 문법이라는 점을 기억해둡시다. LIMIT구를 사용하기 위해서는 SELECT 명령의 마지막에 지정하는 것으로 WHERE 구나 ORDER BY 구의 뒤에 지정합니다. SELECT 열명 FROM 테이블명 WHERE 조건식 ORDER BY 열명 LIMIT 행수 LIMIT 다음에는 최대 행수를 수치로 지정합니다. 만약, LIMIT 10으로 지정하면 최대 10개의.. 2022. 9. 1.
데이터베이스 첫걸음 정리 - 10장. 복수의 열을 지정해 정렬하기 ‘상품 코드와 해당 상품의 하위번호'까지 함께 고려했을 때 하나의 행을 특정지을 수 있는 경우와 같이 하나의 열만으로는 행을 특정짓기 어려운 때가 많습니다. 이런 경우 복수의 열을 지정해 정렬할 수 있습니다. 복수 열로 정렬 지정 ORDER BY로 정렬을 하다보면 값은 값을 가진 행의 순서는 어떻게 정해지는지 궁금증이 들 수 있습니다. 또, ORDER BY 구는 생략할 수 있는데 이때 순서는 어떻게 정해질지도 궁금합니다. 답은, “순서는 일정하지 않다” 입니다. 데이터 베이스 서버의 당시 상황에 따라 어떤 순서로 행을 반환할지 결정됩니다. 따라서, 언제나 같은 순서로 결과를 얻고 싶다면 반드시 ORDER BY 구로 순서를 지정해야 합니다. 일반적으로 ORDER BY 구를 지정하지 않는 경향이 있으나 사실.. 2022. 8. 31.
프로세스와 스레드 옛날의 컴퓨팅 환경 초기의 컴퓨터들은 한번에 하나의 작업만을 수행할 수 있는 상태였습니다. 기본적으로 CPU는 한번의 하나의 작업만 수행할 수 있기 때문입니다. 예를들어, 우리가 프로그램을 하나 다운 받으려고 하면 그 동안 아무 작업을 할 수 없는 상태가 되는 것입니다. 이런 상황을 해결하기 위해 프로세스라는 개념이 탄생하게 되었습니다. 프로그램과 프로세스란? 그렇다면 프로그램과 프로세스는 무엇이고 둘의 차이는 무엇일까요? 프로그램 프로그램은 명령어 리스트를 내용으로 가진 디스크에 저장된 파일(실행파일)을 의미합니다. 쉽게 말해서, .exe, .deb 과 같은 실행파일들이 프로그램입니다. 프로세스 다음에 실행할 명령어를 지정하는 프로그램 카운터와 관련 자원의 집합을 의미합니다. 쉽게 말해서, 현재 실행중.. 2022. 8. 31.
데이터베이스 첫걸음 정리 - 9장. 정렬(ORDER BY) SELECT 명령에 ORDER BY 구를 지정하면 검색 결과의 행 순서를 바꿀 수 있습니다. ORDER BY구를 지정하지 않았을 경우에는 데이터베이스 내부에 저장된 순서로 반환됩니다. 언제나 정해진 순서로 결괏값을 얻기 위해서는 ORDER BY구를 지정해야 합니다. ORDER BY로 검색 결과 정렬하기 SELECT 명령의 ORDER BY 구로 정렬하고 싶은 열을 지정합니다. 지정된 열의 값에 따라 행 순서가 변경됩니다. 이때 ORDER BY 구는 WHERE 구 뒤에 지정합니다. SELECT 열명 FROM 테이블명 WHERE 조건식 ORDER BY 열명 검색 조건이 필요없는 경우에는 WHERE 구를 생략할 수 있으며 ORDER BY 구가 FROM 구 바로 뒤에 오게 됩니다. SELECT 열명 FROM 테이.. 2022. 8. 30.
시스템 콜 시스템 콜이란? 운영체제의 커널이 제공하는 서비스에 대해, 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스입니다. 커널모드와 유저모드 커널모드와 유저모드는 커널에서 중요한 자원을 관리하고 있기 때문에, 사용자가 마음대로 중요한 자원에 접근하지 못하도록 모드를 나누어서 관리하기 위해 사용됩니다. 유저모드 유저가 접근할 수 있는 영역을 제한적으로 두고, 프로그램의 자원에 함부로 침범하지 못하는 모드입니다. 유저모드에서 코드를 작성하고, 프로세스를 실행하는 등의 행동을 할 수 있습니다. 쉽게말해서, 유저가 사용하는 응용 프로그램이 유저 모드에서 실행된다고 할 수 있습니다. 커널 모드 컴퓨터 시스템의 모든 자원(드라이버, 메모리, CPU)에 접근, 명령을 할 수 있습니다. 커널모드에서는 모든 종류의.. 2022. 8. 30.