2016년 9월 5일 월요일

영어 스펠링 체크하기 - codespell

https://github.com/lucasdemarchi/codespell

오픈소스 프로젝트 기여하기에는 여러가지 방법이 있는데요.
저는 일단 영어 스펠링 틀린 것 수정하기부터 시작해보았습니다.

여러가지 스펠링 체크해주는 툴이 있는데
저는 현재 맥북을 사용하고 있으니
리눅스 스펠링 체크 툴을 찾아봅니다.

그 전에 찾아서 사용했던 툴 중에 하나가
codespell이라는 툴입니다.

깃헙에서 다운받아서
bin/codespell.py를 사용하시면 됩니다.

디렉토리로도 찾을 수 있고
틀린 것을 바로 수정하는 -w 플래그만 주면 수정할 수 있습니다.



cocos2d-x 스펠링 체크해본 결과입니다.
필요한 부분만 수정해줘야할듯하네요. 변수명은 두고 주석만 수정해야겠습니다.



이렇게 하면 다 수정되어버리는데,
수정되면 안되는 것은 git 명령어를 통해서 ignore 처리하고 커밋합니다.
(다른 명령어 처리방법도 있습니다만 저는 이렇게...)

이렇게 기여하고, 코드 보고 이해하다보면
실제 로직에 참여할 수 있습니다.
모두 화이팅!

2016년 8월 30일 화요일

Cocos2d-x 3.13 version released!

http://blog.cocos2d-x.org/2016/08/cocos2d-x-v3-13-released/

코코스 엔진이 3.13 버전이 릴리즈 되었네요 ㅎㅎ
블로그글을 한번 보겠습니다.
  • added VR plugins for Gear, Deepoon, Google Cardboard and Oculus.
  • support ETC1 alpha channel
  • fix AudioEngine performance for Android 4.2+
  • improve canvas renderer performance with dirty region
  • add Andorid arm-64 support switch to use gcc 4.9
  • upgrade CURL to 7.50.0
  • upgrade Spine to 3.4
  • upgrade GLFW to 3.2
자세한 사항은 위에 릴리즈 노트를 보시면 되겠습니다.

일단 하이라이트 변경점만 보면,
음... 저번에 3.12 버전에서 VR을 지원한다고 하더니
이번에는 VR 플러그인을 좀 더 보충한 느낌입니다.
ETC1 알파 채널은 뭔지 찾아봤는데,
"
ETC1픽셀당 알파없이 4bits로 24bits 원본 대비 1/6의 압축률이며, 대부분의 경우 원본과 차이를 못 느낄 정도로 품질이 좋지만, 알파채널을 지원하지 않는다는 큰 단점이 있다. iOS에서는 지원하지 않으며, 안드로이드 2.2(프로요) 이상의 안드로이드 디바이스는 모두 필수적으로 지원한다. 
이런 포맷을 알파 채널을 지원하게끔 개발했다는 것 같습니다.

#안드로이드 4.2 버전 이상에서 오디오 엔진의 성능 향상.
이 부분은 CPU Usage에 있어서 큰 향상이 있었네요

 

하지만 Preload 해야 성능 향상에 효과가 있을거라고 하네요.
"Should preload first, or there is not performance improved for first time playing of the audio."

#Dirty Region in Canvas renderer
Dirty Region algorithm을 통해서 렌더링을 할 때 캔버스의 모든 부분을
리프레시하지 않고 인접한 부분, 특정 부분만 리프레시하게 향상되었다고 합니다.

#Android arm-64 support
android 빌드할 때 arm 64를 지원한다고 하네요.
arm 64 3rd 라이브러리를 제공하는데, 이 말은 곧 arm 64를 지원한다는 뜻이라고합니다.
cocos run -p android --app-abi arm64-v8a
이렇게 빌드 할  수 있다고 합니다.

#gcc 4.9 on Android
이건 버전 3.12에서 이슈가 생겨서 안드로이드 컴파일러 gcc로 다시 바꿨다고 합니다.
(clang+gnustl_static을 사용하는 중에 문제가 생겼다고 합니다. clang을 사용하는 중에 문제가 생겼던듯하네요.)

#CURL 7.50.0으로 업그레이드
CURL의 그 전 버전에서 버그가 있었습니다.
a bug about connect to IPV4 numerical IP address in NAT64 environment )
수정된 버전이 업그레이드 되었습니다.

