일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Object Detection
- MySQL
- 데이터
- FLASK
- tensorflow
- 정리
- C언어
- 지능형
- Python
- Deep Learning
- 디버그모드
- 고급C
- php
- Raspberry
- 가상환경
- IMAGE
- Video
- keras
- Machine Learning
- 안드로이드
- 영상분석
- Android
- 서버
- 라즈베리파이
- sw
- 머신러닝
- RapidCheck
- Linux
- tracking
- detection
- Today
- Total
목록이야기 (80)
건프의 소소한 개발이야기
안녕하세요, 건프입니다. 이번에는 C 프로그램을 작성할 때,몰라도 상관없지만 알고 있으면 좀 더 유용하고, 간지(?)나고, 재밌게 코딩할 수 있는 방법을 알게 되서 소개하려고 합니다. 우선 첫번째 스탭은, 미리 정의된 매크로가 있다는 걸 알아야 합니다! 매크로 내용 타입 __FILE__ 소스 파일명 string __LINE__ 소스 줄번호 decimal integer __func__ 현재 진행 함수명 string __DATE__ 전처리기 수행날짜 string __TIME__ 전처리기 수행시간 string 바로 예제를 봅시다. 요렇게 작성해두고,결과 입니다. 이렇게 우리는, 어느라인에서 작업하고 있었는지를, 미리 정의된 매크로 를 이용해서 뽑아낼 수 있습니다.(우리가 평소에 사용하던 컴파일러의 디버그 메세..
안녕하세요, 건프입니다. 이번엔 ML 에서 Linear Regression 을 넘어서 Logistic Regression 에 대해서 익혀봅니다. Linear 의 기법으로 접근하는 것은, 대상을 연속하는 선의 관점으로 바라보는 것이고,Logistic 은 문자 그대로, 1 또는 0, 불 대수 논리로 접근하는 것을 의미합니다. 대표적인 사용법이 시험에 대한 "합격/불합격" 을 판단하는 함수를 만들 수 있겠네요. 1. 데이터를 로드하고, 데이터를 Feature 와 Result 로 구분하는 작업이 필요합니다.첫번째 열은 시험1 의 점수두번째 열은 시험2의 점수세번째 열은 합격과 불합격을 각각 1, 0 으로 나눠놓은 데이터 입니다. 2. 데이터를 나눴으니, 그래프를 그려봅시다.그래프를 그리기 위해서는, y 데이터가..
안녕하세요, 건프입니다. 이번에는 고급스런 안드로이드 어플리케이션 개발할 때, 한번쯤은 생각하게 되는 데이터 통신(Data Network) 하는 방법에 대해 알아봅니다. 2013년 구글 I/O 전에는 안드로이드에서 네트워크 통신을 하기 위해서는 Asyntask 클래스를 이용해서 직접 운용할 수 밖에 없었습니다.하지만 이방법에는 예외처리하기가 까다롭기 때문에, 네트워크가 들어가는 순간 에너지가 많이 들어가게 되었죠.이에 구글은 Android Volley 라이브러리를 13년도에 발표하면서 그 편의성을 높혀주었습니다.그럼 바로 프로젝트에 적용시키는 모습을 보여드립니다. 1. 우선 volley 라이브러리 파일을 import 해야합니다.그 방법에는 여러가지 방법이 있지만, 우리는 maven 방식을 이용합니다.(이..
안녕하세요, 건프입니다. 이번에 소개해드릴 프로젝트 이야기는, 제가 프로젝트를 할때마다 자주 사용하고 있는 (개인적인 일정관리를 할때도 제법 유용합니다!)Trello 라는 서비스를 소개해드립니다 :) 소프트웨어 엔지니어링 프로젝트를 진행하시던, 그 밖에 다양한 프로젝트를 진행하실때, 우리는 항상 커뮤니케이션의 불편을 느낍니다.만약 그 프로젝트의 주요 자료공유와 정보공유, 대화의 장이 "카카오톡" 이라면.... 생각만 해도 끔찍하네요. 자료와 정보의 종류가 하나도 구분되지않고 하나의 대화창에서 진행되기 때문에 효율적으로 관리하기 힘듭니다. 그래서, 적어도 대화장과 할일 정보는 구분되어야 한다고 생각하고, 그래서 Trello라는 서비스가 의미가 있습니다. Trello 를 접속했을때, 브라우저에서 보이는 메인..
안녕하세요, 건프입니다. 이번에는 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..