본문 바로가기

Development/Free Topic67

오픈소스 라이센스 및 개발 가이드 BSD 3-Clause LicenseA permissive license similar to the BSD 2-Clause License, but with a 3rd clause that prohibits others from using the name of the project or its contributors to promote derived products without written consent.매우 관대한 라이센스로, 본 프로젝트의 원래 이름 또는 contributor에 대한 copyright 문구를 삽입하는 한 대부분의 이용이 가능하다. https://github.com/NVIDIA/nv-wavenet/blob/master/LICENSE.TXThttps://en.wikipedia.org/w.. 2015. 4. 13.
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. 계속해서 더 나은 구조를 고민한다.  https://namu.wiki/w/%EA%B0%9D%EC%B2%B4%20%EC%A7%80%ED%96%A5%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/%EC%9B%90%EC%B9%99#s-2.1https://namu.wiki/w/%EB%94%94.. 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.