小编Jul*_*ian的帖子

NSData writeToFile:atomically:不立即保存文件

我正在从网上下载一个SQLite数据库到我的iPad应用程序中.如果我把它写到磁盘设置atomically: YES我不能立即使用它,因为即使文件在那里,sqlite抱怨表不存在.如果我使用atomically = NO或延迟文件的打开几个瞬间,那么我没有这个问题.

我想我可以通过设置来解决它atomically = NO但是又有一种保证在writeToFile:call之后整个文件已经写入磁盘了吗?到目前为止,我的数据库并不是那么大,但它最终还会,而且我不知道在其他设备中等待多长时间.

Apple文档说YES如果操作成功,则此方法返回但显然没有考虑保存文件的"滞后".

任何帮助是极大的赞赏!

编辑:我看到其他人也有同样的问题.

nsdata ios

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

Laravel 延迟服务提供者`provides` 未被调用

我有以下定义:

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use App\SomeClass;

class SomeProvider extends ServiceProvider
{
    protected $defer = true;

    public function register()
    {
        $this->app->bind(SomeClass::class, function ($app)
        {
            return new SomeClass();
        });
    }

    public function provides()
    {
        die("This never gets called");
        return [SomeClass::class];
    }
}
Run Code Online (Sandbox Code Playgroud)

并且它SomeClass按预期返回一个实例,除了根据文档,如果$defer为真,provides()则应调用该方法。无论我设置什么$defer,也无论我是否真的要求一个实例SomeClassprovides()都不会被调用。

我要求类的实例的方式如下:

App::make('SomeClass');
Run Code Online (Sandbox Code Playgroud)

php laravel-5 laravel-5.2

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

删除由 tar 产生的尾随空字符

我正在尝试 tar 一些文件并通过 php passthru 命令将它们传递给用户。

问题是,即使 tar 文件应该只有 2k,但它始终是 10240。有趣的数字对吧?

所以我把它分解为:

-sh-4.1# tar czf -  test | wc -c
10240
Run Code Online (Sandbox Code Playgroud)

对比:

-sh-4.1# tar czf test.tar.gz test && wc -c test.tar.gz
2052 test.tar.gz
Run Code Online (Sandbox Code Playgroud)

所以 tar 显然是用 NULL 填充文件。

那么我怎样才能让 tar 停止这样做。或者,我如何去除尾随的 NULL。

我正在运行tar (GNU tar) 1.15.1并且无法在我的工作站上重现tar (GNU tar) 1.23,因为这是一个嵌入式项目升级不是我正在寻找的答案(还)。

编辑:我希望有一个确实需要写入文件系统的解决方法..也许是一种阻止它填充的方法,或者通过 sed 管道它或其他东西来去除填充。

linux tar

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

为什么在"if"语句中使用语句?

围棋游显示了他们在同一行作为一个额外的声明为例:"如果"的声明,他们解释是这样的:the if statement can start with a short statement to execute before the condition.

func pow(x, n, lim float64) float64 {
    if v := math.Pow(x, n); v < lim {
        return v
    }
    return lim
}
Run Code Online (Sandbox Code Playgroud)

我不认为需要这种语法,并且发现它非常令人困惑.为什么不在v := math.Pow(x, n)上一行写?

我问的原因是,对于我所发现的,语法在经过仔细考虑后进入Go语言,似乎没有任何想法.

我想我的实际问题是:他们试图通过使用这种语法来解决什么具体问题?使用以前没有的东西可以获得什么?

if-statement go

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

iOS供应配置文件名称

在创建iOS供应配置文件时,出现以下屏幕:

在此处输入图片说明

据我所知,概要文件已经包含了我需要识别的所有内容,例如TypeApp ID为什么需要命名?这个名字将来有用吗?(因此,如果我搞砸了并给它起一个毫无意义的名称,我将来是否可以更改它?)

我在Apple的文档海中找不到此信息。

ios provisioning-profile ios-provisioning

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

Safari iOS上的AngularJS空白页面,但在其他地方运行良好

