小编poc*_*sar的帖子

Git推送错误:无法取消旧链接(权限被拒绝)

在远程服务器中,我设置了一个post-receive hook,以便对我的存储库进行git checkout:

#!/bin/sh
GIT_WORK_TREE=/var/www/<website> git checkout -f
Run Code Online (Sandbox Code Playgroud)

但是当我从本地机器推送到服务器中的git存储库时,我收到以下错误消息:

remote: error: unable to unlink old '<file>' (Permission denied)
Run Code Online (Sandbox Code Playgroud)

这出现了很多次,几乎每个文件都有一条错误消息.

但是我有一个README.txt文件,我可以使用git更改,这是它的权限:

-rw-r--r--  1 <serverusername>  <serverusername>  2939 Aug  2 10:58 README.txt
Run Code Online (Sandbox Code Playgroud)

但是具有完全相同的所有者和相同权限的其他文件会给我这个错误.

在另一个网站的另一个本地存储库中,我将本地计算机用户名作为所有者的文件,当我推送到远程服务器时,它尊重文件的远程服务器所有者,并像魅力一样工作.

显然它似乎与权限相关的错误,但我找不到修复它的方法,有什么建议吗?

git git-push git-checkout

173
推荐指数
8
解决办法
15万
查看次数

Mongo"prealloc"文件占用空间

我正试图在运行Mongo的Ubuntu服务器上释放一些空间.我已经附加了一个新的,空的8GB容量,并有空间移动东西.

我在/ var/lib/mongodb/journal/prealloc中有几个大(1GB)文件,删除它们或移动它们是否安全?如果我可以移动它们 - 任何人都可以给我一个关于如何为Mongo做这个的指针吗?

ubuntu mongodb

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

如何在根目录中列出git子树?

例如,你可以做一个git remote --verbosegit将显示你项目中的所有遥控器,git branch将显示所有分支并发出当前分支的信号,但是如何列出所有子树,没有任何破坏性命令?git subtree将给出用法示例,但不会列出任何内容.子树只有add,pull,push,split,merge.

git git-subtree

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

复杂对象的Jasmine toEqual(与函数混合)

目前,我有一个函数,有时会返回一个内部有一些函数的对象.使用expect(...).toEqual({...})它时似乎不匹配那些复杂的对象.具有函数或File类的对象(来自输入类型文件),它就是不能.怎么克服这个?

matcher jasmine

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

有没有办法防止在单例实例中覆盖/覆盖函数/变量?

考虑这个伪代码:

(function(window){
   var options = { /*where everything goes */ };

   var instance = (function(options){
       for (var i in options){
       if (options.hasOwnProperty(i)){
         this[i] = options[i];
       }
     }
   })(options);

   instance.callbacks = function(cb){
     //...
   }

   instance.is_allowed = function()
    //... checks, return boolean
   }

   window.instance = instance;
})(this);
Run Code Online (Sandbox Code Playgroud)

如果有人想操纵这个代码(例如恶意用户),他会is_allowed用自己的代码重写函数,例如,使用地址栏(他没有萤火虫,谁知道).

javascript:(function(){ window.instance.is_allowed = function(){ return true; } })();
Run Code Online (Sandbox Code Playgroud)

这是一个简单的例子,但重点是,Javascript中的任何内容都可以被覆盖.

我知道在es5中我们有Object.defineProperty,所​​以你可以设置:

// being explicit
Object.defineProperty(instance, "is_allowed", {
  enumerable: false,
  configurable: false,
  writable: false,
  value: function(){
    // do checks
  }    
});
Run Code Online (Sandbox Code Playgroud)

实际上,在这个意义上最好的是使用Object.freeze(instance)或 …

javascript singleton overwrite javascript-objects

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

如何在接口声明中使用PromiseConstructorLike实例的原型?

