분류 전체보기 (129) 썸네일형 리스트형 Problem Solving Patterns cs.slides.com/colt_steele/problem-solving-patterns Frequency Counter This pattern uses objects or sets to collect values/frequencies of values can often avoid nested loop or O(n^2) operations with arrays/strings function same(arr1, arr2){ if(arr1.length !== arr2.length){ return false; } for(let i = 0; i < arr1.length; i++){ let correctIndex = arr2.indexOf(arr1[i] ** 2) if(correctIndex === -1) { .. Problem Solving Approach cs.slides.com/colt_steele/problem-solving-patterns Problem Solving Patterns A presentation created with Slides. cs.slides.com Basic approaches, Steps you can take to make it solvable define what an algorithm is devise a plan to solve algorithms compare and contrast problem solving Algorithm - A process or set of steps to accomplish a certain task. How to improve the skill? Devise a plan for solv.. Observer Pattern 옵저버 패턴 중요한 일이 일어났을때 객체들에게 소식을 알려줄 수 있는 패턴 객체 쪽에서 계속해서 정보를 받을지 여부를 실행중에 결정가능. 일대다 관계와 느슨한 결합 JDK에서 가장 많이 쓰이는 패턴 가운데 하나 Weather-O-Rama 사의 기상 모니터링 애플리케이션 예제 - WeatherData 객체를 사용해 현재조건, 기상통계, 기상예측 세 항목을 디스플레이에 갱신해 보여주는 애플리케이션 기상정보를 수집하는 기상 스테이션과 WeatherData 객체, 기상조건을 보여주는 디스플레이 로 이루어진다. 확인할 수 있는 규격 WeatherData 클래스에는 온도, 습도, 기압 세가지 측정값을 알아내는 Getter 메소드가 있다. 새 기상데이터가 나올때마다 measurementsChanged() 메소드 호출 현재조건, .. Strategy pattern 스트래티지 패턴 스트래티지 패턴 - 알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있게 만든다 - 스트래티지를 활용하면 알고리즘을 사용하는 클라이언트와 독립적으로 알고리즘을 변경할 수 있다. 표준적인 객체지향 기법을 사용하여 Duck 수퍼클래스를 만든 후 확장해 여러종류의 오리를 만드는 경우 ->Duck에 메소드 하나가 추가되면 Duck을 상속받은 모든 클래스에 같은 기능을 구현해 주어야 한다. 인터페이스를 활용하자. 서브클래스에서 Flyable, Quaackable 을 구현하도록 할 수 있다. 디자인 원칙 - 애플리케이션에서 달라지는 부분을 찾아내고, 달라지는 부분으로부터 분리 시킨다. - 잘라지는 부분을 찾아서 나머지 코드에 영향을 주지 않도록 캡슐화 한다. - 시스템의 유연성 향상. 바뀌는 부분과 그렇.. The Big O of Objects and Array https://cs.slides.com/colt_steele/built-in-data-structures-25 When to use objects, don’t need order Need fast access O(1) / insertion O(1) / removal O(1) in constant time. Searching O(N) in linear time Big O of Object Methods Object.key O(N) Object.values O(N) Object.entries O(N) hasOwnProperty O(1) Big O of Array Searching O(N) Access O(1) Insertion depends on where to put. It has to re-index e.. Introducing Big O https://cs.slides.com/colt_steele/big-o-notation How the runtime of an algorithm grows as the inputs grow. It is a way of describing the relationship between the input to a function or as it grows and how that changes the runtime of that function. The relationship between the input size and then the time relative to that input. As the input and the number of n grows how does that change to refle.. 슈퍼데몬, 프록시, DHCP, VNC, NTP 슈퍼 데몬 1) 슈퍼데몬 Super Daemon 개요 1. 개념 리눅스의 inetd 방식은 사용자의 요구에 따라 필요한 서비스를 실행하고, 요청을 완료하면 서비스를 종료하여 시스템 자원을 효율적으로 사용. 이와 같이 다른 서비스를 실행 및 관리하는 데몬을 슈퍼 데몬 Super Server Daemon 이라 함. inerd 방식은 standalone 방식과 비교해 사용자 요청에 대한 처리시간이 느리지만, 다양한 서비스를 제한된 시스템 자원으로 운영하기 효율적임. inetd 방식은 /etc/inetd.conf 설정 파일을 이용해 서비스 사용여부를 지정. 접근제어 Access Control 을 위해 TCP Wrapper를 사용 2. standalone 방식과 inetd 방식의 특징 비교 구분 standalon.. 가상화 관리 서비스 가상화 Virtualization 서비스의 개요 1) 가상화의 특징 1. 가상화의 개념 CPU, 메모리, 디스크와 같은 하나의 물리적 자원을 여러개의 논리적인 자원으로 나누거나 다수의 물리적인 자원을 하나의 논리적인 자원으로 통합하여 서비스하는 기술 2. 가상화의 특징 가상화는 논리적인 자원풀에 기반한 효율적인 자원 활용, 물리적인 공간 절약, 데이터 및 서비스에 대하나 가용성 증가, 중앙집중관리에 따른 보안성 향상 등 장점을 제공. 공유 Sharing 많은 가상자원들이 하나의 물리적자원과 연결되어 있거나 가리키는것 의미 프로비저닝 Provisioning 사용자의 요구사항에 맞게 할당, 배치, 배포할 수 있도록 만들어 놓는것 의미 단일화 Aggregation 여러개의 물리적 자원을 논리적으로 통합하여 하.. 이전 1 ··· 4 5 6 7 8 9 10 ··· 17 다음