TLDR;
我可以通过全屏API检测浏览器是否已全屏显示,但我无法通过f11或浏览器菜单(特别是chrome)检测到浏览器已全屏显示.
原版的:
目前我正在使用screenfull进入全屏并检测到浏览器是全屏的.问题是,我不想显示我的全屏切换按钮时,浏览器(通过浏览器菜单即F11或全屏)通过浏览器功能去全屏.这是因为JavaScript的全屏API似乎并不能够检测到您在全屏或让你离开全屏当你通过浏览器功能去那里.我可以检测f11是否被击中,但这不适用于Mac或通过浏览器菜单启动全屏时.
有关如何检测是否通过浏览器功能启动全屏的任何想法?我只针对兼容webgl的浏览器,因此可以减少很多陷阱.
我的任务是立即更新我们的构建过程以提高效率,我花了一周的时间阅读最佳实践和策略,但我仍然没有找到解决当前问题的方法.
背景
目前我们有一个单片构建/应用程序,真正需要拆分为至少4个带有一些共享库的应用程序.我们目前不分支,除非我们绝对必须.我们有一个teamcity构建,建立在每个TFS登记的基础上.当我们准备好发布时,我们会冻结代码并且只针对QA中发现的错误进行检入.显然这是一种可怕的做法,我们终于得到了改变它的批准.
提出的解决方案
建议的解决方案是拆分应用程序,并为每个应用程序提供不同的发布周期,从每个版本的ant迁移到maven和branch.
分支 - 现在我们在源代码控制中只有一个主干.我想我们希望在准备发布时分支主干,并更新分支以查找QA中发现的错误.当构建准备好被释放时,将分支更改合并回主干.
以下是我计划设置TFS的方法.
+Apps
+App1
+Components
+Core
+Web
+Branches
+App2
+Components
+Core
+Web
+Branches
+Libraries
+Lib1
+Lib2
+Branches
Run Code Online (Sandbox Code Playgroud)
考虑管理POM中的所有POM和版本似乎现在太困难了.我已经阅读了maven发布插件,但我不确定它是否可以按照我想要的方式进行分支.
下一个问题是让团队工作.我想为每个应用程序提供3个teamcity项目.一个始终指向中继的开发项目,一个用于测试QA构建的QA项目和一个用于构建修补程序更改的生产项目.每次新版本发布到QA时,我都必须更新QA teamcity项目以指向新版本分支并更新teamcity中的版本内部版本号.当该版本通过QA时,我必须更新生产团队项目,以指出刚刚通过QA的分支并将构建号更新为刚刚通过QA的构建号.
当然,有一个更好的策略.
问题
我应该把这些分支文件夹放在哪里?
QA构建是否仍然是快照,直到构建进入预生产?
如何配置teamcity来获取这些分支而不更改每个版本的源路径?
是否应该为开发人员使用的每个应用程序创建父POM,以确保所有依赖项都已编译并保持最新?
我们目前正在考虑从日志记录迁移到文件,再到记录到NoSQL数据库.我们公司的另一个团队开始使用HBase,但对于我们想做的事情来说,这看起来非常复杂.我一直在看MongoDB,但我想要一些建议.
目前,我们在农场中有数百台服务器用于不同的应用.每当我们从其中一个应用程序中听到问题时,就会有一个很长的过程从app ops中检索日志,然后是一个漫长的过程来筛选它们以找到问题.我们正在考虑将所有日志记录移动到一个中心位置并围绕它构建Web UI,以便我们可以更轻松地访问和查询日志.
哪个NoSQL数据库非常适合存储和查询应用程序日志?
我想现在创建一个iPhone应用程序,并计划稍后制作一个iPad应用程序.我不想两次向人们收费以获得两个版本.我现在是否创建一个通用应用程序并删除iPad故事板或者我现在是否创建一个iPhone应用程序并稍后添加一个iPad故事板(如果可能的话)?