728x90

 기본 환경: IDE: SQL Developer, Language: Oracle SQL

 

 

발생 Error

Oracle SQL로 다음 Source Code를 실행할 경우,

⚠️ 다음과 같은 Error 발생

ORA-00933: SQL 명령어가 올바르게 종료되지 않았습니다
00933. 00000 -  "SQL command not properly ended"

 

 

발생 원인

SQL 구문 작성 시, 다음 규칙에 따라야 함

SELECT - FROM - WHERE - GROUP BY - HAVING - ORDER BY

 

 

해결 방법

서브 쿼리* 사용

서브쿼리: 먼저 실행되어 그 결과값이 사용되어야 할 쿼리가 있을 때 사용

 

➕ ORDER BY와 WHERE의 순서만 바꿔서 기재할 경우, 원하는 값이 나오지 않을 수 있음

문제에서 구하고자하는 것은 NAME으로 정렬 후, ROWNUM 값의 1 ~ 5 반환을 요청

만일 다음의 구문을 실행할 경우,

ROWNUM이 1 ~5 사이의 값을 추출 후 NAME으로 DESCENDING하게 됨

 

728x90
728x90

1.

umask -S: umask값 문자 표기

 

 

2.

/etc/fstab: 파일 시스템 정보가 저장되어있는 파일

[파일_시스템_장치명]

[마운트_포인트(마운트 될 위치 설정)]

[파일_시스템_종류(마운트 될 파일 시스템의 파일 시스템 종류 설정)]

[옵션]

[덤프(0: 백업 X, 1: 백업 O): 백업 설정 시, 사용주기를 매일 또는 2일에 한 번으로 설정할 수 있음]

[파일체크_옵션(0: 점검 X, 1: Root 부팅시 점검 O, 2: Root 외 파일 시스템 부팅시 점검 O)]

 

 

4.

mkfs: Linux system's file system table, 리눅스 파일 시스템 생성

-t: 파일 시스템의 종류 지정(기본: ext2)

mke2fs: 리눅스 개정판 확장 파일 시스템 생

-t: 파일 시스템의 종류 지정(기본: ext2)

-j: 파일 시스템을 저널링 파일 시스템*인 ext3로 생성

* Journaling File System: 일정부분을 기록을 위해 남겨두어 백업(backup) 및 복구 능력이 있는 파일 시스템

 

 

8. fdisk 명령어: 디스크의 파티션 생성, 삭제, 보기 등 파티션 관리

d: delete

n: new

p: 디스크 정보 출력

t: 파티션 속성 변경

 

 

12.

HISTSIZE: 저장 가능한 최대 명령어 개수

HISTFILESIZE: 히스토리 저장 파일의 최대 크기

 

 

13. /etc/passwd

USER_NAME PW UID GID USER_NAME USER_HOME_DIR USER_SHELL

 

 

14.

~/.bash_profile: 지역적 파일, 환경설정과 관련

 

 

15.

usermod: user modification, 사용자 계정 정보 수정

 

 

18.

SHELL: 사용자의 로그인 shell이 기록되어있는 환경 변수

 

 

20. Signal

1 / SIGHUP / 로그아웃과 같이 터미널 연결 종료 시 보내지는 시그널

2 / SIGINT / ctrl c, 키보드에 입력된 인터럽트 시그널로 실행 중지

3 / SIGQUIT / ctrl \, 종료

9 / SIGKILL / 강제 종료

15 / SIGTERM / 정상 종료시키는 kill의 기본 시그널

19 / SIGSTOP / 터미널에서 입력된 정지 시그널

20 / SIGTSTP / ctrl z, 일시정 시그널

 

 

25.

리눅스가 부팅을 시작하면 kernel init1 process를 실행하고 fork 형태로 복사하여 실행

 * 시스템 운영에 관한 설정을 변경할 경우, 바로 적용되지 않고 프로세스를 재시작해야하는 이유

 

 

27.

<: 우선순위가 인위적으로 높아진 상태(nice된 것 아님)

N: 다른 사용자에 의해 인위적으로 우선순위가 낮아진 상태

 

 

28. ps 명령어

BSD: - 사용 X

System V: - 사용

GNU: -- 사용

 

 

30.

GUI env editor: g(graphic)edit

CUI env editor: pico, nano, emacs, vim

 

 

31. vi editor

.: 현재줄

