728x90

전체 글 52

[자료구조] 그래프와 트리(Graph, Tree)

트리와 그래프 그래프(Graph) 그래프란 그래프는 노드(하나의 점)와 노드 간을 연결하는 간선으로 구성된 자료 구조이다. 이를 통해 연결된 노드 간의 관계를 표현할 수 있는 자료구조이다. 그래프의 특징 - 그래프는 순환 혹은 비순환 구조를 이룬다 - 그래프는 방향이 있는 그래프와 방향이 없는 그래프가 있다. - 루트 노드의 개념이 없다 / 부모-자식 관계라는 개념이 없다. - 2개 이상의 경로가 가능하다.(무방향, 방향, 양방향 가능) - 그래프는 네트워크 모델이다. 트리(Tree) 트리란 트리는 그래프와 같이 노드와 노드간을 연결하는 간선으로 구성된 자료구조이다. 그러나 트리는 그래프 중에서도 특수한 케이스에 해당하는 자료구조이다. 트리는 두 개의 노드 사이에 반드시 1개의 경로만을 가지며 사이클이 ..

[자료구조] 스택과 큐, 데크(Stack, Queue, Deque)

스택(Stack) 스택이란 스택은 쉽게 생각하면 박스에 차곡차곡 물건을 정리하는 형태이다. 먼저 들어간 것이 밑에 위치하기 때문에 나중에 나오게 되고 나중에 들어간 것이 위에 위치하기 때문에 먼저 나오는 형태의 자료구조이다. 그렇기 때문에 스택의 모든 연산은 스택의 최상단에서 일어난다. ※LIFO(Last In First Out, 후입선출) 그럼 이렇게 처음 들어간 값을 쉽게 빼서 쓰지도 못하는 불편한 형태의 자료구조를 쓰는 이유는 무엇이며 어디에 쓰이는가 스택은 주로 컴퓨터 연산에 사용하는 자료구조로 연산의 우선 순위에 따라 쉽게 연산할 수 있도록 도와준다. 숫자와 연산자가 들어오면 연산자의 우선 순위에 따라 스택에 쌓아 두거나 스택의 위에서 나오면서 연산이 이루어 지는 것이다. 스택 관련 용어 - T..

[자료구조] 배열과 리스트(Array & List)

배열 배열이란 연관된 데이터를 하나의 변수에 그룹핑해서 관리하기 위한 선형 자료구조로 배열을 이용하면 하나의 변수에 여러 정보를 담을 수 있으며, 반복문과 결합하여 효율적으로 데이터를 처리할 수 있다. 주로 데이터의 개수가 정해져 있는 경우나 데이터의 수정이 적은 경우, 혹은 데이터의 검색이 빈번한 경우에 사용하는 선형 자료구조형이다. 배열의 특징으로는 배열안의 데이터들은 같은 자료형으로 나열되있다는 것, 그리고 데이터가 연속된 메모리 공간에 순차적으로 저장 된다는 것, 그래서 배열의 논리적 순서(인덱스)와 원소값의 물리적인 순서(메모리 주소) 두가지가 동일하다는 것 등을 꼽을 수 있다. 배열에서의 시간 복잡도 삽입/삭제 -배열의 맨 앞에 삽입/삭제: O(n) -배열의 맨 뒤에 삽입/삭제: O(1) -배..

[자료구조] 자료구조의 정의

자료구조 자료구조의 정의 자료구조는 문제 해결을 위해 데이터를 조직화하고 저장하는 것과 이를 구현하는 데 필요한 알고리즘에 대해 논하는 기초이론이다. 자료구조는 CS(컴퓨터 사이언스)에서 알고리즘과 함께 가장 중요한 기초이론이다. 알고리즘에서 효과적으로 접근, 변경, 처리가 가능하도록 만들어진 데이터 체계이기 때문이다. 자료구조는 데이터를 효율적으로 사용하기 위한 것으로 연산의 다양성 및 효율성 등을 제고하여 사칙연산 외에도 읽기, 삽입, 삭제, 비교, 교환 등 다양한 연산의 사용을 고려해야 한다. 추상 자료형과 자료구조 자료에 대해 처리를 어떻게 할지 자료와 동작을 함께 고려하면서, 컴퓨터에 효과적으로 표혀느 저장, 처리하는 기술 그리고 캡슐화 하는 것을 추상 자료형이라고 한다. 추상 자료형은 문제를 ..

[클라우드] 클라우드의 정의

정의 우리가 흔히 클라우드라고 부르는 기술은 '클라우드 컴퓨팅'을 말하는 것으로 인터넷 기반의 컴퓨팅을 말한다. 인터넷 상의 가상화된 서버에 프로그램을 두고 필요할때마다 컴퓨터나 스마트폰 등에 불러와 사용하는 서비스이다. 이러한 개념 때문에 실존하는 것이 아닌 인터넷 상 어딘가에 있는 구름과 같다고 해서 '클라우드'라고 부르는 것이다. 이런 클라우드 컴퓨팅은 인터넷에만 연결되어 있다면 어디서든 내가 원하는 자원을 꺼내어 사용할 수 있는 것이다. 장, 단점 장점 단점 클라우드 컴퓨팅 -초기 투자 비용이 저렴 -장비 공간 -용이한 확장성 -장기적 사용시 고정 지출 증가 -인터넷 연결이 필수 -보안에 대한 책임 그럼 클라우드 컴퓨팅의 장점과 단점은 무엇일까? 장점 중 첫번째를 꼽으라고 한다면 역시 비싼 하드웨..

