2016년 11월 18일 금요일

Google AI Experiments


https://aiexperiments.withgoogle.com/

이 사이트를 알게 된건 Quick, Draw라는 페이지였는데
https://quickdraw.withgoogle.com/
단어에 맞는 그림을 그리면 그림을 인식하는지 못하는지를 알려줍니다.



이런식으로 말이죠.



이 외에도 많은 실험사이트가 있는데 재미있는 것들이 많은 것 같습니다. :)
한번 살펴보세요!

2016년 11월 16일 수요일

구글 번역(Google Translate) 머신러닝을 통해 향상!

https://blog.google/products/translate/found-translation-more-accurate-fluent-sentences-google-translate/



구글 블로그에 올라왔네요 글의 일부분을 해석해봤습니다.
(조금 이상한 번역이 나오긴했지만)

10 년, 구글은 103에 몇 가지 언어를 지원 사라 졌 번역 연결 , 낯선 사람을 통해 도달 언어 장벽에도 사람들이 찾을 수 있도록 도와 사랑을 . 시작에서, 우리는 대규모 통계 기계 번역 개척  사용하여  텍스트를 번역하는 통계 모델 . 신경 기계 번역 : 오늘, 우리는 구글이 더 나은 번역 만들기의 다음 단계를 소개하고 있습니다.  
신경 기계 번역 몇 년 동안과에서 흥미로운 연구 결과를 생성 한 9월 , 우리 연구진은이 기술의 구글의 버전을 발표했다. 하이 레벨에서, 신경계 오히려 부재로 단 부분보다 한번에 전체 문장을 번역한다. 그것은 그 다음 재 배열보다 적절한 문법과 인간 말하기처럼되고 조정 관련성이 가장 높은 번역을 알아내는 데 도움이 넓은 맥락를 사용합니다. 그것은 각 문장을 이해하기 쉽게 때문에, 번역 단락과 기사가 많이 부드럽고 쉽게 읽을 수 있습니다. 이 때문에 기본적으로 시스템이 더 나은, 더 자연스러운 번역을 만들 시간이 지남에 따라 학습을 의미 신경 기계 번역에 내장 된 엔드 - 투 - 엔드 학습 시스템의 모든 수 있습니다. 오늘 우리와 한국어, 터키어 영어, 프랑스어, 독일어, 스페인어, 포르투갈어, 중국어, 일본어에서 8 개 언어의 총 행동으로 신경 기계 번역을 가하고 있습니다. 이 쿼리를 구글의 모든 번역의 35 % 이상을 덮고있는 세계 인구의 약 3 분의 1,의 기본 언어를 나타냅니다!

음 아직 긴 문장은 좀 안되는 것 같네요.
머신러닝을 통해서 향상되었지만, translate 커뮤니티를 통해서 계속 향상시켜나갈거라고 하네요.
자주 사용하는데 번역 커뮤니티도 열심히 해봐야겠습니다.

2016년 11월 14일 월요일

Cordova CSP(Content-Security-Policy) 문제

Cordova를 사용하는 중에 전에는 잘 동작하던 이미지 로딩이 안되어
로그를 확인해봤습니다.

Refused to load the script because it violates the following Content Security Policy directive.

cdvfile://localhost/persistance/cache/image.png 이런 경로의 이미지를 못읽는 문제였습니다.
로그에서는 img-src 쪽 CSP 문제였는데,
혹시나 안드로이드 6 마시멜로 문제인거 같아서 찾아봤는데 아니었습니다.
그래서 CSP 규칙쪽 문제인 것 같아서 수정했더니 해결되었네요.

From.
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'" />

To.
<meta http-equiv="Content-Security-Policy" content="default-src * 'self' cdvfile://*; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'" />

추가한 코드는 default-src에  'self' cdvfile://* 입니다.
hope this helps!

2016년 11월 9일 수요일

안드로이드 보이스 액션(Ok Google, Google Now)