그 외에 Spine, GLFW가 업그레이드 되었네요.

더 많은 릴리즈 노트 내용을 보시려면
https://github.com/cocos2d/cocos2d-x/blob/v3/CHANGELOG
체인지 로그를 확인해보시는 것도 좋아요 ㅎㅎ

그럼 즐거운 개발되시길 바랍니다

2016년 8월 29일 월요일

Vorlon.JS - 원격 자바스크립트 디버깅 툴



Homepage: http://vorlonjs.com/
GitHub: https://github.com/MicrosoftDX/Vorlonjs/

원격 자바스크립트 디버깅 툴 이라고 설명은 적어놓았지만
제대로 된 설명은 아래와 같습니다.

"An open source, extensible, platform-agnostic tool for remotely debugging and testing your JavaScript. Powered by node.js and socket.io."

플랫폼에 종속되지 않고 원격으로 자바스크립트를 디버깅, 테스트가 가능한 툴.
(Node.js 와 Socket.io 를 이용함)

현재 버전은 0.3.0 입니다.
앞에 버전 번호가 0 인걸로 봐서 아직 개발이 활발히 진행중인
프로젝트인 것 같습니다.

실제 데모 영상은 다음 링크에 있습니다.
http://www.vorlonjs.com/#demo (유튜브에 올라가 있지 않아서 직접 눌러서 보셔야할 듯 합니다.)

- 설치
$npm install -g vorlon

- 실행
$vorlon

실행 전에 해당 웹 앱 페이지에 스크립트 코드를 넣어주셔야합니다.
<script src="http://localhost:1337/vorlon.js"></script>

이렇게 하면 vorlon에서 사용하는 socket.io에 연결되어서
디버깅, 테스트를 진행 할 수 있습니다.

현재 진행하는 Cordova나 웹 페이지 개발에
테스트, 디버깅에 한번 사용해봐야겠습니다.

2016년 8월 17일 수요일

CSS Selector 공부하기 좋은 사이트 - CSS Diner


http://flukeout.github.io/

CSS Diner라는 사이트인데요.
깃헙 페이지를 통해서 퍼블리싱한 사이트입니다.

CSS Selector를 게임처럼 배울 수 있는 곳 입니다.
enter 버튼이 보이는 줄에 들썩들썩 움직이는 녀석들을
골라 낼 수 있는 코드를 넣어 주면됩니다.



접시에 마우스를 가져다 대면 그 움직이는 물체의 컴포넌트를 볼 수 있습니다.
지금은 접시가 움직이고 있으니
plate라고 입력하고 enter!

다음으로 넘어가면,


bento 박스만 골라내라고 하네요.
이런식으로 움직이는 물체들을 골라내고 enter로 진행하면서
CSS Selector를 공부하게 됩니다.

즐거운 공부가 되겠네요.
즐거운 개발 되시길 바라요~

2016년 8월 14일 일요일

ReactJS 강좌 - Velopert 강좌

https://velopert.com/

유튜브 강좌 : https://www.youtube.com/playlist?list=PL9FpF_z-xR_GMujql3S_XGV2SpdfDBkeC



시작하기에 좋은 강의인 것 같습니다.
굿굿

Stetho - A debug bridge for Android applications by Facebook



homepage: http://facebook.github.io/stetho/
GitHub: https://github.com/facebook/stetho

이 프로젝트는 간단히 말하면 안드로이드 앱을 디버깅을 쉽게 할 수 있게 해주는
프로젝트입니다.
크롬 개발자 툴을 통해서 안드로이드 앱을 디버깅하겠다는 프로젝트인데
신기해서 한번 들여다봤습니다.

밑에 설명이 더 있는데 한번 가볼까요.


크롬 개발자 툴에서 chrome://inspect로 디버깅 할 수 있고
네트워크 측정을 할 수 있습니다.



데이터베이스도 볼 수 있으며, 뷰 계층도 볼 수 있습니다.



dumpapp은 크롬 DevTool과는 다른 컴포넌트 툴인데 앱을 덤프해서
각종 preference를 설정하고 뭔가 할 수 있는 것 같은데 아직은 잘 모르겠으니
설치하고 한번 알아봐야겠습니다.

또, 자바스크립트 콘솔을 통해서
안드로이드 SDK함수까지도 테스트 할 수 있습니다.

