TODO - le-cong/hello GitHub Wiki

--------------

[Q]
游戏集-->???用户体验???
文集可插入多个素材吗?可拖拽移动素材吗?还是素材一定在文字之上
可直接上传截屏图?

[Idea]
动态壁纸
!!! JS游戏 !!!
!!! Flash游戏 !!!

[Research]
iOS market
iOS 3rd party ad/package installation possible?

==============================
TODO: Ops

国内主机 (VM / CDN / storage / VIP) | http://www.v2ex.com/t/51886, 
阿里云,百度云,腾讯云, 盛大, 京东云

stress test
	curl -X POST --data "appName=abc&appId=iyJvvrZ5Tsr5pdJdM&appBuildNo=8&channels=c1_c2_" http://localhost:8080/jenkins/job/Job%20Generator/buildWithParameters
	curl -X POST --data "appName=abc&appId=iyJvvrZ5Tsr5pdJdM&appBuildNo=9" http://localhost:8080/jenkins/job/Job%20Generator/buildWithParameters
	curl -X POST --data "appName=abc&appId=iyJvvrZ5Tsr5pdJdM&appBuildNo=1" http://localhost:8080/jenkins/job/Job%20Generator/buildWithParameters
	curl -X POST --data "appName=abc&appId=iyJvvrZ5Tsr5pdJdM&appBuildNo=2" http://localhost:8080/jenkins/job/Job%20Generator/buildWithParameters
	curl -X POST --data "appName=abc&appId=iyJvvrZ5Tsr5pdJdM&appBuildNo=3" http://localhost:8080/jenkins/job/Job%20Generator/buildWithParameters
	curl -X POST --data "appName=abc&appId=iyJvvrZ5Tsr5pdJdM&appBuildNo=4" http://localhost:8080/jenkins/job/Job%20Generator/buildWithParameters
	curl -X POST --data "appName=abc&appId=iyJvvrZ5Tsr5pdJdM&appBuildNo=5" http://localhost:8080/jenkins/job/Job%20Generator/buildWithParameters
	curl -X POST --data "appName=abc&appId=iyJvvrZ5Tsr5pdJdM&appBuildNo=6" http://localhost:8080/jenkins/job/Job%20Generator/buildWithParameters
	curl -X POST --data "appName=abc&appId=iyJvvrZ5Tsr5pdJdM&appBuildNo=7" http://localhost:8080/jenkins/job/Job%20Generator/buildWithParameters
	curl -X POST --data "appName=abc&appId=iyJvvrZ5Tsr5pdJdM&appBuildNo=10" http://localhost:8080/jenkins/job/Job%20Generator/buildWithParameters

mongo monitor
nodejs monitor

data analyze report

==============================
TODO: Program
制作系统URL - http://115.29.10.246:9701/au/?mp=wk.hps&wk_id=31546#tab_wk_style

build status - 等待编译,编译中,proguard,完成

%%%%%%%%%%%%%%%%%%%%%%%
album-home- search[type,keywords] | pagination grid [id/type, title/timestamp, icon, cover, ]
album-new- type | title | description | descMore
album-edit-images - batch upload image | image gallary 800*600 (size) 
album-edit-image-action - set: title | order | add to personal lib | delete | iconize | screenshot
album-edit-icon - rounded corner none/big/mid/small | size 16/64/72/100/128/256/512 | crop | choose square - crop??  | compress icon ?? | icon gallary on right
album-edit-icon-list - upload local icon | total file size | delete | set as primary icon - 128 default(on mouse over)
album-edit-screenshot - title | add cellphone background img
album-edit-apk - 
	actions - create APK | batch rebuild selected ones | download from cloud-story for market publish
	multi-select | APK info [package,version] | channel/link-to-work | status (template version, file size, timestamp) | icon | cover | notes
	filter: status [] | channals | type | id | apk version (template??) | build version ?? | checkbox - display deleted | title key words | pagination ( 20 per page, about 300 in total)
album-build-details-popup - channel (all/default/clear) ~42 (7 tests, one author personal test) | package (auto-gen) | verion | title ?? | apk inner notes ??
album-edit-apk (linked from left hand menu 作品APK) - 
	type | title | package | version | channel | timestamp |  前n图免费?? | status | template version filesize | download | icon | cover | inner notes | 制作@完成@timestamp ??
