일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 머신러닝
- 가상환경
- tensorflow
- Video
- IMAGE
- 고급C
- 안드로이드
- C언어
- detection
- Machine Learning
- FLASK
- RapidCheck
- 정리
- 디버그모드
- 서버
- 라즈베리파이
- 지능형
- Python
- Deep Learning
- 데이터
- keras
- Android
- Raspberry
- sw
- php
- Linux
- MySQL
- 영상분석
- Object Detection
- tracking
- Today
- Total
목록 개발 이야기 (57)
건프의 소소한 개발이야기
안녕하세요, 건프입니다. 이번에는 고급스런 안드로이드 어플리케이션 개발할 때, 한번쯤은 생각하게 되는 데이터 통신(Data Network) 하는 방법에 대해 알아봅니다. 2013년 구글 I/O 전에는 안드로이드에서 네트워크 통신을 하기 위해서는 Asyntask 클래스를 이용해서 직접 운용할 수 밖에 없었습니다.하지만 이방법에는 예외처리하기가 까다롭기 때문에, 네트워크가 들어가는 순간 에너지가 많이 들어가게 되었죠.이에 구글은 Android Volley 라이브러리를 13년도에 발표하면서 그 편의성을 높혀주었습니다.그럼 바로 프로젝트에 적용시키는 모습을 보여드립니다. 1. 우선 volley 라이브러리 파일을 import 해야합니다.그 방법에는 여러가지 방법이 있지만, 우리는 maven 방식을 이용합니다.(이..
안녕하세요, 건프입니다. 이번에는 Git/Github 에 대한 소개와, 이를 편하게 이용하는 법에 대해서 소개 및 정리하려고 합니다.소스 버전 관리 프로그램은 예전부터 그 필요성에 의해서 존재해야만 했습니다.학교에서 혼자서 과제할때는, 내가 어디까지 작성했고, 앞으로 어떤 것을 작성할 것인지를 본인이 기억하면 되지만, 볼륨이 커질수록 다른 사람들과 소스코드를 일일이 공유하는 작업은 여간 귀찬은 작업이 아닙니다. 따라서 학교에서 Git을 몰랐을때는, 팀프로젝트를 할때, 한사람의 컴퓨터로만 작업하던가, 아에 겹칠수가 없는 기능을 각자 짜온뒤에 합치는 작업을 했었죠. (아무도 안알려주더라고요...ㅠㅠ) 우리는 소프트웨어 엔지니어고, 따라서 더이상 이런 비효율적인 작업은 스킵할 수 있어야 합니다. 우선 Git ..
안녕하세요, 건프입니다. 앞에서는 수많은 학습데이터들을 이용해서 패턴을 분석하는 예측함수를 구하고,그 예측함수를 이용해서, 현실값과 가장 차이가 적게나는 계수값(세타값들)을 구해서다음 들어올 데이터를 이용해 현실값과 가장 근접한 예측값을 뽑아내는 것을 했습니다.(사실 이것이 Data Based Machine Learning 기법의 전부인 듯한..) 다만 한가지 맹점은, 그 학습하는 데이터의 특징(Feature)가 단 하나여야 했다는 것이죠.데이터의 특징이 하나라는 의미는 다음과 같아요.ex> 집값을 결정하는 요인(feature)는 '집의 크기' 뿐이다.이럴 때, 집의 크기는 요인(feature)이고, 값 결정의 요인이 단 하나이므로 생각보다 간단하게 구해낼 수 있습니다. 하지만 이세상의 대부분의 경우는 ..
안녕하세요, 건프입니다. 앞에서 구글의 어플리케이션 디자인 패턴(Material Design) 의 한 축을 이루는 NavigationView 를 이용해서 구조를 살펴보았습니다.구조를 알았으니, 안에 있는 내용물을 바꾸는(화면 전환) 작업은 쉬울 꺼라고 생각했는데.....!! 막상 해보니까 레퍼런스도 아직 많이 없고(Navigation View가 없던시절 ListView로 대리만족했던 시절의 레퍼런스들이 많더라구요)게다가, 어이없는 부분에서 심한 삽질 및 고생을 해서... 이렇게 추가 포스팅을 올립니다. 이전 포스팅에서 NavigationViewListener 가 다음과 같이 세팅되어 있엇죠.@SuppressWarnings("StatementWithEmptyBody") @Override public boo..
안녕하세요, 건프입니다. 이번에는 구글이 강력하게 밀고 있는 어플리케이션 디자인 패턴중 하나인 DrawerLayout 안에 있는 NavigationView 의 형태를 한번 살펴보겠습니다. 예전에는 해당기능을 이용하기 위해서 우리가 직접 모든 코드를 입력해줘야 했지만안드로이드 스튜디오(Android Studio)가 2.0 버전 이상 올라가면서, NavigationView 를 포함하는 형태를 자동완성 시켜줍니다(참 좋은시대) 그러니 자동완성된 형태에서 역으로 어떤식으로 구성되어 있는지 확인해보죠 우선 Navigation Drawer Activity 로 프로젝트를 생성해줍니다. 그러면 생성되는 MainActivity 의 코드중 onCreate 함수 내부는 다음과 같이 완성되어 있습니다. @Override pr..
안녕하세요, 건프입니다. 이번엔 데이터처리를 간단하게 도와주는 Octave 라는 프로그램으로 Linear 한 예측함수와 그래프를 만드는 것을 해보려고 합니다. 1. 우선 데이터를 메모리 상으로 로드해야합니다. Octave에서는 공백기준으로 나누어져있는 데이터를 행렬데이터로 다음과 같이 쉽게 로드할 수 있습니다. 위 데이터에서 첫번째 열(column) 은 데이터 값(지금은 Single variable 이므로 고려해야할 데이터값이 하나입니다) 이고, 두번째 열은 실제 도출된 결과값 에 대한 정보입니다. 2, 우리는 이 데이터를 X(input data) 와 y(real output data) 로 나눠야 합니다.나누는 방법은 다음과 같습니다. 첫번째 인자의 : 는 모든 행의 값을 모두 가져와달라는 의미이고두번째..
안녕하세요, 건프입니다. 이번엔 안드로이드에서 Notification 을 관리하는 모듈 중 하나를 나름대로 구성해보았습니다. 일단 안드로이드의 노티피케이션을 등록하기 위한 과정을 볼께요 private void inside_sendNotification(String title, String message, int type){ Intent intent = new Intent(mContext, SplashActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0 /* Request code */, intent, PendingInte..