아이피(IP) 주소란? 아이피 주소(IP Address)는 Internet Protocol 주소를 나타내는 것으로, 네트워크에서 통신을 할 때 쓰는 프로토콜을 의미한다. 우리가 택배를 받을 때 배달 주소를 적듯이, IP 주소가 있어야 데이터를 송수신할 수 있다. 아이피 주소를 통해 각각의 호스트를 구분하여 데이터를 송수신한다. 아이피 주소에 대해 더 자세히 알고싶다면 다음을 참고하자. 참고) [네트워크] IP,IP 클래스, IPv4, IPv6이란? | IP 클래스 구분 IP 주소 IP는 Internet Protocol의 약자로 기기간 네트워크 통신을 할 때 쓰는 프로토콜을 의미한다. IP에서 IP 기기의 주소를 나타내는 것이 바로 IP주소이다. 흔히 우리가 사용하는 IP는 이 IP주소를 의 code-la..
리액트(React)란? 리액트(React)는 사용자 인터페이스(User Interface)를 만들기 위한 자바스크립트 라이브러리이다. 리액트는 페이스북에서 처음 개발하고 2013년 오픈 소스 라이브러리로 바뀌어 현재 많은 개발자들이 유지보수하고 있다. 리액트를 이용해 웹 애플리케이션 혹은 모바일 애플리케이션을 개발할 수 있다. 페이스북, 넷플릭스, 에어비앤비, 레딧(Reddit) 등 유명한 서비스들이 모두 리액트를 사용했다. 그만큼 유명하고 많이 사용되는 프론트엔드 라이브러리이다. 리액트 특징 1. 단방향 데이터 흐름 리액트는 데이터가 단방향으로 흐르기 때문에 데이터 흐름을 추적하기 쉽다. 어플리케이션의 규모가 커질수록 데이터의 흐름을 추적하기 힘든데 단방향 데이터 흐름을 통해 데이터의 흐름을 파악하기 ..
TO_DATE() 함수 TO_DATE() 함수는 문자열 데이터를 일정 포맷의 날짜 타입으로 변환하는 함수이다. 예를 들어 아래와 같이 문자열을 날짜 타입으로 바꿀수 있다. SELECT TO_DATE('2023-10-12', 'YYYY-MM-DD') FROM DUAL; 아래 표에 나온 것처럼 특정 문자열을 날짜 타입으로 변환할 수 있다. 이때 문자열과 날짜 타입의 포맷이 일치해야 한다. 포맷 설명 YYYY/YY/YEAR 년도(4자)/년도(뒤 2자)/문자년도 MONTH/MON/MM/RM 달(이름/약어/숫자/로마 기호) DDD/DD/D 일(1년 기준/1달 기준/1주 기준) DAY/DY 요일(이름/약어) HH/HH24 12시간/24시간 표준 MI 분(0~59) SS 초(0~59) 예시 SELECT TO_DATE..
TO_CHAR() 함수 TO_CHAR() 함수는 숫자 혹은 날짜로 주어진 데이터를 특정 포맷의 문자열 타입으로 변환해주는 함수이다. 날짜 변환 포맷 설명 YYYY/YY/YEAR 년도(4자)/년도(뒤 2자)/문자년도 MONTH/MON/MM/RM 달(이름/약어/숫자/로마 기호) DDD/DD/D 일(1년 기준/1달 기준/1주 기준) DAY/DY 요일(이름/약어) HH/HH24 12시간/24시간 표준 MI 분(0~59) SS 초(0~59) 예시 SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') , TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS') , TO_CHAR(SYSDATE, 'MON') , TO_CHAR(SYSDATE, 'DAY') FROM DUAL; 결과 : 숫..
SYSDATE 함수 SYSDATE는 지정된 형식으로 현재 날짜와 시간을 표시하는 함수이다. SELECT SYSDATE FROM DUAL; 위와 같은 방식으로 사용할 수 있다. 사용환경에 따라 결괏값은 다르겠지만 보통 일-월-년도와 같이 출력된다. 날짜 포맷 정하기 TO_CHAR() 함수를 통하여 SYSDATE의 포맷을 원하는 대로 정할 수 있다. SELECT TO_CHAR(SYSDATE, 'YYYY') as "연도" , TO_CHAR(SYSDATE, 'MM') as "월" , TO_CHAR(SYSDATE, 'DD') as "일" , TO_CHAR(SYSDATE, 'HH24') as "시간" , TO_CHAR(SYSDATE, 'MI') as "분" , TO_CHAR(SYSDATE, 'SS') as "초" ..
Makefile이란? make 프로그램이란? 리눅스에서 Makefile은 소스 파일들을 쉽게 빌드할 수 있도록 돕는 make 프로그램의 설정 파일이다. [그림 1]과 같이 여러 개의 헤더 파일과 소스 파일을 빌드한다고 하자. 각 파일의 내용은 아래와 같다. hello.h void hello(); hello.c #include void hello() { printf("hello "); } world.h void world(); world.c #include void world() { printf("world\n"); } main.c #include "hello.h" #include "world.h" int main() { hello(); world(); return 0; } 이 헤더 파일과 소스 파일들을 ..
vi 편집기(vi editor)란? vi 편집기는 리눅스에서 기본으로 제공하는 문서 편집기이다. 다양한 명령어와 단축키를 지원하기 때문에 제대로 익힌다면 문서 작업의 효율성을 높일 수 있다. vi 편집기를 업그레이드 한 vim(vi improved) 에디터가 있는데, 근래 리눅스에서는 기본으로 vim 에디터를 적용하고 있다. 따라서 vi 명령어를 실행하면 기본적으로 vim 에디터를 실행하므로 vi와 vim 편집기를 구분하지 않고 vi라고 부르겠다. vi 초기 설정하기 vi는 편리한 도구이지만 그대로 사용하기에는 불편한 부분이 많다. 따라서 초기설정을 해주는 게 좋다. vi의 설정은 홈디렉토리(~)에서 .vimrc 파일을 변경하여 진행할 수 있다. 하지만 처음에는 .vimrc 라는 파일이 없기 때문에 만들..
GCC란? GCC는 GNU 컴파일러 모음(GNU Compiler Collection)이다. GNU는 운영 체제의 하나이자 컴퓨터 소프트웨어의 모음집이다.(참고1) 현재 대부분 GNU와 LINUX를 결합하여 사용하기 때문에 이 조합을 짧게 "Linux"라고 부르는 경우가 많다. 즉, GCC는 리눅스에서 사용하는 컴파일러 모음이라고 생각해도 무방하겠다. GCC는 한때 C언어만을 지원했지만 현재는 C++, JAVA, 포트란 등 다양한 언어를 컴파일 할 수 있도록 지원한다. 컴파일러에 대해 잘 모른다면 다음을 참고하자. 참고) [프로그래밍 언어론] 컴파일러와 인터프리터의 차이점 컴파일러(Compiler)란? 컴파일러는 특정 프로그래밍 언어로 쓰여 있는 문서를 다른 프로그래밍 언어로 옮기는 언어 번역 프로그램을 ..
블로그 이사합니다아래에서 확인 가능합니다.https://code-lab1.com/%EB%8F%99%EC%8B%9C%EC%84%B1%EA%B3%BC-%EB%B3%91%EB%A0%AC%EC%84%B1/ [운영체제] 동시성(Concurrency)과 병렬성(Parallelism)의 차이 - 코드 연구소컴퓨터공학에서 동시성이란 여러 작업이 순서에 상관없이 동시에 진행되는 것을 뜻한다. 하지만 여기서 동시에 진행된다는 것은 실제로 여러 작업이 동시에 동작하고 있다는 뜻은 아니다. 여러code-lab1.com 동시성(Concurrency)이란?컴퓨터공학에서 동시성이란 여러 작업이 순서에 상관없이 동시에 진행되는 것을 뜻한다. 하지만 여기서 동시에 진행된다는 것은 실제로 여러 작업이 동시에 동작하고 있다는 뜻은 아니..
tar 명령어와 gz 파일 리눅스에서 tar 명령어를 사용하면 파일들을 아카이브(archive)로 압축할 수 있다. 하지만 정확히 말하면 압축(compress)하는 것이라기 보단 여러 파일을 하나의 파일(아카이브)로 묶는 것이다. 이렇게 tar 명령어로 파일들을 묶으면 기존 파일들의 속성, 심볼릭 링크, 디렉토리 구조 등이 변경되지 않고 유지된다. 따라서 파일의 크기도 줄어들지 않고 그대로 반영된다. 반면 gz파일은 파일들을 압축하기 때문에 파일의 용량이 줄어든다. gz 파일을 gzip 명령어를 이용해 압축할 수도 있고 tar 명령어에서 -z 옵션을 이용해 압축할 수도 있다. 리눅스를 사용하다보면 ~.tar.gz 와 같은 확장자의 파일을 볼 수 있다. 이것은 tar 명령어로 파일들을 묶고 gz 파일로 압..