제임스딘딘의
Tech & Life

개발자의 기록 노트/Algorithm 6

DBSCAN 클러스터링 알고리즘 - 머신러닝

본 글은 출처에서 발췌하여 번역한 것 임을 서두에 밝힙니다.출처 : https://www.kdnuggets.com/2020/04/dbscan-clustering-algorithm-machine-learning.html2022/04/04 Nagesh Singh Chauhan이 KDnuggets에 작성한 글입니다.소개: Nagesh Singh Chauhan은 CirrusLabs의 빅데이터 개발자입니다. 통신, 분석, 영업, 데이터 과학 등 다양한 분야에서 4년 이상의 경력을 보유하고 있으며, 다양한 빅데이터 구성 요소를 전문으로 다룹니다.DBSCAN 알고리즘과 그것을 파이썬으로 구현한 소개 내용.2014년, DBSCAN 알고리즘은 세계 최고의 데이터 마이닝 컨퍼런스인 ACM SIGKDD에서 시간 테스트 상(..

[보안] 암호화 알고리즘

DES (Data Encryption Standard) ; 데이터 암호 표준 DES는 개인키를 사용하여 데이터를 암호화하는 방법으로서 널리 사용되며, 미국 정부는 이 알고리즘을 해독하기 어렵다고 판정하고 다른 나라들에 수출하는 것을 금지하고 있다. DES에는 72,000,000,000,000,000 (72천조)개 이상의 암호 키가 사용되는 것이 가능하다. 주어진 각 메시지를 위한 키는, 이렇게 막대한 량의 키 중에서 무작위로 선택된다. 다른 개인키 암호화 방법과 마찬가지로, 송신자와 수신자 둘 모두는 동일한 개인키를 알고, 사용해야만 한다. DES는 각 64 비트 데이터 블록에, 56 비트 길이의 키를 적용한다. 이 과정은 여러 가지 모드에서 실행될 수 있으며, 16번의 연산이 수반된다. 비록 DES가 ..

10진수를 2진수로 변환하는 알고리즘 (또다른 방법)

10진수를 2진수로 변환하는 알고리즘 (또다른 방법) 우선 몇자리의 2진수를 만들것인지를 알아내거나 제시한다.그리고, 기본적인 아래의 규칙 하나만 기억한다.rule : 작으면 0 / 크거나 같으면 1 예를 들어보겠다. 10진수 600을 10자리의 2진수로 만들 경우를 생각해보자.10자리의 2진수로 만들 것이므로, 2의 10승 = 1024 부터 시작한다.그 후, 2의 9승, 2의 8승... 2의 1승까지 차례로 rule대로 비교해 내려간다.아래의 과정으로 간단하게 만들 수 있다. 600 이 1024보다 작으므로 0600이 512보다 크거나 같으므로 1, 그리고 600 - 512 = 8888이 256보다 작으므로 088이 128보다 작으므로 088이 64보다 크거나 같으므로 1, 그리고 88-64 = 242..

해시 테이블에 대하여 (about Hash Table)

해시 테이블은 한마디로 공간을 팔아 시간을 사다 라는 말로 표현할 수 있다. 주소를 이용해서 배열같이 직접 탐색이 가능하다. 해시테이블의 기본 개념은 다음과 같다. 데이터를 담을 테이블을 미리 크게 확보해 놓은 후 입력받은 데이터를 해시하여 테이블 내의 주소를 계산하고 이 주소에 데이터를 담는 것, 이것이 바로 해시 테이블의 기본 개념이다. 해시테이블은 특이하게도 데이터가 입력되지 않은 여유공간이 많아야 제 성능을 발휘할 수 있다. 테이블 내의 주소를 계산할 때는 해시함수를 이용하는 데 이에는 두가지 방법이 사용된다. 1) 나눗셈법 주소 = 입력값 % 테이블의 크기 하지만 이는 충돌과 클러스터 문제가 발생할 가능성이 높다. 2) 자릿수 접기 Hello -> 72 + 101 + 108 + 111 = 500..

OAuth 인증방식 이해하기

OAuth 인증방식 이해하기 본 문서는 OAuth의 이해를 돕기 위해 작성되었습니다. OAuth 학습을 뛰어넘고 바로 예제 소스를 보며 개발을 하고 싶다면, 튜토리얼를 참고하시기 바랍니다. 본 문서 내의 용어 일관성을 위해 OAuth스팩에 있는 용어를 사용하였습니다. 본 문서에서 용어는 모두 이탤릭체로 표시됩니다. 용어정의 서비스 프로바이더(Service Provider) – API를 제공하는 서비스를 말합니다. 예> 스프링노트 사용자(users) - 서비스 프로바이더 혹은(그리고) 컨수머를 사용하는 이를 말합니다. 컨수머(Consumer) – API를 사용하여 개발된 애플리케이션 서비스를 말합니다. 예> 스프링노트의 API를 이용하여 개발된 매시업 보호된 자원(Protected Resources): 서..

1