小编Maz*_*yar的帖子

iTunes Connect中的Unrestricted Web Access意味着什么

当您将应用程序提交到Apple应用程序商店时,会有一个名为"评级"的部分,您应该根据图表对内容进行评级,并确定内容的显示频率.

有一个名为"Unrestricted web access"的选项,在Internet和iTunes Connect开发人员指南中没有关于此的更多详细信息.你到处都可以找到:

如果您的应用允许用户浏览和查看网页(例如使用嵌入式浏览器),请选择"是".

这是什么意思?这是否意味着您的应用可以在嵌入式或Safari浏览器中打开链接?或者这是否意味着您的应用程序具有浏览器,用户可以在其中输入URL并在网络中无限制地浏览?因为对这个问题说"是"会让你的应用程序超过17岁!

在此输入图像描述 在此输入图像描述

如果这意味着从您的应用程序(Safari或嵌入式)打开链接,那么具有嵌入式浏览器功能的其他应用程序如何获得4+评级(如Twitter和Facebook)?正如在屏幕截图中可以看到的那样,没有办法选择这个并且不被评为17+

在此输入图像描述 在此输入图像描述

更新:我的应用程序已通过嵌入式WebView(TOWebViewController)批准,答案为"否"(4+).正如答案所提到的,任何让用户通过互联网浏览的方式,例如动态地址栏,这意味着它应该是"是"(17+),因为无法在WebView上进行家长控制.

更新2:自iOS 9发布以来,Apple推出了SFSafariViewController,这是一种在互联网上打开任何URL的方式.此功能还有一个地址栏,但只读.因此,如果没有家长控制,用户就无法上网.它还继承了Safari中的内容阻止(广告,显式内容等).我非常积极地使用iOS 9或更高版本的SFSafariViewController你仍然可以选择4+,因为家长控制的设备无论如何也无法打开任何URL.(如果我错了,请告诉我)

更新3:Twitter现在是17岁以上,基于以下几点:

您必须年满17岁才能下载此应用程序.

罕见/温和的亵渎或粗暴的幽默

频繁/激烈的成熟/暗示主题

罕见/轻度的性内容和裸露

更新4:可以在您的应用程序内使用Twitter内容,而无需继承其评级(17+).我的应用程序正在显示推文,但由于用户是经过验证和信任的公众人物,我可以降到12岁以上:

罕见/轻度的性内容和裸露

罕见/温和的亵渎或粗暴的幽默

罕见/温和的成熟/暗示主题

itunesconnect uiwebview appstore-approval ios sfsafariviewcontroller

68
推荐指数
2
解决办法
3万
查看次数

Xcode中的故事板非常慢

我在Storyboard中有150个UIViewController,在这些视图之间滚动是如此之慢.我无法轻松放大和缩小,制作麦粒肿需要一些时间.

我在MBPR上,我安装了Xcode 4.4

规格:2.3GHz/16G/256,我认为它足以处理这样的事情.

是否有任何选项,设置或提示/技巧可以在故事板中拥有如此多的视图,并且不会错过性能.

注意:我已经完成了所有可能的解决方案(删除缓存和工作区).没工作.它与Storyboard中的UIViewController数量有关.

谢谢

2016年更新:只是为了更新这个问题,因为Xcode 7中有一个新功能,允许您将Storyboard重构为多个Storyboard.

重构故事板 https://developer.apple.com/library/ios/recipes/xcode_help-IB_storyboard/Chapters/RefactorStoryboard.html

如果您搜索术语"重构故事板",您会发现很好的教程:)

performance xcode storyboard uiviewcontroller xcode4.4

11
推荐指数
2
解决办法
7142
查看次数

Amazon EC Redis是否是一种有效的缓存解决方案?

您可能已经注意到亚马逊已经宣布了自己的ElasticCache产品的新功能,该产品支持Redis.

我们目前正在为我们的Redis使用一个EC2实例(现在正在排队),我们决定将Redis用于其他即将推出的功能,例如评论系统,讨论,实时消息,实时用户跟踪和分析等.

我们不介意运行更多更大的EC2实例,但我们是否应该投资ElasticCache(Redis)并从一开始就进入它,因为我们还没有开始,或者现在看到结果,基准和下行还为时过早?或者在某些预期中甚至比在自己的实例上拥有自己的Redis还要有限?

更新1:

让我详细介绍一下我们将如何处理Redis.可能正在使用排队,因为我们一直在使用Resque.不确定ElasticCache是​​否允许我们执行任何Pub/Sub,但如果确实如此,我们也希望这样做.当然还有原子和高级操作.

UPDATE2:

亚马逊弹性缓存的高级产品经理在一周前发布了一个新视频,该视频发生在AWS reInvent会议期间.因为它是新的,他也谈论Redis!

http://www.youtube.com/watch?v=odMmdPBV8hM

amazon-web-services redis amazon-elasticache

10
推荐指数
1
解决办法
2048
查看次数

我们应该如何将 setDictionary 用于 Spark-NLP 中的词形还原注释器?

我有一个要求,我必须在词形还原步骤中添加一个字典。在尝试在管道中使用它并执行 pipeline.fit() 时,我收到一个 arrayIndexOutOfBounds 异常。实现这一点的正确方法是什么?有什么例子吗?