我正在尝试为节点编写Google Maps帮助程序模块的声明,但是我遇到了库期望的PromiseConstructorLike问题,并正确地返回它的"PromiseLike"实例方法(根据https://googlemaps.github.io /google-maps-services-js/docs/module-@google_maps.html):

Promise     function    <optional>  Promise constructor (optional).
Run Code Online (Sandbox Code Playgroud)

所以我做了(剥离到有趣的位):

declare namespace GoogleMaps {
  export interface CreateClientOptions<T> {
    /** Promise constructor (optional). */
    Promise?: T; 
  }

  export interface GoogleMapsClient<T> {
    directions<U>(query, callback?: ResponseCallback<U>): RequestHandle<U, T>;
  }

  export interface Response<U extends any> {
      headers: any;
      json: U;
      status: number;
  }

  export interface RequestHandle<U, T extends PromiseLike<Response<U>>> {
      asPromise(): T;
      cancel(): void;
      finally(callback: ResponseCallback<U>): void;
  }

  export type ResponseCallback<U> = (err: Error, result: Response<U>) => void; 
  export function createClient<T extends …
Run Code Online (Sandbox Code Playgroud)

typescript typescript-typings typescript2.0

12
推荐指数
1
解决办法
564
查看次数

window.open没有弹出窗口阻止程序使用AJAX并操纵window.location

当从服务器(例如Twitter和Facebook)处理OAuth时,您很可能会将用户重定向到要求获得应用程序权限的URL.通常,在单击链接后,您通过AJAX将请求发送到服务器,然后返回授权URL.

但是当你window.open在收到答案时尝试使用时,你的浏览器会阻止弹出窗口,使其无效.当然,您可以将用户重定向到新的URL,但这会破坏用户体验,而且令人讨厌.您不能使用IFRAMES,但不允许使用IFRAMES(因为您无法看到位置栏).

那怎么办呢?

ajax popup window.open twitter-oauth facebook-oauth

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

node.js上的指纹读取器通过.NET SDK

我正在尝试使用node.js应用程序与名为U.are.U的.NET SDK指纹识别器进行交互.SDK提供.dll(win32和x64),Java和.NET库.我决定使用.NET简单易用,所有接口都可以使用.

所以,我面临的当前问题是如何调用这些.NET函数并仍然保留node.js的异步性质.应用程序流程(在.NET示例中)非常简单,对库进行3次调用,指纹完成.

private IEnumerable<Fmd> CaptureAndExtractFmd()
{
    while (!reset)
    {
        DataResult<Fmd> resultConversion;

        try
        {
            if (count >= 8)
            {
                SendMessage("Enrollment was unsuccessful.  Please try again.");
                count = 0;
                break;
            }

            Fid fid = null;
            if (!_sender.CaptureFinger(ref fid))
                break;

            if (fid == null)
                continue;

            count++;

            resultConversion = FeatureExtraction.CreateFmdFromFid(fid, Constants.Formats.Fmd.ANSI);

            SendMessage("A finger was captured.  \r\nCount:  " + (count));

            if (resultConversion.ResultCode != Constants.ResultCode.DP_SUCCESS)
                break;
        }
        catch (Exception)
        {
            break;
        }

        yield return resultConversion.Data;
    }
}
Run Code Online (Sandbox Code Playgroud)

我如何更改它以便它可以在node.js中使用,而不是.NET gui程序?

还需要注意的是,node.js并不总是在.NET程序上调用函数来接收函数.程序的识别部分是异步发生的,并且当有人将手指放在指纹识别器上时会被启动,这意味着node.js部分不知道何时会发生这种情况.所以我不能一直依赖于询问.NET部分的数据,它必须在没有被问到的情况下调用node.js上的回调.所以基本上,这是一种双向通信,不仅仅是根据请求,因为请求使用网络服务器会容易得多.

我找到了一个node.js库,它可以缩小.NET和node.js之间的差距,称为edge.js,这会有什么帮助吗?


基本上, …

.net c# fingerprint node.js edge.js

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

在Typescript中混合使用接口

我有一个包含80多个方法的类,每个方法都接受一个包含一些已定义接口的对象.

class Stuff {
   /* many more */
   getAccount(req: IAccount, callback: ICallback) {
      return this._call('getAccount', req, callback);
   }

   getIds(req: IIDs, callback: ICallback) {
      return this._call('getIds', req, callback);
   }
   /* many more */
}
Run Code Online (Sandbox Code Playgroud)

非常'无聊'的东西,因为它只是映射到底层_call方法,并使每种方法的类型安全.

但有时这些reqparam对象是由2个或更多接口组成的,而不是每次创建另一个接口都有"尴尬",如下所示:

export interface ILoled extends IAccount {
   loled: boolean;
}

export interface IRofloled extends ILoled {
   rofled: boolean;
}

class Stuff {
  getLols(req: ILoled){
  }

  getRofls(req: IRofloled){
  }
}
Run Code Online (Sandbox Code Playgroud)

有什么方法我可以把它作为方法参数列表中的接口的"内联"混合?喜欢(显然不起作用):

class Stuff {
  getMoreStuff(req: <{} extends IAccount, ITime>) {
  }
}
Run Code Online (Sandbox Code Playgroud)

interface typescript

9
推荐指数
1
解决办法
2710
查看次数

如何使用SystemJS和Angular使用Typescript?

我正在努力使SystemJS与Typescript一起工作,但它们似乎相互冲突.

如何在没有与Typescript上的关键字冲突的情况下利用System.js中的自动加载?使用import/require使得Typescript使用它自己的方式来加载和引用文件,虽然它翻译export为module.exports = ...,但它不会做同样的事情import

是否有可能实现这一点,或者我将不得不等待Typescript支持ES6关键字?

commonjs angularjs typescript systemjs

9
推荐指数
1
解决办法
6560
查看次数