小编qqi*_*ihq的帖子

局部变量同步的必要性

在JSON-java库(org.json.JSONArray)中,我发现这个代码片段带有synchronized一个方法局部变量的块

public String toString(int indentFactor) throws JSONException {
    StringWriter sw = new StringWriter();
    synchronized (sw.getBuffer()) {
        return this.write(sw, indentFactor, 0).toString();
    }
}
Run Code Online (Sandbox Code Playgroud)

我不明白这里同步的必要性,因为StringWriter它只是给定方法的本地(以及为什么同步在Buffer上).这里的同步是否真的有必要,如果,为什么?

java synchronized

8
推荐指数
2
解决办法
1387
查看次数

在mongoose.js中共享和重用模式部分的策略

假设,我有两个模式,例如for personcompany.他们都应该有一个address,它由一个street name,number,zipcity.

避免address在两个模式定义之间复制属性的策略是什么?我读到了关于子文档的内容,但它们似乎(1)与一个父模式紧密相关,(2)总是出现在数组中.

database schema mongoose node.js

8
推荐指数
1
解决办法
1846
查看次数

Maven + Tycho,添加了Maven依赖项

我们有一个Eclipse插件,我们使用Maven和Tycho构建.但是,目前我们仍然通过一堆手动添加的JAR文件而不是Maven提供所有项目依赖项.这是由于以下原因:(1)依赖关系不能通过标准的Eclipse更新站点获得(至少在当前版本中不可用),(2)依赖关系不能作为bundle使用.

这些依赖项中最大的部分是Selenium库(API,远程,特定于浏览器的库及其传递依赖项,例如Guava等).

我浪费了几个小时,试图在我们的Maven构建过程中提取这些依赖项.在这个 SO问题之后,我尝试了p2-maven-plugin,创建了一个带有依赖关系的更新站点,我将其添加到Eclipse目标平台.但是,在运行时期间,无法加载在不同JAR中引用的类(我假设,从我非常有限的OSGi知识中,因为MANIFEST.MF文件中缺少一些必要的信息).这是一个问题的例子,在尝试创建一个RemoteWebDriver使用 DesiredCapabilities该类的时候(两个类都在不同的包中):

Exception in thread "Thread-8" java.lang.NoClassDefFoundError: org/openqa/selenium/remote/DesiredCapabilities
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:243)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:126)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:153)
    …
Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.remote.DesiredCapabilities cannot be found by org.seleniumhq.selenium.remote-driver_2.45.0
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:439)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 7 more
Run Code Online (Sandbox Code Playgroud)

使用时,还有什么我需要照顾的p2-maven-plugin吗?相关部分pom.xml看起来像这样:

<plugin>
    <groupId>org.reficio</groupId>
    <artifactId>p2-maven-plugin</artifactId>
    <version>1.1.1-SNAPSHOT</version>
    <executions>
        <execution>
            <id>default-cli</id>
            <configuration>
                <artifacts>
                    <artifact>
                        <id>org.seleniumhq.selenium:selenium-remote-driver:2.45.0</id>
                    </artifact>
                </artifacts>
            </configuration>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

java eclipse dependencies tycho maven

7
推荐指数
1
解决办法
3277
查看次数

iOS:Interface Builder中定义的颜色与Web视图中的颜色不同

我们正在构建一个iOS应用程序,它部分地利用UIWebViews来呈现一些UI元素.我注意到,故事板上定义的颜色与Web视图中具有相同值的颜色的呈现方式不同.下面的屏幕截图示出了在故事板并在模拟器三个示例颜色:#00C2F0,#00843C#FF008F.

移动颜色Interface Builder和Emulator

左方块显示background-color在a中呈现为CSS的每种颜色UIWebView,右方框显示UIView直接通过Interface Builder 指定为背景的颜色.

当我在Photoshop中截取屏幕并测量颜色值时,其中显示的颜色UIWebView与定义完全一致(即与上面给出的十六进制颜色值完全匹配),而通过它显示的颜色UIView会发生偏移.

我在iOS上阅读了几篇关于"错误"颜色的帖子,这解释了由于色彩管理导致的"问题",目的是在所有设备上(例如此处此处)具有一致的视觉外观.虽然这听起来很合理,但它并不能解释通过不同控件的不一致渲染.

我可以做些什么来实现iOS原生视图和在其中呈现的颜色之间的匹配颜色UIWebView

colors uiwebview uiview ios

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

Safari:自定义自动完成和系统联系自动填充之间的冲突

我们有一个网页,其中包含<input>我们附加自定义自动完成组件的文本(准确地使用AngularStrap的Typeahead).

Safari显然认为,输入包含一个人的姓名,因此提供了一个自动填充菜单,其中包含从系统地址簿中填充的值(截屏顶部的小菜单;还要注意Safari添加的相应图标,以绿色圈出).

截图 - 自动填充