我将 token 作为词形还原的 inputcol 和 lemma 作为 outputcol 传递。以下是我的代码:

    // DocumentAssembler annotator
    val document = new DocumentAssembler()
        .setInputCol("text")
        .setOutputCol("document")
    // SentenceDetector annotator
    val sentenceDetector = new SentenceDetector()
        .setInputCols("document")
        .setOutputCol("sentence")
    // tokenizer annotaor
    val token = new Tokenizer()
        .setInputCols("sentence")
        .setOutputCol("token")
    import com.johnsnowlabs.nlp.util.io.ExternalResource
     // lemmatizer annotator
    val lemmatizer = new Lemmatizer()
        .setInputCols(Array("token"))
        .setOutputCol("lemma")
     .setDictionary(ExternalResource("C:/data/notebook/lemmas001.txt","LINE_BY_LINE",Map("keyDelimiter"->",","valueDelimiter"->"|")))
    val pipeline = new Pipeline().setStages(Array(document,sentenceDetector,token,lemmatizer))
    val result= pipeline.fit(df).transform(df)
Run Code Online (Sandbox Code Playgroud)

错误信息是:

    Name: java.lang.ArrayIndexOutOfBoundsException
    Message: 1
    StackTrace:   at com.johnsnowlabs.nlp.util.io.ResourceHelper$$anonfun$flattenRevertValuesAsKeys$1$$anonfun$apply$14.apply(ResourceHelper.scala:315)
      at com.johnsnowlabs.nlp.util.io.ResourceHelper$$anonfun$flattenRevertValuesAsKeys$1$$anonfun$apply$14.apply(ResourceHelper.scala:312)
      at scala.collection.Iterator$class.foreach(Iterator.scala:891)
      at scala.collection.AbstractIterator.foreach(Iterator.scala:1334)
      at …
Run Code Online (Sandbox Code Playgroud)

johnsnowlabs-spark-nlp

6
推荐指数
1
解决办法
1103
查看次数

如何在不重新分区的情况下并行执行Spark UDF

我有一个小的Hive表,通过HDFS(parquet / 1152文件-超过30GB)保存了1500万行。

我正在通过科学摘要进行LDA。因此,第一步是使用StanfordNLP提取一些名词短语/块短语,我为此编写了UDF以实现此目标。

在性能方面,现在有两种情况,每种情况都有非常不同的结果。

方案1:

val hiveTable = hivecontext.sql("""
SELECT ab AS text,
          pmid AS id
  FROM scientific.medline      
    LIMIT 15000000
""")
Run Code Online (Sandbox Code Playgroud)

然后,我通过我的UDF进行呼叫hiveTable

val postagsDF = hiveTable.withColumn("words", StanfordNLP.posPhrases(col("text")))
Run Code Online (Sandbox Code Playgroud)

现在,如果我触发任何动作/转换,例如.count()或对“ postagsDF ” 执行CountVectorizer(),我将看到两个阶段。一个具有适当数量的任务(分区),另一阶段仅具有一个任务。第一个在完成一些输入/随机写入后很快结束,但是第二个仅执行一个任务需要很长时间。看来我的UDF正在此阶段执行,只有一个任务。(需要几个小时,完成后不会进行任何资源活动)

方案2:

val hiveTable = hivecontext.sql("""
SELECT ab AS text,
          pmid AS id
  FROM scientific.medline      
    LIMIT 15000000
""")
Run Code Online (Sandbox Code Playgroud)

DataFrame根据实木复合地板的数量将分区重新划分为spark检测到的确切分区数。(我可以选择其他任何数字,但该数字似乎还可以,因为我有超过500个可用的核心-每个核心2个任务)

val repartitionedDocDF = docDF.repartition(1152)
Run Code Online (Sandbox Code Playgroud)

现在通过UDF调用我的UDF hiveTable

val postagsDF = hiveTable.withColumn("words", StanfordNLP.posPhrases(col("text")))
Run Code Online (Sandbox Code Playgroud)

但是,这次的任何动作/转换都将分为四个阶段。其中两个阶段(假设计数)是1152个任务,其中两个是单个任务。我可以看到我的UDF正在其中一个阶段执行,其中1152个任务被所有执行者正确使用了整个集群。

场景1的结果: 观察我的集群,在长时间运行的单任务阶段没有太多事情发生。没有CPU使用率,内存,网络和IO活动。只有一名执行者执行一项任务,即将我的UDF应用于每个文档/列。

基准:第一种情况需要3-4个小时才能完成100万行。(我等不及要看一千五百万行需要多少钱)

方案2的结果: 查看我的集群,我可以清楚地看到我所有的资源都在被利用。我所有的节点几乎都满负荷使用。

基准测试:方案2耗时30分钟,记录了1500万行。

在此处输入图片说明

真实的问题

  1. 刚刚发生了什么?我认为默认情况下,Dataframe上的UDF将并行运行。如果分区/任务的数量大于或小于内核总数,但至少在默认的200个分区/任务上并行,则可以重新分区。我只想了解为什么我的情况下的UDf是单个任务,却忽略了默认的200和实际分区大小。(这不仅仅是性能,它是单任务作业还是多任务作业)

  2. 是否有其他方法可以使UDF在所有执行程序上并行执行而无需调用分区。我不反对重新分区,但是这是非常昂贵的操作,我认为这不是使UDF并行运行的唯一方法。即使当我重新分区到完全相同数量的分区/文件时,我仍然必须监视超过20GB的随机读取和写入。

我已经阅读了有关重新分区和UDF的所有内容,但是我找不到类似的问题,除非它进行了重新分区,否则默认情况下无法并行运行UDF。(当您将类型从int转换为bigint的简单UDF可能不可见,但是当您执行NLP时,它确实是可见的)

我的集群大小:30个节点(16core …

parallel-processing user-defined-functions stanford-nlp apache-spark apache-spark-sql

3
推荐指数
1
解决办法
1213
查看次数

在iOS中显示内联脚注

我想知道在iOS中实现popover链接和内联脚注的最佳方法是什么?

iphone objective-c ipad ios instapaper

-1
推荐指数
1
解决办法
446
查看次数