요즘 '오케이 구글'로 검색하고 알림 설정하는데에 재미가 들려서
이렇게 명령을 실행하는 기능의 이름이 뭘까하고 찾아봤습니다.

'보이스 액션' 또는 '구글 나우 액션' 이라고 하네요.
구글 개발자 페이지를 보면 알 수 있었습니다.
https://developers.google.com/voice-actions/system/

그리고 보이스 액션을 사용한다면 어떻게 구현해야하는지도 나와있네요.
https://developers.google.com/voice-actions/system/#step_1_define_an_intent_filter

알람이나 전화걸기, 사진을 가져오는 등에 대한 액션은 이미 정의되어 있어서
어렵지 않게 구현할 수 있을 것 같은데요.

우리가 만든 앱의 특정기능을 실행하는 액션은 어려울 것 같아보입니다.
(한번 해봐야 알겠지만요.)

https://developers.google.com/voice-actions/system/#step_3_update_your_app_completion_status
위의 링크에는 앱 인덱싱을 포함한 빌더를 통해 알람을 세팅할 수 있는
예시코드가 포함되어 있습니다.

시간이 된다면 예시코드와 함께 포스팅을 해봐야겠습니다.

2016년 11월 7일 월요일

미국 오픈소스 전문 사이트 - code.gov



https://code.gov/#/

지금 베타버전이긴하지만, 10개 기관과 관련된 기술이 있는데
선거정보를 볼 수 있는 vote.gov 웹페이지 기술,
백악관 디자인 가이드라인을 소개하는 '웹디자인 스탠다드',
백악관에 의견을 바로 보낼 수 있는 페이스북 챗봇, 공공데이터 웹사이트 기술을 포함하는
기술들이 공개되어 있습니다.

우리나라도 비슷한 정보공개서비스(정부 3.0)가 있고
오픈소스에 관련한 커뮤니티들이 많지만 저렇게 국가 사이트로 없는 것이
조금 아쉽네요.

관련기사 : http://www.bloter.net/archives/267157

2016년 11월 6일 일요일

[Cocos2d-x 소식]Cocos Creator 1.3.1 released!

http://discuss.cocos2d-x.org/t/cocos-creator-1-3-1-released/33178

