반응형

SW 2446

옵저버 디자인 패턴 : 정의, 구조, 개념은 무엇일까?

의도- 개체 간의 일대다 종속성을 정의하여 하나의 개체 상태가 변경되면 모든 종속성이 자동으로 통지되고 업데이트되도록 합니다.- Subject 추상화에 코어 구성 요소를 캡슐화하며, 변수 구성 요소를 관찰자 계층에 캡슐화합니다.- Model-View-Controller의 "View" 부분입니다. 문제대규모 단일 설계는 확장성이 좋지 않으며 새로운 그래핑 또는 모니터링 요구 사항이 부과됩니다. 논의데이터 모델 또는 비즈니스 논리의 "keeper"인 개체를 정의합니다. 모든 "view" 기능을 위임하여 Observer 개체를 분리하고 구분합니다. Observer는 작성 시 Subject에 직접 등록합니다. Subject가 변경될 때마다 등록된 모든 관찰자에게 브로드캐스트되며, 각 Observer는 대상 상태..

SW/디자인 패턴 2019.09.08

R과 Python : 차이점은 무엇이고 뭐가 더 좋을까?

R과 Python은 모두 커뮤니티가 큰 오픈 소스 프로그래밍 언어입니다. 새로운 라이브러리 또는 도구는 해당 카탈로그에 지속적으로 추가됩니다. R은 주로 통계 분석에 사용되는 반면 Python은 데이터 과학에 대한보다 일반적인 접근 방식을 제공합니다. R과 Python은 데이터 과학을 지향하는 프로그래밍 언어 측면에서 최신 기술입니다. 물론 두 가지를 모두 배우는 것이 이상적인 솔루션입니다. R과 Python에는 시간 투자가 필요하며 그러한 사치는 모든 사람에게 제공되지는 않습니다. 파이썬은 문장을 읽을 수 있는 범용 언어입니다. 그러나 R은 통계학자가 작성했으며 특정 언어를 포함합니다. R 학계와 통계 학자들은 20년 동안 R을 개발했습니다. R은 이제 데이터 분석을 수행 할 수있는 가장 풍부한 생태계..

SW/Python 2019.09.07

파이썬, PIP, Anaconda의 관계, 필요성은?

우선, Anaconda는 무엇일까요? Anaconda가 실제로 의미하는 바와 그 의미에 대해 조사하기 전에 먼저 Conda에 대해 알아 봅니다. 콘다의 공식 블로그 Conda는 Windows, macOS 및 Linux에서 실행되는 오픈 소스 패키지 관리 시스템 및 환경 관리 시스템입니다. Conda는 패키지 및 해당 종속성을 빠르게 설치, 실행 및 업데이트합니다. Conda는 로컬 컴퓨터의 환경을 쉽게 생성, 저장,로드 및 전환합니다. 파이썬 프로그램용으로 만들어졌지만 어떤 언어로든 소프트웨어를 패키지하고 배포 할 수 있습니다. 왜 콘다로 갑자기 이야기가 나왔을까요? 우리는 모두 파이썬으로 작성된 소프트웨어 패키지를 설치하고 관리하는 데 사용되는 패키지 관리 시스템이라는 것을 알고 있습니다. 그것은 한계..

SW/Python 2019.09.07

파이썬? 주피터 노트북은 무엇을 하는 것일까?

Jupyter Notebook은 무엇입니까? 이 페이지에서는 Jupyter Notebook 환경의 주요 구성 요소를 간략하게 소개합니다. 보다 완전한 개요는 참조를 참조하십시오. Notebook document Notebook documents는 Jupyter Notebook App에서 제작한 문서이며 컴퓨터 코드(예 : python)와 서식있는 텍스트 요소 (단락, 방정식, 그림, 링크 등)를 모두 포함합니다. 노트북 다큐먼츠는 분석 설명 및 결과 (그림, 표 등)가 포함된 사람이 읽을 수 있는 문서이며 데이터 분석을 수행하기 위한 실행 가능한 문서입니다. Jupyter Notebook 앱 Jupyter Notebook App은 웹 브라우저를 통해 노트북 다큐먼츠를 편집하고 실행할 수 있는 서버 클라이..

SW/Python 2019.09.06

구글 플레이 개발자 정책 : 변경된 사항에 대해 알아볼까요?

2019년 8월 어떤 정책이 달라졌을까? 구글 플레이에서 정책이 업데이트가 되었다고 메일이 도착하였습니다. 해당 메일을 번역하고 어떠한 점이 업데이트됬는지 알아보고자 합니다. Google Play 개발자 님, 안녕하세요. 개발자 정책 센터의 최신 업데이트에 대해 알려 드리고자합니다. Google Play는 개발자와 소비자 모두에게 긍정적 인 경험을 제공하기 위해 지속적인 노력의 일환으로 수시로 업데이트를 진행합니다. 본 이메일은 최근 Google 정책 변경 사항을 알려드립니다. - 제 3 자에게 프록시 서비스를 제공하는 앱을 다루는 추가 예제로 장치 및 네트워크 악용 정책을 업데이트했습니다. - 금융 상품 및 서비스 정책을 확장하여 사기 및 악용 개인 대출 조건으로부터 사용자를 보호합니다. - 투표 절차..

