목록분류 전체보기 (295)
습관처럼
https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 문제 풀이 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오. 접근 방식 소수 구하는 방법 참조~ 2020/03/19 - [Language/C++] - 소수 구하기 (에라토스테네스의 체) 코드 #include #include using namespace std; int main(){ int cnt=0; int n;cin>>n; while(n--){ unsigned int num; cin >> num; if(num==1)continue; ..
소수(Prime Number)는 약수로 1과 자기 자신만을 가지는 정수입니다. 정수론의 기본 정리에 의해 모든 자연수는 단 하나의 소수들의 곱으로 표현됩니다. 1. 기본적인 접근 소수는 1과 N만을 약수로 가진다. 그럼 2부터 N-1까지의 수로는 나눠져서는 안된다. #include using namespace std; int main(){ unsigned int num; cout > num; bool isPrime = true; // 2부터 N-1의 수로 나눠서 나눠지는 수가 있으면 반복문 종료 for (int i=2; i
양자 컴퓨터 시대 그리고 암호화 기술 이론으로만 존재할 것만 같았던 양자 컴퓨터가 빠른 속도로 개발되고 있다. 특히 보안 커뮤니티에 있어 양자 컴퓨팅의 도래는 그리 달갑지만은 않다. 암호화 쪽에서 문제가 생길 것으로 예상되기 때문이다. 전문가들 대부분 양자 컴퓨터의 강력한 파워가 현대의 암호화 기술을 전부 깨버릴 것으로 보고 있다. 클라우드 보안 연맹(Cloud Security Alliance)은 ‘양자로부터 안전한 보안 워킹 그룹(Quantum Safe Security Working Group)’을 마련하고 이러한 우려에 대한 대처 방안을 마련 중에 있다. 그리고 오늘 새로운 보고서를 발표했는데, 그 내용은 “보안 전문가, 벤더, 대기업들이 지금부터 양자 컴퓨터에 대한 대처법 마련에 손잡고 나서야 한다..
블록체인 기술 용어 노드(Node) 블록체인 분산원장 네트워크 노드이다. 블록체인은 중앙 집중형 서버에 거래 기록을 보관, 관리하지 않고 거래에 참여하는 개개인의 서버들이 모여 네트워크를 유지 및 관리하는데 이 개개인의 서버, 즉 참여자를 노드라고 한다. 비트코인은 채굴자부터 일반 사용자까지 모두 비트코인 네트워크 중 하나의 노드로 볼 수 있다. 다만 비트코인은 다중심화 특징을 갖고 있어 '비트코인 풀 노드'라는 중역할을 하는 노드가 필요하다. 네트워크의 데이터를 보관하며 생성된 거래마다 정보를 수신하는 노드는 거래에 대해 검증하고 다른 노드에 전송을 한다. 때문에 데이터가 한번 생성되면 이를 변조할 수 없고 노드의 수가 많을수록 블록체인 네트워크는 더 안전하다고 할 수 있다. 풀 노드(Full Node..
블록체인 기본 용어 블록체인(Blockchain) 데이터를 '블록'에 담아 체인 형태로 연결하고, 이를 여러 대의 컴퓨터에 복제하여 저장하는 분산형 데이터 저장 기술이다. 중앙 집중형 서버에 거래 데이터를 보관하지 않고, 모든 사용자가 거래 기록을 공유/대조하도록 하여, 데이터 위조나 변조를 할 수 없게 되어 있다. 일종의 '분산식 공공장부'의 개념으로 널리 알려져 있다. 퍼블릭 블록체인(Public Blockchain) 공개형 블록체인이라고 불리기도 하며, 전 세계의 누구나 모두 읽고 거래 정보를 발송하고 거래가 유효한지 확인할 수 있으며, 누구나 합의 과정의 블록체인에 참여할 수 있다. 통상적으로 완전한 탈중앙화 시스템으로 여겨진다. 프라이빗 블록체인(Private Blockchain) 폐쇄형 블록체..
블록체인 투자 용어 ICO(Initial Coin Offering) 기업이 최초로 외부 투자자에게 주식을 공개 매도하여 주식 시장에 상장한다는 뜻의 IPO(Initial Public Offering)에서 파생된 단어로, 블록체인 관련 기업들이 최초로 암호화폐를 발행하고 이를 투자자들에게 판매하는 방식으로 자금을 확보하는 방법이다. 판매된 암호화폐가 거래소에 상장되면 투자자들은 해당 암호화폐를 거래할 수 있게 된다. DAICO 탈중앙화된 분산 조직(DAO)과 ICO(Initial Coin Offering)를 합친 말로, 이더리움의 창시자 비탈릭 부테린이 2018년 공개한 ICO 방식이다. ICO의 경우 투자 자금이 해당 팀으로 바로 가는 반면, DAICO는 스마트 컨트랙트를 통해 자금을 통제할 수 있다는 ..
빅데이터란 ? 데이터의 규모에 초점을 맞춘 정의 - 기존 데이터베이스 관리 도구의 데이터 수집, 저장, 분석하는 역량을 넘어서는 데이터 업무 수행 방식에 초점을 맞춘 정의 - 다양한 종류의 대규모 데이터로부터 저렴한 비용으로 가치를 추출하고, 데이터의 빠른 수집, 발굴, 분석을 지원하도록 고안된 차세대 기술 및 아키텍처 빅 데이터의 3대 요소 (3V) 크기(Volume) 비즈니스 특성에 따라 다를 수 있지만 일반 적으로 수십 테라바이트 혹은 수십 페타바이트 이상이 빅데이터에 해당합니다. 이러한 데이터는 기존 파일 시스템에 저장하기 어려울뿐더러 데이터 분석을 사용하는 기존 데이터웨어하우스 같은 솔루션에서 소화하기 어려울 정도로 데이터 양이 많습니다. 속도(Velocity) 매 순간 많은 양의 데이터가 생산..
빅데이터와 하둡 그리고 한계 하둡이 빅데이터를 처리하는 분산처리 플랫폼으로서 적용되는 사례가 늘어나면서 하둡은 잘 작동하였지만 하둡은 실시간성의 처리구조는 아니였습니다. 오히려 하둡은 배치성의 성격을 갖는 프로세싱 구조라고 할수 있습니다. 이러한 준실시간성을 보완하여 실시간 처리를 하기 위한 하둡오픈소스 생태계들도 발전하기 시작합니다. 실시간성의 데이터를 처리하기 위해 Storm과 Spark의 실시간 처리를 위한 Spark Streaming, Samza, Flink등의 처리인프라와 실시간성의 데이터 수집을 위한 Flume 과 Kafka 등의 다양한 처리 에코시스템이 발전 합니다. 람다 아키텍처란? 실시간 분석을 지원하는 빅데이터 아키텍쳐이다. 대량의 데이터를 실시간으로 분석하기 어려우니 batch로 미리..