본문 바로가기

Development/Free Topic66

openFramework, ofxFenster 버그 수정 오픈소스 개발에 기여하였다. I found a little bug on the latest version "of_v0.8.4_vs_release". The 'glfw3' library is old or wrong. so some addons using the latest 'glfw3' doesn't work. I found on "ofxFenster". And there are some more bugs on ofxFenster...http://forum.openframeworks.cc/t/glfw3-library-has-some-problem/18889 --------ofxFenster 사용하기1. 오픈 프레임워크 0.8.4 다운로드 http://openframeworks.cc/download/ 에서 .. 2015. 3. 15.
추천하는 소프트웨어 스택 - GPU 병렬처리CUDATheano - 분산 병렬 처리용 머신러닝 라이브러리아파치 머하웃 - 분산 병렬 처리스파크카산드라하둡MapReduce - OS리눅스 우분투 - 웹Node JS : 자바스크립트로 서버사이드개발이 가능하도록 한 것(자바스크립트의 JSP기능을 코딩) -> 자바스크립트로 통일된 언어로 서버와 클라를 모두 개발할 수 있음. -> 트위터나 페이스북 등 대규모 서비스를 처리할 정도로 매우 빠른속도를 가짐: 기본적으로 JS가 요청에 대해 콜백함수로 처리하는 멀티 스레딩이라서 구조자체가 대규모 서비스에 적합하다고 함. Angular JS : 주로 클라이언트를 개발하는 데 쓰인다고함. Node JS는 서버Jquery : 자바스크립트 라이브러리PHP - 데이터베이스 매니지먼트NoSQL(Not onl.. 2015. 3. 3.
C++ STL의 Vector 사용법 C 언어를 다룰 때 필요한 마인드 : 나는 기계를 제어하는 중이다. 진짜 멍청한 기계다. 정적할당은 해제할 필요가 없고 일반적으로 할당 속도가 더 빠르다.동적할당은 메모리 오버플로우 문제가 발생할 수 있고, 메모리가 연속적으로 할당되지 않을 수 있어 메모리 엑세스 속도가 느릴 수 있다. 따라서 new , delete 방식의 동적할당을 쓰지말고 vector를 써라.(vector를 1차원)그러면 heap corrupt 문제가 발생하지 않고, 메모리 연속성을 보장 받을 수 있다. - 2차원 배열 동적 할당 : new , deletefloat ** parray = new float*[sizeOfColumn]; for(int i=0; i< sizeOfColumn; i++){ parray[0] = new float.. 2014. 12. 4.
C++ 프로그래밍 - window에서 하위 폴더까지 파일 목록 가져오기#include "stdafx.h"#include "windows.h"#include "winbase.h"#include "stdio.h"#include "cstringt.h"#include "atlstr.h" bool FindnFile( const wstring strPath ) {bool bContinue = true;WIN32_FIND_DATAW FindFileData;HANDLE hFind;wstring strFindPath, strFileName;wstring FullPathName;strFindPath.assign(strPath+L"\\*.*");hFind = FindFirstFileW( strFindPath.c_str(), &FindFile.. 2014. 11. 26.
Visual Studio -error LNK2038: '_MSC_VER'에 대해 불일치가 검색되었습니다. '1600' 값이 '1700'(File.obj에 위치) 값과 일치하지 않습니다.Visual Studio 2012에서 컴파일된 라이브러리는 Visual Studio 2010 에서 참조할 수 없다.따라서 재컴파일을 하거나 또는 버전이 맞는 개발환경을 설정해야 한다 - 프로젝트 참조 설정에서, 상대 경로 디렉토리 지정 방법$(ProjectDir)..\을 이용하면, 프로젝트 파일 하위 경로에 대해 상대경로로 참조 가능하다. - 인텔리센스(IntelliSense) 저장 경로 바꾸기인텔리 센스 : 컨트롤+스페이스를 누르면 자동완성이 되는데 그러한 기능을 제공하기 위한 데이터베이스그러나 프로젝트 폴더내에 위치하게 되면 큰 용량을 차지하여.. 2014. 11. 24.
안드로이드 Thread 사용하기 1) 어떤 클래스의 내부 클래스로 원하는 스레드를 만든다. class CaptureThread extends Thread{ int counter = 0; boolean running = true; void stopRunning(){ running = false; }@Overridepublic void run() {super.run();while(running){try {Thread.sleep(3000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}counter++; mCamera.startPreview(); mCamera.takePicture(null, null, jpegCallBack); .. 2014. 10. 5.
RESTFUL API 철학 : HTTP 헤더에 이미 필요한 기능들이 다 포함되어있으니까, HTTP 헤더를 최대한 사용하자. 기존에는 표준으로 정해진 웹 통신 규약이 없었다. 이를 표준화 시키기위한 시도가 바로 REST API.REST API 는 엄격한 규약이 아니고, 개발 방법론이자 개발 철학이다. 규칙들1. Stateless, 인증에 있어서 세션과 쿠기를 쓰지 않는다. 대신에 토큰을 사용한다.2. Cacheable, 원래의 http처럼 캐쉬를 쓸 수 있다.3. Client-Server, 클라이언트 서버 모델4. Layered System, 분산 서버를 사용. 세션을 쓰면 이부분을 구현하기가 힘듬(ex)페이스북 서드파티 로그인 같은것을 구현해내기 어려움) 그래서 토큰이 중요하다.5. Code on Demand(선택적), 다양.. 2014. 7. 22.
안드로이드 여러가지 팁 - Logcat이 죽어서, adb를 재실행하기 C:\adt-bundle-windows-x86_64-20140321\sdk\platform-tools 경로에서 커맨드창을 열고adb kill-server // 종료adb devices // 실행 - SimpleDateFormat 사용법String timeStamp = new SimpleDateFormat("yyyyMMdd_HH:mm:ss.SSS").format(new Date());http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html - File 생성하기http://arabiannight.tistory.com/47 - 경로 얻어오기String externalPath = Environ.. 2014. 6. 24.
Java, 클래스간 변수 공유 자바에서 클래스간의 데이터 교환 및 변수 공유는 다음 중 하나를 이용한다 1. Static : 최악수, 비 객체지향적임. 가능하면 쓰지 말아야함.2. 싱글톤 : 싱글톤이 적합한 구조일 때 편리함. (클래스가 자기자신을 public static 멤버변수로 갖는다.)3. 멤버변수 : 객체내부에 인스턴스르로 다른 객체를 둔다. 가장 일반적인 방식 (음..레퍼런스에서는 그냥 쓰레드가 돌고있건 말건, service건 무조건 이 방식을 썼네..;)4. 상속 : 클래스를 상속받는다..?5. 내부 통신 : ex)안드로이드 intent의 putextra http://www.androidside.com/bbs/board.php?bo_table=B49&wr_id=46083싱글톤 : http://blog.doortts.com.. 2014. 6. 19.
안드로이드 DB, SQLite 안드로이드 내부의 DB인 sqlite 를 보려면, 컴퓨터로는 볼 수가 없다. (루팅을 해도 data/data 경로에는 usb로는 접근 불가능. 에뮬레이터에서만 가능함.) 따라서 루팅한 안드로이드 폰에서, rootexplorer 로 data/data/패키지명/database 로 들어가야한다. --------- DB 부분 / DatabaseManager.java --------public class DatabaseManager extends SQLiteOpenHelper{ public DatabaseManager(Context context, String name, CursorFactory factory,int version) { super(context, name, factory, version); } /.. 2014. 6. 19.
Excel, Spread Sheet(google), VBA - 함수 구현 : 비어있지 않은 셀의 개수를 센다음, 문자열 L을 붙여서 쓰기="L"&COUNTA($B$2:B6) - 함수 구현 : INDIRECT를 이용해서 특수한 연산 수행=IF(SUM(INDIRECT($Q$11):INDIRECT($Q15)) + INDIRECT(LEFT(Q15,1)&RIGHT(Q15,2)+1)>0.5689, $Q$11, LEFT(Q15,1)&RIGHT(Q15,2)+1)=SUM(INDIRECT($Q$11) : INDIRECT($Q16)) # IF에 And조건 넣기=IF(AND(A 2014. 6. 17.
XNA from Siverlight 방법 주의사항 1. 게임 쪽을 수정한 다음에는 반드시 게임 프로젝트를 빌드하여야만 dll이 갱신되어 올바르게 작동한다. 주의사항 2. 서버를 이용하는 경우 서비스 레퍼런스이름이 실버라이트의 것과똑같아야한다. 왜냐하면 아마도 서비스레퍼런스.클라이언트콘피그 이 파일이본래의 프로젝트의 실버라이트 것만 참조하기 때문인 것 같다. 0. 기존 실버라이트 솔루션에 오른쪽 버튼눌러 add를 클릭하여existing 프로젝트를 눌러 xna 프로젝트를 추가한다. 그리고 기존 실버라이프 프로젝트에 모든 xna레퍼런스를 추가한다. 그리고 system.window 도 추가해준다. 그다음 프로젝트를 카피하여 윈폰으로 만든다음, 원래 윈도우 프로젝트는 지운다. 그다음 컨텐트(정확히 Content라는 이름으로) 폴더를 하나 만든다음, 디버.. 2014. 6. 17.
디자인 패턴(Design Pattern) 좋은 코딩이란어렵게 생각할 것 전혀 없다. 그냥 아래의 원칙에 맞게 합리적으로 잘 짜면 된디. 필자는 전략 패턴이나 팩토리 패턴이 뭔지도 몰랐는데, 그냥 계속해서 리팩토링을 하다보니 본능적으로 만들어서 쓰고 있었다.(물론 그 문법은 매우 원시적이었지만) 1. 리팩토링을 자주해서 끊임없이 코드의 중복을 제거한다.2. 처음보는 사람도 쉽게 이해할 수 있도록 코드를 잘 정리 정돈한다.3. 계속해서 더 나은 구조를 고민한다. 싱글톤(Singleton Pattern)class SingletonInstance: __instance = None @classmethod def __getInstance(cls): return cls.__instance @classmethod def instance(cls, *args, .. 2014. 6. 11.
안드로이드 여러가지 트러블 슈팅 - Theme.AppCompat.Light 에러No resource found that matches the given name '@android:style/Theme.Holo.Light'. styles.xml Project - android - Library 에서 추가해주어야함.http://androidx.tistory.com/2http://www.youtu.kr/1035810 - 프로젝트 import가 이유없이 안될때 프로젝트의 이름을 변경해볼 것 (이미 import된 프로젝트와 이름이 겹쳐서 그런 것임.) - 프로젝트 실행시 library cannot be launced 가 뜰때 프로젝트 세팅 - android 에서 is library 를 체크 해제할 것. ----------- Android Stu.. 2014. 6. 10.
안드로이드 파일 입출력, 경로, 모드 / 네트워크 통신 # 루트 디렉토리 접근 및 제어기본적으로 안드로이드의 data/data 폴더는 루팅을 해야만 접근이 가능하다. 특히 구글 글래스를 USB로 연결해보면 internal storage에 DCIM이랑 Pictures 폴더밖에 없다. 개발자용이 아니라 adb를 이용해야만 디렉토리에 접근이 가능하다고 한다. 1) 경로 탐색adb shell 로 접속한다음 ls 등의 리눅스 명령어를 통해 탐색. 1-1) 여러개의 안드로이드를 연결했을 때,adb devices; //연결된 안드로이드의 ID리스트 출력adb -s [ID] shell; 2) 파일 가져오기adb pull /storage/sdcard0/AutoRecorder/test.txt test.txt - 파일 전송 : http://androidforums.com/eri.. 2014. 6. 10.
[톰캣] 리눅스 톰캣 재시작 cd tomcat/bin/ 이동하면 tomcat 실행 파일이 존재합니다. ./shutdown.sh 2014. 5. 18.
[HTML] onsubmit onsubmit 을 이용해 폼체크를 하신후 submit을 하실거면 onsubmit="return formck();" 이렇게 해주셔야 onsubmit에서 true일시 submit을 false 일시 submit을 안날리게되요 ㅋ[출처] [javascript]form에서 onsubmit return false가 먹히지 않을때 에러 해결|작성자 써니 http://les2575.blog.me/70158666668 onsubmit의 의미 -> submit버튼을 누르기전에 특정 일을 처리하며, true일때만 submit을한다 2014. 5. 18.
세션 한글 정보 처리 http://blog.naver.com/gdrtlee?Redirect=Log&logNo=100131252789 보는것 처럼, post로 전송하고 서블릿에서는 req.setCharacterEncoding("utf8");resp.setContentType("text/html; charset=utf8");JSP에서는 (기능은 똑같음) 2014. 5. 13.
SQL COUNT와 실행결과 resultset SELECT COUNT(num) AS total_num FROM tableCOUNT는 해당 컬럼의 전체 개수를 구해줌. AS 변수명을 사용하면 결과값을 해당 변수에 저장가능. http://blog.naver.com/makand123?Redirect=Log&logNo=30176890950 sql 실행결과는 resultset에 저장되며, next를 한번해줘야 처음결과가나옴.http://www.javacool.net/_cool/api_doc/kor_jdk11api/java.sql.ResultSet_dsc.htm 2014. 5. 8.
세션과 쿠키 세션과 쿠키 둘다 안드로이드 프리퍼런스처럼 key값과 내용물을 묶어서 보관하는 것.다만 쿠키는 웹브라우저에 저장, 세션은 웹서버쪽에 저장함.사용법도 거의 유사함. 쿠키는 보안이 필요 없는 데이터를 저장하는게 좋고, 세션은 보안이 중요한 데이터를 저장하는게 좋음. 그리고 세션은 같은 웹디렉토리안에있는 웹컴포넌트끼리는 데이터공유가 가능. 쿠키는 웹브라우저 및 기타 다른프로그램에서도 접근가능. http://rooney-textcube.blogspot.kr/2009/08/jsp-%EC%84%B8%EC%85%98%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%B4%EC%84%9C-%EB%A1%9C%EA%B7%B8%EC%9D%B8%EC%83%81%ED%83%9C-%EC%9C%A0%EC%A7%80.html 2014. 5. 7.