Bloom Filter란 뭘까,,,,,,
·
오늘 배운것들
Bloom Filter는 자료 구조중의 하나로, 다음 두 가지 동작이 가능합니다.1. 삽입: 값을 테이블에 추가2. 확인: 어떠한 값이 테이블 안에 존재하는지 확인즉, 테이블 안에 값이 들어있는지 확인하는 것에 사용하는 간단한 자료구조지만,삽입과 확인 과정이 특수한 방법을 가지고 있어서 몇 가지 특징들을 가집니다.블룸 필터는 이러한 모습을 가집니다.사진은 red와 blue라는 값을 테이블에 추가하는 과정인데,1. 추가하려는 값을 해시 함수에 넣고2. 나온 해시 값에 대응되는 테이블 인덱스를 1로 만든다이 과정을 하나의 값을 추가할 때마다 3개의 해시 함수에 대하여 실행하는 모습입니다.우리는 이 사진으로 블룸필터의 특징을 알 수 있습니다.1. 테이블의 크기는 값들의 크기와 상관없이 불변하다.2. 해시 함수..
일을 시작하며 느낀 CS의 중요성
·
오늘 배운것들
최근에 새로운 업무를 시작했습니다.프로그래밍과는 전혀 다른 분야지만 프로그래밍을 꽤 오래 해 왔고, 필요한 것들이 있으면 직접 만들어서 쓰기를 오래 했다 보니 이런 경험들이 일할 때에도 도움이 됩니다. 예를 들어 사진 파일들을 하나의 파워포인트로 만드는 작업이 있다고 생각해 봅시다.프로그래밍을 배우지 않았다면 그냥 하나하나 붙여 넣고 있었겠지만,프로그래밍에 대해 알고 있기에 분명히 자동화가 될 것이라고 생각하고,자동화 프로그램을 구현하기 위한 라이브러리들을 찾을 수 있습니다. 이것과 비슷한 상황들을 겪으면서 프로그래밍 지식이 전혀 다른 영역에도 도움이 되는구나 느꼈습니다. 프로그래밍도 내 업무에 이 정도로 도움을 주는데,내가 만든 프로그램과 직접적으로 관련된 프로그래밍 언어, 운영체제, 네트워크 등의 C..
셀레니움 크롬 프로필 쓰는 방법/ 유튜브 네이버 로그인 없이 자동화 하는법
·
오늘 배운것들
셀레니움으로 크롤링 작업을 하다보면 네이버, 다음이나 유튜브등 로그인이 필요할때가 가끔 있습니다. 근데 로그인하는걸 코드에 집어넣는건 실행할때마다 로그인해야해서 오래걸리고, 로그인하는것도 어렵다는 단점이 있어요. 이럴때 쓸수있는 방법이 크롬 프로필을 사용하는것 입니다. 셀레니움을 아무 옵션없이 실행하면 매 실행시마다 --user-data-dir 경로가 바뀌기 때문에 방문 기록이나 쿠키같은 기록이 매번 저장되지않고 초기화 되지만, 코드에서 실행할때 user-data-dir을 한곳으로 지정해주면 실행시마다 그곳에 기록과 쿠키를 저장하고 참조하기 때문에 매번 새로 로그인할 필요가 없습니다. 또한 셀레니움으로 로그인하는게 어려운 사이트들은 셀레니움이 참조하는 user-data-dir 폴더를 직접 크롬으로 연 다..
ERD 기호 설명
·
오늘 배운것들
학생은 한반에 무조건 들어가있어야하고, 1개의 반만 가질수있습니다. 반은 학생이 있을수도, 없을수도 있으며 여러명의 학생이 소속될수있습니다. 이때의 관계를 erd로 표현하면 다음과 같이 표현할수 있습니다. 위의 학생과 반의 규칙을 다이어그램으로 표현하려고합니다. 아래와같이 erd 논리모델로 설명할수있습니다. 이 사진에서 학생 => 반 방향으로 관계를 읽을때 첫번째로 한개의 세로 실선을 볼수있는데 이건 학생 집합 안에있는 데이터(학생)들은 각각 반드시 반 집합안에 있는 데이터(반)에 소속된다고 볼수있습니다. 소속되는건 학생의 외래키가 반의 기본키를 가르키는식으로 구현할수있겠죠? 첫번째 실선 그 다음으로 보이는 두번째 세로실선은 숫자 1이라고 해도 됩니다. 학생은 오직 하나의 반만 가르킨다는 뜻입니다. 이 ..