본문 바로가기
  • soobinhand의 기술 블로그
728x90

전체 글119

[디자인 패턴] Command Pattern 목적 요구사항을 객체로 캡슐화시킴. 이를 이용해서 다른 요구사항을 지닌 클라이언트를 매개변수화 시킬 수 있고, 요구사항을 큐에 넣거나 로그로 남길 수 있으며 작업 취소 기능을 지원할 수도 있음. 문제 상황 사용 객체의 API가 서로 다름. 해결 방안 실행과 요청을 분리. 결과 작은 클래스가 많아지지만, 객체 사용에 필요한 복잡성을 제거하고 감춤 코드 https://github.com/Soobinhand/Design_Pattern 2021. 12. 14.
[디자인 패턴] Facade Pattern 목적 서브 시스템에 있는 여러 개의 인터페이스를 통합하는 한 개의 인터페이스를 제공. 퍼사드는 서브 시스템을 쉽게 사용할 수 있도록 해주는 고급 수준의 인터페이스를 정의합니다. 예를 들어, 리모컨 버튼 하나만 눌러도 여러개가 다 켜지는 그런 리모컨. 문제 상황 서브 시스템이 너무 많고 사용하기가 복잡함. 해결 방안 단순한 인터페이스를 제공하는 객체를 중간에 넣습니다. 결과 최소 지식 원칙에 입각해 의존성을 최소화시킴. 코드 https://github.com/Soobinhand/Design_Pattern GitHub - Soobinhand/Design_Pattern: 디자인 패턴 연습 디자인 패턴 연습. Contribute to Soobinhand/Design_Pattern development by cr.. 2021. 12. 14.
[디자인 패턴] Adapter Pattern 목적 클래스의 인터페이스를 클라이언트가 원하는 형태의 또 다른 인터페이스로 변환합니다. 어댑터는 호환되지 않는 인터페이스 때문에 동작하지 않는 클래스들을 함께 동작할 수 있도록 만들어줍니다. 문제 상황 사용 객체의 API가 서로 다름. 해결 방안 함수를 변환하는 객체를 중간에 넣어줍니다. 결과 변경 최소화 코드 https://github.com/Soobinhand/Design_Pattern GitHub - Soobinhand/Design_Pattern: 디자인 패턴 연습 디자인 패턴 연습. Contribute to Soobinhand/Design_Pattern development by creating an account on GitHub. github.com 2021. 12. 13.
[Python] count() 함수 count() 함수 count 함수는 문자열 내부에서 특정 문자, 혹은 문자열이 포함 되어있는지 계산해서 반환해주는 함수 입니다. 예를 들어 aaaaa에 aa가 몇 번 들었는지 보면 2번이 들어있습니다. 이걸 strr = 'aaaaa' strrr = 'aa' print(strr.count(strrr)) #2 이런식으로 표현할 수 있습니다. 2021. 12. 8.
[Python] ord() 함수와 chr() 함수 ord() 함수 특정한 한 문자를 아스키 코드 값으로 변환해주는 함수입니다. chr() 함수 아스키 코드 값을 문자로 변환해주는 함수입니다. print(ord('A')) ## 65 print(chr(65)) ## A 2021. 12. 2.
[자료구조] 힙 힙이란? 완전 이진 트리의 일종으로 우선순위 큐를 위하여 만들어진 자료구조입니다. 여러 개의 값들 중에서 최댓값이나 최솟값을 빠르게 찾아내도록 만들어진 자료구조입니다. 힙은 일정의 반정렬 상태를 유지합니다. 큰 값이 상위 레벨에 있고 작은 값이 하위 레벨에 있다는 정도입니다. 간단히 말하면 부모 노드의 값이 자식 노드의 값보다 항상 크거나 작은 이진트리입니다. 힙 트리에서는 중복된 값을 허용합니다. (이진트리에선 허용 안합니다.) 힙의 종류 최대힙 부모 노드의 키 값이 자식 노드의 키 값보다 크거나 같은 완전 이진 트리입니다. 최소힙 부모 노드의 키 값이 자식 노드의 키 값보다 작거나 같은 완전 이진 트리입니다. 2021. 12. 1.
[네트워크] REST API REST API Representational State Transfer API의 약자입니다. 2000년도에 로이 필딩의 박사학위 논문에 최초로 공개되었습니다. 로이 필딩은 HTTP를 만든 사람 중 한명인데, HTTP의 우수성에 비해 제대로 사용되지 못하는 모습이 안타까워 웹의 장점을 최대한 활용할 수 있는 아키텍쳐로써 REST를 발표했다고 합니다. REST의 구성 자원 (Resource) - URI 행위 (Verb) - HTTP Method 표현 (Representations) REST의 특징 Uniform - 유니폼 인터페이스 유니폼 인터페이스는 URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행하는 아키텍쳐 스타일을 말합니다. Stateless - 무상태성 REST는 무상태성을.. 2021. 12. 1.
[컴파일러] 상향식 구문 분석 정의 주어진 문장이 문법에 맞는지 아닌지를 검사하기 위해 입력된 문자열을 읽어가면서 감축에 의해 시작 기호를 찾아가는 방법입니다. 주어진 문자열이 시작 기호로 감축되면 올바른 문장이라고 판단하여 파스트리를 생성하고, 그렇지 않으면 에러 메시지를 출력합니다. 2021. 11. 26.
[Python] 파이썬의 기본적인 입력 방식 for 코딩 테스트 input() 문자열 한 줄 입력받기 a = input() print(a) # son10 입력 # son10 출력 int(input()) 받은 문자열 정수로 변환 a = int(input()) print(a) # 10 입력 # 10 출력 input().split(구분문자) 한 줄을 읽고 구분문자로 나눠서 문자로 이루어진 리스트로 입력받음 a,b = input().split() print(a,b) # son soo 입력 # son soo 출력 map(형식, input().split()) 리스트로 입력받은 데이터를 형식에 맞게 변환함 a,b = map(int, input().split()) print(a,b) # 456 입력 # 456 출력 array = list(map(int, input().split().. 2021. 11. 25.
[Python] reverse()와 sort(reverse=True) 차이 우선 둘 다 리스트 메소드입니다. sort()는 오름차순 내림차순으로 정렬해줍니다. 반면 reverse()는 그냥 뒤집어 주는 것입니다. a = [1, 3, 2] a.sort() # [1, 2, 3] a.sort(reverse = True) # [3, 2, 1] a.reverse() # [2, 3, 1] 2021. 11. 24.
728x90