분류 전체보기 1203

아두이노란

아두이노가 무엇인지 검색해보면, 물리적인 세계를 감지하고 제어할 수 있는 인터랙티브 객체들과 디지털 장치를 만들기 위한 도구로, 간단한 마이크로컨트롤러(Microcontroller) 보드를 기반으로 한 오픈소스 컴퓨팅 플랫폼과 같은 소프트웨어 개발 환경을 말한다고 설명되어 있습니다. 직접 아두이노를 이용해서 프로그래밍 해본 경험으로는 간단한 컴퓨터라고 생각하면 됩니다. 예를 들면 우리는 드론을 만들고 싶습니다. 드론을 만드는데 드론을 조작하고 제어할 수 있어야 하는데. 드론에 컴퓨터를 직접 넣어서 프로그래밍을 할 수는 없습니다. 때문에 아두이노에 프로그래밍을 해서 사용합니다. 아두이노는 오픈소스로 가격이 저렴하며, 예시로 든 드론 이외에 - 로봇 - IOT기기(센서) - 앱으로 제어되는 도구 - 컨트롤러..

개발/잡다개발 2020.04.12

10 - 자료구조와 알고리즘이 중요하다던데?

자료구조와 알고리즘은 뭔지에 대해서 알아보겠습니다. 알고리즘 같은 경우는, 저희가 뭐 유투브 알고리즘 이런 단어등을 통해서 어떠한 법칙? 같은 것이구나 라고 감을 잡을 수 있습니다. 알고리즘에 대해서 조금 더 알고가면 제가 만약 유투브에서 트와이스 영상을 봅니다. 그러면 자연스럽게 다음 동영상에 관련 영상들이 나옵니다. 이 과정을 아래의 순서도로 나타낼 수 있습니다. 이 것을 다르게 말하면 유투브에서 영상을 틀어주는 알고리즘이라고 합니다. 그러면 자료구조는 무엇인가 하고 보면 자료구조(資料構造, 영어: data structure)는 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미한다. 더 정확히 말해, 자료 구조는 데이터 값의 모임, 또 데이터 간의 관계, 그리고 ..

catboost

Catboost에 대해서 알아보기 전에 일단 GBM(Gradient Boosting Algorithm) 부터 알고 가봅니다. 머신러닝에서 부스팅(Boosting)이라는 것은 약한 학습기를 여러개 결합해서 정확도가 높은 학습 모델을 만드는 것입니다. 그러면 Gradient Boosting은 당연히 경사하강법을 통해서 만들어진 학습 모델 여러개를 합쳐서 정확도가 높은 모델을 만드는 것입니다. 다시 Catboost로 돌아오면, catboost는 GBM을 구현해놓은 패키지중 하나입니다. LightGBM, XGBoost도 마찬가지입니다. 참조 https://4four.us/article/2017/05/gradient-boosting-simply https://3months.tistory.com/368 https:..

개발/Kaggle 2020.04.10

9 - DB란 무엇인가?

DB(데이터베이스)란 무엇일까요? 그냥 저장소입니다 이런 컴퓨터안에 있는 저장소인데 얘가 하는 역할이 무엇일까를 생각해보면 엑셀파일 생각해보시면 됩니다. 엑셀처럼 다양한 Sheet를 만들어서 데이터를 저장해놓을 수 있고 아래와 같이 불러올 수도 있습니다. 또한 이렇게 다양한 데이터 덩어리들이 연관되어 사용됩니다. mysql에서는 이 것을 sheet라고 부르지 않고 table, column이라고 부릅니다. 그래서 query를 날린다고 하는데, 이 것을 이용해서 데이터베이스에 있는 데이터를 꺼내올 수 있습니다. 회원 1에 관한 데이터를 뽑아올 수도 있고, 아니면은 아이디가 4글자 이하인 사람의 데이터들도 다 뽑아올 수 있겠죠??

IP

IP header에 checksum이라는 것이 있습니다. 이 checksum이 무엇인지 알아보겠습니다. Header Checksum의 경우, 패킷이 유효함을 계산하고 올바른 패킷인지 알아봅니다. engress filtering - 외부로 나가는 데이터의 속성을 검사하는 것입니다. 이 것을 이용하면 조직 내부의 위험이 밖으로 나가지 않습니다. ingress filtering - 외부에서 내부로 유입되는 데이터를 검사합니다. 외부에서 들어오는 패킷이 위조되었는지 안되었는지를 확인합니다.

개발/잡다개발 2020.04.09