$: 마지막줄

%: 첫줄부터 마지막줄

 

 

33.

vi editor: 빌 조이

pico: 아보일 카사르

 

 

34. vi editor 사용모드

명령모드, 입력모드, 마지막행모드(ex 명령모드)

 

 

35. rpm 명령어

qa: 관련된 모든 pkg 정보 출력

qi: 설치된 pkg 정보 출력

ql: 설치된 pkg 내부 목록 출력

qf: 파일이 속한 pkg 찾기

httpd: world wide web을 제공하는 apache daemon

 

 

36.

yum: repository에 관련 pkg들을 모아두고, 네트워크를 통해서 의존성을 검사하여 설치 및 업데이트 등을 수행

 

 

38. rpm 명령어

-- nodeps: 의존성 관계를 무시하고 설치

-- freshen: 설치되어있을 경우, 업그레이드

 

 

39.

Debian package Manager: dpkg, apt-get, aptitude

 

 

40. tar 명령어

c: create, tar 파일로 묶기

f: file, tar 파일 이름 지정

r: append, 기존 tar 파일에 파일 추가

t: list, tar 파일 목록 출력

x: extract, tar 파일을 풀기

p: preserve-permissions: 파일 생성 시 권한 유지

v: verbose, 상세 정보 출력

w: interactive, 사용자 확인 요청

 

728x90
728x90

41. rpm 명령어

-i: install, 새로운 pkg 설치

-h: hash, pkg 진행과정 # 표시

-U: upgrade, 기존 pkg 업그레이드

-e: erase

-q: question, 패키지 설치 여부 확인

-V: verify, 검증

 

 

43.

Stripping: 데이터 분산 저장

Mirroring: 데이터 복사 저장

 

LVM: Logical Volume Manager, 여러 개의 물리적인 하드 디스크를 논리적인 디스크로 할당하여 유연하게 관리

PE: Physical Extent, 일정한 크기의 PE의 집합=PV, 4MB

PV: Physical Volume, 각 파티션을 LVM으로 사용하기 위해 형식을 변환

VG: Volume Group, PV로 되어있는 파티션을 하나의 물리적인 그룹으로 만듦

LV: Logical Volume, 마운트 포인터로 사용할 실질적 파티션

 

 

44.

lp: line printer, 프린터 작업 요청

lpadmin: 프린터 설정

 

 

45.

OSS: open sound system, 사운드를 만들고 캡쳐하는 인터페이스 (현재 ALSA로 대체)

ALSA: advanced linux sound architecture, 사운드 카드

 

 

46.

LVM: 하나의 디스크를 여러 파티션으로 분할하여 사용

RAID: 동일한 데이터를 다른 디스크에 중복하여 저장 -> 데이터 손실 방지

Bonding: Network Interface Card를 논리적으로 하나의 interface 로 묶어서 NIC의 물리적 장애에 대응하거나나 처리량을 늘리는 기술

Clustering: 여러 대의 컴퓨터들이 연결되어 하나의 시스템처럼 동작하도록 하는 것

 

 

47.

lpd: Line Printer Daemon, 리눅스에서 프린트 서비스를 담당하는 데몬

 

 

49. 부팅 설정

CLI

systemctl set-default runlevel3
systemctl set-default multi-user.target

GUI

systemctl set-default runlevel5
systemctl set-default graphical.target

 

 

50.

GNOME: GTK+ lib, Desktop Env, 사용자에게 제공되는 interface style

-> DE: Xfce, LXDE

DM: DisplayManger, 로그인 및 세션 관리

Metacity: GNOME2 Window Manager, 윈도우 배치 및 표현 담당

Mutter: GNOME3 Window Manager, 윈도우 배치 및 표현 담당

-> WM: kwin, windowMaker

 

 

53.

xhosts: IP or 도메인명을 이용해 서버 접속 요청

xhost [+/-][ip/domain]

xauth: 쿠키 기반의 인증으로 xhost보다 인증 절차가 강화

xauth [option]

 

 

54.

DISPLAY: 원격지로 응용 프로그램을 전송하기 위해 변경해야 하는 환경변

 

 

55.

Eog: GNOME image viewer

GwenView: KDE image viewer

Gimp: GNOME image  editor

ImageMagicK: X-Window image editor

 

 

60.

class: IPv4에서만 사용되는 주소 대역 개념(IPv6에서 사용 X)

 

 