SW/앱플랫폼 2019.09.05

파이썬 : 네이버 실시간 검색어 : 크롤링하기

코드 import requests import bs4 naver = requests.get('https://www.naver.com/') naver_bs = bs4.BeautifulSoup(naver.content, 'lxml') span_list = naver_bs.find_all('span', class_='ah_k') span_list = set(span_list) realtime_list = [] for sp in span_list: realtime_list.append(sp.text) print(realtime_list) 출력 결과 [ '조국 여배우', '와우 클래식', '새싹보리', '노브라티', 'g7 국가', '코오롱티슈진', '안심전환대출', '이우연', '김용호', '위대한 쇼', '홍..

SW/Python 2019.09.03

파이썬 : 프로그래머스 : x만큼 간격이 있는 n개의 숫자 : 풀이

풀이 def solution(x, n): answer = [] for i in range(1,n+1): answer.append(x * i) return answer 실행 결과 정확성 테스트 테스트 1 〉 통과 (0.04ms, 10.7MB) 테스트 2 〉 통과 (0.06ms, 10.7MB) 테스트 3 〉 통과 (0.08ms, 10.7MB) 테스트 4 〉 통과 (0.09ms, 10.8MB) 테스트 5 〉 통과 (0.09ms, 10.8MB) 테스트 6 〉 통과 (0.05ms, 10.7MB) 테스트 7 〉 통과 (0.12ms, 10.9MB) 테스트 8 〉 통과 (0.07ms, 10.9MB) 테스트 9 〉 통과 (0.14ms, 10.8MB) 테스트 10 〉 통과 (0.04ms, 10.8MB) 테스트 11 〉 통..

SW/알고리즘 2019.09.02

파이썬 : 프로그래머스 : 수박수박수박수박수박수? : 풀이

풀이 def solution(n): answer = '' for i in range(n): if i % 2 == 0: answer += '수' else: answer += '박' return answer 실행 결과 정확성 테스트 테스트 1 〉 통과 (0.15ms, 10.7MB) 테스트 2 〉 통과 (0.44ms, 10.8MB) 테스트 3 〉 통과 (0.33ms, 10.7MB) 테스트 4 〉 통과 (0.58ms, 10.7MB) 테스트 5 〉 통과 (0.29ms, 10.7MB) 테스트 6 〉 통과 (0.04ms, 10.6MB) 테스트 7 〉 통과 (0.04ms, 10.7MB) 테스트 8 〉 통과 (0.04ms, 10.7MB) 테스트 9 〉 통과 (0.05ms, 10.7MB) 테스트 10 〉 통과 (0.04m..

SW/알고리즘 2019.09.01

파이썬 : 프로그래머스 : 가운데 글자 가져오기 : 풀이

풀이 def solution(s): length = len(s) index = int(length/2) if length % 2 == 1: return s[index] else: return s[index-1 : index+1] 실행 결과 정확성 테스트 테스트 1 〉 통과 (0.04ms, 10.7MB) 테스트 2 〉 통과 (0.04ms, 10.7MB) 테스트 3 〉 통과 (0.04ms, 10.7MB) 테스트 4 〉 통과 (0.04ms, 10.7MB) 테스트 5 〉 통과 (0.04ms, 10.7MB) 테스트 6 〉 통과 (0.04ms, 10.6MB) 테스트 7 〉 통과 (0.05ms, 10.7MB) 테스트 8 〉 통과 (0.04ms, 10.6MB) 테스트 9 〉 통과 (0.04ms, 10.6MB) 테스트 ..

SW/알고리즘 2019.08.31

안드로이드 : 코틀린으로 개발해도 되는 이유

훌륭한 IDE 및 툴링 지원신뢰하는 회사가 지원하기 때문에, 지속적인 지원에 대해 걱정할 필요가 거의 없습니다. JetBrains는 세계에서 가장 많이 사용되는 IDE를 만드는 것을 전문으로 합니다. Android Studio에서 Kotlin 지원을 받으려면이 플러그인을 설치하면 됩니다. 간단합니다. 이클립스를 계속 사용하고 있다면, 이클립스 플러그인도 제공합니다. 모든 Android Studio의 IDE 기능은 Kotlin에서 완벽하게 작동합니다. 동일한 프로젝트에서 Kotlin과 Java 코드를 혼합하고 일치시킬 수 있으며 모든 것이 잘 작동합니다. 다른 JVM 기반 언어에 대한 IDE 지원은 그리 좋지 않습니다. Kotlin 플러그인이 Android Studio에 제공하는 또 다른 놀라운 기능은 "..

SW/앱플랫폼 2019.08.30

자바말고 코틀린을 사용해야 한다?

Kotlin은 Java와 100 % 상호 운용 가능Kotlin에 대해 가장 좋아했던 것입니다. Kotlin에서 Java 코드를 완벽하게 호출 할 수 있습니다. Kotlin과 Java는 모두 동일한 바이트 코드를 생성하므로 Kotlin과 완전히 다른 제품을 사용한다고 걱정할 필요가 없습니다. 즉, 기존 프로젝트에서 모든 기존 Java 코드를 사용하여 Kotlin을 즉시 사용할 수 있습니다. Kotlin에서 앱의 단순하고 작은 부분을 작성하여 구조와 구문에 익숙해지기 시작하십시오 (그런데 매우 간단합니다). UI 구성 요소와 간단한 비즈니스 로직을 포함하여 대규모 프로젝트의 작은 부분에 Kotlin을 사용하기 시작했습니다. 전체 코드베이스의 4-5 %만이 Kotlin으로 작성되었습니다. 나머지는 여전히 Ja..

SW/앱플랫폼 2019.08.29

앱플랫폼 : 코틀린의 장점과 자바의 단점

자바는 오류가 발생하기 쉽다Java의 가장 큰 결함 중 하나는 "널 (null)"을 처리하는 방식이며, NPE (NulPointerException) (일반적으로 The Billion Dollar Mistake)로 이어집니다. 그것을 10 억 달러의 실수라고 부릅니다. 이것은 1965 년에 null 참조의 발명이었습니다. 이로 인해 수많은 오류, 취약점 및 시스템 충돌이 발생하여 지난 40 년 동안 수십억 달러의 고통과 피해를 초래했을 것입니다. — 찰스 안토니 리차드 호 아어 오늘날 NPE는 Android 앱에서 가장 일반적인 충돌 원인 중 하나입니다. 사실, 하나의 NullPointerException 없이 프로덕션에 앱을 만드는 것은 거의 불가능합니다. 그리고 "무효성"은 Android에서 훨씬 더..

SW/앱플랫폼 2019.08.27

파이썬 : 프로그래머스 : 완주하지 못한 선수 : 풀이

풀이 def solution(participant, completion): participant.sort() completion.sort() for i in range(len(completion)): if participant[i] != completion[i]: return participant[i] return participant[-1] 실행 결과 정확성 테스트 테스트 1 〉 통과 (0.04ms, 10.7MB) 테스트 2 〉 통과 (0.04ms, 10.8MB) 테스트 3 〉 통과 (0.24ms, 10.9MB) 테스트 4 〉 통과 (0.50ms, 11MB) 테스트 5 〉 통과 (0.47ms, 11MB) 효율성 테스트 테스트 1 〉 통과 (36.75ms, 87.5MB) 테스트 2 〉 통과 (64.52m..

SW/알고리즘 2019.08.25

파이썬 : 프로그래머스 : 예산 : 풀이

풀이 def solution(d, budget): answer = 0 d.sort() for dVal in d: budget = budget - dVal answer += 1 if budget = 0: return answer else: return answer -1 실행 결과 정확성 테스트 테스트 1 〉 통과 (0.04ms, 10.6MB) 테스트 2 〉 통과 (0.04ms, 10.6MB) 테스트 3 〉 통과 (0.03ms, 10.7MB) 테스트 4 〉 통과 (0.04ms, 10.7MB) 테스트 5 〉 통과 (0.03ms, 10.7MB) 테스트 6 〉 통과 (0.04ms, 10.7MB) 테스트 7 〉 통과 (0.04ms, 10.6MB) 테스트 8 〉 통과 (0.05..

SW/알고리즘 2019.08.24

인공지능 : Software Agent : 개념, 개요, 분석

소프트웨어 에이전트에이전트”에 대한 공식적인 정의 [Wooldridge, 2002]는 다음과 같습니다. 에이전트는 일부 환경에 위치한 컴퓨터 시스템입니다. 설계를 충족시키기 위해 환경에서 자율적인 작업 가능합니다. 목표• 주요 속성– 자율성 : 독립적으로 행동 할 수 있으며, 통제력을 보여줍니다- 내부 상태와 행동– 상황 • 살 곳 : 일부 환경에서 • 지각 능력 : 환경을 지각하는 능력 • 이펙터 기능 : 환경을 수정하는 기능– 지속성 : 살아있는 한 계속 작동합니다. • 적응 : 상담원은 환경과 사용자에 적응 경험– 기계 학습, 지식 발견, 데이터 마이닝 등을 통해– 메타 데이터 교환, 중개 및 촉진을 통해– 인터페이스 에이전트는 사용자 모델을 획득하고 사용합니다.– 환경에 위치하고 있습니다. • 협..

SW/인공지능 2019.08.24

c++ : istreambuf_iterator와 istream_iterator의 차이점

istream_iterator 와 istreambuf_iteratorstd::istream_iterator는 형식화된 추출을 위한 반복자입니다. 예를 들어, 파일 안 내용에 정수가 있고 컨테이너에 복사하려면 std::istream_iterator를 사용하면 int에서 추출한 값을 내부적으로 컨테이너에 복사합니다. (연산자 >>() 사용) std::copy(std::istream_iterator(file), std::istream_iterator(), std::back_inserter (some_container)); std::istreambuf_iterator는 형식화되지 않은 추출을 위한 반복자입니다. 생성자를 통해 제공된 std::streambuf 객체에서 직접 작동합니다. 따라서 파일 형식에 대해 ..

SW/C++ 2019.08.23
반응형