小编chx*_*chx的帖子

部分git适用

我怎么能git apply --index因为单个大块失败而完全不中止?我有几十个删除,并添加文件的100K +补丁,它会是一个痛苦的做patch -p1,git add,git rm手动舞蹈.

编辑: git apply --reject --index似乎做了三分之二的工作:修补程序已应用,删除的文件将被删除,但不会添加新文件.

git

18
推荐指数
3
解决办法
6736
查看次数

如何在PHP中检查数组?

我能想到的最好的是

function is_array_alike($array) {
  return is_array($array) || (is_object($array) && $array instanceof ArrayAccess && $array instanceof Traversable && $array instanceof Serializable && $array instanceof Countable);
}
Run Code Online (Sandbox Code Playgroud)

啊.还有更漂亮的东西吗?

编辑:测试is_object似乎没必要.我已经在PHP手册的实例中添加了一个关于它的部分.

php arrayaccess

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

为什么1987 Korn oneliner打印unix?

好的,我会咬人的.大众流行的答案为什么C预处理器将单词"linux"解释为常量"1"?问题提到

main() { printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}`
Run Code Online (Sandbox Code Playgroud)

打印"unix",但原因与宏名称的拼写完全无关.

我阅读http://www.ioccc.org/1987/korn.hint,但我认为更多的细节将有助于不混淆这:)

c deobfuscation

11
推荐指数
1
解决办法
1512
查看次数

ctime,mtime,持有目录,windows,linux

让我们一劳永逸地澄清一下.我尝试谷歌这个,但似乎在一个地方找不到这些信息.

创建或删除文件时,保留目录mtime在Windows和Linux上都会更改.ctime在Linux机器人上也没有在Windows上发生变化,因为ctime是创建时间.

如果重新打开并写入文件,则保留目录不会更改.但是,在Windows和Linux上,文件mtime都会发生变化,而在Linux上,ctime也会发生变化,在Windows上,ctime是创建时间.

它是否正确?有什么警告吗?比如Windows网络共享有例外吗?还是桑巴?

编辑:那些投票决定关闭此主题的人,请在主题上留下关于您认为哪个网站的评论.Stackoverflow上有大量的mtime/ctime问题,仅仅因为我没有包含依赖于这些知识的PHP片段,这并不意味着没有:/

unix windows filesystems ctime filemtime

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

如何在键盘出现时使视图控制器滚动到文本字段

我想制作我的uiviewcontroller.xib卷轴.我的视图控制器有8个文本字段.所以我的问题是当我想在第5页写东西时textfield,我的键盘上的文字区域也是如此.如何摆脱这个问题,让我的viewcontroller滚动?

请详细说明,因为我是iPhone开发的新手.

提前致谢.

xcode objective-c uiscrollview uiviewcontroller ios

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

在Git的悬空提交中搜索字符串

下面的怪物非常好地发现了一个包含上传这个词的git藏匿,这正是我所寻找的:

git fsck --no-reflog | awk '/dangling commit/ {print $3}' | \
while read ref; do if [ "`git show -p $ref|grep -c Upload`" -ne 0 ]; then echo $ref ; fi ; done 
Run Code Online (Sandbox Code Playgroud)

这有更漂亮的版本吗?我猜镐应该有效,但git log -g看不到这个提交.

git git-dangling

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

Elasticsearch 只读用户

我想向我的集群添加一个只读用户,我的应用程序在其所有索引前面加上myapp_.

遵循https://www.elastic.co/blog/user-impersonation-with-x-pack-integrating-third-party-auth-with-kibana(对于这个唯一实际可用的博客文章来说,这是一个奇怪的标题.. .)我首先添加了一个角色

curl -XPOST '$ELASTIC_URL:9200/_xpack/security/role/name_of_readonly_role' \
-H 'Content-Type: application/json' \
-d'{"indices":[{"names":"myapp_*","privileges":["read"]}]}'
Run Code Online (Sandbox Code Playgroud)

然后将其添加到用户:

curl -XPOST $ELASTIC_URL:9200/_xpack/security/user/name_of_user \
-H 'Content-Type: application/json' \
-d'{"roles":["name_of_readonly_role"],"password":"some_password"}'
Run Code Online (Sandbox Code Playgroud)

但当打开时$ELASTIC_URL:9200我得到了

action [cluster:monitor/main] is unauthorized for user
Run Code Online (Sandbox Code Playgroud)

下一步是什么?

elasticsearch

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

PostgreSQL UTF-8二进制排序规则

无论Unicode标准中的字符映射如何,我都希望有一个排序规则,它将0x1234的UTF-8编码命令为0x1235以下.MySQL使用utf8_bin.显然,MSSQL http://msdn.microsoft.com/en-us/library/ms143350.aspx具有BIN和BIN2排序规则.虽然发现这些很容易,但我甚至找不到一个排序列表PostgreSQL支持这个特定问题的答案要少得多.

postgresql collation utf-8

7
推荐指数
2
解决办法
5573
查看次数

如何使用imagemagick转换进行缩放和裁剪?

给出以下PHP代码:

function image_scale_and_crop(stdClass $image, $width, $height) {
  $scale = max($width / $image->info['width'], $height / $image->info['height']);
  $x = ($image->info['width'] * $scale - $width) / 2;
  $y = ($image->info['height'] * $scale - $height) / 2;

  if (image_resize($image, $image->info['width'] * $scale, $image->info['height'] * $scale)) {
    return image_crop($image, $x, $y, $width, $height);
  }
}
Run Code Online (Sandbox Code Playgroud)

换句话说,首先我们调整大小,保持宽高比,使图像的较小边缘成为所需的大小,然后沿着较长的边缘裁剪得到的图像$width X $height,每边切割的数量相等(较小的一面赢了)不需要裁剪.

是否可以在一个convert命令中执行此操作?

imagemagick

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

登录vBulletin 5

我有第三方应用程序进行身份验证,并希望同时将用户登录到本地安装的vBulletin实例.登录的唯一方法是通过此第三方应用程序.这就是我所拥有$vbpath的vBulletin安装路径,它$username是要登录的用户的名称:

require_once($vbpath . '/includes/vb5/autoloader.php');
\vB5_Autoloader::register($vbpath);
\vB5_Frontend_Application::init('config.php');
\vB::getDbAssertor()->delete('session', array('sessionhash' => \vB::getCurrentSession()->get('dbsessionhash')));
$username = \vB_String::htmlSpecialCharsUni($username);
$userinfo = \vB::getDbAssertor()->getRow('user', array('username' => $username));
$auth = array_intersect_key($userinfo, array_flip(['userid', 'lastvisit', 'lastactivity']));
$loginInfo = \vB_User::processNewLogin($auth);
\vB5_Auth::setLoginCookies($loginInfo);
Run Code Online (Sandbox Code Playgroud)

乍一看它似乎工作但我想知道:还有什么需要做才能正确登录vBulletin 5?我绕过了API,因为它似乎API需要密码,如果我将它存储在第三方应用程序中很快就会变得一团糟 - 它需要使用第三方密码进行加密,而且这只是一个巨大的同步混乱,我没有'真的需要.

vbulletin

6
推荐指数
0
解决办法
244
查看次数