목차

반응형
  
  //하루치 폴더를 미리 생성함
   	public void mkdirPre(String Year,String Month, String Day) throws IOException
       {
   		String storePathString = propertyService.getString("Globals.fileStorePath")+"/data";
       	
       	Calendar cal = Calendar.getInstance();
   	    cal.clear();

   	    cal.set(Calendar.YEAR, Integer.parseInt(Year));
   	    cal.set(Calendar.MONTH, Integer.parseInt(Month)-1);
   	    cal.set(Calendar.DATE, Integer.parseInt(Day));
   	    cal.add(Calendar.DATE, 1);
   	    String mm = String.format("%02d", cal.get(Calendar.MONTH)+1);   
   	    String dd = String.format("%02d", cal.get(Calendar.DATE));
   	    String storePathStringfull = storePathString+"/"+cal.get(Calendar.YEAR)+"/"+mm+"/"+dd;
   	    String storePathStringmm = storePathString+"/"+cal.get(Calendar.YEAR)+"/"+mm;
   	    String storePathStringyyyy = storePathString+"/"+cal.get(Calendar.YEAR);
   		File saveFolder = new File(storePathStringfull);
       	if (!saveFolder.exists() || saveFolder.isFile()) {
       		saveFolder.mkdirs();
       		Runtime.getRuntime().exec("chmod -R 777 " + storePathStringfull);
       		Runtime.getRuntime().exec("chmod -R 777 " + storePathStringmm);
       		Runtime.getRuntime().exec("chmod -R 777 " + storePathStringyyyy);
       	}
   }

mkdirPre("2018","3","22"); 이렇게하면 data 경로 아래에 2018/03/23 그리고 권한은 777로 폴더 생성됨.

원래 리눅스에서 chmod -R 777 경로 이렇게 하면 해당 경로 아래에 있는 파일 폴더까지 다 권한부여 되는걸로 아는데 근데 자바에서 실행하면 그렇게 안돼서 하나하나씩 다 해줬음.

반응형

'Java > Java' 카테고리의 다른 글

intellj gradle 프로젝트 생성, dependency 추가하는 방법  (0) 2023.07.11
자바 보드게임 Laser Maze - 1  (0) 2018.04.10
반응형

EasyAR 3D Object Tracking Feature sample hexagon application

넴 제가 올린겁니다 허접하지만 리뷰처럼 한번 해봤습니다.

EasyAR 아직 사용하기에는 무리가 있는 것 같군여

반응형
반응형

CommandInvokationFailure: Gradle build failed. 

C:/Program Files (x86)/Java/jdk1.7.0_55\bin\java.exe -classpath "C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-4.0.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx1024m" "assembleRelease"


stderr[


FAILURE: Build failed with an exception.


* Where:

Build file 'C:\Users\����ȯ\Desktop\tttt\Temp\gradleOut\build.gradle' line: 20


* What went wrong:

A problem occurred evaluating root project 'gradleOut'.

> java.lang.UnsupportedClassVersionError: com/android/build/gradle/AppPlugin : Unsupported major.minor version 52.0


* Try:

Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.


BUILD FAILED in 15s

]

stdout[

Starting a Gradle Daemon (subsequent builds will be faster)

]

exit code: 1

UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)

UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)

UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System.Action`1 progress, System.String error)

UnityEditor.Android.GradleWrapper.Run (System.String workingdir, System.String task, System.Action`1 progress)

Rethrow as GradleInvokationException: Gradle build failed