album-build-progress_status (5 concurrent)
album-build-progress_status-2
album-build-progress_status-3 partially done - download individually URL
album-style
	actions [update, cancel, clear/default, save as (can be use by other apps)]
	style lise - id | name | actions [apply, delete]
	封面cover 
		cover background color (空表示透明或者没有,缺省为#FFFFFF)
		cover background veins | 平铺 Y/N(default)
		cover title font color (default is #DDDDDD)
		cover title font size (default is 27)
		cover title alignment left/mid(default)/right
		cover description font color (default is #888888)
		cover description font size (default is 24)
		cover description alignment left/mid(default)/right
		image background color (空表示透明或者没有,缺省为#FFFFFF)
		image background veins | 平铺 Y/N(default)
		image title font color (default is #FF7F00)
		image title font size (default is 21)
		image title alignment left/mid(default)/right
	目录
		index background color (空表示透明或者没有,缺省为#FFFFFF)
		index background veins | 平铺 Y/N(default)
		index background 边距=12 on 400*800 屏幕
		index title color (default is #000000)
		index title font size (default is 24)
		index title alignment left/mid(default)/right
		index title bottom border height (default is 3)
		index title bottom border color (default is #EDBC2A)
		index icon size (default is 90px)
		index list separator font color (default is #C8C7CC)
		index list font color (default is #000000)
		index list font size (default is 23)
		index button text LEFT - 开始阅读
		index button text RIGHT - 察看目录
	章节
		chapter background color (空表示透明或者没有,缺省为#FFFFFF)
		chapter background veins | 平铺 Y/N(default)
		chapter background 边距=12 on 400*800 屏幕
		chapter title color(default is #484848)
		chapter title font size(default is 26)
		chapter title alignment left/mid(default)/right
		chapter title#2 color(default is #CCCCCC)
		chapter title#2 font size(default is 18)
		chapter title#2 alignment left/mid/right(default)
		chapter context font color (default is #484848)
		chapter context font size (default is 24)
		chapter button height (default 60) / width (default 120)
		chapter button background color (default is empty)
		chapter button border color (default is #CCCCCC)
		chapter button font color (default is #404040)
		chapter button font size (default is 22)
		chapter button text LEFT - 上一章节
		chapter button text RIGHT - 下一章节
	

anthology-edit
	actions: 添加页面
	list: icon | id | order | link-setIcon | link-edit
anthology-chapter-new dialog - title | action button	
anthology-chapter-edit details - chapter id | order | icon | content | actions [back to 目录, delete, create screenshot, icon, 编辑章节??]
anthology-content-edit - actions [done, cancel, clear style??, insert image, insert network img??, insert local image] | text
anthology-content-edit-add_material - 素材类型[个人,本作品] | actions [refresh, cancel]
anthology-content-edit-screenshot - should has back/next button
anthology-content-edit-screenshot-cover - should has 开始阅读/察看目录button | 修改封面标题
anthology-content-edit-icon_and_cover dialog - similar to album (click on image) | Actions [加至个人素材,加至本作品素材??, 设为作品cover,截取icon]
anthology-style
	actions [update, cancel, clear/default, save as (can be use by other apps)]
	style lise - id | name | actions [apply, delete]
	封面cover 
		cover background color (空表示透明或者没有,缺省为#FFFFFF)
		cover background veins | 平铺 Y/N(default)
		cover background 边距=12 on 400*800 屏幕
		cover title color (default is #000000)
		cover title font size (default is 24)
		cover title alignment left/mid(default)/right
		cover button height (default 60) / width (default 120)
		cover button background color (default is empty)
		cover button border color (default is #CCCCCC)
		cover button font color (default is #404040)
		cover button font size (default is 22)
		cover button text LEFT - 开始阅读
		cover button text RIGHT - 察看目录
	目录
		index background color (空表示透明或者没有,缺省为#FFFFFF)
		index background veins | 平铺 Y/N(default)
		index background 边距=12 on 400*800 屏幕
		index title color (default is #000000)
		index title font size (default is 24)
		index title alignment left/mid(default)/right
		index title bottom border height (default is 3)
		index title bottom border color (default is #EDBC2A)
		index icon size (default is 90px)
		index list separator font color (default is #C8C7CC)
		index list font color (default is #000000)
		index list font size (default is 23)
		index button text LEFT - 开始阅读
		index button text RIGHT - 察看目录
	章节
		chapter background color (空表示透明或者没有,缺省为#FFFFFF)
		chapter background veins | 平铺 Y/N(default)
		chapter background 边距=12 on 400*800 屏幕
		chapter title color(default is #484848)
		chapter title font size(default is 26)
		chapter title alignment left/mid(default)/right
		chapter title#2 color(default is #CCCCCC)
		chapter title#2 font size(default is 18)
		chapter title#2 alignment left/mid/right(default)
		chapter context font color (default is #484848)
		chapter context font size (default is 24)
		chapter button height (default 60) / width (default 120)
		chapter button background color (default is empty)
		chapter button border color (default is #CCCCCC)
		chapter button font color (default is #404040)
		chapter button font size (default is 22)
		chapter button text LEFT - 上一章节
		chapter button text RIGHT - 下一章节
	
flash-game-edit
	orientation: vertical / horizontal
	upload flash file
截屏图从作品素材中选	


关卡游戏 (拼图/找茬)
	game-guanqia-new-dialog
	game-pintu-edit
		actions [回到目录,delete,截图,edit properties (分割行数),设置图片]
	game-pintu-properties-dialog - 分割行数 | order | title
底纹库
	upload image
	
测试button?? | 添加网络图片

~~~+++ right-hand menu - album ===~~~: 
images (using)
deleted images (for reindexy?)
work properties
work icon
work material
personal material
底纹
截屏图
work style
wokr apk

~~~+++ right-hand menu - anthology ===~~~: 
章节目录
work properties
work icon
work material
personal material
底纹
截屏图
work style
wokr apk

~~~+++ right-hand menu - anthology ===~~~: 
游戏设置
work properties
work icon
work material
personal material
底纹
截屏图
work style
wokr apk

~~~+++ LEFT -hand menu ===~~~: 
作品
作品APK
---------
数据统计
-----------
本组作者
本组数据统计
-----------
欢迎您:star华磊
作者信息
推出登录

@@@@@@@@@@@@
signing / use unique signature
proguards setting / code obscure

!!!!!!!!!!!!
app template management 
select template when creating new app
封面
filter manifect with package id
文集-->
游戏集-->???
拼图
底纹/style
zip apks for all channals (naming convention/img/video/text)?
icon 圆角-16/64/72/100/128/256/512
截屏图
employee-->apk上传状态汇报
employee-->纪效跟踪
admin-->广告收入录入
admin-->纪效调整

user action/status report
data-loading-text
back button don't dismiss dialog but we could ask the user whether to quit app
consider saving app all the time
check/poll job status
ad push logic

iconImg.name or original?
new -> insert rightaway?
crop each asset
transform to JPG after upload

auto update app
system_id has bug in 2.2, better use other UUID instead.

use nimble to control async flow
wait all img copy/config file are done before kicking off mvn build
symbolic link instead of copy files
alert for changes before leaving the page
user id
don't loop imgIds

cleanup unused image
install SVN server

** WARNING: soft rlimits too low. rlimits set to 266 processes, 8192 files. Number of processes should be at least 4096 : 0.5 times number of files.

=============
version:

nodejs: 0.10.26
meteor: 0.8.1.3
mongo: 2.4.10

=============
SVN
https://subversion.assembla.com/svn/dytj/
lecong/L_svnb

------------
Eclipse

ADT plugin
http://m2eclipse.sonatype.org/sites/m2e
m2eclipse-android

BeyondCVS
	http://beyondcvs.sourceforge.net/update/0.8.x/
	http://stackoverflow.com/questions/6306845/using-beyond-compare-inside-eclipse-for-merging-in-subversion/7749442#7749442
	
Subversive
	http://www.polarion.com/products/svn/subversive/download.php?utm_source=eclipse.org&utm_medium=link&utm_campaign=subversive
	http://www.eclipse.org/subversive/installation-instructions.php#phase2

-----------
Maven

mvn archetype:generate   -DarchetypeArtifactId=android-quickstart   -DarchetypeGroupId=de.akquinet.android.archetypes   -DarchetypeVersion=1.0.6   -DgroupId=com.lele.dytj.android   -DartifactId=anthology-template


1. download SDK/ADK-bundle, install ALL platforms using sdk manager
2. https://github.com/mosabua/maven-android-sdk-deployer

http://books.sonatype.com/mvnref-book/reference/android-dev.html
https://code.google.com/p/maven-android-plugin/wiki/GettingStarted

	Setting up Maven, Android and SVN for team development of multiple applications
		http://steveliles.github.io/setting_up_maven_android_and_svn_for_team_development_of_multiple_applications.html
	http://java.dzone.com/print/31077
	http://spring.io/blog/2010/12/17/spring-android-and-maven-part-1/
	http://spring.io/blog/2011/02/09/spring-android-and-maven-part-2/
	http://wakaleo.com/blog/android-development-with-maven
	http://stackoverflow.com/questions/8778666/should-i-use-maven-for-an-android-app
	https://spring.io/guides/gs/maven-android/

	https://github.com/mosabua/maven-android-sdk-deployer

	http://code.google.com/p/maven-android-plugin/wiki/Samples

How to Create Multiple Android Apk Files From One Codebase Organized by a Maven Multi Module Project
	http://blog.zonacroft.com/blog/2013/04/14/how-to-create-multiple-android-apk-files-from-one-codebase-organized-by-a-maven-multi-module-project/
https://code.google.com/p/maven-android-plugin/issues/detail?id=330
helloflashlight with manifest-update and mergeManifests (failing)
	https://gist.github.com/rkistner/4256598
http://jayway.github.io/maven-android-plugin/aar-mojo.html

14.12.1. Manifest-update
The manifest-update goal can be used to do in place updates to the AndroidManifest.xml file. It can update a number of parameters like versionName, versionCode and others and supports the parameters manifest.versionName, manifest.versionCode, manifest.versionCodeAutoIncrement, manifest.versionCodeUpdateFromVersion, manifest.sharedUserId and manifest.debuggable.
14.12.2. Zipalign
The zipalign goal can execute the zipalign command as required for creation an apk for upload to the Android Market. It supports the parameters zipalign.skip, zipalign.verbose, zipalign.inputApk and zipalign.outputApk.


-------------
Gradle
	http://www.gradleware.com/resources/tech/android

------------
CI
	http://www.vogella.com/tutorials/AndroidBuildMaven/article.html
	http://www.tristanwaddington.com/2011/06/automated-android-builds-with-jenkins/
	https://docs.google.com/presentation/d/19ddXSEVfd6-bGItNfROJMlL6O2rA1XOcRiBdE3NpgV4/edit#slide=id.p

Use Jenkins CLI to create new job
	http://www.blackpepper.co.uk/generating-new-jenkins-jobs-from-templates-and-parameterised-builds/
	Or to use Job Generator plugin: https://wiki.jenkins-ci.org/display/JENKINS/Job+Generator+Plugin#JobGeneratorPlugin-
	Or https://wiki.jenkins-ci.org/display/JENKINS/Job+DSL+Plugin
	Or http://evgeny-goldin.com/wiki/Maven-jenkins-plugin
	
Maven repository API
	http://git.eclipse.org/c/aether/aether-demo.git/tree/aether-demo-snippets/src/main/java/org/eclipse/aether/examples/InstallArtifacts.java	
------------
Test
	http://robolectric.org/

CURL
[trigger build]
		curl -X POST --data "appName=abc&appId=iyJvvrZ5Tsr5pdJdM&appBuildNo=8" http://localhost:8080/jenkins/job/Job%20Generator/buildWithParameters
		
------------
Android

asset management
	http://www.wiseandroid.com/post/2010/06/14/Android-Beginners-Intro-to-Resources-and-Assets.aspx
	http://developer.android.com/guide/topics/resources/providing-resources.html
	
---------------
Image
	jCrop

---------------
国内主机
http://www.v2ex.com/t/51886
京东云、阿里云,百度云 盛大 linode https://stdyun.com/
http://www.enjoywp.com/roadmap/linode-vps-thinkings/
腾讯移动云加速

report
移动用户终端环境分析报告(2013/9) http://mta.qq.com/mta/operation/?p=106	
2013移动行业数据分析报告(2014/2)http://mta.qq.com/mta/operation/?p=193

用户粘性-〉品牌-〉推荐类似游戏
==============================
Applications.find().forEach(function(app){console.log(JSON.stringify(app));})
UploadFileCollection.find().forEach(function(file){console.log(JSON.stringify(file));})
Images.find().forEach(function(img){console.log(JSON.stringify(img));})
Advertisements.find().forEach(function(ad){console.log(JSON.stringify(ad));})

Applications.find().forEach(function(app){console.log(JSON.stringify(app));})

==============================

NProgress
Validation
	Parsley (update once ready)
		https://github.com/guillaumepotier/Parsley.js/blob/1.1.17/tests/index.html
	jqBootStrapValidation (install?) - http://reactiveraven.github.io/jqBootstrapValidation/
Bootstrap Theme/Template
	http://wrapbootstrap.com/
	http://bootswatch.com/
	first
	Metronic
	http://spyrestudios.com/30-free-bootstrap-code-samples/
Image
	Meteor-File
		https://www.eventedmind.com/tracks/feed-archive/meteor-file-uploader-part-9-build-a-ui-component
		https://github.com/EventedMind/meteor-file/
	UPLOAD FILES USING html5 file API
		https://developer.mozilla.org/en-US/docs/Using_files_from_web_applications
		https://developer.mozilla.org/en-US/docs/Web/API/FileReader#Methods
	Image blank holder
		https://github.com/imsky/holder
	jCrop
	
	Server Size image resize:
		ImageMagick - https://github.com/sylvaingi/meteor-imagemagick
		Meteor - http://www.imagemagick.org/script/binary-releases.php#macosx	
		
	ncp (cp -R) - available as meteor smart package in Atomsphere
	
XML
	http://beta.atmospherejs.com/package/xml2js
	xml2js
	xmlbuilder-js
	
Account/Role
		roles
		Roles.setUserRoles('TAgwye7uEaGahQkYn', ['admin','employee']);	// run on server side
		Roles.setUserRoles('eyXR6TYo3NWFL9XgQ', ['employee']);	// run on server side
	Accounts.createUser({username:'admin',email:'[email protected]',password:'admin123',profile:{name:'admin'}}, function(err){console.log('err:'+err)})
	Accounts.createUser({username:'editor',email:'[email protected]',password:'editor',profile:{name:'editor'}}, function(err){console.log('err:'+err)})

====================
Server side installation

sudo npm install mkdirp

+app
	+images
	+applications
	
==========================
publish/subscribe
allow
check

Deps.autorun(function () {
  Meteor.subscribe("messages", Session.get("currentRoomId"));
});

Meteor.render and Meteor.renderList

cursor.observeChanges

By default, Meteor automatically publishes every document in your collection to each connected client. To turn this behavior off, remove the autopublish package:
	$ meteor remove autopublish
	and instead call Meteor.publish to specify which parts of your collection should be published to which users.

If you specify a transform option to the Collection or any of its retrieval methods

New Meteor projects start in insecure mode by default. To turn it off just run $ meteor remove insecure.

The forEach, map, or fetch methods can only be called once on a cursor. To access the data in a cursor more than once, use rewind to reset the cursor.

Mongodb string id vs objectid, choose how and why?
https://groups.google.com/forum/#!msg/meteor-talk/f-ljBdZOwPk/oQYZQxCAKN8J

============================
Apache proxy
	http://stackoverflow.com/questions/13557541/how-to-use-force-ssl-in-meteor-js-without-deployment-to-meteor-com-subdomains/20057765#20057765

==========================
Handlebars notes

	Helpers take precendence over properties, and if there is a helper named foo active in the template, it will shadow the property foo.

	Avoid naming a helper name, length, arity, arguments, caller, call, or apply (to name a few). Only helpers have this problem; you can call the properties of your data context object whatever you want.

	The expression {{this}} evaluates to the current data context. Paths starting with this always refer to properties of the current data context and not to helpers.

	You can access properties of parent data contexts by beginning an expression with ../, as in {{../foo}} or {{../../foo.bar}}. Expressions having a .. never invoke template-bound or global helpers.

==========================
Model:Application
 qq
{
	name: 'ffff',
	description: 'blahh blah, bla'
	icon: image(256*256)
	model: { pictures : picList, articles : textList }
}

Applications.insert({name:'real', description: 'blahh blah, bla'})

===============
Linux command
	
	[get IP address]
	ifconfig | grep 192

===============
OS/Java/Tomcat/Apache
http://bikerjared.wordpress.com/2012/10/18/ubuntu-12-04-mod-proxy-install-and-configuration/
http://stackoverflow.com/questions/14788345/how-to-install-jdk-on-ubuntulinux

Apple apache folder
/etc/apache2

===============
Font

Consolas, Source Code Pro Light, Droid Sans Mono, Andale Mono 

{
	"color_scheme": "Packages/Color Scheme - Default/Monokai Bright.tmTheme",
	"font_face": "Droid Sans Mono"
	"font_size": 8
}

==================
Android
[android-in-action]
	httpclient
	handler-message
	progressdialog.show
	intent: package_added/package_removed
	P348: Viewmotionevent --> canvas.drawline->invalidate 
	
update UI from broadcastreceiver
	http://stackoverflow.com/questions/14643385/how-to-update-ui-in-a-broadcastreceiver
	
get installed package:
	http://www.androidsnippets.com/get-installed-applications-with-name-package-name-version-and-icon

set application info (ad activiated, etc.) using shared preference
http://stackoverflow.com/questions/4636141/determine-if-android-app-is-the-first-time-used

packagemanager/apk install
	ACTION_PACKAGE_FIRST_LAUNCH api level 12
	http://paulononaka.wordpress.com/2011/07/02/how-to-install-a-application-in-background-on-android/

===============
meteor package that needs to be added (other than listed in smart.json)
account-password, account-base

===============
mongo
	Get the connection URL for external access: meteor mongo -U
	mongodb://127.0.0.1:3001/meteor

	installation: http://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/

	Start instance in Apple OS X:
	mongod --dbpath /app/mongo/externaldb/
	default port number ( can be changed by --port) is 27017, 
	web status (port# +10000) : http://kevins-mac-mini:28017/  

	[Windows Mongo - after sync up with Apple]
	mongod --dbpath C:\workspace_dytj\mongo\meteor --httpinterface
	
	[Apple - mongo]
	mongod -dbpath /Users/le/workspace/m/.meteor/local/db/
	[Apple - meteor]
	export MONGO_URL=mongodb://localhost:27017/meteor
	meteor

===================
Production env:
		nodejs: echo export NODE_ENV=production >> ~/.bash_profile
		load-test: $ siege -b -c100 -t10S http://localhost:3000/
		forever
		upstart
	
===================
RESTful

https://github.com/stephanenicolas/robospice	

http://square.github.io/retrofit/
http://square.github.io/picasso/

https://github.com/PareshMayani/Android-Volley-Example

http://projects.spring.io/spring-android/
http://www.datadroidlib.com/presentation
https://github.com/path/android-priority-jobqueue

https://github.com/greenrobot/EventBus
	
===================
Dynamic class loading

	is-it-possible-to-dynamically-load-a-library-at-runtime-from-an-android-applicat ? (YES)
		http://stackoverflow.com/questions/6857807/is-it-possible-to-dynamically-load-a-library-at-runtime-from-an-android-applicat
		
	Custom Class Loading in Dalvik
		http://android-developers.blogspot.com/2011/07/custom-class-loading-in-dalvik.html

	Loading classes dynamically on Android …particularly when you have to use them in a third-party framework like LibGDX.
		https://enplug.com/engineering-blog/2014/loading-classes-dynamically-on-android-particularly-when-you-have-to-use-them-in-a-third-party-framework-like-libgdx/
	
====================
Phone info

Find out the upload/download speed through android
http://stackoverflow.com/questions/10432013/find-out-the-upload-download-speed-through-android	

--------------
report / Mongo

	Jaspersoft Tech Talks Episode 13: MongoDB Reporting and Analytic
		https://www.youtube.com/watch?v=qrxyVmZhY-Y	
		
--------------------
IoC
	bearcat 最新版本已经支持 "$命名的变量注入"

--------------------
Android APK library
http://www.sitepoint.com/getting-started-with-android-library-projects-part-1/	
⚠️ **GitHub.com Fallback** ⚠️