2017년 1월 5일 목요일

Cocos2d-x v3.14 released!


cocos2d-x가 3.14버전이 업데이트 되었습니다!
(버전 넘버링이 3.14 = Pi라서 이미지에 파이 기호가 있네요.ㅎㅎ)

릴리즈 글 링크 :
cocos2d-x forum : http://discuss.cocos2d-x.org/t/cocos2d-x-v3-14-released/34307
Github note : https://github.com/cocos2d/cocos2d-x/blob/v3/docs/RELEASE_NOTES.md
Github CHANGELOG : https://github.com/cocos2d/cocos2d-x/blob/v3/CHANGELOG

주요 업데이트 내용입니다.

  • [NEW] Add Spine binary file format support
  • [NEW] Action: add a method to get the number of actions running in a given node with specific tag
  • [NEW] Action: new actions: ResizeBy and ResizeTo
  • [NEW] Button: can set title label
  • [NEW] Can disable multi touch on Android
  • [NEW] EventDispatcher: Add hasEventListener to check listener existance
  • [NEW] EditBox: add horizontal text alignment
  • [NEW] EventDispatcher: added hasEvent() to check if an event is added
  • [NEW] Sprite: support slice9 feature
  • [NEW] Slider: add methods to get _slidBallNormalRenderer
  • [NEW] Desktop: add a method to toggle between fullscreen and windowed
  • [NEW] Desktop: add events for window resize, focus and unfocus
  • [NEW] Mac: supports game controller
  • [NEW] JSB: add cc.sys.now() and perfromance.now(), the last one is more accurate
  • [NEW] Lua: add cc.vec3 functions: add, sub and dot
  • [NEW] Lua: use luajit 2.1.0-beta2
  • [NEW] Web: Add cc.CONCURRENCY_HTTP_REQUEST_COUNT to control max concurrent task count for XMLHttpRequest

정리해보자면 새롭게 추가된 것은 아래와 같습니다.
- Spine 바이너리 파일 형식 지원.
- 모든 플랫폼에 luajit 2.1.0-beta2 사용
- ResizeBy 및 ResizeTo 액션 추가
- Android에서 멀티 터치를 사용 중지 할 수 있음.
- Sprite는 slice9 기능을 지원.
- Action: 특정 태그가 있는 노드에서 실행 중인 액션의 수를 가져 오는 메소드가 추가.
- Button의 제목 레이블을 설정 가능.
- EditBox는 가로 텍스트 정렬 지원.
- Mac에서 게임 컨트롤러 지원

그 외에 수정된 사항도 많은데
1. DrawNode에서 line width를 설정 할 수 없었는데 설정 가능하게 되었습니다.
2. AudioEngine에서 .ogg 파일이 재생이 안되는 버그가 있었는데 해결되었습니다.

버그도 많이 수정되었고 기능도 추가가 많이 되어서
기쁘게 업데이트해야겠습니다. :)

pod install 시 abort 문제

iOS에서 Firebase를 세팅하는 중에 문제가 생겼습니다.
정확한 로그가 뜨지는 않았으나

➜  proj.ios_mac pod install
Analyzing dependencies
Downloading dependencies
Installing Firebase (3.8.0)
Installing FirebaseAnalytics (3.5.1)
Installing FirebaseCore (3.4.4)
Installing FirebaseInstanceID (1.0.8)
Installing GoogleInterchangeUtilities (1.2.2)
Installing GoogleSymbolUtilities (1.1.2)
Installing GoogleToolboxForMac (2.1.0)
Generating Pods project
[1]    18783 abort      pod install

이런식으로 마지막에 설치가 완료되는것이 아닌 abort가 일어납니다.

찾아봤더니,
http://stackoverflow.com/questions/40581749/xcode8-1-cocoapods-abort-trap6
trap 6 abort는 아니지만
cocoapods 을 재설치하랍니다.

아마 예상되는 원인은 Xcode 8.1버전이라서 버전이 안맞아서 그런 것 같습니다.

$gem uninstall cocoapods
$gem install cocoapods --pre

이렇게 진행했더니 성공했습니다.
아마 개발진행중인데 정식버전으로는 아직 올라오지 않은 것 같네요.

어쨌든 해결했습니다!

2016년 12월 30일 금요일

Arachni 설치 & 실행기




Mac 에 Arachni 설치하기
현재 맥북 버전 10.12 시에라

우선 Arachni가 무엇인지 알아봅시다.
Web Vulnerability Scanner(WVS), 웹 취약점 스캐너 툴 중에 하나로
오픈소스 프레임워크 입니다.
https://www.owasp.org/index.php/Category:Vulnerability_Scanning_Tools
수 많은 WVS가 있는데 오픈소스지만 성능이 상위 5위 안에 드는 툴입니다.
아, WVS는 무엇인지도 알아볼까요?

