Tiny Bunny
[정보처리기사 실기] 포인터 배열
·
정보처리기사
1. 포인터 기본 개념표현의미예시해석int *p정수형 포인터 변수int *p = &a;a의 주소를 저장하는 변수&변수변수의 주소값&a[0] → 100 *포인터해당 주소에 있는 값*p → 주소 p가 가리키는 곳의 값 2. 배열과 포인터 관계int a[3] = {10, 20, 30}; int *p = a; // == &a[0]표현해석p[0] or *pa[0] → 10p[1] or *(p + 1)a[1] → 20p[2] or *(p + 2)a[2] → 30p는 배열의 첫 번째 요소를 가리키고 있으므로, p[0] 또는 *p는 a[0]과 동일p[1] 또는 *(p + 1)은 a[1]과 동일하고, p[2]는 a[2]를 가리 📌 즉, 배열처럼 쓰면 된다. 주소 계산은 자동으로 처리됨! 3. 주소값과 값 구분p는 포인..
[정보처리기사 실기] 서브넷 계산 문제 풀이
·
정보처리기사
다음 세 가지 문제를 통해, 서브넷 마스크와 서브넷팅 개념을 자세히 정리하고 실전처럼 계산하고 활용하는 방법을 배워보겠습니다.IP 주소와 서브넷 마스크IP 주소IP 주소는 네트워크 상에서 각 기기를 구별하기 위한 고유한 번호입니다.IPv4 주소는 32비트로 구성되며, 보통 10진수 4개 묶음(8비트씩) 으로 표현됩니다.예:192.168.1.132 → 32비트 중 앞 8비트씩 4묶음 = 192.168.1.132IP 주소의 두 가지 정보네트워크(Network) 부분: 어느 네트워크에 속했는가?호스트(Host) 부분: 네트워크 안에서 어떤 기기인가?이 네트워크와 호스트의 경계를 정해주는 것이 바로 서브넷 마스크입니다.서브넷 마스크서브넷 마스크는 고정된 네트워크 영역을 1로, 바뀌는 호스트 영역을 0으로 표시한..
[정보처리기사 실기] 디자인 패턴 정리
·
정보처리기사
소프트웨어 설계에서 디자인 패턴(Design Pattern)은 자주 발생하는 설계 문제를 해결하기 위한 검증된 설계 구조를 말합니다. 디자인 패턴은 크게 세 가지 범주로 나뉘며, 각 범주에는 목적에 맞는 여러 패턴이 존재합니다. 이 글에서는 생성 패턴, 구조 패턴, 행위 패턴의 개념을 핵심만 정리합니다.⸻생성 패턴 (Creational Pattern)객체를 생성하는 방식에 대한 패턴으로, 객체 생성 과정을 캡슐화하여 코드의 유연성과 재사용성을 높이는 것이 목적입니다. • Abstract Factory (추상 팩토리)관련된 객체들을 일관된 방식으로 생성할 수 있게 해주는 패턴입니다. 서로 관련 있는 객체들의 집합(제품군)을 생성할 때 사용됩니다. • Builder (빌더)객체 생성 과정을 단계별로 분리하여..
[정보처리기사 실기] 빈출 키워드 30 (21~30)
·
정보처리기사
키워드개념팁/포인트21정규화 (Normalization)중복 제거 + 이상(Anomaly) 방지를 위한 데이터 구조 정리1NF → 2NF → 3NF → BCNF 흐름 기억이상 해결의 핵심 도구22반정규화 (Denormalization)성능 향상을 위해 정규화된 테이블을 합치거나 중복 허용JOIN 줄이고 조회 빠르게, 성능이 우선일 땐 고려23트랜잭션 (Transaction)DB 상태 변화의 논리적 단위, ACID 특성 필수A.C.I.D = 원자성/일관성/고립성/지속성 → 실기 자주 출제!24Commit & RollbackCommit: 저장 / Rollback: 되돌리기“Ctrl+S vs Ctrl+Z”처럼 외우면 쉽다25인덱스 (Index)데이터 검색을 빠르게 하는 목차 구조삽입·수정 시 성능 저하 주의,..
[정보처리기사 실기] 빈출 키워드 30 (11~20)
·
정보처리기사
키워드개념팁/포인트11관계 해석원하는 데이터를 비절차적으로 기술하는 질의 언어(TRC, DRC 포함)“무엇을?”만 명시, 어떻게는 기술 안 함 / 관계대수와 구분 (절차적 vs 선언적)12이상 (Anomaly)중복 데이터로 인해 발생하는 삽입/삭제/갱신 문제삽삭갱 기억 / 정규화를 통해 해결 가능13기본키 & 후보키기본키: 유일 식별 / 후보키: 유일성과 최소성 모두 만족하는 키 후보군후보키 = 후보자들, 기본키 = 당선자 1명14정적 vs 동적 테스트정적: 실행 없이 검사 / 동적: 실행 후 결과 확인“정적 = 눈으로 확인, 동적 = 돌려보고 확인”15단위 테스트 (Unit Test)가장 작은 기능 단위(함수, 모듈)를 검증하는 테스트코딩 직후 빠른 오류 발견 / 부품 단위 테스트16통합 테스트모듈 간..
[정보처리기사 실기] 빈출 키워드 30 (1~10)
·
정보처리기사
키워드개념팁/포인트1애자일 (Agile)반복과 피드백 중심의 유연한 개발 방식워터폴과 반대, 변화에 민첩하게 대응, “반복+협업+빠른 피드백”2리팩토링 (Refactoring)기능은 그대로, 코드 구조만 개선하는 작업리디자인은 기능까지 바꿈 Refactor = Fix + Structure3클래스 다이어그램UML에서 클래스 간 관계와 구조를 표현한 정적 다이어그램설계도 느낌, 클래스명/속성/메서드 3구획 기억4기능 vs 비기능 요구사항기능: 시스템이 해야 할 일 / 비기능: 성능, 보안 등 외적 요구사항기능 = 무엇을, 비기능 = 어떻게 잘할 것인가5정규화 (Normalization)데이터 중복 제거와 이상(Anomaly) 방지를 위한 테이블 구조 정리1NF~3NF 순서 기억 이상이 있으면 → 정규화6트랜..
[정보처리기사 실기] C언어 배열과 포인터, 실기 대비 예제와 개념
·
정보처리기사
정보처리기사 실기 대비 - 흥달쌤 유튜브에서 C언어 배열과 포인터 강의를 보고 학습한 내용을 기록한 포스팅입니다.1. 배열의 개념배열같은 자료형(예: int, char)의 데이터를 연속된 메모리 공간에 저장하는 변수입니다.예: int arr[4] = {10, 11, 12, 13};배열의 구조int p[[4] = {10, 11, 12, 13}; 인덱스(Index) 값(Value) 주소(가정)p[0]10100p[1]11101p[2]12102p[3]13103주소는 연속된 메모리에 저장되며, 한 칸 = 4바이트 라는 실제 메모리 구조는 생략하고, 가정된 주소로 이해구분p[1]인덱스 1의 값 (11)11&p[1]인덱스 1의 주소 (위치)1012. 포인터(Pointer)의 개념✔️ 포인터변수의 주소(메모리 위치) ..
[JavaScript] 자바스크립트 | 기초 복습 함수 제대로 이해하기
·
Javascript
함수의 필요성다음 코드를 먼저 살펴보겠습니다. const num = 1;const num2 = 2;const result = num + num2;console.log(result);const num3 = 1;const num4 = 2;const result2 = num3 + num4; 두 숫자를 더하는 간단한 코드이지만, 똑같은 덧셈 연산이 반복되고 있습니다.이처럼 반복되는 작업을 줄이고, 코드를 재사용할 수 있도록 도와주는 것이 바로 함수입니다.함수 정의와 호출함수를 정의하고 호출하는 기본적인 형태는 다음과 같습니다.function add(num1, num2) { return num1 + num2;}const sum = add(3, 4); // 호출console.log(sum); // ..
[JavaScript] 자바스크립트 | 기초 복습 변수 primitive 타입과 object의 차이점
·
Javascript
자료형 구분자바스크립트에서 변수는 다음 두 가지 방식 중 하나로 값을 저장합니다.원시 타입 (Primitive Type)숫자(number), 문자열(string), 불리언(boolean), null, undefined참조 타입 (Reference Type)객체(object), 배열(array), 함수(function) 등이 둘은 변수에 값이 직접 저장되느냐, 아니면 주소만 저장되느냐에 따라 동작 방식이 다릅니다.원시 타입원시 타입은 값 자체가 변수에 직접 저장되는 구조입니다.메모리에는 그 값이 그대로 들어가며, 변수 간의 값 복사는 단순 복사일 뿐 서로 영향을 주지 않습니다.let number = 2;let number2 = number;console.log(number); // 2console.lo..
[정보처리기사 실기] C언어 기초 문법 예제 (3)정적 변수, 구조체, 2차원 배열
·
정보처리기사
1. 정적 변수 (Static Variable)정적 변수는 프로그램이 실행되는 동안 메모리에 고정된 위치를 차지하며, 함수나 블록이 종료되더라도 값이 유지되는 변수를 말합니다.이는 변수 선언 시 static 키워드를 사용하여 선언합니다.예제 코드:#include void counter() { static int count = 0; // 정적 변수 선언 및 초기화 count++; printf("현재 count 값: %d\n", count);}int main() { counter(); // 첫 번째 호출 counter(); // 두 번째 호출 counter(); // 세 번째 호출 return 0;}정적 변수 선언 및 초기화:static int count = 0;coun..