这导致以下问题:

  1. 该字段标题为"名称",但并不意味着包含人名.因此提供个人建议毫无意义.

  2. Safari的内置菜单模糊了我们的自定义建议菜单,如Safari的建议下面的屏幕截图所示.

我尝试了以下方法来摆脱Safari的建议:

  1. name和" id属性"中的属性更改为"title"或"GoToHellSafari".没有帮助.

  2. 添加autocomplete="off",添加autocomplete="false".没有帮助.

  3. 实际更改文本<label>的东西除了"名称",如"标题".这样,自动填充消失了.

  4. id之间的连接会<input><label>通过删除idname属性.没有帮助.

虽然选项(3)看起来很有希望,但我有以下明显的问题:我希望该标签读作"Name".有什么建议?

html safari autocomplete autofill angular-strap

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

Node.js如何从请求中读取json数据?

我有一台服务器如下:

app.post('/', function(req, res, next) {
   console.log(req);
   res.json({ message: 'pppppppppppppssssssssssssss ' });   
});
Run Code Online (Sandbox Code Playgroud)

请求从客户端发送为:

$.ajax({
    type: "POST",
    url: self.serverURI,
    data: JSON.stringify({ "a": "128", "b": "7" }),
    dataType: 'json',
    success: function (result) {
        console.log(result);
    },
    error: function (xhr, ajaxOptions, thrownError) {
        console.log(xhr);
    }
});
Run Code Online (Sandbox Code Playgroud)

到目前为止连接正常.

我的问题出在服务器上:

console.log(req);
Run Code Online (Sandbox Code Playgroud)

我想要读取我发送的数据.我怎样才能读取{ "a": "128", "b": "7" }req

json node.js express

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

JTable:清除行选择时删除单元格周围的边框

我有一个JTable并希望通过单击表格的空白部分来取消选择所有行.这到目前为止工作正常.但是,即使我调用table.clearSelection();该表仍然显示以前启用的单元格周围的边框(请参阅示例中的单元格5):

表取消选择问题

我也希望摆脱这个边界(它看起来特别不合适Mac的原生外观和感觉,细胞突然变黑).

完全工作的最小示例代码:

public class JTableDeselect extends JFrame {
    public JTableDeselect() {
        Object rowData[][] = { { "1", "2", "3" }, { "4", "5", "6" } };
        Object columnNames[] = { "One", "Two", "Three" };
        JTable table = new JTable(rowData, columnNames);
        table.setFillsViewportHeight(true);
        table.addMouseListener(new MouseAdapter() {
            @Override
            public void mousePressed(MouseEvent e) {
                if (table.rowAtPoint(e.getPoint()) == -1) {
                    table.clearSelection();
                }
            }
        });
        add(new JScrollPane(table));
        setSize(300, 150);
    }
    public static void main(String args[]) throws Exception {
        UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); …
Run Code Online (Sandbox Code Playgroud)

java swing jtable

6
推荐指数
2
解决办法
369
查看次数

Docker COPY 并保留目录

需要在我的 Dockerfile 中复制多个目录。目前,我正在做:

COPY dir1 /opt/dir1
COPY dir2 /opt/dir2
COPY dir3 /opt/dir3
Run Code Online (Sandbox Code Playgroud)

我更愿意将它们合并为一个语句,一次性指定所有来源。但是,通过这种方式复制内容,我丢失了dir1, dir2,dir3结构:

COPY dir1 dir2 dir3 /opt/
Run Code Online (Sandbox Code Playgroud)

在这种情况下相同:

COPY dir1/ dir2/ dir3/ /opt/
Run Code Online (Sandbox Code Playgroud)

有没有办法用一条线来实现这一目标?

docker dockerfile

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

NavigationService删除完整的后退导航

使用NavigationService.RemoveBackEntry()我可以从导航堆栈中删除一个条目.是否有一种方便的方法来删除我的应用程序中的所有后退导航项目(方案:我有一个由多个页面组成的注册过程,并且在成功注册后,我不希望用户导航回注册步骤).

windows-phone-8

5
推荐指数
1
解决办法
1618
查看次数

将 Tycho“pomless”项目导入 Eclipse

我们有一个基于 Maven Tycho 的项目,最近我们删除了所有这些看似多余的pom.xml文件。命令行构建工作正常,因此这似乎是一个很好的改进,可以消除无用的混乱。

\n

后来我们发现这些项目不再能够轻松地导入到 Eclipse 中——至少不能像我们以前习惯的那样。到目前为止,我们使用了 import \xe2\x80\x9cExisting Maven Projects\xe2\x80\x9d 命令并pom.xml导入了包含 a 的所有目录。由于不再有pom.xml文件,因此这不起作用。D\xe2\x80\x99哦!

\n

将 pomless Tycho 项目导入 Eclipse 的推荐方法是什么\xe2\x80\x99?

\n

eclipse pom.xml tycho maven

5
推荐指数
1
解决办法
268
查看次数