한번 설치하고 튜토리얼을 해보죠.

저는 일단 그래들로 설치해서 설정, 실행까지 해보겠습니다.

app의 build.gradle 파일에서
// Gradle dependency on Stetho dependencies { compile 'com.facebook.stetho:stetho:1.3.1' }
이 compile 'com.facebook.stetho:stetho:1.3.1' 코드를 추가해줍니다.
싱크를 하고나서 onCreate 함수에

//Stetho initStetho.initializeWithDefaults(this);

이 코드를 삽입해줍니다.
(Application 클래스의 onCreate 함수에 넣어 주셔야 합니다.)

그럼 이제 돌려볼까요. 돌리고 나면 Stetho가 디버깅을 하겠다고
영어로 Alert가 뜨는데 그러고 앱이 동작합니다.

그리고 chrome://inspect 에 들어가봅니다.
그러면 지금 돌리고 있는 앱이 나올겁니다.


(요즘 얼굴인식 프로젝트 중이라
여기서 inspect를 눌러보겠습니다.



오오... 한번 뷰가 어떻게 나오는지 보겠습니다.


원래는 웹페이지라면 옆에 스타일을 탭을 통해서 수정할 수 있지만
여기선 별 의미 없는 자리인 것 같습니다.

콘솔테스트도 한번 해보겠습니다.



안되네요.. ㅎㅎ 추가적으로  설치해야하는게 있는 것 같습니다.
"Not supported without stetho-js-rhino dependency"
그럼 추가해줍니다.
아까 추가했던 곳에
compile 'com.facebook.stetho:stetho-js-rhino:1.3.1'

이 코드를 추가해줍니다.
그리고 다시 실행해보겠습니다.



오오... 다른 것도 이것저것 테스트 할 수 있는 좋은 툴인 것 같습니다.

즐거운 코딩하시길!

2016년 8월 11일 목요일

Cocos2d-x 3.12 MacOS 설치 후 실행 오류

Cocos2d-x 를 다음프로젝트에 사용하게 되어서 업데이트를 하려했으나
에러를 만나고 말았습니다.
이 에러는 cocos 명령어를 사용하고자 하면 나타났습니다.

➜  cocos2d-x-3.12 cocos
Traceback (most recent call last):
  File "/Users/pineoc/Desktop/cocos2d-x-3.12/tools/cocos2d-console/bin/cocos.py", line 22, in <module>
    import cocos_project
  File "/Users/pineoc/Desktop/cocos2d-x-3.12/tools/cocos2d-console/bin/cocos_project.py", line 4, in <module>
    import cocos
  File "/Users/pineoc/Desktop/cocos2d-x-3.12/tools/cocos2d-console/bin/cocos.py", line 936, in <module>
    language, encoding = locale.getlocale()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/locale.py", line 562, in getlocale
    return _parse_localename(localename)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/locale.py", line 475, in _parse_localename
    raise ValueError, 'unknown locale: %s' % localename
ValueError: unknown locale: UTF-8

에러를 요약하자면,
ValueError: unknown locale: UTF-8

UTF-8이라는 locale이 없다는 것인데,
저는 일단 컴퓨터의 환경설정이 지금 설치하고자 하는 버전과 잘 맞는지
확인해보았습니다.

Build Requirements

v3.12


  • Mac OS X 10.7+, Xcode 7+
  • Ubuntu 14.04+, gcc, CMake 2.6+
  • Windows 7+, VS 2013 or VS 2015
  • Python 2.7.5
  • NDK r10c+ is required to build Android games
  • Clang for developing Android games
  • Windows Phone/Store 8.1, VS 2013 Update 4+ or VS 2015
  • Windows Phone/Store 10.0, VS 2015
음.. 다 충족합니다.
뭐가 문제일까 하고 구글에게 물어봅니다.

위의 링크인 이슈 논의를 봤는데
아래와 같이 설정해주면 에러없이 잘 동작한다고 해서 해봤습니다.

$export LC_ALL=en_US.UTF-8
$export LANG=en_US.UTF-8

설정을 한 후에 실행해보았습니다.
$cocos


잘 되네요 ㅎㅎㅎ
에러의 원인은 예상하기로는
MAC + python 문제인 것으로 보입니다.

이참에 파이썬도 업데이트 해야겠습니다.

즐거운 코딩하시길 바라요 ㅎㅎ

2016년 8월 10일 수요일

Cocos Creator v1.2 released!


http://blog.cocos2d-x.org/2016/08/cocos-creator-v1-2-released/

코코스 크리에이터 1.2 버전이 릴리즈 되었네요.
릴리즈 내용은 아래와 같습니다.

1.2 Main Features
  • 1. Build to Lua Engine
  • 2. WebGL auto batching and culling
  • 3. Canvas rendering with dirty region optimization
  • 4. Graphics drawing system
  • 5. Refactored Properties panel supporting customized elements
  • 6. Modular JavaScript Engine
  • 7. AnySDK support
1. 루아 엔진으로 빌드 가능
두 달전에 루아 개발팀하고 만들었다고하는데 이제 루아로도 빌드가 가능해졌다고하네요.
2, 3 을 통해서 웹앱 게임 엔진 성능을 높힘.
배치파일을 통해서 최적화하고 (오토 컬링도 포함), 캔버스 렌더링을 최적화 했다고 하네요.
5배 이상 성능이 좋아졌습니다.

 

4. 그래픽 드로잉 시스템
SVG와 같은 벡터 그래픽 데이터, 이미지를 이용해서 개발할 수 있습니다.

5. 프로퍼티 패널 개선
6. 자바스크립트 엔진을 모듈화
자바스크립트 엔진 모듈화를 통해서 게임에 필요한 모듈만 넣어서 빌드,
게임 엔진 크기를 줄일 수 있게 되었습니다.
7. AnySDK 지원

2016년 8월 8일 월요일

구글 I/O 2016 한글 자막버전이 나왔습니다.

http://googledevkr.blogspot.kr/2016/08/google-io-2016-android-korean-subtitle.html

영어로 그냥 들었었는데
자막이 있으니 한결 이해가 더 잘되서 좋네요

GitHub 자바스크립트 게임 엔진 프로젝트 모음 - Phaser

https://github.com/showcases/javascript-game-engines

가끔 심심할 때에 깃헙에 있는 Explore 를 보곤합니다.
어떤 프로젝트가 요즘 뜨고 있는가, 재미있는 프로젝트가 있나해서
두리번 두리번 보곤했는데

오늘은 자바스크립트 게임엔진 프로젝트가 있길래 한번 들여다 봤습니다.





총 15개의 프로젝트가 있는데
제일 많은 스타를 받은 프로젝트를 한번 볼까요?

https://github.com/photonstorm/phaser

이 프로젝트는 Phaser 라는 이름의 게임 엔진 프로젝트입니다.




아래에는
엔진의 특징을 설명해놓았네요



WebGL, Canvas 그래픽 표현부터 시작해서
소리, 인풋, 애니메이션 등에 대한 특징에 대해 설명하고 있습니다.

그 아래에는 튜토리얼, 소식 등에 대한 내용이 있습니다.



각 포스트에는 내용에 따라 라벨이 붙어있네요.
튜토리얼, 게임, 컨퍼런스 등으로 나눠져 있습니다.

그리고 마지막에는
퀵스타트 가이드가 있습니다.



Phaser를 깃헙에서 받을 수 있기도 합니다만.
링크로 가면 해당 사이트에 있는 다운로드 페이지로 가서
stable 버전을 다운 받을 수 있게 되어있네요.




저는 js 버튼을 눌러서 다운받아 보았습니다.
(3.3MB 정도의 크기의 phaser.js 파일이 다운받아졌습니다.)

튜토리얼을 한번 해보려고 했으나
http://phaser.io/tutorials/getting-started/index
영어 + 조금 불친절한 내용으로 힘들 것 같네요.

튜토리얼 말고 예시에 대해서 한번 보고 마치겠습니다.
http://phaser.io/examples
깃헙 Examples 링크: https://github.com/photonstorm/phaser-examples



많은 예제가 있는데 하나만 들어가보겠습니다.

ACADE PHYSICS로 가서 Accelerate to pointer 라는 예제를 보겠습니다.



이 예제는 저 초록 화살표가 마우스를 따라옵니다.

이 밑에는 코드 예시가 있는데요



다운받아서 플러그인 처럼 사용해도될 것 같습니다.

Phaser로 한번 간단한 게임 만들어도 재미있을 것 같네요.
이상 자바스크립트 게임 엔진 프로젝트인
Phaser 포스팅을 마치겠습니다.

즐거운 코딩하시길 바랍니다 :)