UnityEditor.Android.GradleWrapper.Run (System.String workingdir, System.String task, System.Action`1 progress)

UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)

UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)

UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)


이거 아마 Build System Gradle로 되어있을텐데

Gradle은 안드로이드 네이티브에서 임포트해서 쓰는 용도로 쓰임

빌드해서 바로 쓸꺼면 Internal로 바꿔서 하삼


반응형
반응형

퀵서치라는건데 보통 텍스트 검색할때 Ctrl + H 눌러서 검색할 파일 확장자 적고 검색해서 나온 결과에서 또 뒤지고 답답했는데 이거 쓰면 엄청편하다.

하지만 여윽시 intellij Ctrl + Shift + F 가 최고인듯 ㄹㅇ

eclipse quick search에 대한 이미지 검색결과

설치 참고 http://javadeveloper.tistory.com/9







j레벨

이거는 ㄹㅇ 갓갓이다 외쳐 갓용호!

https://zeroturnaround.com/software/jrebel/

웹앱에서 서버단 java파일 수정 하자마자 바로바로 클래스파일에 반영이되고 돌아가는 로컬에서도 반영이 된다.

java말고 xml jsp 등 전부다 잘된다.

회사 주임님이 알려준건데 이거 쓰다보면 나중에는 디버깅모드도 귀찮아서 그냥 sysout(">>>>>>>>>>ovehear!!!!"+something); 이런식으로 디버깅모드를 안쓰게되고 야매처리하게된다고 초급개발자는 어찌보면 좀 피해야할수도 있다고 하셨다.


jrebel 설정후 서버 시작하면 처음에 이런 메시지가 나온다.

크 약 93시간이나 절약해준다고한다 무슨 원리인지는 모르겠지만 근데 자바파일을 엄청 자주 바꿨는데 그럴지도 모른다.

설정하기는 매우 귀찮은데 한번 설정하고나면 ㄹㅇ 없이 작업 못할꺼다 아마



크롬 툴이다.

폼 필러라고 현재 열려있는 페이지에서 모든 폼을 dummy data로 자동으로 채워준다

https://chrome.google.com/webstore/detail/form-filler/bnjjngeaknajbdcgpfkgnonkmififhfo

회사에서 일하다가 테스트용으로 이거쓰고있었는데 외국어가 들어가서 그런지

담당자분이 '님이거 누가 매크로써서 스패밍하는것같음 처리좀' 이랬다 ㅋㅋㅋ




크롬툴이다 TouchEn이다. 가끔씩 어쩔수없이 깔아야할때가 있는데 그럴때마다 설치하러가서 이 프로그램 사용자 리뷰를 본다. 꿀잼이다

https://chrome.google.com/webstore/detail/touchen-pc%EB%B3%B4%EC%95%88-%ED%99%95%EC%9E%A5/dncepekefegjiljlfbihljgogephdhph/reviews

이 프로그램을 만드는 라온시큐어라는 회사는 분명 팀의 내부 화합이 엄청 좋을것이다.

반응형
반응형

필자는 뷰포리아의 Model Target Generator의 오브젝트 불러와서 인식시키는 기능을 사용해보려고 했다.

내가 불러왔던 파일은 .fbx 파일로 용량이 10메가가 넘어가는 꽤나 복잡한 모델파일이었다.

흠 fbx 파일 임포팅 하니까 바로그냥

there was a problem converting your cad model...

에러가 떠버린다.

해결방법을 찾아보았으나 아직까지는 MTG의 오류에 대한 질문만 있을 뿐 해결법은 없더라.


그래서 형한테 fbx파일을 MTG에서 지원하는 모든 모델 파일 형식으로 달라고 해서 임포팅을 시도하였다.


그리고 레퍼런스 읽어보면 폴리곤이 너무 많으면 줄여야한다는 말이 있어서 모델파일 일부분만 떼어서 폴리곤 수 적은 버전으로도 달라고 했다.(근데 테스트하는 도중 MTG는 내가 원하는 방식이 아니란 것을 깨닫고 얘로 테스트 안해봄)


그리고나서 obj 파일로 읽는데 30분정도 읽는 중이라고만 뜨고(최소화도 안됨, 화면 정가운데 차지해서 ㅃ침 ㅡㅡ)


EasyAR같은 경우는 어떻게하나 찾아보고 있었다(이새끼들도 웃김 가이드 보면 api키 넣는 것만 알려주고 그 이후로는 내용이 없음 ㅋㅋㅋ)


그러다가 MTG는 내가 원하던 방식이 아니란 것을 깨달았다.

아마 MTG로 detection 데이터를 생성할때 특정 detection position을 정해야한다. 그리고 그에따른 실루엣도 생기고 유저는 해당 실루엣을 가이드 삼아서 모델인식을 할 수있다.

근데 내가 원하는건 모델의 360도 모든 방면에서 인식이  가능하도록 하는 것이기 때문에 포기했다.

그리고 vuforia측에 질문을 던져놨다.


360도로 측정이 가능한가? : 방금 봐보니까 어떤 사람이 '님 그러면 pro로 사서 다방면으로 모델 찍은다음에 그거 다 올려버리셈' 이랬다.

https://developer.vuforia.com/forum/model-targets/it-possible-detect-object-regardless-detecting-position-device#comment-63389


그리고 누가 model targets advanced recognition이라는 것에 대해서 질문했는데 인터넷에 찾아봐도 안나와서 이게 뭐하는 기능인지도 물어봤다.

https://developer.vuforia.com/forum/model-targets/what-model-targets-advanced-recognition

답장없긴한데 흠... 저게뭘까? 내가 추측하기엔 저게바로 그 vuforia에서 얼리액세스로만 내놓은 기능인것같다. (아마도 360도 모든 방면에서 모델 측정하는 기술!?) => 답장을 받아봤는데 결국 model target recognition을 여러개 등록할 수 있도록 발전한거지 360도 인식하는 기술은 아니라고 한다.


뷰포리아에서 공식적으로 올려놓은 참고사항

The best import results have been observed with Creo View, Collada, FBX and JT.

Cero View, Collada, FBX, JT가 MTG로 불러와서 작업할때 효율이 좋다.


If the model has more than 400,000 polygons or more than 10 parts, the model will need to be simplified.

모델의 폴리곤이 400,000 이 넘고 10개 파트 이상으로 되어있으면 최적화나 축소시켜라


Vuforia Image

그리고 참고로 저건 튜토리얼에 나오는 샘플 모델파일인데 용량이 1mb채 안되는 것을 보아 고용량의 모델파일은 원체 못불러올것같기도하다.

반응형
반응형

apple에서 만들었다.

ARkit 트래킹 기능이 별로없다.

https://developer.apple.com/kr/arkit/

현재 이미지 트래킹도 겨우겨우? 하는것같고 3d 오브젝트 타게팅은 아예 지원 안하는 것 같다.

뷰포리아나 EasyAR 가져다가 ios용으로 빌드해서 쓰는게 나은듯하다.

반응형
반응형

3d 오브젝트 인식


AR에서 가장 중요한건 인식이다.


현실의 3d 물체를 인식하기 위해서는 2가지 방법이 있는 것 같다.

1. 스캐너를 사용하여 특정 사물을 인식, 데이터 생성

이 방법은 인식할 수 있는 사물의 크기가 제한적이라는 단점이 있다(뷰포리아에서 해당 기능은 인도어, 사무용품에 적합하다 말했음)

요거 프린트해서


요렇게 저자리에다가 인식할 사물 넣고


스캐너 앱으로 요리조리 인식해주고

https://library.vuforia.com/articles/Training/Vuforia-Object-Scanner-Users-Guide


앱켜보면 이렇다.

인식만 제대로하면 성능은 끝내주는것같다.

나는 지금 실제 차량을 인식할꺼라서 사이즈가 안되서 못써먹지 좋은기능이다.


2. 3d 사물, Geometric vertex, obj 파일같이 3d 오브젝트 데이터를 읽어서 인식

이 기술은 지금 뷰포리아에서 만들고 있고(만들어서 내놓은것같음) EasyAR에서도 만들어서 내놓았다.

뷰포리아에서는 Model Targets이라고 부르고

EasyAR에서는 3D Object Tracking이라고 부른다.

https://www.easyar.com/doc/EasyAR%20SDK/Guides/EasyAR-3D-Object-Tracking.html

https://library.vuforia.com/articles/Solution/model-target-generator-user-guide.html

둘다 유니티 모델파일인 fbx도 지원하는 것 같다. (CAD 파일도 지원하고 다양하게 지원하는 것 같음)

뷰포리아는 모델파일을 불러와서 설정하는 프로그램도 있는 것 같지만 EasyAR은 그렇게까지는 지원하지는 않는듯 하다.


한번 둘다 해보고 후기남기게따

반응형
반응형

창업 관련해서 AR을 사용할 일이 있어서 조사하게되었다.


현재 유니티 AR의 두 기업을 살펴보았다.


Vuforia


EasyAR


뷰포리아

현재 유니티에서 바로 에셋번들을 임포트하여 사용가능하다

한번 테스트삼아 해보았는데 코드한줄 필요없이 바로 적용이 가능하다.

난이도가 엄청 쉬워서 놀랐다.


https://unity3d.com/kr/partners/vuforia

이 사이트로 가보면 유니티에서도 뷰포리아랑 무슨 파트너쉽을 맺었는지(맺었겠지 머)

이미지 타겟, 오브젝트 타겟, VuMarks, 기기 추적

이미지 타겟하고 오브젝트 타겟밖에 안살펴보았다.

이미지 타겟은 유니티 앱에서 AR 카메라를 넣은다음에 해당 AR 카메라 설정값에 추적하고자 하는 이미지를 등록한다.

단순히 이미지를 드래그하는 것은 아니고 뷰포리아 서버에서 제공하는 tracking에 관한 database에 등록을 해야한다.

어느정도 사용하는 것은 무료이지만 본격적으로 사용하거나 개수를 늘리려면 라이센스 비용을 지불해야하는 것 같다.

어쨌든 기본적으로 제공하는 샘플들도 있고 애초에 새로 만들어서 테스트해보면 엄청 심플한 것을 느낄수 있다.


얼마나 심플하냐면 AR 카메라 추가하고, 카메라에 뷰포리아에서 샘플로 제공하는 tracking 이미지를 추적하도록 등록하면 이미지가 씬에 나타난다

그리고 해당 이미지에 3d 물체를 자식 객체로 넣어주면 끝이다.

앱 실행하면 카메라가 나오는데 카메라로 이미지를 비추면 이미지에 내가 넣은 위치대로 바로 나온다




아맞다 근데 XR 설정가서 뭐좀 체크해줘야한다.

튜토리얼

https://library.vuforia.com/articles/Training/getting-started-with-vuforia-in-unity.html#betas

타겟 db 추가

https://developer.vuforia.com/targetmanager/project/checkDeviceProjectsCreated?dataRequestedForUserId=


EasyAR

얘는 아직 안해봤다.

근데 뷰포리아같은 경우는 유니티 설정 - 인앱까지 어떻게하는지 설명만봐도 이해가 가는데

얘네는 유니티 설정까지만 설명이 나와서 인앱에서 어떻게 처리되는지 모른다.

샘플앱을 받아봐서 분석을 해봐야할 것 같다.

그리고 코드도 필요한것같다.

일단 뷰포리아부터 다 해보고 얘네도 해볼예정

내가 가장 중요하게 보는 부분은 인식률



반응형
반응형

ssl(아차피,윈도우 환경) 작업을 하면서 궁금했던점을 모으고 조사해보았다.


왜 ssl은 443 포트로 열어두는가?


도대체 그놈의 pem, key, crt 파일들은 뭔가?


mod_ssl은 뭔가?


ssl-conf 설정 파일중 SSLCACertificateFile, SSLCertificateChainFile, SSLCertificateFile ... 얘네들은 다 뭐하는 놈들인가?


RootCA와 ChainCA1 체인파일은 왜이렇게 많은가?


ssl의 작동 원리는 무엇인가?


피들러는 뭔데 https 트래픽도 볼 수 있게 해주는건가?

반응형

'보안 > SSL' 카테고리의 다른 글

아파치 httpd.conf ssl.conf SSL 설정하기  (0) 2018.04.06
반응형

http://www.fastcampus.co.kr/dev_seminar_dev1801/

 

살면서 두번째 가보는 세미나였다. 참가비가 12만원으로

솔직히 거의 최저받으며 일하는 일개 개발자에게는 부담스러운 가격이다.

갈까말까 고민하며 인터넷에 패스트캠퍼스 평가를 찾아봤다.

별로라는곳도 많았고, 어디가서 이 가격에 배울수 없다는 평가도 있었고

같이 창업 프로젝트 하는 형들한테 돈좀 지원해달라고 했다. ㅋㅋㅋ

 

메일 내용

 
 
 
 
 
안녕하세요 안지환님
패스트캠퍼스입니다.
 
DevSeminar_Android 1기 등록이 정상적으로 완료되었습니다.
강의실 안내 및 강의자료는 개강일 1~2일 전 안내가 나가오니 참고부탁드립니다.

감사합니다,

 

패스트캠퍼스 드림.
 

흠... 과연 12만원어치 가격을 할것인지...

 

당일날 늦게자서 일어나는데 죽을맛이었다...

 

 

지하 1층에서 진행되었던 강좌

깔끔하고 수강자수가 엄청 많지는 않아서 10시부터 7시까지 시설관련해서 불만스러운 점은 없었던 것 같다.

 

첫번째 수업은 이름은 기억안나지만 알람 앱 제작자, 빈티지 앱 메이커의 수장? 으로 보이는 분이셨다.

http://vintageappmaker.com/

강의의 내용은 자영업 개발자(프리랜서)의 삶과 유의점 이었다.

듣는 내내 유쾌한 느낌이 재미있었다고 생각한다. (뒤의 두 강의가 딱딱해서 더욱 부각된듯)

인맥, 마음가짐 좋은 조언이었다.

 

점심은 무려 만원짜리 도시락을 제공했다. 조금 식어서 아쉽지만 그럭저럭 맛있었다.

 

 

다음 강의가 진행하기전 행운권으로 책을 받았다. 개꿀

 

2번째 강의 주제는 안드로이드 개발자에게 유용한 외부 툴? 유틸 그런 것이었다.

파이어베이스의 다양한 기능들도 알려주셨다.

솔직히 그렇게 흥미로운 주제는 아니었다.

다만 마지막에 파이어베이스에 predict라는 유저가 앱을 삭제할 것 인지

spend라는 유저가 과금을 할 것인지 예측해주는 파이어베이스의 기능을 알려줘서 좋았다.

기억에 남는 내용은 버섯키우기 게임에서

게임 흐름상 이벤트를 x,

유저가 과금, 앱삭제 하는 횟수를 y축으로 그래프화 하여 보여주는 내용이 있었다.

보면서 오오~~ 이런 생각이 들었다.

우리 앱애도 적용하면 분명 큰 도움이 될 것 같았다.

문제는 예시로 들어준 것이 게임이어서 일반적인 앱, 개발중인 앱에는 대입하기가 힘들어서 질문을 했다.

"저렇게 이벤트가 명확하지 않은 일반적인 앱은 어떤 이벤트를 중심으로 분석할 지 모르겠다, 또한 말하신 내용과 관련하여 서적이나 좋은 글을 추천해달라"

서적이나 좋은 글은 본인도 모르겠고, 일반적인 앱이라면 앱마다 중요한 이벤트가 있을텐데 그런 이벤트를 중심으로 분석해보는 방법을 제시해주었다.

 

세번째는 레진 앱 개발자의 코틀린 강의였다.

다행스럽게도, 수강자 대부분이 코틀린을 모르고 있어서 더욱 쉽게 설명해주신 것 같다.

일단 코틀린은 정말 좋아보이는 언어였다.

듣는 내내 '와 저거 만든놈들(구글) 자바 코드 짜면서 귀찮았던 부분은 다지웠네' 이런 생각이 들었다.

나중가서는 FP(functional programming)을 중심으로 코틀린의 강점?을 설명해주셨다.

완전 이해는 못했다.

또한 강사님은 개발에 미친사람이란걸 알았다. 내가 보기엔 코드에 대한 완벽성을 추구하는 결벽증에 걸린 분 같았다.(존경의 의미)

나도 저런 사람이 될 수 있을까...

 

 

끝나고나서 역삼역 미스터피자에서 같이 수업들은 형하고 피자랑 맥주먹었다.

피자는 역시 피자스쿨 치즈피자다.

 

DEV SEMINAR 4주차, 5주차는 JS와 웹과 관련된 내용이다.

웹은 극혐이지만 내가 하는 일이 웹이고 제대로 된 이해를 해보고 싶기 때문에 들으려고 한다.

 

패캠 데브세미나 값어치 하는 것 같다.

반응형