전체 글 6

디자인 패턴 - 커맨드 패턴

커맨드 패턴을 그림으로 간단하게 표현을 해보았다. (Made by CHATGPT) 이 중에서 3번과 5번을 실습에 적용해보도록 하겠다. 보스 AI 패턴 만들기 목표는- 위치로 이동 - 3초 대기 - 플레이어 조준 사격 - 총알 난사 단계 별로 적용을 시켜보겠다. 1단계: ICommand (명령서의 기본 뼈대 만들기) // 커맨드 패턴의 핵심: 모든 행동(명령서)이 반드시 지켜야 하는 3가지 규칙을 정의합니다.public interface ICommand{ // 1. 명령이 처음 시작될 때 딱 한 번 호출됩니다. (초기화 역할) void Enter(); // 2. 명령이 실행되는 동안 매 프레임(Update)마다 호출됩니다. (실제 행동 역할) void..

카테고리 없음 2026.09.15

내 코드가 그렇게 이상한가요? - 8장 : 강한 결합(실습 적용)

강한 결합?결합도란?한 클래스가 다른 클래스의 내부를 얼마나 깊이 알고 있는지의 지표. 예시)예시) 강한 결합?A 코드는 B 코드의 구현(변수, 컴포넌트)에 강하게 의존하는 상황B 코드를 수정=> A 코드 오류 발생! 강한 결합 상태코드들이 서로의 로직에 다 관여되어 있는 상태한 부분을 수정하면 다른 모든 코드들을 고쳐야 함수정에 더 많은 시간 소요코드 재사용성 떨어짐, 코드 테스트 불가 강한 결합을 끊는 방법인터페이스를 활용해라 => 다른 클래스를 직접 참조하지 말고, 가운데에 추상화 된 인터페이스를 두자.클래스 내부에서 외부 데이터를 직접 찾지 말아라. => 생성 시점에 외부에서 데이터를 찔러주도록 설계하자.특별한 이유없으면 public 사용 금지.단일 책임 원칙 => 한 클래스에서는 하나의 역할만 ..

카테고리 없음 2026.09.10

내 코드가 그렇게 이상한가요? - 6장 : 조건 분기 (C# 정리)

6장에서 나오는 악마는 다음과 같다.조건 분기의 중첩으로 인해 낮아지는 가독성switch 조건문 중복조건 분기의 중복과 중첩자료형 확인에 조건 분기 사용하지 않기플래그 매개변수악마를 줄이는 방법을 하나씩 알아보자. 책에는 Java로 정리되어 있기에, 예시 코드를 C#으로 바꿔서 정리해보았다. 1. 중첩되는 조건 분기 제거하기 문제 상황조건문(if)이 여러 겹 중첩되면 코드의 가독성이 크게 떨어집니다. 각 조건문의 범위를 파악하기 힘들고, 중첩 구조 사이사이에 코드가 섞여 있으면 특정 조건에서 어떤 로직이 처리되는지 파악하기 어려워 버그가 발생하기 쉽습니다. // 살아 있는가if (0 해결 방법조기 리턴(early return)을 사용하여 조건 분기의 중첩을 제거합니다. 조건을 반전시켜, 만족하지 않을..

스터디 기록 2026.09.07

2주차 과제-멀웨어 분석과 리버스 엔지니어링이란?

멀웨어(malware) 분석이란?멀웨어(malware): 악의적인 목적을 가진 주체가 사용하는 디지털 무기. 기술적으로 보면 악의적인 목적을 가진 소프트웨어를 뜻한다. 흔히 우리가 '컴퓨터가 바이러스에 걸렸다.'라고 표현하는데, 이때의 바이러스가 멀웨어의 한 종류이다.과거: 주로 금전적 이익을 목적으로 기업이나 정부기관, 은행 등을 공격 ->현재: 더 가치있는 데이터들이 많아지면서 일상의 데이터들이 공격의 타깃이 됨멀웨어 분석: 멀웨어의 고유한 기능, 목표, 소스 및 잠재적 영향을 연구하는 것 멀웨어의 종류 바이러스(virus)자기 복제 기능을 가진 멀웨어로, 감염되면 시스템의 다른 정상 파일에 자신을 삽입해 존재한다. 바이러스에 감염된 파일을 실행하면 프로그램은 정상적으로 실행되지만, 백그라운드에서는 ..

과제 기록 2024.10.03

1주차 과제 (조규혁) - 정보 보호 사례 및 국내외 정책

정보 보호 관련 사례 1. Equifax 데이터 유출 사건 (2017) 배경: 미국 신용평가기관인 Equifax는 고객들의 민감한 신용 정보와 금융 데이터를 보유하고 있는 대형 금융 기관이다. 사건: 2017년에 Equifax는 약 1억 4,700만 명의 미국 시민들의 사회보장번호, 신용카드 정보, 운전면허 정보 등이 포함된 개인정보가 해킹된 대규모 데이터 유출 사건을 겪었다. 원인: 해킹의 원인은 웹 애플리케이션에서의 보안 취약점을 제때 패치하지 않았기 때문입니다.  2. 페이스북-케임브리지 애널리티카 사건 (2018) 배경: 케임브리지 애널리티카는 정치 자문 및 데이터 분석 회사로, 소셜미디어 데이터를 활용해 선거에서 유권자들을 타겟팅 했다. 사건: 페이스북 이용자들의 개인 프로필 데이터를 허가 없이..

과제 기록 2024.09.30

1주차 과제-정보보호 관련 사례 연구, 정보 보호 관련 법규 검토

해외: 보건복지부-랜섬웨어 공격 미국 메디케어 및 메디케이드 서비스 센터(CMS)와 협력하는 한 계약업체가 랜섬웨어 공격을 받았다. 이 업체가 소유하고 운영하는 시스템의 네트워크 파일 공유 기능을 통해서였다. 이로 인해 280만 명의 개인정보가 노출됐다. 그중 130만 명은 사망자였다. 유출된 정보에는 이름, 주소, 생년월일, 메디케어 식별자, 은행 정보 등이 포함되어 있었다. 사고 발생 후 CMS는 시스템을 사내로 이전하고 피해자들에게 무료 신용 모니터링 서비스를 제공했다. 국내: 2009년 7.7 디도스 공격 2009년 7월 4일 미국 주요사이트들을 대상으로 시작된 공격이 7월 7일부터 7월 10일까지 국내외 주요 웹사이트를 동시다발적으로 공격한 사건 - DDos공격이란? 응용 프로그램의 리소스를 소..

과제 기록 2024.09.27