2016년 8월 4일 목요일

Cocos2d-x v3.12 released!

Cocos2d-x 3.12 버전이 릴리즈 되었네요.
다음 링크는 깃헙에 있는 변경사항 링크입니다.
https://github.com/cocos2d/cocos2d-x/blob/v3/CHANGELOG

업데이트 사항은 다음과 같습니다.

[HIGHLIGHT]     add VR support
[HIGHLIGHT]     add Tizen support
[HIGHLIGHT]     fix Android performance issue
[HIGHLIGHT]     Web engine performance improved in WebGL mode
[HIGHLIGHT]     support obb extension on Android

[NEW]           Core: add `utils::findChild()`
[NEW]           Core: add CSV format support to tile maps
[NEW]           Core: add `FileUtils::getContents()`
[NEW]           Core: cocos2d::Value supports unsigned
[NEW]           Particle: add feature to pause/resume particle emitter
[NEW]           Platform: support Windows 10 UWP x64
[NEW]           UI: add clamp and shrunk feature for system fonts, currently only support iOS, Android and Mac
[NEW]           UI: make ListView select item programmatically
[NEW]           UI: add `EditBox::InputFlag::LOWERCASE_ALL_CHARACTERS` to lowercase characters
[NEW]           UI: add `setBounce()` to WebView
[NEW]           Web: refactor TMXLayer renderers
[NEW]           Web: can force orientation in mobile browser
[NEW]           Web: support high resolution TTF Label on retina display

