본문 바로가기

lesson76

Programmers SQL Lv.1 모든 레코드 조회하기 https://school.programmers.co.kr/learn/courses/30/lessons/59034 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr -- 코드를 입력하세요 SELECT ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID SELECT {COLUMN명} FROM {TABLE명} ORDER BY {COLUMN명} (ASC/DESC) : 기본값은 오름차순(ASC)이다. 2024. 2. 26.
네트워크 프로그래밍 04. TCP 서버-클라이언트 01 TCP 서버-클라이언트 구조 02 TCP 서버-클라이언트 분석 03 TCP 서버-클라이언트(IPv6) 방법은 IPv4와 유사하지만 잠깐 IPv4와 IPv6 주소를 변환하는 방법에 대해서 알아보고 넘어가자. IPv4는 4개의 구간에서 총 32비트를 사용하는 주소 체계를 의미한다. 255.255.255.255가 최대 범위에 해당한다. 반면 IPv6은 8개의 구간에서 총 128비트를 사용하는 주소체계를 의미한다, 16진수를 사용한다. 만약 192.168.1.123이라는 IPv4 주소를 IPv6 주소로 변환하는 작업을 궂이 수작업으로 계산해보자. IPv6은 한 구간 당 16진수 4개 즉 16비트를 차지하며 이는 IPv6 한칸은 IPv4 두 구간과 동일하다는 의미이다. C0.A8.01.7B => 이를 위의 .. 2024. 2. 23.
네트워크 프로그래밍 03. 소켓 주소 구조체 다루기 2024. 2. 16.
빅 엔디안과 리틀 엔디안 빅 엔디안과 리틀 엔디안은 바이트 순서를 나타내는 방식이다. 빅 엔디안은 가장 중요한 바이트(최상위 바이트)가 가장 낮은 주소에 저장된다. 예) 32비트 상에서 0x12345678 => 주소 | 바이트 || ============= 0x001 | 0x12 || 0x002 | 0x34 || 0x003 | 0x56 || 0x004 | 0x78 || 리틀 엔디안은 가장 중요한 바이트가 가장 높은 주소에 저장된다. 예) 32비트 상에서 0x12345678 => 주소 | 바이트 || ============= 0x001 | 0x12 || 0x002 | 0x34 || 0x003 | 0x56 || 0x004 | 0x78 || Intel이나 AMD의 CPU가 대다수 리틀 엔디안을 따르고 있는 편이다. 사실상 PC용으로 .. 2024. 2. 6.
자유 저장소와 자동 메모리 메모리 구조에서 힙과 스택은 각각 자유 저장소와 자동 메모리라는 호칭을 가지고 있다. 먼저 자유 저장소라고 하는 힙 영역에 대해 알아보자. 여기서의 힙은 힙 자료구조와는 다르다는 것을 기억할 필요가 있다. 아래에서 설명할 자동 메모리와 다르게 사용자가 직접 할당하고 해제도 해줘야 한다는 특징이 있다. 다음으로 자동 메모리라고 하는 스택 영역에 대해서 알아보자. 자동 메모리에는 자동변수가 사용이 된다. 자동변수에는 기본적으로 auto라는 키워드가 생략되어 있다. 여기서 메모리는 자동으로 관리된다. 자동으로 관리된다는 말의 의미는 무엇인가? 프로그래머가 신경쓰지 않아도 자동으로 메모리를 해제하기 때문이다. 2024. 1. 28.
시스템 프로그래밍 03. 파일 다루기 01. 개요 02. 파일 정보 검색 파일 정보 검색 : stat(2) SYNOPSIS #include #include #include int stat(const char *pathname, struct stat *statbuf); 파일 기술자로 파일 정보 검색 : fstat(2) SYNOPSIS #include #include #include int fstat(int fd, struct stat *statbuf); 03. 파일 권한 접근 제어 파일 접근 권한 검색 : access(2) SYNOPSIS #include int access(const char *pathname, int mode); 파일명으로 접근 권한 변경 : chmod(2) SYNOPSIS #include int chmod(const ch.. 2024. 1. 25.
시스템 프로그래밍 02. 디렉터리 다루기 01 개요 리눅스에서는 파일은 파일면, inode, 데이터 블록으로 구성된다. inode는 번호로 저장되며, 파일의 소유자나 크기 등의 정보와 실제 데이터를 저장하고 있는 데이터 블록의 위치를 나타내는 주소들이 저장되어 있다. 02 리눅스 파일의 특징 리눅스 파일에는 일반 파일, 특수 파일, 디렉토리로 구분할 수 있다. 03 디렉터리 생성과 삭제 디렉터리 생성 : mkdir(2) SYNOPSIS #include #include int mkdir(const char *pathname, mode_t mode); 디렉터리 삭제 : rmdir(2) SYNOPSIS #include int rmdir(const char *pathname); 04 디렉터리 관리 현재 작업 디렉터리의 위치 검색 1 : getcwd(3.. 2024. 1. 25.
네트워크 프로그래밍 02. 소켓 시작하기 01. 오류 처리 리눅스에서는 errno.h를 통해 오류 코드 확인 err_quit() 함수와 err_display() 함수 02. 소켓 초기화와 종료 윈속 프로그램은 최초 소켓 함수를 호출하기 전에 반드시 윈속 초기화 함수인 WSAStartup() 함수를 호출해야 한다. 이때 사용 가능한 프로토콜은 운영체제에 따라 다르다. 실습 2-1 윈속 초기화와 종료하기 /// 03. 소켓 생성과 닫기 먼저 소켓을 생성해야 한다. 프로토콜에 따른 주소 체계를 알아야 한다. 소켓 타입에 대해 정확하게 알아야 한다. 프로토콜에는 TCP와 UDP가 존재한다. 마지막에는 소켓을 닫는 과정이 필요하다. 실습 2-2 소켓 생성과 닫기 /// 2024. 1. 19.
통계학 시리즈 1장 https://zpub.tistory.com/164 1. 가설검정 zpub.tistory.com 2장 https://zpub.tistory.com/165 2. 상관분석(1/2) zpub.tistory.com 3장 https://zpub.tistory.com/166 3. 상관분석(2/2) zpub.tistory.com 4장 https://zpub.tistory.com/167 4. 회귀분석(1/2) zpub.tistory.com 5장 https://zpub.tistory.com/168 5. 회귀분석(2/2) zpub.tistory.com 6장 https://zpub.tistory.com/169 6. 범주형 자료분석 zpub.tistory.com 7장 https://zpub.tistory.com/170 .. 2024. 1. 11.
네트워크 프로그래밍 01. 네트워크와 소켓 프로그래밍 인터넷 통신 수행 개체는 호스트와 라우터로 구성된다. 이 때 따라야 하는 규칙이 있다. 이를 통신 프로토콜이라고 한다. 여기서 흔히 L1 ~ L7 스위치라고 부르는 장비들의 명칭이 유래한다. 여기서 각 계층 별로 프로토콜의 구조가 다양하게 존재하는데, 응용 계층 -> TELNET, FTP, HTTP, SMTP... 전송 계층 -> TCP / UDP 인터넷 계층 -> IP 네트워크 접근 계층 -> 장치 드라이버, 네트워크 하드웨어 로 구성된다. TCP와 UDP에 대한 차이점도 꼭 집고 갈만한 주제이다. TCP(Transmission Control Protocol) UDP(User Datagram Protocol) 연결형 프로토콜 - 연결이 설정된 후 통신이 가능하다. 비연결형 프로토콜 - 연결 없이 통신 .. 2024. 1. 4.