본문 바로가기

분류 전체보기85

데이터베이스 첫걸음 정리 - 14장. 날짜 연산 날짜/시간 데이터를 저장하는 방법은 데이터베이스 제품에 따라 크게 달라집니다. 날짜와 시간 전부를 저장할 수 있는 자료형을 지원하거나, 혹은 날짜는 DATE형, 시간은 TIME 형, 날짜와 시간은 DATETIME 형과 같이 세분화해 지원하는 데이터베이스 제품도 있습니다. 이번에는 날짜와 시간을 초 단위로 저장할 수 있는 날짜시간형을 기준으로 설명하겠습니다. SQL에서의 날짜 날짜나 시간 데이터는 수치 데이터와 같이 연산을 할 수 있습니다. 날짜시간 데이터를 연산하면 결괏값으로 동일한 날짜시간 유형의 데이터를 반환하는 경우도 있으며 기간의 차를 나타내는 기간형 데이터를 반환하는 경우도 있습니다. 기간형은 “10일간", “2시간 10분"과 같이 시간의 간격을 표현할 수 있습니다. 시스템 날짜 날짜시간 데이터.. 2022. 9. 5.
IPC 독립적인 프로세스와 협력적인 프로세스 운영체제 내에서 실행되는 프로세스들은 독립적이거나 또는 서로 협력하는 프로세스들일 수 있습니다. 독립적인 프로세스 : 프로세스가 시스템에서 실행 중인 다른 프로세스들과 데이터를 공유하지 않는 프로세스 협력적인 프로세스 : 프로세스가 시스템에서 실행 중인 다른 프로세스들에 영향을 주거나 받는 프로세스 프로세스간 협력을 허용하는 이유 정보 공유 : 여러 응용 프로그램이 동일한 정보에 접근해야할 필요가 있으므로(예를들어, 복사와 붙여넣기) 그러한 정보를 접근할 수 있는 환경을 제공해야 합니다. 계산 가속화 : 특정 작업을 빨리 실행하고 싶으면 작업을 나누어서 각각 병렬로 실행될 수 있게 해야합니다. 단, 이러한 가속화는 여러개의 CPU 코어를 가진 경우에만 가능합니다. 모.. 2022. 9. 4.
데이터베이스 첫걸음 정리 - 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.