[REFINE]        Android: use clang instead of gcc to compile codes
[REFINE]        Android: hide virtual button by default
[REFINE]        Android: set music volume control as default
[REFINE]        Android: usage clang insteand of gcc to compile codes
[REFINE]        Audio: catch `IllegalStateException` exception to avoid crash when playing background music with SimpleAudioEngine on Android
[REFINE]        Core: fix many warnings
[REFINE]        Core: move StringUtils functions from deprecated header file to ccUTF8.h
[REFINE]        Core: FontFNT will ignore chars that exceeds 65535 and print a warning information
[REFINE]        Core: `Node::ignoreAnchorPointForPosition()` is deprecated and add `Node::setIgnoreAnchorPointForPosition()`
[REFINE]        Core: allow inherit from platform FileUitils
[REFINE]        Core: add optional alpha parameter to Color4B and Color4F
[REFINE]        Core: Follow action can accept horizontal and vertical offset
[REFINE]        Core: TMXXMLParse parse `id` element
[REFINE]        Lua: rename all member functions named `end()` to `endLua()`
[REFINE]        JSB: make selectedSprite opitional in MenuItemSprite
[REFINE]        JSB: return null if read failed in `js_cocos2dx_CCFileUtils_getDataFromFile()`
[REFINE]        Template: iOS tempalte is refined to make cocos2d-x game scene work better with other UIView
[REFINE]        Template: remove `build_native.sh`
[REFINE]        Template: ARC support on iOS and Mac OS
[REFINE]        UI: TTF and BMFont label wrap mode will automanytically changed to char wrap mode when label's width is less than word's boundary
[REFINE]        UI: UIWidget adds missing properties for clone
[REFINE]        UI: UIScrollBar caches the texture created with base64 encoded images
[REFINE]        UI: EditBox now prints lowercase letters by default
[REFINE]        UI: enable WebView's local storage on Android
[REFINE]        UI: improve EditBox implementation on WinRT
[REFINE]        UI: make PageView indicator more tunable
[REFINE]        UI: make PageView page turning event time tweak configurable
[REFINE]        UI: RichText is improved: add effect of outline, shadow and glow; catch the event of open url; ability to extend tags; add anchor of image tag
[REFINE]        3D: skeleton animation is more efficient when two animations switch frequently
[REFINE]        3rd party: update webp to 0.5.0
[REFINE]        Web: improve basic types to reduce memory usage
[REFINE]        Web: Show line number in console statements
[REFINE]        Web: Cache base64 image of PageViewIndicator and ScrollViewBar
[REFINE]        Web: Pass error in cc.AsyncPool in onEnd callback
[REFINE]        Web: Separate ccui.ListView event callback from ccui.ScrollView for its own events