我写了一个小的AngularJS应用程序似乎运行得很好,除了Safari(iOS),我只看到一个空白页面.如果我将手机连接到我的Mac并运行Web Inspector,我可以看到没有javascript错误(实际上应用运行良好,通过查看DOM我看到范围变量在模板中被正确评估和替换).我看到的是很多CSS错误.如果我删除有问题的CSS样式(Bootstrap 3),错误就会消失,但页面仍然是空白的.我尝试删除所有CSS和大多数琐碎的JS库无济于事.

我正在使用以下JS/CSS(按照index.html上的顺序):

  • bootstrap.min.css(v3.3.6)
  • bootstrap-theme.min.css(v3.3.6)
  • app.css(我自己的样式表,字面上有两个简单的样式定义)
  • angular.js(v1.4.9)
  • angular-route.js(v1.4.9)
  • ui-bootstrap.js(v1.1.2)
  • ui-bootstrap-tpls.js(v1.1.2)
  • lodash.js(v4.5.0)
  • moment.js(v2.11.2)
  • app.js(我自己的应用程序)

后端:使用Express v4的节点0.10(在免费的OpenShift帐户上运行).文件通过静态中间件提供.没有手动上传; 在执行推送之后直接从git repo进行部署.

编辑:完全删除所有CSS但问题仍然存在.应用程序无处不在,并且仍然在Safari iOS上显示空白屏幕.

node.js express twitter-bootstrap angularjs

5
推荐指数
0
解决办法
731
查看次数

来自同一模块中相同库的多个require()

我正在查看NodeJs的@slack/client npm包的来源,并在顶部看到它们有这个:

var forEach = require('lodash').forEach;
var bind = require('lodash').bind;
var has = require('lodash').has;
var isArray = require('lodash').isArray;
var isEmpty = require('lodash').isEmpty;
var isObject = require('lodash').isObject;
Run Code Online (Sandbox Code Playgroud)

樱桃从lodash模块中挑选所有这一切有什么意义,当你只需要包含整个lib一次然后使用你需要的方法就可以使它变得更简洁?

// Include the whole lib
var _ = require('lodash');

// And later
if (_.isObject(...)) // etc
Run Code Online (Sandbox Code Playgroud)

这并不是说他们多次使用每种方法.事实上,大多数只使用一次或两次.另外,我的理解是,即使部分需要模块的一部分,整个过程也是eval()如此,因此没有优势记忆或性能方面.

我觉得这个包写的很好,所以我很想知道他们为什么选择这样做.

require commonjs node.js node-modules slack-api

5
推荐指数
0
解决办法
515
查看次数

如何使用一个必需条件和一个可选条件来连接两个表

我有一张media桌子和一张tag_media桌子.该tag_media表是一个包含列id_tag和的关系表id_media.单个媒体文件可以使用多个标签进行标记.就像是:

tag_media:
    id_tag
    id_media

media:
    id_media
    (etc, etc)
Run Code Online (Sandbox Code Playgroud)

我需要一个查询,这将允许我获取所有标记有一组强制标记和一组可选标记的媒体,这样我就可以保证返回的媒体被标记为所有必需的标记,并且至少是可选的标记之一标签.

我怎样才能做到这一点?

mysql sql

4
推荐指数
1
解决办法
1449
查看次数

从zf2模块中将CSS注入布局

我差不多为zf2写了一个非常简单的模块.我希望我的模块做的一件事是向布局注入一些css,以便它生成的HTML以更好的方式显示.

这可以在一个模块内完成吗?如果是这样,怎么样?

编辑:谢谢大家的快速回复.但是我想我可能没有非常清楚地解释自己.当我说"注入一些css"时,我的意思是采用一串css并将其实际渲染到布局中.我并不是指链接到外部css文件或让资产管理器发布我的文件,就像目前为止建议的答案一样.

php zend-framework2

4
推荐指数
1
解决办法
5148
查看次数

ofVec2f和ofPoint之间的区别

我正在学习Openframeworks并且发现这两个类经常用于表示有时候的向量,有时也用于表示点.使用其中一个的原因是什么?

c++ openframeworks

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