人们常说,使用LDAP是存储用户数据的好方法.这是因为用户的"目录"是分层的,很少变化.但在我看来,并不排除使用RDBMS.使用LDAP可能是什么原因?我想在LDAP中存储多值字段或添加自定义字段可能更容易,但也可以在数据库中完成(除非你有很多记录)
我一直以为标签必须只用于循环,但似乎不是.给这样的代码:
public class LabelTest {
public static void main(String[] args) {
label1: System.out.println("");
label2: LabelTest t = new LabelTest();
}
}
Run Code Online (Sandbox Code Playgroud)
当标记为"label1"的编译行编译时,"label2"处的代码会出错.为什么?为什么我要标记不是"循环"的语句?
在将 Bootstrap (4.5) 网格用于两列布局并更改列顺序时,我遇到了高 CLS(内容布局移位)的问题。
CLS是一个 Core Web Vital 指标。基本上,当页面加载时网页部分移动时,Google 会发现问题。据说这个指标会影响搜索引擎优化。
在高分辨率下,我的布局由两列组成。右侧的主要内容和左侧的侧边栏。在较低分辨率下,侧边栏内容被推到主要内容下方。所以 HTML 看起来像这样:
<div class="container-fluid">
<div class="row">
<div class="col-lg-8 order-lg-2">
</div>
<div class="col-lg-4 order-lg-1">
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
问题是,当页面在桌面上呈现时,主要内容出现在左侧的一小段时间内,然后几毫秒后它转移到右侧的正确位置。对于简单的页面(具有简单的 DOM 或没有外部资源),这种转变是无法检测到的。
我准备了一个这样的页面的例子。(源代码在 github 上)。为了测量 CLS,我在 Chrome 中使用 Lighthouse。在我的情况下,当我刷新页面时,我可以看到列在移动,并且 Lighthouse 通知我 CLS 值为 0.326。结果可能取决于渲染资源,因此您可能会得到不同的结果。但似乎Google Page Insight给出了类似的结果:
无论如何,有没有办法在页面呈现时避免这种转变?
在我的应用程序的每个视图中,我需要准备导航菜单.所以现在在每个视图中我执行复杂的查询并将菜单存储在传递给模板的字典中.在模板中,我拥有数据的变量被"缓存"包围,所以即使查询成本很高,也不会打扰我.
但我不想在每一种观点中重复自己.我猜想准备菜单的最佳位置是在我自己的上下文处理器中.所以我写了一个,但我注意到即使我不使用来自上下文处理器的数据,也会执行用于准备菜单的查询.有没有办法从CP"延迟加载"这样的数据,还是我必须在CP中使用"低级"缓存?或者也许有更好的解决方案来解决我的问题?
我有一个play框架应用程序(2.3.8),我提供了eclipselink-2.5.1.jar代理.在启动期间,我在日志中看到:
Weaver在尝试编写类[ 我的一个JPA实体类 ]时遇到异常.例外是:java.lang.ArrayIndexOutOfBoundsException:30053
更新:所以将日志记录更改为最好的给了我一个堆栈跟踪:
EL Finest]: weaver: 2015-07-16 20:52:31.163--ServerSession(1547425104)--Thread(Thread[application-akka.actor.default-dispatcher-2,5,main])--java.lang.ArrayIndexOutOfBoundsException: 25970
at org.eclipse.persistence.internal.libraries.asm.ClassReader.readClass(Unknown Source)
at org.eclipse.persistence.internal.libraries.asm.ClassReader.getInterfaces(Unknown Source)
at org.eclipse.persistence.internal.jpa.weaving.ComputeClassWriter.typeImplements(ComputeClassWriter.java:143)
at org.eclipse.persistence.internal.jpa.weaving.ComputeClassWriter.typeImplements(ComputeClassWriter.java:150)
at org.eclipse.persistence.internal.jpa.weaving.ComputeClassWriter.getCommonSuperClass(ComputeClassWriter.java:62)
at org.eclipse.persistence.internal.libraries.asm.ClassWriter.getMergedType(Unknown Source)
at org.eclipse.persistence.internal.libraries.asm.Frame.merge(Unknown Source)
at org.eclipse.persistence.internal.libraries.asm.Frame.merge(Unknown Source)
at org.eclipse.persistence.internal.libraries.asm.MethodWriter.visitMaxs(Unknown Source)
at org.eclipse.persistence.internal.libraries.asm.MethodAdapter.visitMaxs(Unknown Source)
at org.eclipse.persistence.internal.jpa.weaving.MethodWeaver.visitMaxs(MethodWeaver.java:152)
at org.eclipse.persistence.internal.libraries.asm.ClassReader.accept(Unknown Source)
at org.eclipse.persistence.internal.libraries.asm.ClassReader.accept(Unknown Source)
at org.eclipse.persistence.internal.jpa.weaving.PersistenceWeaver.transform(PersistenceWeaver.java:93)
at org.eclipse.persistence.internal.jpa.deployment.JavaSECMPInitializer$1.transform(JavaSECMPInitializer.java:228)
at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:455)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:367)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) …
Run Code Online (Sandbox Code Playgroud) 更新:我注意到当我使用视图(和create_object函数)保存实体时,实体被保存(并在数据存储区查看器中可用).但是当我使用shell(manage.py shell)来创建和保存新实体时,它不会被提交到存储(但仍可以在Tes.objects.all()中看到).
我开始玩带有google appengine的django-nonrel,我对拯救实体这么简单的事感到沮丧.
我按照说明中的描述设置了我的环境.我设法运行示例应用程序,它运行正常.我想扩展它,以便将我的实体保存到存储中.为此:
我用models.py添加了新的django模块:
from django.db import models
class Tes(models.Model):
name = models.CharField(max_length=150)
Run Code Online (Sandbox Code Playgroud)我创建了一个脚本来保存一些数据:
import os
import sys
sys.path.append("d:\\workspace\\project\\")
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
from testmodule.models import Tes
t = Tes(name="test")
t.save()
tes = Tes.objects.all()
for t in tes:
print t.name
Run Code Online (Sandbox Code Playgroud)该脚本运行时没有错误.当我一个接一个地运行它几次时,它会打印越来越多的"测试"字符串.但是当我在一分钟后尝试运行它时, Tes.objects.all()什么都不返回.在此期间,数据存储文件会改变它的大小(但可能只是某种日志).当我查看http:// localhost:8000/_ah/admin/datastore时,我只能从select字段中选择AhAdminXrsfToken.
无论如何,我错过了什么?在哪里我可以找到某种日志,它会告诉我什么是错的?
我有一些用户提供的文本,我想在浏览器中正确显示(新行替换为<br/>
-tags).我希望所有其他HTML标记都被转义.最好的方法是什么?
在Play Framework中,您可以添加以下内容来限制上传大小:
parsers.MultipartFormData.maxLength=[limit]
Run Code Online (Sandbox Code Playgroud)
在application.conf中.但它似乎不适用于当前版本的Play Framework.我如何在2.2版本中执行此操作?
在模板中给出一个循环,如下所示:
@for(item <- items) {
@if(item.id == 42) {
BREAK
}
}
Run Code Online (Sandbox Code Playgroud)
我怎么能让它破裂?是否可以在play框架模板中使用break/continue构造?
我已经配置了这样的映射:
var mapping = googletag.sizeMapping().
addSize([972, 0], [750, 100], [728, 90]).
addSize([752, 0], [728, 90], [468, 60]).build();
Run Code Online (Sandbox Code Playgroud)
我希望分辨率大于 972 DFP 时选择 750x100 或 728x90 广告。对我来说,它看起来只考虑第一个尺寸,即 750x100。即使我有更好的报酬和更高优先级的 728x90 尺寸的创意。当我进入交付诊断时,有关于请求的信息,它显示“请求大小 750x100”。我希望有两种尺寸。我是否遗漏了某些东西,或者实际上不支持这些多种尺寸?
bootstrap-4 ×1
caching ×1
css ×1
database ×1
django ×1
django-views ×1
eclipselink ×1
flexbox ×1
google-dfp ×1
java ×1
jpa ×1
labels ×1
lazy-loading ×1
ldap ×1
lighthouse ×1
loops ×1
python ×1
scala ×1