[FIX]           Android: fix compiling error if using NDK r11+
[FIX]           Android: package name is `libcocos2dx` instead of application name if building with Android Studio
[FIX]           Audio: AudioEngine can not work if the file path contains not ascii code on iOS
[FIX]           Audio: SimpleAudioEngine::playEffect() doesn't work correctly on Linux
[FIX]           AssetsManager: can not work
[FIX]           AssetsManagerEx: use manifestUrl from remote version
[FIX]           Core: `FileUtils::writeValueMap()` will crash on iOS if it contains `Value::Type::None` type element
[FIX]           Core: `ClippgNode::setStencil()` may cause assert error if it is invoked before
[FIX]           Core: `TextureCache::addImageAsync()` doesn't set pixel format corretly
[FIX]           Core: `GL::SetBlending()` doesn't set dst correctly
[FIX]           Core: vertex z can not work correctly if window size changed on desktop platforms
[FIX]           Core: use `std::isnan()` instead of `isnan()` to fix compiling errors on some Linux platforms
[FIX]           Core: crash on windows when using PolygonInfo
[FIX]           Core: fix `libpng error: CgBI: unhandled critical chunk` error with Xcode 7.3
[FIX]           Core: EXC_BAD_ACCESS random crash caused by reallocation of shared indices memory
[FIX]           Core: memory leak of `utils::captureScreen()` on iOS and Mac OS
[FIX]           Core: assert error if remove an event listener twice at the same time
[FIX]           Core: FileUtils::getValueMapFromFile() returns wrong value if it is a number with scientific notation on Android
[FIX]           Core: UIGrayScale shader is not reloaded when reloading shaders
[FIX]           Core: `SpriteFrame::clone()` doesn't clone polygonInfo
[FIX]           Core: `FileUtils::createDirectory()` fails on Mac OS with sandbox
[FIX]           Core: `cocos2d::Value` operator overloading of comparison `==` returns wrong value in case Type::VECTOR 
[FIX]           Core: wrong content size if minisize
[FIX]           Core: can not have a class named `Game` on Windows
[FIX]           Core: crash if load bad image on Windows
[FIX]           Core: custom shader uniforms and attributes do not have effect in DrawNode
[FIX]           Core: blend mode doesn't work with animated sprite
[FIX]           Core: `FileUtils::removeDirectory()` can not work correctly when the path is not end of `/` on iOS and Mac
[FIX]           JSB: fix some bugs related with JSB debegger
[FIX]           JSB: scheduler callback target lost
[FIX]           JSB: missing scroll widgets constants
[FIX]           JSB: if obj is undefined or null then attempt to access obj.__nativeObj leads to incorrect behavior
[FIX]           JSB: use `require()` to require the same script twice may crash
[FIX]           Lua: lua function is not invoked when error happens in websocket
[FIX]           Network: HttpClient Content-type limitation on iOS
[FIX]           Network: downloader crash when storage path contains spaces
[FIX]           Network: SocketIO crash on reconnect
[FIX]           Physics: PhysicsBody damping doesn't wrok
[FIX]           UI: EditBox may cause `java.lang.IndexOutOfBoundsException` exception on Android
[FIX]           UI: TextFieldTTF doesn't show password correctly
[FIX]           UI: RichText crash on Windows
[FIX]           UI: EditBox can not use custom font on Android
[FIX]           UI: can not use TTF font on Android
[FIX]           RenderTexture: `setOpacity()` has not effect
[FIX]           3D: `Sprite3D::createNode()` may not work correctly with particular model data
[FIX]           Web: `getParentToNodeTransform` doesn't return result
[FIX]           Web: remote image without extension in url can't be loaded as image
[FIX]           Web: nested clipping nodes rendering issue in WebGL render mode
[FIX]           Web: IMEDispatcher can't work in mobile Chrome


영어로 되어있긴하지만 주요 업데이트 내용은 다음과 같습니다.
1. VR 지원
2. 타이젠 지원
3. 안드로이드 성능 이슈 해결
4. 웹 엔진 성능 WebGL mode로 향상
5. obb extension 안드로이드 지원

그 외 새로 추가된 메서드, 이슈 해결 관련 목록이네요
천천히 읽어보고 추가할 내용있으면 추가해서 다시 작성해보겠습니다.

즐거운 개발 되시길 바랍니다.

JIRA Plugin - ScriptRunner 소개 #2

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