개발 335

행렬

꼬꼬마 고등학생 때 배운 행렬이 왜 필요한지에 대해서 알아보겠습니다. 우리는 꼬꼬마때 행렬의 연산 이런 것을 배웠는데 문제는 이게 실제로는 어떻게 쓰이는지 배우지 못했습니다. (문제 풀 때 이런 것 봤던 것 같기도 합니다.) 예를 들면 1,2,3월에 어떤 상품이 팔렸는가에 대한 계산식을 위와 같이 할 수 있습니다. 이 행렬을 이미지에도 적용할 수 있는데 위의 이미지를 아래와 같이 잘라서, 각각의 픽셀값을 행렬로 표현할 수 있습니다. 참조 [1] - https://github.com/ndb796/Python-Data-Analysis-and-Image-Processing-Tutorial/blob/master/01.%20%ED%96%89%EB%A0%AC%EC%9D%98%20%ED%95%84%EC%9A%94%E..

시계열 데이터

시계열 데이터가 뭔지부터 알아보겠습니다. 영어로 하면 시계열(time series)인데, 시간 상태에 따라, 변화되는 데이터입니다. 그러니깐 시간에 따라 변화되는 데이터입니다. 예를 들면 아래와 같이 생긴애겠죠? 시계열 데이터를 통해 추세 - Trend 계절성 - Seasonality 랜덤 - Random (노이즈 - Noise) 데이터를 분석합니다. 추세는 데이터가 어떻게 되고 있는지 계절성은, 기간마다 어떠 패턴을 가지고 있는지 랜덤은 전혀 관계없이 뜬금없는 데이터인데, 데이터 전처리를 해줘서 이런걸 제거해줘야 합니다. 참조 [1] - https://kyounju.tistory.com/25

개발/Kaggle 2020.03.25

임베디드 시스템이란

임베디드 시스템에 대해서 알아보겠습니다. 우리가 흔히 임베디드(Embedded) 라는 것을 이야기하는데 임베디드 시스템은 말 그대로 하면, 이미 내장되어 있는 시스템입니다. 그러니깐, 요즘에 IOT 기기, 예를 들면 리모컨을 누르면 커튼이 자동으로 쳐 진다던가, 아니면 방의 파티션이 움직이던가 하는 기기들을 보면 이 기기들이 제어되는 프로그램이 안에 내장되어 있습니다. 이 것들을 임베디드 시스템이라고 합니다. 쉽게 생각하면, 제어하기 위한 아주 조그만한 컴퓨터가 있다고 생각하면 됩니다. 이 것이 임베디드 시스템입니다. 위의 예시에서 들었듯이 동작되는 대부분의 물건에 있습니다. 컴퓨터, 전화기, 냉장고 등에 모두 다 들어있다고 생각해도 됩니다. 결론적으로 제어를 목적으로 하는 아주 작은 기계(컴퓨터)라면 ..

개발/잡다개발 2020.03.22

안드로이드 디자인 패턴은 왜 필요한가?

안드로이드 디자인 패턴에 대해서 알아보겠습니다. 디자인 패턴을 처음 들어보면 안드로이드 앱 디자인을 예쁘게 하는 것인가? 라는 생각이 듭니다. 우리가 흔히 아는 디자인이 아니라 코드를 예쁘게 짜는 디자인입니다. 만약 우리가 처음에 listview를 만들 때, mainactivity를 아래와 같이 만들 수 있습니다. 그런데 이 MainActivity에 listview 몇개가 들어가고, AlertDialog가 모든 정보를 다 때려넣으면 얼핏 봐도 MainActivity코드가 500줄은 훌쩍 넘어버리겠죠? 그러면 대충 생각해도 코드의 유지보수가 힘들 것 같습니다. 그렇기 때문에, 디자인 패턴 즉 코드를 예쁘게 짜는 방법론이 나오기 시작합니다. MVC, MVP, MVVM 라는 모델이 있습니다. 여기에 대해서 하..

MVC

MVC 모델에 대해서 알아보겠습니다. M : Model V : View C : Controller 일단 처음 보면 Model 은 데이터 모델 만들고 View 는 레이아웃 만든들고 Controller는 뷰와 모델을 컨트롤해주나 라고 처음 생각이 듭니다. 자 그럼 얘네들을 그림으로 보면 아래와 같이 생겼습니다. 저 Controller에서 View와 Model을 분리하여 Controller에서 로직을 처리해줍니다. 일단 MainActivity에 코드를 때려박던 것을 조금 분리하긴 했습니다. (그래봤자, controller와 Model이긴하지만) 예의 코드도 마찬가지로 기능이 많아질 수록 Controller가 비대해지고 코드가 많이 쌓이는 문제점이 발생합니다. 때문에, MVP라는 모델이 나타나게 됩니다. MVC..