본문 바로가기

전체 글181

[NetPractice] 01. need to know 서브넷 마스크 : IP 주소를 호스트(컴퓨터)를 식별하는 부분과 호스트가 속한 네트워크를 식별하는 부분으로 나누는데 사용한다. 호스트가 로컬 서브넷에 있는지, 원격 네트워크에 있는지 확인하기 위해 TCP/IP 프로토콜에서 사용된다. 서브넷 마스크를 통해서 IP주소를 네트워크 주소 부분과 호스트 주소 부분으로 나눌 수 있다. 서브넷 마스크가 1인 구간은 네트워크 주소로 식별되고 서브넷 마스크가 0인 구간은 호스트 주소로 식별된다. prefix : 이진수로 바꿨을 때 1의 개수 255.0.0.0 >> /8 255.255.255.128 >> /8+8+8+1 >> /25 IP 주소 : TCP/IP 네트워크에서 호스트를 고유하게 식별한다. 고정 IP 유동 IP private IP 10.0.0.0~10.255.25.. 2022. 7. 31.
[ CPP02 ] 0. 과제이해하기 # Orthodox Canonical Class Form (OCCF) - 02부터 나오는 새로운 규칙, class를 만들 때 4가지 멤버 함수를 필수적으로 포함해야한다. Default constructor Copy constructor Copy assignment operator Destructor # 복사 생성자 복사에는 얕은 복사와 깊은 복사가 있는데 가장 이해하기 쉬운 예로 메모리를 할당받은 (원본)변수(-> 포인터)를 복사한다고 할 때 얕은 복사는 원본 변수가 가리키고 있는 주소값을 복사해와 같은 메모리를 가리킨다면 깊은 복사는 원본 변수가 할당받은 메모리 크기 만큼 새로 할당 받고 값까지 복사하는 것을 말한다. 얕은 복사는 원본 변수와 복사변수가 같은 값을 출력하며 같은 메모리를 가리키지만 깊은.. 2022. 7. 30.
[ CPP01 ] 0. 과제 이해하기 This module is designed to help you understand the memory allocation, reference, pointers to members and the usage of the switch in CPP. 메모리할당, 참조, 멤버포인터, switch 에 대해 알아보자..! ex00 - 먼저 Zombie 클래스를 생성하고 private string name을 가진다. - announce 함수를 좀비 클래스에 만들고 좀비들이 자신의 이름을 스스로 말하도록 하기 다음의 두 함수를 만들어라 - newZombie : 좀비를 생성하고 이름을 붙이고 반환하여 함수밖에서 사용할 수 있도록 해라 - randomChump : 좀비를 만들고 이름을 붙이고 announce 함수를 실행하.. 2022. 7. 28.
[도서 리뷰] 레트로의 유니티 게임 프로그래밍 에센스 레트로의 유니티 게임 프로그래밍 에센스 // 이제민 지음, 한빛미디어 이 책을 끝까지 공부하면 이런 게임들을 구현해 볼 수 있다. # 총평 (책의 분량이 워낙 많아서 1-4부를 기준으로 작성하였습니다.) 우선 나는 객체 지향 프로그래밍에 대해서 한두번 들여다 본 경험이 있다. C#과 유니티는 전혀 접해보지 않은 상태에서 이 책을 공부하게 되었다. 유니티를 처음 사용해보는 사람들을 위해 어떻게 사용하는지를 안내하는 부분이 풍성하다. 객체지향을 처음 접한다면 낯설 수 있는 상속이란 개념에 대해서, 어떤 면에서 상속이 좋고, 나쁜지를 이해하기 쉽게 설명한다. C#에 대한 설명을 하는 파트에서는 코드로 예시를 들어놓기보다는 설명으로 이해시키고 있는데, 코딩을 많이 접해보지 않은 사람이라면 이런 구성의 책이 어렵.. 2022. 7. 24.
[ NetPractice ] NetAnswer 보호되어 있는 글 입니다. 2022. 7. 12.
[도서 리뷰] 김상형의 SQL 정복 김상형의 SQL 정복 // 김상형 지음, 한빛미디어 학교 수업으로 아슬아슬하게 만든 데이터베이스 지식이 부족해서 데이터베이스, SQL의 기초를 다시 탄탄히 쌓아올릴 필요가 있다고 느끼던 중 '김상형의 SQL 정복'이라는 책을 접할 수 있는 기회가 생겼다 # 이 책은 데이터베이스를 처음 공부하려는 사람들에게 꼭 추천하고 싶다. 물론 나처럼 숭덩숭덩 이름만 공부한, 구멍난 지식을 가진 사람들에게도 추천한다. 1. 처음 공부하는 사람들에게 추천한 가장 첫번째 이유는 우선 보통 이 책을 공부하려는 사람들은 컴퓨터공학, 컴퓨터 언어를 배우던 사람들일 확률이 높다. 데이터베이스라는 새로운 개념을 이전에 배웠던 컴퓨터 언어와 비교하며 어떤 특성을 가지고 있는지, 어떻게 활용하기 위해 어떤 점을 공부해야하는 것인지 설.. 2022. 5. 29.
[ minishell ] 1. 사전지식 # shell 명령어 해석기 command interpreter 사용자가 입력한 명령어를 해석하여 커널에 전달 터널과 사용자간의 대화식 인터페이스를 제공 로그인 할 때 실행되어 사용자별로 사용 환경 설정을 가능하게 한다. 강력한 스크립트 언어 리다이렉션과 파이프 기능을 제공하고 포그라운드/백그라운드 프로세스를 실행 # bash shell /bin/bash 명령어 완성 기능, 히스토리, 명령어 치환, 편집 등의 지원 # 환경 변수 전체 shell에서 사용 가능한 전역 변수 서브 shell에 기능 상속 가능 env로 환경 변수를 확인할 수 있다. # 셸 변수 현재 로그인 shell에서만 사용 가능한 지역 변수 서브 shell에 기능 상속 불가능 set으로 shell 변수를 확인할 수 있다. # 프롬프트 ht.. 2022. 5. 15.
[minishell] 0. 과제 이해하기 [minishell] : As beautiful as a shell # Description 간단한 shell을 만들어봅시다. # Keywords Unix logic # common instructions 더보기 프로젝트는 C로 작성된다. norm을 따라야한다. 보너스 역시 norm을 따라야 한다. 예기치 않게 프로그램이 중단되어서는 안됩니다. (segmentation fault, bus error, double free 등등등등ㄷ) 메모리 누수 당연히 안됨 할당한 메모리는 모두 해제하세영 -Wall -Wextra -Werror 플래그를 통해 컴파일 수행하기, 리링크는 당연히 안됩니다. Makefile은 $(NAME), all, clean, fclean, re 규칙을 포함해야해요. 보너스를 만들고자 할 .. 2022. 5. 13.
[Philosophers] 1. 과제 해결하기 # 철학자들은 스레드로 구현되어 있다. * 쓰레드 : 어떤 프로그램 내에서 실행되는 흐름의 단위 운영체제의 일부인 스케줄러에 의해 독립적으로 관리될 수 있는 프로그래밍 된 명령어의 가장 작은 시퀀스 하나의 프로그램은 하나 이상의 프로세스를 가지고 하나의 프로세스는 하나 이상의 스레드를 가진다. * 프로세스 : 컴퓨터 프로그램의 인스턴스로 하나 이상의 스레드를 통해 실현된다. - 메모리에 적재되고 CPU 자원을 할당받아 프로그램이 실행되고 있는 상태 * 스레드 vs 프로세스 프로세스는 실행될 때 운영체제로부터 각각 독립된 메모리 영역을 할당받는다. 스레드는 한 프로세스 내에서 동작되는 흐름으로 프로세스네에서 stack영역만 별도로 할당 받는다. 부모프로세스의 코드, 데이터, 힙 영역은 공유한다. 즉, 프로.. 2022. 5. 8.