<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://consoledotkohi.github.io/</id><title>KOHILOG</title><subtitle>dev insight</subtitle> <updated>2025-05-07T13:47:31+09:00</updated> <author> <name>kohi</name> <uri>https://consoledotkohi.github.io/</uri> </author><link rel="self" type="application/atom+xml" href="https://consoledotkohi.github.io/feed.xml"/><link rel="alternate" type="text/html" hreflang="ko" href="https://consoledotkohi.github.io/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2025 kohi </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>🎨 06. 커맨드 패턴</title><link href="https://consoledotkohi.github.io/posts/06.-%EC%BB%A4%EB%A7%A8%EB%93%9C-%ED%8C%A8%ED%84%B4/" rel="alternate" type="text/html" title="🎨 06. 커맨드 패턴" /><published>2025-05-07T13:45:00+09:00</published> <updated>2025-05-07T13:45:00+09:00</updated> <id>https://consoledotkohi.github.io/posts/06.-%EC%BB%A4%EB%A7%A8%EB%93%9C-%ED%8C%A8%ED%84%B4/</id> <content type="text/html" src="https://consoledotkohi.github.io/posts/06.-%EC%BB%A4%EB%A7%A8%EB%93%9C-%ED%8C%A8%ED%84%B4/" /> <author> <name>kohi</name> </author> <category term="헤드퍼스트 디자인 패턴" /> <summary>🎮 만능 IOT 리모컨 이 리모컨은 프로그래밍이 가능한 7개의 슬롯과 각 슬롯에 할당된 기능을 켜고 끄는 ON/OFF 스위치가 있다. 각 슬롯은 서로 다른 가정용 기기에 연결할 수 있고, 작업 취소 버튼도 장착되어 있다. 리모컨 구조를 살펴보자 프로그래밍이 가능한 7개의 슬롯이 있다. 각 슬롯에 원하는 제품을 연결한 다음 옆에 있는 버튼으로 조작할 수 있다. 7개의 슬롯마다 ‘ON’ 버튼과 ‘OFF’ 버튼이 있다. 이 두 버튼으로 각각의 슬롯에 연결된 가전제품을 제어할 수 있다. 마지막으로 누른 버튼의 명령을 취소하는 ‘UNDO’ 버튼도 있다. 🎮 협력 업체 클래스 살펴보기 CEO가 이메일에 첨부해서 보낸, 협력 업체 클래스를 살펴보자. cla...</summary> </entry> <entry><title>정보처리기사(필기) 📝 01-1. 소프트웨어 설계 - 오답 정리</title><link href="https://consoledotkohi.github.io/posts/01-1.-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%EC%84%A4%EA%B3%84-%EC%98%A4%EB%8B%B5-%EC%A0%95%EB%A6%AC/" rel="alternate" type="text/html" title="정보처리기사(필기) 📝 01-1. 소프트웨어 설계 - 오답 정리" /><published>2025-04-23T23:23:00+09:00</published> <updated>2025-04-23T23:23:00+09:00</updated> <id>https://consoledotkohi.github.io/posts/01-1.-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%EC%84%A4%EA%B3%84-%EC%98%A4%EB%8B%B5-%EC%A0%95%EB%A6%AC/</id> <content type="text/html" src="https://consoledotkohi.github.io/posts/01-1.-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%EC%84%A4%EA%B3%84-%EC%98%A4%EB%8B%B5-%EC%A0%95%EB%A6%AC/" /> <author> <name>kohi</name> </author> <category term="정보처리기사" /> <summary>Q. 정형 기술 검토(FTR)의 지침사항으로 옳은 내용 모두를 나열한 것은? ✔️ ① 의제를 제한한다. ✔️ ② 논쟁과 반박을 제한한다. ✔️ ③ 문제 영역을 명확히 표현한다. ④ 참가자의 수를 제한하지 않는다. 정형 기술 검토 지침사항 의제와 그 범위를 유지하라. 참가자의 수를 제한하라. 각 체크리스트를 작성하고, 자원과 시간 일정을 할당하라. 개발자가 아닌 제품의 검토에 집중하라. 논쟁과 반박을 제한하라. 검토 과정과 결과를 재검토하라. Q. 다음 중 추상화(Abstraction) 방법이 아닌 것은? ① 제어 추상화 ② 기능 추상화 ③ 데이터 추상화 ✔️ ④ 구조 추상화 추상화 방법 제어 추상화: 시스템의 제어 흐름을 단순화하는 방법 기능...</summary> </entry> <entry><title>🎨 05. 싱글턴 패턴</title><link href="https://consoledotkohi.github.io/posts/05.-%EC%8B%B1%EA%B8%80%ED%84%B4-%ED%8C%A8%ED%84%B4/" rel="alternate" type="text/html" title="🎨 05. 싱글턴 패턴" /><published>2025-04-16T21:29:00+09:00</published> <updated>2025-04-16T21:29:00+09:00</updated> <id>https://consoledotkohi.github.io/posts/05.-%EC%8B%B1%EA%B8%80%ED%84%B4-%ED%8C%A8%ED%84%B4/</id> <content type="text/html" src="https://consoledotkohi.github.io/posts/05.-%EC%8B%B1%EA%B8%80%ED%84%B4-%ED%8C%A8%ED%84%B4/" /> <author> <name>kohi</name> </author> <category term="헤드퍼스트 디자인 패턴" /> <summary>🍫 하나뿐인 특별한 객체 만들기, 싱글턴 패턴 고작 객체 인스턴스 1개 만드는 방법을 1개 장에 걸쳐서 배운다고요? 싱글턴 패턴은 특정 클래스에 객체 인스턴스가 하나만 만들어지도록 해 주는 패턴이다. 싱글턴 패턴을 사용하면 전역 변수를 사용할 때와 마찬가지로 객체 인스턴스를 어디서든지 액세스할 수 있게 만들 수 있으며, 전역 변수를 쓸 때의 단점(애플리케이션이 끝날 때까지 한 번도 쓰지 않는 -괜히 자원만 잡아먹는- 쓸데없는 객체가 생기는 문제 등)을 감수할 필요도 없다. 싱글턴 패턴을 사용하면 필요할 때만 객체를 만들 수 있기 때문이다. “어떻게 하면 한 클래스의 인스턴스를 두 개 이상 만들지 않게 하지?” 🍫 고전적인 싱글턴 패턴 구현법 public class Singleton { ...</summary> </entry> <entry><title>정보처리기사(필기) 📝 05. 정보시스템 구축 관리</title><link href="https://consoledotkohi.github.io/posts/%EC%A0%95%EB%B3%B4%EC%B2%98%EB%A6%AC%EA%B8%B0%EC%82%AC(%ED%95%84%EA%B8%B0)-05.-%EC%A0%95%EB%B3%B4%EC%8B%9C%EC%8A%A4%ED%85%9C-%EA%B5%AC%EC%B6%95-%EA%B4%80%EB%A6%AC/" rel="alternate" type="text/html" title="정보처리기사(필기) 📝 05. 정보시스템 구축 관리" /><published>2025-03-30T21:43:00+09:00</published> <updated>2025-03-30T21:43:00+09:00</updated> <id>https://consoledotkohi.github.io/posts/%EC%A0%95%EB%B3%B4%EC%B2%98%EB%A6%AC%EA%B8%B0%EC%82%AC(%ED%95%84%EA%B8%B0)-05.-%EC%A0%95%EB%B3%B4%EC%8B%9C%EC%8A%A4%ED%85%9C-%EA%B5%AC%EC%B6%95-%EA%B4%80%EB%A6%AC/</id> <content type="text/html" src="https://consoledotkohi.github.io/posts/%EC%A0%95%EB%B3%B4%EC%B2%98%EB%A6%AC%EA%B8%B0%EC%82%AC(%ED%95%84%EA%B8%B0)-05.-%EC%A0%95%EB%B3%B4%EC%8B%9C%EC%8A%A4%ED%85%9C-%EA%B5%AC%EC%B6%95-%EA%B4%80%EB%A6%AC/" /> <author> <name>kohi</name> </author> <category term="정보처리기사" /> <summary>📒 1️⃣ 소프트웨어 개발 방법론 소프트웨어를 체계적이고 효율적으로 개발하기 위해 정립된 절차와 기법을 의미한다. 주로 개발 방법론의 종류, 특징, 비교 위주로 출제됨! ✅ 폭포수(Waterfall) 모델 📌 개념 고전적인 개발 방법론으로, 개발 단계를 순차적으로 진행 각 단계가 끝나야 다음 단계로 넘어갈 수 있음 📌 절차 요구사항 👉🏻 설계 👉🏻 구현 👉🏻 테스트 👉🏻 유지보수 📌 장점 계획과 일정 수립이 명확 문서화가 철저해서 유지보수 용이 📌 단점 요구사항 변경에 취약 후반에 발견되는 오류 수정이 어렵고 비용이 큼 🎯 예시 문제 스타일 Q. 다음 중 폭포수 모델의 특징으로 옳지 않은 것은? ① 순차적으로 개발 단계가 진행된다 ② 반복적으...</summary> </entry> <entry><title>🎨 04. 팩토리 패턴</title><link href="https://consoledotkohi.github.io/posts/04.-%ED%8C%A9%ED%86%A0%EB%A6%AC-%ED%8C%A8%ED%84%B4/" rel="alternate" type="text/html" title="🎨 04. 팩토리 패턴" /><published>2025-03-26T01:20:00+09:00</published> <updated>2025-03-26T02:01:11+09:00</updated> <id>https://consoledotkohi.github.io/posts/04.-%ED%8C%A9%ED%86%A0%EB%A6%AC-%ED%8C%A8%ED%84%B4/</id> <content type="text/html" src="https://consoledotkohi.github.io/posts/04.-%ED%8C%A9%ED%86%A0%EB%A6%AC-%ED%8C%A8%ED%84%B4/" /> <author> <name>kohi</name> </author> <category term="헤드퍼스트 디자인 패턴" /> <summary>🏭 ’new’ 연산자가 눈에 띈다면 ‘구상’이라는 용어를 떠올려 주세요. new를 사용하면 구상 클래스의 인스턴스가 만들어진다. 구상 클래스를 바탕으로 코딩하면 나중에 코드를 수정해야 할 가능성이 커지고, 유연성이 떨어진다. // Duck 인터페이스 정의 interface Duck { quack(): void; swim(): void; } . . . let duck: Duck; if (picnic) { duck = new MallardDuck(); } else if (hunting) { duck = new DecoyDuck(); } else if (inBathTub) { duck = new RubberDuck(); } duck.quack(); duck.swim(); 🔍 ...</summary> </entry> </feed>