"Web Application Vulnerability Scanners are automated tools that scan web applications, normally from the outside, to look for security vulnerabilities such as Cross-site scriptingSQL InjectionCommand InjectionPath Traversal and insecure server configuration. This category of tools is frequently referred to as Dynamic Application Security Testing (DAST) Tools. A large number of both commercial and open source tools of this type are available and all of these tools have their own strengths and weaknesses. If you are interested in the effectiveness of DAST tools, check out the OWASP Benchmark project, which is scientifically measuring the effectiveness of all types of vulnerability detection tools, including DAST." - OWASP.org
해석해봅시다. :)

"웹 응용 프로그램 취약성 검사기는 일반적으로 외부에서 웹 응용 프로그램을 검색하여 교차 사이트 스크립팅, SQL 삽입, 명령 삽입, 경로 탐색 및 안전하지 않은 서버 구성과 같은 보안 취약성을 찾는 자동화 된 도구입니다. 이 범주의 도구는 종종 DAST (Dynamic Application Security Testing) 도구라고합니다. 이 유형의 상용 및 오픈 소스 도구가 많이 있으며 이러한 도구는 모두 자체 강점과 약점이 있습니다. DAST 도구의 효과에 관심이 있다면 DAST를 포함한 모든 종류의 취약점 탐지 도구의 효과를 과학적으로 측정하는 OWASP Benchmark 프로젝트를 확인하십시오." - produced by 구글 번역

이렇게 알아봤으니 설치를 해보겠습니다.

설치파일을 다운로드.
링크 : http://www.arachni-scanner.com/download/


arachni-1.4-0.5.10-darwin-x86_64.tar.gz
이라는 파일을 받았습니다.

압축을 해제하면,



bin, system 폴더가 있고 그 외에 라이센스, 리드미 등과 같은 파일이 있습니다.
우리가 사용할 아나크니의 실행파일은 bin에 있습니다.
bin에는



우선 맨 앞에 있는 실행파일인 arachni를 실행해볼까요?



그냥 실행하면 URL이 필요하다고 합니다.
당연히 arachni는 웹 보안 취약점 테스트 툴이기 때문에
테스트를 할 URL을 넣어야합니다.

# 맥에서 설치할때 에러가 있음
이슈 : https://github.com/Arachni/arachni/issues/777
위의 링크에서 https://gist.github.com/Zapotek/26b1150c4c52eaeb4984ab60e2d4ce1d
이 파일을 system/environment파일로 교체해서 실행하면 에러 없이 진행할 수 있습니다.

아라크니를 실행해봅시다.
커맨드라인(CLI) 가이드: https://github.com/Arachni/arachni/wiki/Command-line-user-interface

http://example.com 이라는 사이트에 테스트를 해보겠습니다.
$./arachni http://example.com

실행 결과:


이렇게 봐서는 어떤 문제가 있는지 어떻게 체크되었는지 잘 알기 힘들 수 있는 것 같습니다.

그래서 리포트 문서를 아래와 같이 명령어를 진행해서 이쁘게 볼 수 있습니다.

$arachni --output-verbose --scope-include-subdomains http://example.com --report-save-path=example.com.afr

$arachni_reporter example.com.afr --reporter=html:outfile=my_report.html.zip

이렇게 하고 저 압축파일을 풀면 html 파일이 나옵니다.
실행한 결과는 아래와 같습니다.



# 현재 테스트중에 에러가 몇가지가 났는데 확인해보니
[Arachni::Browser::Error::Spawn] Could not start the browser process.
이런 에러가 나오고 있었네요.
검색해보니 몇가지 이슈가 있었나봅니다.
이슈 링크: https://github.com/Arachni/arachni/issues/737

확인해보니 파일을 다시 받아서 진행해보라고 해서 개발버전을 다운받아 진행했더니
잘 됩니다.
링크 : http://downloads.arachni-scanner.com/nightlies/

테스트를 진행할 사이트(데모 사이트)가 있습니다.
http://testfire.net/
해킹 데모를 할 수 있는 사이트같은데 지금 스캐너를 돌리는데 한참걸리네요.

결과:
데모 사이트로 테스트했더니 1시간 이상 걸려서 중간에 중단했습니다.

테스트 결과 파일은 아래에 있습니다.
https://drive.google.com/file/d/0B8QyETofNTcvVDhsbVNieFI5aGM/view?usp=sharing

