총 94개
-
미들웨어 아키텍쳐 개념과 종류, 사례2025.01.161. 미들웨어 개념 미들웨어는 운영 체제와 응용 소프트웨어의 중간에서 조정과 중개의 역할을 수행하는 소프트웨어입니다. 분산 컴퓨팅 환경에서 단일 사용자 환경을 제공하고 이기종 간 시스템의 네트워크를 연결하거나 클라이언트와 서버 간의 통신을 담당하는 역할을 합니다. 2. 미들웨어 동작 원리 미들웨어는 운영 체제와 응용 소프트웨어 사이에서 중개 역할을 하며, 응용 소프트웨어가 운영 체제로부터 제공받는 서비스 이외에 추가적인 서비스를 제공합니다. 3. 원격 프로시저 호출 (RPC) 원격 프로시저 호출은 네트워크로 연결된 서버 사이에 원격...2025.01.16
-
스택과 큐의 개념, 연산 방법 및 활용2025.11.171. 스택(Stack) 스택은 LIFO(Last In First Out) 구조의 자료구조로, 마지막에 들어간 데이터가 가장 먼저 나온다. 삽입 연산인 푸시(Push)는 스택의 맨 위에 새로운 요소를 추가하고, 삭제 연산인 팝(Pop)은 스택의 맨 위 요소를 제거한다. 일상생활에서는 접시 더미, 책 더미 등에서 볼 수 있으며, 컴퓨터에서는 함수 호출 관리와 웹 브라우저의 뒤로 가기 기능에 활용된다. 2. 선형 큐(Linear Queue) 선형 큐는 FIFO(First In First Out) 구조의 자료구조로, 처음 들어간 데이터가 ...2025.11.17
-
C언어를 이용한 스택 구현2025.11.131. 스택(Stack) 자료구조 스택은 후입선출(LIFO, Last In First Out) 원칙을 따르는 선형 자료구조입니다. 본 코드에서는 크기가 10인 문자 배열을 이용하여 스택을 구현했습니다. 스택 포인터(homework)를 통해 현재 스택의 위치를 추적하며, 배열의 끝에서부터 데이터를 삽입하고 제거합니다. 스택은 운영체제의 함수 호출 스택, 괄호 검사, 역폴란드 표기법 계산 등 다양한 분야에서 활용됩니다. 2. Push 연산 Push는 스택에 데이터를 삽입하는 연산입니다. 코드에서 push 함수는 문자를 받아 스택 포인터가...2025.11.13
-
큐와 스택의 구조와 삽입/삭제 연산자 비교2025.01.191. 큐의 구조와 연산자 큐는 데이터의 삽입과 삭제가 각각 한 쪽 끝과 다른 쪽 끝에서 이루어지는 선형 자료구조입니다. 큐는 FIFO(First-In, First-Out) 원칙을 따르며, Enqueue() 함수를 사용하여 데이터를 삽입하고 Dequeue() 함수를 사용하여 데이터를 삭제합니다. 큐에서는 front 포인터와 rear 포인터를 사용하여 삽입과 삭제 연산을 관리합니다. 2. 스택의 구조와 연산자 스택은 데이터의 삽입과 삭제가 같은 쪽 끝에서 이루어지는 선형 자료구조입니다. 스택은 LIFO(Last-In, First-Out...2025.01.19
-
자료구조_스택과 큐의 개념에 대하여 학습하였습니다2025.05.121. 스택 스택은 가장 대표적인 자료구조 중 하나로, 데이터를 하나씩 쌓아올린 형태의 자료 구조이다. 가장 먼저 들어온 데이터가 가장 마지막에 나간다. 즉, 후입선출의 구조를 가지고 있다. 그리고 리스트의 한쪽으로 삽입과 삭제 연산을 수행한다. 2. 큐 큐 또한 스택과 같은 자료 구조 중 하나이다. 하지만 스택과 반대로 가장 먼저 들어온 데이터가 가장 먼저 나가는 터널 형태의 자료구조다. 이는 선입선출 구조이고, 한쪽 끝에서는 삽입 연산이 반대쪽에서는 삭제 연산이 수행된다. 3. 스택의 활용 사례 웹 방문 기록을 볼 때 또는 뒤로가...2025.05.12
-
HackerSchool FTZ 레벨별 상세 풀이 및 보안 공격 기법2025.11.161. 버퍼 오버플로우(Buffer Overflow) 공격 버퍼 오버플로우는 할당된 메모리 크기보다 큰 데이터를 입력하여 인접한 메모리를 덮어쓰는 공격 기법입니다. FTZ 레벨 9-19에서 주로 다루어지며, strcpy, gets, fgets 등의 위험한 함수를 통해 발생합니다. 공격자는 스택의 반환 주소(RET)를 조작하여 임의의 코드를 실행하거나 쉘을 획득할 수 있습니다. 메모리 구조 분석과 쉘 코드 삽입을 통해 권한 상승을 달성합니다. 2. Return-to-Library(RTL) 공격 및 함수 체이닝 RTL 공격은 버퍼 오버플...2025.11.16
-
자료구조 구조체 배열를 활용한 소스코드 구현2025.05.051. 구조체 배열 이 코드는 구조체 배열을 사용하여 학생 정보를 관리하는 예제입니다. 구조체 StudentType에는 학생의 이름과 생일 정보가 포함되어 있으며, 최대 200명의 학생 정보를 저장할 수 있습니다. Display 함수는 학생 정보를 출력하고, Replace 함수는 첫 번째 학생의 정보를 변경합니다. main 함수에서는 첫 번째 학생의 정보를 초기화하고, Display와 Replace 함수를 호출하여 학생 정보를 확인하고 변경합니다. 1. 구조체 배열 구조체 배열은 프로그래밍에서 매우 유용한 데이터 구조입니다. 구조체는...2025.05.05
-
쉽게풀어쓰는 C언어 연습문제 3장2025.05.131. C 프로그래밍 기초 C 프로그램의 기본 구조와 특징에 대해 설명하고 있습니다. C 프로그램은 적어도 하나의 함수를 가져야 하며, main() 함수가 반드시 있어야 합니다. 변수 선언, 문장 끝의 세미콜론 사용 등 C 프로그래밍의 기본적인 문법을 다루고 있습니다. 2. 주석 처리 C 프로그래밍에서 주석 처리 방법과 주석의 특성에 대해 설명하고 있습니다. 주석은 컴파일 과정에서 무시되며, 주석이 많아지면 실행 파일의 크기가 커지지 않습니다. 주석은 /*로 시작하여 */로 끝나거나, //를 사용하여 현재 위치부터 줄의 끝까지 주석 ...2025.05.13
-
[건국대학교 컴퓨터프로그래밍2 A+][2024 Ver] 과제72025.01.201. C언어 클래스와 객체 이 프레젠테이션에서는 C언어의 클래스와 객체에 대해 다루고 있습니다. 주요 내용은 다음과 같습니다: 1. Circle 클래스: 반지름(radius) 멤버변수와 면적(getArea) 멤버함수로 구성됩니다. 디폴트 생성자와 매개변수 생성자를 사용하여 객체를 생성할 수 있습니다. 2. Rectangle 클래스: 가로(width), 세로(height) 멤버변수와 면적(getArea) 멤버함수로 구성됩니다. 디폴트 생성자, 매개변수 생성자, 정사각형 판단 함수(isSquare)를 포함하고 있습니다. 3. Po...2025.01.20
-
정수를 저장하는 객체를 만들기 위한 클래스 설계2025.01.261. C++ 클래스 문법 C++ 클래스는 class 키워드를 사용하여 선언되며, 멤버 변수(속성)와 멤버 함수(메서드)로 구성됩니다. 클래스의 멤버 함수는 클래스 내부 또는 외부에서 정의될 수 있으며, 이 경우 범위 지정 연산자 ::를 사용합니다. 클래스에는 private, protected, public의 세 가지 가시성 지시어가 있습니다. 생성자와 소멸자는 객체의 생성과 소멸 시 자동으로 호출되는 특수한 멤버 함수입니다. 2. 정수 저장 클래스 설계 정수를 저장하는 IntegerStorage 클래스를 설계하였습니다. 이 클래스는...2025.01.26
