小编Jam*_*ers的帖子

NSAutoreleasePool自动释放池如何工作?

据我了解,任何使用alloc,newcopy创建的东西都需要手动释放.例如:

int main(void) {
    NSString *string;
    string = [[NSString alloc] init];
    /* use the string */
    [string release];
}
Run Code Online (Sandbox Code Playgroud)

不过,我的问题是,这不是有效吗?:

int main(void) {
    NSAutoreleasePool *pool;
    pool = [[NSAutoreleasePool alloc] init];
    NSString *string;
    string = [[[NSString alloc] init] autorelease];
    /* use the string */
    [pool drain];
}
Run Code Online (Sandbox Code Playgroud)

memory-management foundationkit objective-c nsautoreleasepool

95
推荐指数
4
解决办法
9万
查看次数

减少ZXing生成的QR码的边框宽度?

我正在使用com.google.zxing.qrcode.QRCodeWriter编码数据并com.google.zxing.client.j2se.MatrixToImageWriter生成QR码图像.在400x400图像上,代码周围有大约52像素宽的边框.我希望这个边框更窄,可能是15像素,但我没有在API中看到任何内容.我在文档中遗漏了什么吗?或者我需要自己处理图像?

作为参考,这里是使用ZXing库生成的400x400 QR码示例:

QR码的示例

zxing

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

使用Thymeleaf模板而不包含片段定义元素?

假设我有两个Thymeleaf模板:

index.html:

<!DOCTYPE html>
<html>
<head></head>
<body>
<header>foo</header>
<section>
    <div th:replace="fragments/main :: content"></div>
</section>
<footer>bar</footer>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

fragments/main.html:

<!DOCTYPE html>
<html>
<head></head>
<body>
<div th:fragment="content">
    <p>This is the main content.</p>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

如何防止Tymeleaf div在合成输出中包含定义片段的内容?也就是说,我如何让Thymleaf生成以下输出:

<!DOCTYPE html>
<html>
<head></head>
<body>
<header>foo</header>
<section>
    <p>This is the main content.</p>
</section>
<footer>bar</footer>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

代替:

<!DOCTYPE html>
<html>
<head></head>
<body>
<header>foo</header>
<section>
    <div>
        <p>This is the main content.</p>
    </div>
</section>
<footer>bar</footer>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

thymeleaf

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

我如何阅读这个javascript图?

我正在阅读Javascript:The Good Parts,我无法理解他们的"语法"图表.

第一个是空白

在此输入图像描述

我不太清楚如何阅读它,也许一些代码会帮助我理解?

感谢高级人员的帮助.

javascript

12
推荐指数
2
解决办法
480
查看次数

Spring @MVC和带有x-www-form-urlencoded数据的@RequestBody注释?

我试图弄清楚为什么我不能从jQuery.ajax调用接收请求,然后Spring @Controller处理程序方法包含一个@RequestBody注释.考虑以下:

HTML/JavaScript:

<form id="foo" action="/baz">
  <input name="bar">
</form>

<script>
  $(function() {
    var $fooForm = $('#foo');

    $fooForm.on('submit', function(evt) {
      evt.preventDefault();

      $.ajax({
        url: $fooForm.action,
        data: $fooForm.serialize(),
        dataType: 'json',
        type: 'POST',
        success: function(data) { console.log(data); }
      });
    });
  });
</script>
Run Code Online (Sandbox Code Playgroud)

Java:

@RequestMapping(
  value = "/baz",
  method = RequestMethod.POST,
  consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE,
  produces = MediatType.APPLICATION_JSON_VALUE
)
public @ResponseBody SearchResults[] jqueryPostHandler(
  @RequestBody FormDataObject formData)
{
  return this.searchService.find(formData);
}
Run Code Online (Sandbox Code Playgroud)

以上将失败并且@RequestBody注释存在并返回415错误(不会生成异常).但是如果@RequestBody删除了注释(即参数签名只是FormDataObject formData),那么将调用该方法并将JSON返回给JavaScript.

为什么会这样?甲POST请求包括在请求的主体中的数据.不应该注释过程这样的请求吗? …

jquery spring spring-mvc

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

jQuery页面转换和浏览器历史记录

我正在使用jQuery在我的html页面上有一个淡入效果,效果很好.但是,当我点击浏览器中的后退按钮时,我会转到正确的URL,但会得到一个空白页面.这是一个浏览器缓存的东西吗?我对jQuery比较陌生,我不确定如何解决这个问题.这是网站:http://www.e-preview.be/huyzewaterloos/nl/index.html

我正在使用的代码是这样的:

//page transition
    $("body").css("display", "none");
    $("body").fadeIn(1500);
  $("a.transition").click(function(event){
   event.preventDefault();
   linkLocation = this.href;
   $("body").fadeOut(500, redirectPage);
  });

 function redirectPage() {
  window.location = linkLocation;
 }
Run Code Online (Sandbox Code Playgroud)

jquery

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

实现JavaScript选项对象参数模式?

JavaScript中有一个通用模式,"构造函数"接受可选的选项对象.此外,该选项对象可能只包含调用者希望覆盖的选项.例如:

function Foo(options) {
  this._options = {
    foo: 'bar',
    answer: 42,
    amethod: function(){}
  };
  this._options = Object.assign(this._options, options);
}

let foo1 = new Foo();
foo2._options.foo; // 'bar'
foo1._options.answer; // 42
foo1._options.amethod(); // undefined

let foo2 = new Foo({answer: 0, amethod: function(a) { return a; }});
foo2._options.foo; // 'bar'
foo2._options.answer; // 0
foo2._options.amethod('foo'); // 'foo'
Run Code Online (Sandbox Code Playgroud)

是否可以在Typescript中实现此模式?如果是这样,怎么样?

typescript

7
推荐指数
3
解决办法
3884
查看次数

如何更新JSP中的现有cookie?

我有一个myCookie包含哈希值的cookie .此cookie设置为在一年后到期,并且路径为"/".我需要使用新的哈希值更新此cookie.当我的JSP脚本加载时,我检索cookie如下:

Cookie[] cookies = request.getCookies();
Cookie myCookie = null;

for (int i = 0; i < cookies.length; i += 1) {
  if (cookies[i].getName().equals("myCookie")) {
    myCookie = cookies[i];
    break;
  }
}
Run Code Online (Sandbox Code Playgroud)

确定需要更新cookie的值后,我执行以下操作来更新它:

myCookie.setValue("my new value");
response.addCookie(myCookie);
Run Code Online (Sandbox Code Playgroud)

检查结果,我现在有两个实例myCookie:原始版本具有正确的到期日期和路径,以及旧的无效值; 以及一个名为"myCookie"的新cookie,它在会话结束时到期,具有正确的值和JSP文档的路径.

如果我做:

myCookie.setValue("my new value");
myCookie.setPath(myCookie.getPath());
myCookie.setMaxAge(myCookie.getMaxAge());
response.addCookies(myCookie);
Run Code Online (Sandbox Code Playgroud)

同样的事情发生了.我得到两个具有相同名称和不同属性的cookie.

Cookie对象在检索时不会保留属性吗?我该如何更新此cookie?

注意:我不想修改路径或到期日期.我只想更新已设置的cookie的值.

java cookies jsp

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

是否有可能在O(1)中获得m字符长度组合的第k个元素?

你知道如何在O(1)中获得m元素组合的第k个元素吗?预期的解决方案应适用于任何大小的输入数据和任何m值.

让我通过示例(python代码)解释这个问题:

>>> import itertools
>>> data = ['a', 'b', 'c', 'd']
>>> k = 2
>>> m = 3
>>> result = [''.join(el) for el in itertools.combinations(data, m)]
>>> print result
['abc', 'abd', 'acd', 'bcd']
>>> print result[k-1]
abd
Run Code Online (Sandbox Code Playgroud)

对于给定数据,m元素组合的第k个(在该示例中为第2个)元素是abd.是否可以在不创建整个组合列表的情况下获得该值(abd)?

我问,因为我有大约1,000,000个字符的数据,并且不可能创建完整的m字符长度组合列表来获得第k个元素.

解决方案可以是伪代码,也可以是描述此问题的页面的链接(遗憾的是,我没有找到).

谢谢!

c python java combinations combinatorics

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

在Groovy中迭代对象自己的属性?

我创建了一个类,允许生成的对象添加任意属性.该类还具有一些预定义的属性.在类的方法中,我希望能够遍历对象实例拥有的所有属性.

这是一个示例类定义:

import groovy.json.*

class Foo {
    private Map props = [:]

    String bar = "baz"
    def myNumber = 42

    void propertyMissing(String name, Object value) {
        this.props[name] = value
    }

    def propertyMissing(String name) {
        return this.props[name]
    }

    def toJsonString() {
        def outObject = [:]

        // I want to do something like this
        this.properties.each { k, v ->
            if (this.isOwnProperty(k) && k != 'props') {
                outObject[k] = v
            }
        }

        outObject = outObject + this.props

        return JsonOutput.toJson(outObject)
        // Should return a …
Run Code Online (Sandbox Code Playgroud)

groovy

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