그리고 HTML로 변환하는 명령어로 만든 파일도 첨부하겠습니다.
(명령어 :
$arachni_reporter testfire.net\ 2016-12-30\ 19_44_07\ +0900.afr --reporter=html:outfile=my_report.html.zip)
https://drive.google.com/file/d/0B8QyETofNTcvMzd2eUdueU5hZHc/view?usp=sharing

HTML파일로 만들어서 본 화면입니다.



각각의 차트, 이슈, 보완해야하는 부분 등을 볼 수 있습니다.
좋은 보안 오픈소스 프로젝트입니다.
추천추천

2016년 12월 14일 수요일

Git trend - monitoring the popularity and the truck factor of GitHub projects



http://gittrends.io/#/

Git에서 트렌드로 올라와 있는 프로젝트들의 유명함, 성장 패턴, 예상, 트럭 팩터(?)를
볼 수 있는 서비스입니다.

예시로 리누즈 토발즈의 리눅스를 한번 볼까요?



star(별)을 얼마나 받았는지, 각종 수치를 볼 수 있습니다.
그 외에도 트럭 팩터, 랭킹, 컨트리뷰터 등에 대한 정보도 볼 수 있습니다.





각종 재미있는 수치들을 볼 수 있는데, 여기서 트럭 팩터란,

"Truck Factor (aka Bus Factor) is the minimal number of developers that have to be hit by a truck (or quit) before a project is incapacitated. It reveals the concentration of knowledge in individual developers."

Truck Factor (aka Bus Factor)는 프로젝트가 무능력 해지기 전에 트럭에 타격을 가해 야하는 최소한의 개발자 수입니다. 그것은 개별 개발자의 지식 집중을 나타냅니다.

