일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Baekjoon
- 알고리즘 문제풀이
- 1%d
- 그대로 출력하기
- 자바스크립트
- 백준
- 이더리움
- 단계별로 풀어보기
- 비트 코인
- X보다 작은 수
- 시험 성적
- Remix
- 10871
- 세 수
- if문 사용해보기
- 가상 화폐
- 1110
- 평균은 넘겠지
- 별 찍기 - 11
- Mist
- 2448
- 1065
- Dapp
- 솔리디티
- 더하기 사이클
- for문 사용해보기
- 함수 사용하기
- 1546
- 블록 체인
- 10817
- Today
- Total
블링블링 범블링
상태패턴(State Pattern) 상태패턴은 객체의 상태에 따라서 각가 다른 행위를 할 수 있도록 캡슐화한 패턴을 말한다. 동적으로 행동을 교체할 수 있다. 전략패턴과 구조는 같지만 쓰임과 용도가 다르다. 예시를 통해 살펴보자. 커피머신이 있다고 가정하자. 동작 버튼을 눌렀을 때 커피머신의 상태에 따라 다른 동작을 한다. 동작버튼을 눌렀을 때 커피상태가 정상작동이면 커피를 주겠지만, 만약 컵이 없는 경우에는 컵이 없다고 메세지가 뜰 것이다. 그리고 청소하고 있는 상태라면 청소상태를 종료하고 다시 동작상태로 바꿔줘야한다. 이 설명을 아래 코드로 옮겨보았다. [기존의 코드]?12345678910111213141516171819202122232425262728293031323334353637383940414..
템플릿메서드패턴(Template Method Pattern) 템플릿메서드패턴이란 구체적인 구현은 다르지만 전체적인 알고리즘의 골격이 같은 경우 적용하는 패턴을 말한다. 템플릿메서드패턴은 상위클래스에서 처리의 흐름을 제어하고, 하위클래스에서 처리의 내용을 구체화한다. 여러 클래스에서 공통되는 사항은 상위 추상클래스에서 구현하고, 각각의 상세부분은 하위 클래스에서 구현하는 특징을 가지고 있다. 때문에 템플릿메서드 패턴은 코드의 중복을 줄이고, 리팩토링에 유리한 패턴으로 상속을 통한 확장 개발 방법이다. 템플릿메서드 패턴은 주로 전략패턴과 가장 많이 사용되는 패턴 중에 하나다. 예시를 통해서 템플릿메서드패턴을 적용해보자. 가장 대표적인 예로 커피와 차를 만드는 과정이 있다. 커피를 만드는 과정은 물을 끓인다-..
전략패턴(Strategy Pattern) 전략패턴이란 동적을 알고리즘을 교체할 수 있는 구조를 말한다. 알고리즘 인터페이스를 정의하고, 각각의 알고리즘 클래스별로 캡슐화하여 각각의 알고리즘을 교체 사용 가능하게 한다. 즉, 하나의 결과를 만드는 목적(메소드)는 동일하나, 그 목적을 달성할 수 있는 방법(전략, 알고리즘)이 여러가지 존재할 경우에 사용하는 패턴이다. 보통 기본이 되는 템플릿 메서드(Template Method Pattern)과 함께 가장 많이 사용되는 패턴 중에 하나다. 아래 그림은 전략패턴을 적용한 클래스다이어그램이다. Context의 변경을 최소화하고, 인터페이스를 통해 다양한 타입을 만들어 코드를 변경할 수 있다. 이해를 돕기 위해서 예시를 들어 전략패턴을 적용해보자. 급여를 계산하는..
객체지향프로그래밍(Object-Oriented Programs) 객체지향프로그래밍이란 실세계의 사물을 추상화(Abstraction), 캡슐화(Encapsulation)하고, 계층구조는 상속(Inheritance)시키며, 부모와 다른 자식의 특성, 행위는 다형성(Polymorphism)으로 구현된 것, 즉 객체의 구성으로 프로그램을 만들어 가는 것을 객체지향 프로그래밍이라고 한다. 이러한 캡슐화, 상속, 다형성을 이용해서 코드의 재사용성을 키우고, 프로그램의 유지보수의 비용을 감소시킬 수 있다는 장점이 있기 때문에 대부분의 프로그램은 객체지향 프로그래밍으로 구현한다. 먼저 객체지향의 구성요소와 특징에 대해서 알아보자. [객체지향의 구성요소] 1. 객체(Object) : 클래스의 인스턴스(실제로 메모리상에 ..
내.만.문 내만문(내가 만든 문제) 시간이다. 이 글은 대기업 및 여타 다른 기업들의 OS 문제를 기반으로 작성되었음을 미리 알린다.(뇌피셜) OS - 내만문(4) (기술 면접 대비) 스스로 문제를 풀어보고, 누구에게 설명하듯이 발표한다는 생각으로 개념을 정리한 다음, (댓글 창을 사용해서 정리해보자) 해답 과 비교 해보자. 해답 : 정리하면서 끄적였던 댓글을 그대로 올려주시면 저도, 다른 사람들도 여러분의 의식의 흐름을 알 수 있는 좋은 기회가 됩니다 :)
내.만.문 내만문(내가 만든 문제) 시간이다. 이 글은 대기업 및 여타 다른 기업들의 OS 문제를 기반으로 작성되었음을 미리 알린다.(뇌피셜) OS - 내만문(3) (기술 면접 대비) 스스로 문제를 풀어보고, 누구에게 설명하듯이 발표한다는 생각으로 개념을 정리한 다음, (댓글 창을 사용해서 정리해보자) 해답 과 비교 해보자. 해답 : 정리하면서 끄적였던 댓글을 그대로 올려주시면 저도, 다른 사람들도 여러분의 의식의 흐름을 알 수 있는 좋은 기회가 됩니다 :)
내.만.문 내만문(내가 만든 문제) 시간이다. 이 글은 대기업 및 여타 다른 기업들의 OS 문제를 기반으로 작성되었음을 미리 알린다.(뇌피셜) OS - 내만문(2) (기술 면접 대비) 1. 캐시 메모리가 있는 picoMIPS 컴퓨터가 있는데 캐시 메모리와 DRAM에 접근하는 데 각각 1cycle과 10cycle이 필요하다.캐시 메모리의 적중률은 명령어의 경우 95%, 데이터의 경우 90%이다.벤치마크 프로그램은 100개의 명령어를 실행하며 30%의 적재 혹은 저장 명령어를 포함한다.이때 소요되는 사이클은? 2. 위 코드의 결과는?그 이유는? 스스로 문제를 풀어보고, 누구에게 설명하듯이 발표한다는 생각으로 개념을 정리한 다음, (댓글 창을 사용해서 정리해보자) 해답 과 비교 해보자. 해답 : 정리하면서 끄..