[머신러닝] 머신러닝의 3가지 학습 방법

머신러닝의 3가지 학습 방법 머신러닝의 학습 방법은 학습 형태에 따라 '지도학습(Supervised Learning)', '비지도학습(Unsupervised Learning)', '강화학습(Reinforcement Learning)' 3가지로 나눌 수 있다. 지도학습(Supervised Learning) 지도학습은 정답이 무엇인지 알고 있는 데이터(Labled data)를 컴퓨터에게 학습시켜 새롭게 들어오는 데이터에 대한 결과를 예측하는 학습 방법이다 위의 그림처럼 오리라고 표기된 사진(Labeled data)를 학습시켜 모델을 만들고 만들어진 모델에 새로운 사진을 넣으면 오리인지 아닌지 예측하는 방법이다. 비지도학습(Unsupervised Learning) 비지도학습은 지도학습과 달리 정답을 알려주지 ..

[보안] 보안솔루션의 종류 - 시스템 보안_6 : 보안관제시스템

시스템 보안 - 6. 보안 관제 시스템 솔루션 개념 보안 관제 시스템의 기본적인 개념은 관제 대상의 기술이나 IT자원을 해킹, 바이러스등과 같은 여러 사이버공격으로부터 보호하기 위해 모니터링 하고 각종 보안 이벤트 및 시스템 로그 등을 분석하여 발생되는 문제에 대해 대응하고 대비하는 것이다. 최근 보안관제를 위한 솔루션들은 빅데이터 분석 기술과 통합하고, 지능적 상관분석 플랫폼으로 진화하고 있다. 종전 방식인 시그니처 기반 탐지의 한계를 극복하고 기업 전반의 빅데이터를 실시간으로 분석하여 잠재적인 위협까지 식별하는 방향으로 진화하는 것이다. 기능 보안관제 시스템의 메인기능이라고 하면 데이터 수집, 분석 및 탐지, 모니터링 이 3가지이다. 보안 장비들을 통해 로그 파일 등의 데이터를 수집하고 이를 정해진 ..

[머신러닝] 선형회귀모델을 이용한 로또 번호 예측하기 - 3(모델링)

선형회귀 모델링 코랩에서 작업하던걸 잠시 쥬피터 노트북으로 옮겨서 작업했다. (여튼저튼쨋든 같은 노트북이니까 뭐) 로또 홈페이지에서 당첨번호를 받아서 필요한 컬럼만 남기고 원하는 형태로 만들어서 따로 CSV 파일로 저장해 두었다. (매주 이 파일은 새롭게 갱신이 필요하겠지) 그 이후 이전에 설명했던 대로 당첨 번호 6자리 각각 선형회귀 모델을 만들어 예측을 진행해 보았다. 간단하고 빠르게 선형회귀 모델을 만들기 위해 사이킷런의 Linear Regression을 이용하였다. 각 모델보다 오차의 범위가 더 크겠지만은 보너스 당첨 번호의 선형회귀 모델도 만들어 보았다. 그리고 각 모델의 예측 결과를 뽑아서 확인해 보았다!! 그리고 실제 그 주의 당첨결과와 비교해 보면?! (현업이 바쁘다보니 만들어 놓고 2주정..

[보안 지식] CC인증(Common Criteria Certification)

CC인증(Common Criteria Certification) CC인증 국제 마크 국내 CC인증 마크 CC인증이란 CC인증은 컴퓨터의 보안을 위한 국제 표준규격으로 보안기능이 있는 IT 제품(즉, 정보보호제품)의 보안성을 평가기관에서 평가하고 이에 대한 결과를 인증기관(IT보안 인증사무국 확인 가능)에서 인증하는 제도이다. CC인증의 목적은 정보보호제품에 구현된 보안기능에 대하여 평가신청한 평가보증등급 수준에 부합하는지 검증함으로써, 사용자가 자신의 보안 요구를 충족하는 IT 제품 선택을 지원한다. 특히, 우리나라에서는는 국가정보원이 필요성을 인정하는 정보보호제품의 경우, 국가 및 공공기관에서 CC 인증제품을 도입하도록 활용하고 있다. 국내 CC인증 평가기관은 총 6곳으로 한국시스템보증(KoSyAs),..

[보안] 보안솔루션의 종류 - 시스템 보안_5 : 통합로그관리

시스템 보안 - 5. 통합 로그 관리 솔루션 개념 통합 로그 관리 솔루션은 그 이름에서 알 수 있듯이 각종 솔루션이나 정보시스템에서 생성되는 로그들을 수집, 저장하여 필요한 정보를 검색하고 분석할 수 있는 솔루션이다. 그렇다면 로그는 왜 수집하고 관리해야 하는가 사고가 발생했을 때 원인을 찾을 수 있는 수단이기 때문이다. 로그 분석을 통해 사고의 원인을 발견할 수 있고 대응방안을 수립할 수 있으며, 나아가 방어대책 수립도 가능하다. 물론 각 솔루션이나 어플리케이션에서 로그를 제공하지만 그렇게 되면 흩어져 있는 로그들에 대해서 솔루션별, 어플리케이션 별로 확인해야하는 번거로움이 있다. 그렇게 때문에 통합 로그 관리 솔루션을 통하여 이기종 장비 및 어플리케이션의 로그를 통합 수집하여 로그 관리 효율성을 높이..

728x90