위키의 설명 링크 입니다. ( https://en.wikipedia.org/wiki/Bus_factor )
"Bus Factor"는 전문 지식이 부족하거나 유능한 직원이 부족하여 프로젝트가 중단되기 전에 갑자기 프로젝트에서 사라져야하는 팀 구성원의 최소 수입니다.

이렇다고 하네요. 이런 용어도 있는 것을 처음 알았습니다. ㅎㅎ
다시말해서, 프로젝트가 망해가기전에 제 할일을 못하고 있는 컨트리뷰터를
얼마나 잘라야하는 것 인가에 대한 수치인 것이네요.

어쨋든, 재미있는 인사이트를 주는 서비스인 것 같습니다.
GOOD GOOD SERVICE!

2016년 12월 11일 일요일

CakeResume-Make Resume like make cake! 케이크를 만들듯이 레쥬메를!


https://www.cakeresume.com/v2
자기소개서 (레쥬메)를 케이크 만들듯이 만들어보는 서비스입니다.
신기하고 재미있는 솔루션 같습니다.



드래그 앤 드롭으로 컴포넌트 컨텐츠를 구성하고 다운받아볼수 있는
포트폴리오 만들어주기 서비스라고 볼수도 있겠습니다.

제가 만들어본 예시는 링크로 보실 수 있습니다.
https://www.cakeresume.com/yun-seok-lee
PDF로도 다운받을 수 있고 좋은 서비스인 것 같습니다.

굿굿

2016년 12월 6일 화요일

닮은꼴 찾기! 마이크로소프트의 TwinsOrNot.net


https://www.twinsornot.net/

두개의 사진을 올리면 얼마나 닮았는지 측정해주는 서비스 입니다.
예를들어 하나 해볼까요?


유해진씨와 박지성씨를 비교해보겠습니다.


이렇게 닮은 수치가 표시되는데 100%네요..ㅎㅎ
마이크로소프트에서 서비스하는 다른 API를 이용하면
유명인사의 사진으로 인식을 할 수있는 것도 있습니다.



2016년 12월 3일 토요일

Chrome version 55 updated

크롬이 메모리에 대한 최적화를 통해
메모리를 많이 먹던 문제를 해결한 55 버전이 업데이트되었습니다.


(신난다!)

그 전에는 탭을 여러개 열어놓으면 메모리가 80%이상으로 올라갔었는데
업데이트하면서 현재는 45%, 메모리 할당량이 현저하게 줄어들었네요.

업데이트에 대한 이야기는 크롬 블로그에 올라왔네요.
https://googlechromereleases.blogspot.kr/2016/12/stable-channel-update-for-desktop.html

http://v8project.blogspot.kr/2016/10/fall-cleaning-optimizing-v8-memory.html
이 V8엔진 블로그 글에 따르면,
V8엔진의 자바스크립트 힙 크기를 최적화하는데에 가비지 컬렉션에서의 부하와
메모리 사용량이 트레이드 오프 관계가 있는데 그 부분을 최적화하여
결과적으로 힙 크기를 줄인 것 같습니다.(기기 메모리가 작은 환경에서)
전체적으로 메모리 사용량이 줄은 것 같은데,
54버전에서는 페이스북 탭을 1개만 열어도 메모리가 70%까지 올라갔던것에 비해
55버전에서는 페이스북 탭을 6개 열어도 메모리가 51%정도라는 것에 대해
많이 최적화된것으로 보입니다.

2016년 11월 30일 수요일

마이크로소프트 감정인식 서비스(Emotion API)



https://www.microsoft.com/cognitive-services/en-us/emotion-api

마이크로소프트에서는 인식에 관련한 서비스들을 제공중입니다.
여러가지 인식 서비스가 있는데
Vision, Speech, Language 이렇게 세개의 파트로 나눠집니다.



그 중에 얼굴 감정인식 기능인 Emotion API를 잠깐 소개드리려고합니다.
아래서 데모를 할 수 있는데 데모 먼저 보겠습니다.


얼굴 표정에 대해서 분석을하고 그 결과값을 JSON 데이터 형식으로 보내줍니다.
각각 anger, contempt, disgust, fear, happiness, neutral, sadness, surprise
분노, 경멸, 혐오, 두려움, 행복, 감정자제, 슬픔, 놀람 이렇게 구분되어 데이터를 보내줍니다.

개발에 필요한 감정 API의 문서는 아래에서 보실 수 있습니다.
https://dev.projectoxford.ai/docs/services/5639d931ca73072154c1ce89/operations/563b31ea778daf121cc3a5fa

Get Started는 C#, Python이 있네요.
C# : https://www.microsoft.com/cognitive-services/en-us/Emotion-api/documentation/GetStarted
Python : https://www.microsoft.com/cognitive-services/en-us/Emotion-api/documentation/GetStartedWithPython

이 감정인식 서비스로 한번 재미있는 앱을 만들수 있을 것 같습니다.
가격 정책은 아래와 같으니 참고하세요


한달에 3만번 정도는 무료로 사용할 수 있네요.
비디오 분석은 한달에 300번 업로드, 비디오 쿼리 분석은 한달에 3000번이네요.
무료로 사용하는 만큼만 재미있게 만들면 좋겠네요 ㅎㅎㅎ

2016년 11월 22일 화요일

Cocos2d-x android back button issue after admob popup webview

Cocos2d-x로 게임을 개발하는중인데
배너광고를 달았는데 그 광고를 터치했을때 광고내용이 나옵니다.
그 이후에 문제가 생겼는데, back 버튼을 누르면 그냥 앱이 나가지는 문제가 발생하였습니다.

그래서 무슨문제인가 찾아봤더니
http://discuss.cocos2d-x.org/t/clicking-back-button-after-clicking-admob-ad-closes-app/17964

액티비티에 focus가 풀려서 그런것이더군요.
코드는 아래와 같이 해결!

if (this.getCurrentFocus() != Cocos2dxGLSurfaceView.getInstance()) { Cocos2dxGLSurfaceView.getInstance().requestFocus(); }

이 코드를 광고가 닫히는 이벤트에 넣으면 알맞게 잘 동작합니다.
I hope this help!

Cocos2d-x 에 iOS 배너광고 삽입시 "_OBJC_CLASS_$_GCController", referenced from: ... 에러

정확한 에러는
Undefined symbols for architecture x86_64:
  "_GCControllerDidConnectNotification", referenced from:
      -[GCControllerConnectionEventHandler observerConnection:disconnection:] in libcocos2d iOS.a(CCController-iOS.o)
  "_GCControllerDidDisconnectNotification", referenced from:
      -[GCControllerConnectionEventHandler observerConnection:disconnection:] in libcocos2d iOS.a(CCController-iOS.o)
  "_OBJC_CLASS_$_GCController", referenced from:
      objc-class-ref in libcocos2d iOS.a(CCController-iOS.o)
     (maybe you meant: _OBJC_CLASS_$_GCControllerConnectionEventHandler)
ld: symbol(s) not found for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

Build Phases > Link Binary With Libraries 에 
MediaPlayer.framework
GameController.framework 를 추가해주면 해결됨


LaunchImage Size table


just add on portrait.
i hope this help

JIRA Plugin - ScriptRunner 소개 #2

관련 글 소개 #1:  https://pineoc.blogspot.com/2019/03/scriptrunner-1.html ScriptRunner 소개 #2 지난 글에서는 Behaviours를 보았고 다음 내용인 콘솔, 리스너 등을 ...