저번에 썼던 포스팅에서 코코스 크리에이터 1.3.1버전이 업데이트 될 거라고
올렸었는데 금방 릴리즈 되었네요.
(그전 글: https://pineoc.blogspot.kr/2016/11/cocos2d-x-cocos-creator-v13.html )

주 업데이트 내용은 아래와 같습니다.
  • Rich text support
  • Dragon Bones skeleton animation support
  • Prefab automatic synchronization
  • Automatically packaging textures to Atlas
  • Added UI controls: PageView, Toggle, ToggleGroup, Slider
  • New AudioEngine

- RichText 지원
- '드래곤 본'이라는 스켈레톤 애니메이션 에디팅 툴 지원
- 프리팹 자동 동기화 지원
- 몇몇 UI 컨트롤 추가, 페이지뷰, 토글, 토글 그룹, 슬라이더에 대한 컨트롤
- 새로운 AudioEngine(cc.AudioEngine을 리팩토링함)

아래는 변경사항에 대한 전체로그입니다.
v1.3.0 and v1.3.1 Full Changelog:
Editor
  • [Doc] Creator manual document has been open-sourced, the English version of the document is still lack of content updates compare to the Chinese version. Please join us for corrections, completion and translation at https://github.com/cocos-creator/creator-docs5
  • [Installer] Windows installation package has added Visual Studio 2015 installation options
  • [Build] Add Android API Level selection menu to build panel, all available API Levels will be listed according to SDK directory the user specified. The resulting project will have all related API Level settings updated automatically.
  • [Build] Add command and option to build projects using the CLI.
  • [Build] Add Android Studio support for the binary template
  • [Build] Fixes the problem that the screens orientation setting in the build panel do not take effect when the game is launched the first time on Web platform
  • [Build] The keystore password for the android platform is now displayed in a masked password format
  • [Build] Fixed in the Mac system when the project has large amount of assets, there may be too many open files error reported problem
  • [Build] Fixed build error when plugin scripts are in the resources directory.
  • [Build] Fixed generated application name not correct when building Android Studio project issue.
  • [Build] When the engine path has space, the building process will give proper error message now.
  • [Build] Build to iOS platform projects now adds Xcode 8 support
  • [Assets] Add the function of automatic Atlas packaging, you need to create a AutoAtlas asset in the folder that stores seperated SpriteFrame assets. During building process the contents in the folder will be packed into an Atlas.
  • [Assets] Added a thumbnail icon display for the SpriteFrame resource in Atlas
  • [Assets] Optimized SpriteFrame asset in Atlas thumbnail icon generation logic, to solve process stuck problem when there are too many SpriteFrame assets indexed at the same time.
  • [Assets] Fixed the problem of repeatedly triggering compile operations when importing a large amount of scripts
  • [Assets] Add uuid search function to Assets panel, enter u: xxxxx to search assets with uuid
  • [Assets] In Assets panel, add a right-click menu Find Usages to filter the tree with only assets (scene, prefab and clip) that referenced the item clicked on.
  • [Assets] Provide more explicit description for importing custom asset errors
  • [Properties] Fixed a problem where the tooltip does not display on the array and object properties
  • [Properties] Fixed an error that cause reset node operation not taking effect.
  • [Properties] Fixed an issue where the error message and reset button were not displayed correctly when the attribute type and the bound data were not matched.
  • [Console] clear button will not clear compiler error now.
  • [Editor] Fixed a problem with Creator crashing on some Windows 10 system
  • [Editor] Fixed an issue that compile error messages may stay in console panel even when compile error is gone
  • [Editor] Fixed an issue where the undo command does not trigger a scene change when restoring a null-valued property
  • [Editor] Fixes the initial scene settings in the Project Settings panel does not take effect when running simulator
  • [Editor] Fixed undo / redo operation on windows may randomly failed issue.
  • [Editor] If plugin script contains ES6 syntax, add an error when building.
  • [Editor] Added the command line argument --mount to specify the external resource path. (You can use multiple --mount parameters to mount multiple paths, parameter values can be absolute path or relative to the relative path of the project). You can also use parameter --writable to specify whether allow saving the external resource changes.
  • [Editor] Use a new graphic processing library, to solve the problem process crash when importing oversized texture (8192x8192), and enhanced the image processing speed
  • [Editor] Fixed a bug that caused the build to fail when all the pictures in the project went into the AutoAtlas
  • [Editor] Fixed an issue where changes made to Sliced Sprite can not be previewed immediately in editor.
  • [Editor] Fixed a problem when closing a window by Cmd / Ctrl + Q would cause an error
  • [Editor] Adds the option to choose whether a plugin script should be packed into the build on the native or Web platform.
  • [Scene] Fixed an issue when saving a scene would cause the node's fold state to be reset in the Node Tree panel.
  • [Scene] Fixed a problem that after continuing to preview the particles for a while and then panning the scene view will cause the editor to work very slow.
  • [Prefab] Fixes various auto-sync Prefab display problems
  • [Prefab] Fixes nested auto-sync prefab will cause the scene unable to open issue.
  • [Dashboard] fixes when cancel the operation of `open other projects' will pop up error message issue.
  • [Node Tree] Fixes the problem of newly created node doesn't display highlight selection correctly.
  • [Node Library] Add newly added UI elements since v1.2

Engine

  • [Engine] cc.loader.release will now correctly remove the cache and its asset dependencies (such as texture, audio), while supporting the release of an assets array. Also add removeItem to remove only the cache and getDependsRecursively to get its own list of dependent assets (including itself).
  • [Engine] Fix the problem that on native platform 'setSiblingIndex' API may not work
  • [Engine] Fixed a bug in the mobile web platform that a forced landscape screen orientation might fail when first entering or switching scenes
  • [Engine] Fixed isScheduled in the Web platform always return false issue
  • [Engine] Fixed cc.loader.onProgress not callback correctly when sub-queue updates
  • [Engine] Fixed an issue where the acceleration parameters obtained by the Android platform might be the opposite of the actual one
  • [Engine] Fixed EventDispatcher binding error on native platform that can lead to random crash
  • [Engine] Limit the maximum number of concurrent downloader threads on all platforms, avoiding errors when loading too many resources at the same time
  • [Engine] Fixed a bug where the grayscale shader was not working
  • [Engine] Removed the warning of No need to release non-cached asset when loading the json asset with loadRes
  • [Engine] Fixed an issue where it was possible to send multiple requests to the web platform after merging the asset json
  • [Engine] systemEvent will now inherit EventTarget, and support to use cc.systemEvent.on / once / off to register or unregister system events. The needs to use the eventListener to monitor the keyboard and accelerometer events can now use on/off to register and unregister.
  • [Engine] Refactored cc.Loader to support independent load queues and better progress information. Solved issue to repeated load an asset when there are circular dependencies. Solved issue that may cause callback to fire synchronously.
  • [Engine] Loader provides a separate load task for each context, to solve the run-time JSON object can not be automatically released problem.
  • [Engine] Fixed an issue where the game was unable to respond to a click event while running the game on the Wechat desktop client
  • [Engine] Add touch-point timeout settings to solve the issue that in WeChat x5 core when slide your finger out of the screen multiple times will not trigger the touchcancel event, and cause the following touch interation failed. If you need to keep a stationary touch point for a long time, please manually modify the timeout setting TOUCH_TIMEOUT.
  • [JSB] refactor the JS-binding API to improve stability, binding API are now consistent with cocos2d-x 3.13.
  • [Audio] Upgrade sound engine to New AudioEngine, solve some of the sound compatibility issues in the previous versions
  • [Audio] Use cc.Loader to manage Audio memory, allowing the loader to completely release the Audio resource
  • [Audio] Fixed an issue where the AudioSource component will continue to play after switching scenes
  • [Action] fixes cc.flipX in the native platform will cause a crash

Components and modules

  • [DB] Adds the dragonBones component to support skeleton animation in DragonBones format
  • [Component] Add Slider component
  • [Component] Add the Toggle and ToggleGroup control components
  • [RichText] Added support for RichText components, using bbcode format tags, currently supports color, font size, bold, italic, image and click events
  • [PageView] Add PageView component
  • [TiledMap] Added support for ObjectGroup display
  • [TiledMap] Fixes the problem of undoing the deletion of a Tiledmap node will cause scene render incorrectly.
  • [TiledMap] Fixes a problem that using the tsx file in your tmx file may encounter render error issue.
  • [TiledMap] Fixes an error when you try to initialize the same TiledMap component with a different map resource
  • [TiledMap] Fixes the problem of seams between moving tiles in native engines
  • [TiledMap] Fixed a bug where the TiledLayer's setTileGID interface might have generated an error when passing insufficient parameters
  • [TiledMap] Fixes tile nodes acquired by cc.TiledLayer.getTileAt (), calling setVisible (false) in the canvas rendering mode reports error issue.
  • [Spine] Added 'premultipliedAlpha` to the Skeleton component to process the premultiplied image, which needs to be turned off when the transparent area of the image appears opaque. This option needs to be enabled when the translucent area of the image is darken.
  • [Spine] Upgrade spine runtime library, support 3.x version of the spine, fix the image premultiply mode display problem, support triangle rendering commands
  • [Button] Add Scale Transition, add button to resize button size to target node size
  • [Button] When the button interactable is set to false, if you do not set the corresponding disable state, will automatically use grayed out normal state sprite for disabled state.
  • [ScrollView] Change the mouse wheel operation of the desktop platform to more in line with the Windows operating system scrolling direction.
  • [Graphics] Fixed the problem of resetting the size of its own node when the user added the GGraphics component
  • [Graphics] Fixed a get / set warning for undefined properties
  • [Graphics] Fixes the need to call clear in the canvas twice to clear the contents of the painting
  • [Animation] Fixed an issue where the call to play was invalid in an animation event callback
  • [Animation] Fixes issue that playing animation from a specified frame, the animation events in previous frames will also be triggered.
  • [Collider] Fixed an issue where the node group property modified in onCollisionEnter could not be updated correctly
  • [Collider] Fixed an issue when new Circle Collider component was added to a node will cause error
  • [Widget] Fix CCWidgetManager will report error for _widget if the Scrollview size changes
  • [Widget] Fixed a bug in the Properties panel that the top andbottomcheckboxes disappears
  • [EditBox] Fixes an issue that EditBox does not work properly on macOS 10.12 Sierra
  • [EditBox] Fixes a bug that instantiating this component in a prefab and then setting placeholder will cause error
  • [EditBox] Add setFocus, stayOnTop property, when stayOnTop is true, you can set tabIndex to control the Tab key focus behavior. When you use the EditBox in Wechat's iframe, you need to set the stayOnTop property to true
  • [EditBox] modifies the behavior of the maxLength attribute. When set to 0, it disables user input. When set to -1, it does not limit the maximum length of the input character
  • [Label] Fixes issue that when string is set empty with Resize Height overflow mode will cause line wrap not work anymore.
  • [Label] Fixes adding Label component when the node is in non-activated state will cause debounce function report error issue.
  • [Label] Fixes the problem that the LabelOutline component has a wrong color when used with a TTF font
  • [VideoPlayer] Add the META_LOADED,CLICKEDandREADY_TO_PLAY events. Now toggle visible pauses the video and disable video playing if the video control is not visible. At the same time, unified web and jsb video behaviors.
  • [Component] Add a lifecycle callback, resetInEditor, which is called only the first time a component is added (this method will not be called if the scene is reloaded). In addition, this method will be called in the component menu after the reset call.
  • [Component] Add parameters for cc.Component.EventHandler, currently only allowed to pass in a string parameter

코코스 크리에이터로 한번 게임 만들어봐야겠네요 ㅎㅎ
코코스 진영에서 열심히 지원하고있는데,
코코스 크리에이터 에디터로 한번도 게임을 만들어보지를 않았네요.
모두 즐거운 개발!

2016년 11월 3일 목요일

[Cocos2d-x 소식] Cocos Creator v1.3 곧 출시

오늘도 찾아온 Cocos2d-x 소식!
이메일이 하나왔는데 며칠 뒤면 Cocos Creator v1.3가 업데이트 된다고 합니다.

현재 버전은 1.2.2 버전인데 마이너 버전이 2에서 3으로 올라가는군요.
업데이트에 관한 소식은 금방올라올듯 싶습니다.

이번 업데이트에서는 Cocos Creator가
그 전에는 Lua, Javascript 밖에 지원하지 않았는데 C++도 지원한다고하네요.
http://discuss.cocos2d-x.org/t/c-support-for-cocos-creator/32143

"Cocos Creator started out using only JavaScript as the language to develop in. However, Ricardo Quesada has been very busy adding c++ support. You can follow his progress in this forum thread"

Recardo Quesada 라는 분이 C++을 지원하기위해 열심히 개발하고 있답니다. (화이팅!)

Cocos2d-x 진영이 Cocos Creator를 밀어주려고 많이 개발하고 있는 것 같습니다.
유니티로 게임 개발이 쉽게 되는 것처럼 코코스 크리에이터로 게임 개발을 쉽게 하는 것을
목표로 하는 느낌입니다.

다음에는 업데이트가 되면 어떤게 업데이트가 되었는지 써야겠습니다.
해피코딩!

2016년 10월 27일 목요일

cocos2d-x "_iconv", referenced from: error

cocos2d-x "_iconv", referenced from:

이 에러는 제가 iOS 포팅 중에 Frameworks 폴더에 있는 링크가 깨져있는 파일들을 지우고
빌드해봤는데 에러가 나서 뭐가 문제일까 하고 찾아봤습니다.

http://discuss.cocos2d-x.org/t/-iconv-linker-error-help-resolved/27941

답은
Build Settings -> Other Linker Flags에
-liconv 를 추가해주시면 됩니다.

2016년 10월 26일 수요일

STOP!! Will reset deviceID from memory. 에러 해결

<FIRInstanceID/WARNING> STOP!! Will reset deviceID from memory.
환경
Xcode 8.0, iOS 10

이 에러는 iOS에서 Firebase를 사용했을때 로그에 나온다.
이번에 업데이트되면서 KeyChain에 대한 문제였는데

http://stackoverflow.com/questions/32986532/google-admob-is-not-working-with-cocoapods

스택오버플로우에 해답이 있다. 언제나 그랬듯이.

2016년 10월 13일 목요일

JekyII를 이용해서 GitHub Page를 블로그로 만들기



https://help.github.com/articles/using-jekyll-as-a-static-site-generator-with-github-pages/

이 홈페이지를 보고 만들었습니다.
차근차근 따라가다 보면 만들 수 있습니다.

<만들기>

* 준비물
- ruby 2.0.0+
- git

* 설치
(이미 깃헙 페이지가 생성되어있는다는 가정하에 진행하겠습니다.
깃헙 페이지 만들기 : https://pineoc.blogspot.kr/2016/03/make-githubio-page.html )

1. bundler 설치
$gem install bundler

2. Gemfile 만들기
이 파일은 jekyll을 설치하기 위한 makefile 같은 녀석인데
아래의 내용을 넣어주시면 됩니다.
source 'https://rubygems.org'
gem 'github-pages', group: :jekyll_plugins

3. bundle install 실행
$bundle install
이 명령어를 치면 설치가 진행됩니다.
여기까지가 jekyll 설치가 기본적으로는 완료되었습니다.
추가적으로 설치를 몇 개 더 하셔야합니다.

#jekyll site 파일 세팅하기 : step-3-optional-generate-jekyll-site-files
#jekyll theme 추가하기 : adding-a-jekyll-theme-to-your-site

#주의할 점은
Gemfile의 텍스트는
1. GitHub page에 올릴경우
source "https://rubygems.org"
ruby RUBY_VERSION

# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
#     bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
#gem "jekyll", "3.2.1"

# This is the default theme for new Jekyll sites. You may change this to anything you like.
gem "minima"

# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
gem "github-pages", group: :jekyll_plugins

# If you have any plugins, put them here!
# group :jekyll_plugins do
#   gem "jekyll-github-metadata", "~> 1.0"
# end
2. Local에서 확인할 경우
source "https://rubygems.org"
ruby RUBY_VERSION

# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
#     bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
gem "jekyll", "3.2.1"

# This is the default theme for new Jekyll sites. You may change this to anything you like.
gem "minima"

# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
# gem "github-pages", group: :jekyll_plugins

# If you have any plugins, put them here!
# group :jekyll_plugins do
#   gem "jekyll-github-metadata", "~> 1.0"
# end

이렇게 세팅하고
$bundle install
$bundle exec jekyll serve

결과화면은 아래와 같습니다.




제 결과 페이지 입니다.
https://pineoc.github.io/

글을 올리는 방법은 다음 포스트에서 진행해봐야겠습니다.
I hope this will help you!

JIRA Plugin - ScriptRunner 소개 #2

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