목록분류 전체보기 (47)
개발저장소

학습 Point운영체제의 정의운영체제의 역할운영체제의 구조 운영체제(OS, Operating System)란 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스이다. 운영체제는 크게 네 가지 역할을 한다. 운영체제의 커널이 담당한다.CPU 스케줄링과 프로세스 관리: CPU 소유권을 어떤 프로세스에 할당할지.메모리 관리디스크 파일 관리I/O 디바이스 관리 운영체제는 다음과 같은 구조를 가지고 있다. 유저 프로그램 아래에 GUI, 시스템콜, 커널, 드라이버가 있고, 가장 아래에 하드웨어가 있는 구조이다. 여기서 GUI, 시스템콜, 커널, 드라이버 부분이 운영체제를 지칭한다. GUI(Graphical User Interface)는 사용자가 상호 작용할 수 있도록 하는 사용자 인터페이스의 한 형태이다. 단순한 명령..
문제https://www.acmicpc.net/problem/1018 풀이체스판은 흰색과 검은색이 번갈아가면서 칠해져있어야 한다. 인접한 칸이 같은 색이면 안된다.N X M 크기의 보드를 8 X 8 사이즈로 잘라 체스판을 만드려고 한다.이렇게 잘라서 만든 체스판은 색이 잘못된 경우 새로 칠하려고 한다.자를 수 있는 체스판의 경우 중에서, 새로 칠하는 횟수가 가장 적은 경우의 최소 개수를 출력한다.문제를 풀기 위해선 두 가지 포인트를 해결해야 한다.첫째, N X M 사이즈의 보드를 어떻게 체스판 사이즈로 나눌 것인가.둘째, 새로 칠하는 횟수를 어떻게 구해야 할 것인가. 첫째는 만들어질 수 있는 체스판의 경우의 수는 (N - 7) * (M - 7)이 된다.(0,0)을 첫 번째 칸으로 가지는 체스판부터, (..
오라클에는 기본적으로 제공하는 내장 함수와 사용자 정의 함수가 존재한다.내장 함수는 한 행당 결과가 나오는 단일행 함수와 여러 행이 하나의 행으로 결과가 반환되는 다중행 함수로 나뉜다. 1. 문자 함수문자 데이터를 가공하거나 특정 결과를 도출하는 함수이다. UPPER문자 데이터를 모두 대문자로 반환한다.LOWER문자 데이터를 모두 소문자로 반환한다.INITCAP문자 데이터를 첫 글자는 대문자, 나머지를 소문자로 반환한다.SELECT ENAME, UPPER(ENAME), LOWER(ENAME), INITCAP(ENAME)FROM EMP; LENGTH문자열 길이를 구하는 함수 SUBSTR문자열의 일부를 추출하는 함수SUBSTR(문자열 데이터, 시작 위치, 추출 길이)SUBSTR(문자열 데이터, 시작 위치) ..
WHERE절은 SELECT문으로 데이터를 조회할 때 특정 조건을 기준으로 원하는 행을 출력하기 위해 사용한다.SELECT [열1 이름, 열2 이름 ... ]FROM [테이블 이름]WHERE [조회할 행을 선별하기 위한 조건식]; DEPTNO의 값이 30인 행만 출력하기 위해서는 다음과 같다.SELECT *FROM EMPWHERE DEPTNO = 30; 논리 연산자 AND, ORSELECT *FROM EMPWHERE DEPTNO = 30 AND JOB = 'SALESMAN'; SELECT *FROM EMPWHERE DEPTNO = 30 OR JOB = 'CLERK'; 산술 연산자SELECT *FROM EMPWHERE SAL * 12 = 36000;SAL에 12를 곱한 값이 36000인 행을 출력..
SELECT문은 데이터베이스의 데이터를 조회하는 데 사용된다. SELECT과 FROM을 기본 구성으로 SELECT문을 작성한다.SELECT [조회할 열 이름], [열 이름], ..., [열 이름]FROM [조회할 테이블 이름]; 애스터리스크(*)로 전체 열 출력SELECT * FROM EMP; 테이블 부분 열 출력SELECT EMPNO, ENAMEFROM EMP; DISTINCT는 중복 데이터를 제거한다. SELECT절에서 열 이름 앞에서 사용할 수 있다.SELECT DISTINCT DEPTNOFROM EMP;SELECT DISTINCT JOB, DEPTNOFROM EMP; 열이 하나인 경우와 여러 개인 경우 모두 사용 가능하다. 단, 여러 개인 경우 위와 같이 JOB과 DEPTNO의 값이 둘 다 ..
문제https://www.acmicpc.net/problem/18111 풀이마인크래프트의 땅 고르기 작업을 한다. 땅 고르기란, 범위 내의 블록 높이를 같은 상태로 만드는 작업이다.땅 고르기 범위는 N X M 크기이다.하나의 블록을 캐면 2초가 걸리고, 그 블록이 인벤토리에 저장된다.하나의 블록을 설치하면 1초가 걸리고, 인벤토리에서 꺼낸 블록을 사용한다. 인벤토리에 블록이 없다면 설치할 수 없다.땅의 높이는 최소 0, 최대 256이다. 블록은 최대 64,000,000개가 주어질 수 있고, 맵의 크기는 최대 500 X 500이다.맵 전체의 땅을 고르는데 걸리는 최소 시간을 구해야 한다. 만약 시간이 같다면 땅의 높이가 더 높은 경우를 출력한다. 주어진 맵의 크기가 크지 않아 브루트포스 알고리즘을 사용..
1. 데이터베이스(Database)데이터(data)와 베이스(base)의 합성어다. 그렇다면 데이터는 무엇일까? 데이터는 어떤 필요에 의해 수집했지만 아직 특정 목적을 위해 평가하거나 정제하지 않은 값이나 사실 또는 자료 자체를 의미한다. 이러한 데이터를 가공하여 가치있는 것으로 만든 것을 정보(Information)이라고 한다. 데이터베이스는 데이터를 효율적으로 관리, 검색하고 특정 목적을 위해 여러 사람이 공유하여 사용할 수 있는 구조화한 데이터 집합이다. 그리고 데이터베이스의 데이터 조작과 관리를 극대화한 시스템 소프트웨어를 DBMS(DataBase Management System)이라고 한다. 데이터베이스와 DBMS는 굳이 구분하지 않는 편이다. ※ 데이터의 종류구조적 데이터 (정형 데이터)비구조..
1. 동기화(Synchronized)동기화는 하나의 작업이 완전히 완료된 후 다른 작업을 수행하는 것을 말한다. 이와 반대로 비동기는 하나의 작업 명령 이후 완료 여부와 상관없이 바로 다른 작업 명령을 수행하는 것을 말한다. 동기화 방법은 메서드 동기화와 블록 동기화가 있다.메서드 동기화는 2개의 스레드가 동시에 메서드를 실행할 수 없다는 것, 블록 동기화는 2개의 스레드가 동시에 해당 블록을 실행할 수 없다는 것을 의미한다.하나의 스레드가 공유 객체를 사용할 때, 다른 스레드가 사용할 수 없도록 하는 것을 락(lock)이라고 표현한다. ※ 트랜잭션: 업무의 최소 단위 메서드 동기화동기화하고자 하는 메서드의 리턴 타입 앞에 synchronized 키워드를 넣는다.class MyData { int ..
스레드란?메모리가 CPU를 독립적으로 처리하는 하나의 최소 작업 단위를 말한다. CPU: 중앙 처리 장치라고도 하며, 연산을 수행함으로써 실제 프로그램을 실행하는 장치이다.하드디스크: 저장 매체로서 상대적으로 속도가 가장 낮다.메모리: CPU가 연산을 하기 위해 필요한 정보를 저장해두는 공간이다. 프로그램은 하드디스크에 저장된 파일들의 모임, 프로세스는 메모리에 로딩된 프로그램을 뜻한다.이때, 여러 프로그램이 메모리에 로딩되어 실행되는 것을 멀티 프로세스라고 한다. 마찬가지로 여러 스레드를 생성해 동시에 2개 이상의 스레드가 동작하는 것을 멀티 스레드라고 한다. 1. 스레드의 동시성과 병렬성동시성(Concurrency)처리해야할 작업의 수가 CPU 코어 수보다 많을 때를 말한다. CPU는 각 작업 스레..
예외란?프로그래밍 과정에서 발생한 오류 중에 개발자가 해결할 수 있는 오류를 예외(exception)이라고 한다.그리고 이를 적절하게 조치하는 것을 예외 처리라고 한다. 예외와 에러의 차이점예외(exception)와 에러(error)는 비슷하지만 다른 의미를 가진다.연산, 숫자 포맷 오류 같은 상황에 따라 개발자가 해결할 수 있는 오류는 예외라고 한다.그리고 JVM 자체에서 발생하는 오류 같은 개발자가 해결할 수 없는 오류를 에러라고 한다. 둘 다 Throwable 클래스를 상속하며 Exception은 일반 예외(checked exception)와 실행 예외(unchecked/runtime exception)로 나뉜다. 일반 예외는 컴파일 이전에 검사하며 실행 예외는 실행할 때 발생한다.일반 예외는 In..