61.

CSMA/CD: Carrier Sense Multiple Access/Collision Detection, 전송로의 신호 유무 조사 및 다른 단말기의 신호 송출여부 확인, 이더넷과 관련있는 전송기술

CDMA: Code division Multiple Access, 이동통신에서 코드를 이용한 다중접속 기술

PSTN: Public Switched Telephone Network, 통신 사업자가 통상적인 전화서비스를 제공하는 전화망

PDSN: Packet Data Serving Node, 무선 packet data networking을 지원하기 위한 핵심 장비

 

 

63.

/etc/resolv.conf: domain name server 기록

/etc/hosts: ip와 domain간 매칭 기록

/etc/services: 리눅스 서버에서 사용하는 모든 포트들에 대한 정의 설정

 

 

64. LAN 구성 방식

망(Mash)형: 장애 발생 시 우회 지점이 많으므로 다른 시스템에 영향이 적음

그러나 설치 비용이 많이 들고  장애 발생 시 고장 지점을 찾기 쉽지 않음

LAN과 LAN 연결 또는 백본망 구성 시 주로 사용

링(Ring)형: 호스트 수가 늘어나도 네트워크 성능에 영향력이 적음

버스(Bus)형: 하나의 긴 케이블에 네트워크 상의 모든 장치를 연결하는 형태로 호스트 수가 증가하면 처리 능력이 급감함

성(Star)형: 중앙 전송 제어 장치가 고장나면 네트워크 동작 불가

 

 

66.

ethtool: 네트워크 인터페이스 카드의 물리적 연결 여부 확인

arp: Address Resolution Protocol, 연결하려는 시스템의 MAC 주소* 표시

* MAC 주소: Media Access Control Address, 인터넷을 할 수 있는 이더넷** 기반 기기에는 모두 다 하나씩 할당되어 있는 고유한 ID

** Ethernet: 근거리 장비간 통신 표준

route: gateway 주소 확인

 

 

67.

1계층(Repeater): 입력 신호를 증폭하여 중계하는 장치

2계층(Bridge): 특정 네트워크로부터 오는 통신량 조절 및 트래픽 관리

3계층(Router): WAN, LAN 연결 // 물리(1), 데이터링크(2), 네트워크(3) 기능 지원

5계층(Gateway): 다른 통신망에 상호 접속하기 위한 통신장비

 

 

68. 

telnet 명령어 포트 점검

telnet 192.168.12.22 443

 

 

73.

ifconfig: 소유자의 MAC 주소 조회

arp: 타인의 MAC 주소 조회

 

 

74.

IRC: Internet Relay Chat, 사용자들간 메세지를 서버를 경유해서 어떻게 전달할 것인지 정해둔 규약

NFS: Network File System, 네트워크상에서 다른 컴퓨터의 파일 시스템을 마운트하고 공유하여 상대방의 파일 시스템 일부를 자기 자신의 dir처럼 사용

SAMBA: 리눅스/유닉스 OS와 윈도우OS간 자료 공유

Usenet: 텍스트 형태의 기사들을 주고 받을 수 있는 게시판

 

 

75.

LoopBack Network: 127.0.0.1 ~ 127.255.255.255

 

 

78.

Tizen: 인텔과 삼성이 주축, 리눅스 커널 기반 모바일 운영체제

 

 

79.

KVM: 전가상화 기술 지원

XEN: 전가상화 및 반가상화 기술 모두 지원

Hyper-V: Window에 포함된 가상화 기술

 

 

80. Cluster
High Performance Computing Cluster (BeoWulf Cluster): HPC, 고계산용 클러스터
: 고성능의 계산 능력을 제공하기 위한 목적으로 사용
Linux Virtual Server: LVS, 부하분산 클러스터
: 서버에 접근하는 이용자가 많을 때 서비스의 부하를 분산하기 위해 사용
High Availibilty Cluster: HA, 고가용성 클러스터
: 지속적인 서비스를 제공하기 위해 사용

 

 

728x90
728x90

1. 

quota: 사용자의 디스크 사용량을 출력

setquota: 사용자의 디스크 용량을 할당

xfs_quota: CentOS7 - 사용자의 디스크 사용량 제한

 

 

2.

fsck: file system check, 파일시스템 점검 및 복구

e2fsck: ext2/ext3 fsck

xfs_repair: xfs 점검 및 복구

 

 

3.

fdisk -l: 현재 디스크의 파티션 테이블 정보

df: 디스크 전체 사용량 출력

du: 특정 파일 및 디렉토리 사용량 출력

 

 

5.

ACL: Access Control List, chmod보다 확장된 권한 부여 확장

 

 

9.

/etc/mtab: 현재 마운트된 정보를 담는 파일

/etc/fstab: 부팅 시 자동으로 마운트 될 정보를 담는 파일

 

 

11. shell 개발자

sh($): Bourne Shell, 스티븐 본 

bash(userName@OS:~$):Bash Shell, Linux Shell, 브라이언 폭스

csh(%):C Shell, 빌 조이

tcsh: Tee C Shell 그리어, TENEX, C shell 기반

ksh($):Korn Shell, 데이비드 콘

 

 

12.

os=linux: os라는 shell 변수에 linux라는 값을 선언

 

 

14.

~/.bashrc: 지역적 파일, alias, function 설정 파일

~/.bash_profile: 지역적 파일, bash shell 설정 파일

 

 

15.

/bin/bash: bash file

/etc/shells: 사용가능한 shell list

/etc/passwd: shell 설정 정보 등 사용자 정보

 

 

16. chsh 명령어

chsh -l: list, 변경 가능한 shell list

chsh -s: shell, shell 변경

chsh -u: help

 

 

17.

$변수: $뒤의 변수에는 영문법상 단수 표현이 적절

 

 

19.

CentOS7: 최초 프로세스명 systemdCentOS6: 최초 프로세스명 init

 

 

20. cron명령어5 * * * *: 5분에 실행*/5 * * * * : 5분마다 실행

 

 

21. Signal

1 / SIGHUP / 로그아웃과 같이 터미널 연결 종료 시 보내지는 시그널

2 / SIGINT / ctrl c, 키보드에 입력된 인터럽트 시그널로 실행 중지

3 / SIGQUIT / ctrl \, 종료

9 / SIGKILL / 강제 종료

15 / SIGTERM / 정상 종료시키는 kill의 기본 시그널

19 / SIGSTOP / 터미널에서 입력된 정지 시그널

20 / SIGTSTP / ctrl z, 실행 정지 후 재실행을 위한 대기 시그널

 

 

24. fg -> bg 전환

실행중인 작업 일시 중지: ctrl + z

bg명령어 수행: bg

 

 

25.

exec: 시스템 호출 함수, 프로세스가 증가하지 않는 방식

fork: 시스템 호출 함수, 기존 프로세스 복제

 

 

26.

pgrep : ps + grep

 

 

27.

demon: 주지적이고 지속적인 서비스 요청을 처리하기 위해 메모리에 계속 실행되어 있는 프로세스

 

 

28.

&: 백그라운드 실행

 

 

30. nano 편집기

ctrl a: 줄의 처음으로 이동

ctrl e: 줄의 끝으로 이동

ctrl x: 종료

 

 

31. vi editor, 명령모드

x: 현재 커서가 위치한 곳의 문자 삭제

dd: 현재 커서가 위치한 곳의 라인 삭제

 

 

32. vi editor, 명령모드

set nu: number, 라인 번호

set ai: auto indent, 자동 들여쓰기

set ic: ignore case, 검색/치환 시 대소문자 구분X

set sm: show match, 연관 괄호 표시

 

 

33.

GUI env editor: gedit

CUI env editor: nano, emacs, vim

 

 

34.

pico: aboil kassar

 

 

37.

압축 효율: xz(J) > bzip2(j) > gzip(z) > compress

 

 

38. tar 명령어

c: create, tar 파일로 묶기

r: append, 기존 tar 파일에 파일 추가

t: list, tar 파일 목록 출력

x: tar 파일을 풀기

 

39. dpkg 명령어

dpkg -l(소문자 L): 설치된 pkg 목록 확인

dpkg -L: 해당 pkg로부터 설치된 모든 파일 목록

dpkg -I(대문자 i) .deb: 해당 .deb 파일*에 대한 정보 확인

* .deb: debian sw pkg file 확장자

 

728x90
728x90

 

 

18108번: 1998년생인 내가 태국에서는 2541년생?!

ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다. 불교 국가인 태국

www.acmicpc.net

 

Language: Java

 

 

 

소스 코드

🔗 HJ0216/TIL

728x90