小编M1k*_*1ke的帖子

如何使用gulp递归复制目录?

我正在尝试将项目从工作目录转移到服务器(同一台机器).使用以下代码:

gulp.src([
    'index.php',
    'css/**',
    'js/**',
    'src/**',
])
.pipe(gulp.dest('/var/www/'));
Run Code Online (Sandbox Code Playgroud)

我希望看到所有文件都被复制了.但它会使dir结构变平 - 所有目录都被复制,但每个文件都放在根目录中/var/www

Gulp看起来像一个伟大的构建工具,但复制项目肯定是一个简单的过程?

deployment gulp

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

PHP版本5.3或更低版本中的数组不区分大小写的键排序

PHP 5.4引入了有用的SORT_FLAG_CASE,使任何其他搜索大小写不敏感.不幸的是,这在PHP 5.3或更低版本中不可用,所以我想知道以下数组如何:

array('a'=>2,'b'=>4,'A'=>1,'B'=>3);
Run Code Online (Sandbox Code Playgroud)

可以分为:

array('A'=>1,'a'=>2,'B'=>3,'b'=>4);
Run Code Online (Sandbox Code Playgroud)

通常的ksort()功能将其分类为:

array('A'=>1,'B'=>3,'a'=>2,'b'=>4);
Run Code Online (Sandbox Code Playgroud)

php arrays sorting

14
推荐指数
1
解决办法
8554
查看次数

ADB 不止一个设备/模拟器,但没有

(master) $ adb -s emulator-5554 reverse tcp:8081 tcp:8081
error: more than one device/emulator
(master) $ adb devices -l
List of devices attached
emulator-5554          device product:sdk_gphone_x86 model:Android_SDK_built_for_x86 device:generic_x86 transport_id:2
Run Code Online (Sandbox Code Playgroud)

尝试将反应本机应用程序部署到模拟设备。构建、gradle 等运行良好,但当尝试连接到模拟器时,它显示错误,more than one device/emulator尽管运行时只有一个设备adb devices

从字面上不知道如何解决这个问题,Android Studio 3.1,模拟设备是运行 Android 8 的 Nexus 5x。已经重新启动、升级等,但仍然收到此消息。

android adb android-emulator android-studio

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

使用 IAM 设置 RDS (MySQL) 数据库访问以生成访问令牌

mysql-client我已按照说明设置 AWS 和 MySQL,这样我应该能够使用用户(名为)登录 mysql,aws_iam无需密码,但使用附加awscli到我的 EC2 实例的角色生成的令牌。

说明在这里

所以我所拥有的是:

  • 具有允许我生成 RDS 凭证的角色的 EC2 实例
  • 运行 MySQL 的 RDS 实例,其用户aws_iam标识为AWSAuthenticationPlugin
  • 通过 SSH 登录 EC2 实例后,我可以运行mysql -h mydb.randomstring.region.rds.amazonaws.com -u root -p并输入 RDS 设置中的主密码来获取 mysql shell。
  • 此外,当通过 SSH 登录到 EC2 实例时,我可以运行aws rds generate-db-auth-token --hostname mydb.randomstring.region.rds.amazonaws.com --port 3306 --username aws_iam,并且在运行时我会得到一个如下所示的令牌:

mydb.randomstring.region.rds.amazon.aws.com:port-number/?Action=connect&DBUser=aws_iam&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=900&X-Amz-Date=current_time&X-Amz-SignedHeaders=host&X-Amz-Security-Token=really-long-url-encoded-string&X-Amz-Credential=string/region/rds-db/aws4_request&X-Amz-Signature=long-hash

然后我运行连接命令:

mysql -h mydb.randomstring.region.rds.amazonaws.com --ssl-ca=rds-ca-2015-eu-west-1.pem --ssl-mode=VERIFY_IDENTITY -u aws_iam --enable-cleartext-plugin --password=TOKEN
Run Code Online (Sandbox Code Playgroud)

但后来我就得到了

ERROR 1045 (28000): Access denied for user 'aws_iam'@IP (using …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-rds amazon-iam

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

Docker在Ubuntu 14.04上崩溃的任何容器

随着Jenkins在Ubuntu 14.04 LTS服务器上运行,我们开始在启动测试容器时发生崩溃,并显示以下错误:

 OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:297: copying bootstrap data to pipe caused \"write init-p: broken pipe\"": unknown
Run Code Online (Sandbox Code Playgroud)

最初怀疑这可能是由于本地Dockerfile或Jenkins服务器本身配置错误,但正在运行:

docker run --rm -i -a stdin -a stdout ubuntu echo 1
Run Code Online (Sandbox Code Playgroud)

应该仍然可以工作并产生同样的问题

ubuntu docker ubuntu-14.04

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

如何在git branch更改时重新启动gulp watch

使用任务生成gulp文件很有用watch.在我的情况下,我有一个任务,它php监视目录的变化和更改的lints /副本,一个连接和复制的JS目录,以及在更改时编译为CSS的SASS.

如果我在监视任务运行的情况下检查另一个git分支,那么预计会发生疯狂,因为数百个文件会发生变化.可以解决的一个问题是watch触发器通用任务 - 例如PHP只是简单地重新l和复制所有PHP文件,而不仅仅是更改的文件.因此,如果50个文件发生变化,整个堆栈将重新打印50次.同样适用于JS(因为依赖)和SASS(因为它运行罗盘,然后它也会看到每个文件都被更改).

所以目前我的解决方案是杀死我的watch任务(使用Sublime Gulp运行),然后签出一个新的分支,然后重新运行它.我想任何解决方案都需要修改Sublime Gulp插件,或者阻止我使用它 - 如果有一个快速的快捷方式让watch任务在我的终端后台运行会很好,并允许我看到输出但是不要强迫我.

我知道git有钩子,所以我想象另一个解决方案可能是让checkout钩子产生一个文件,它可以作为监视任务的临时停止标志,或类似的东西.

任何人都会遇到类似的问题watch,你会如何建议解决它?

git gulp gulp-watch

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

如何使用 Twilio 的 <dial> 动词处理到达语音邮件

我知道在拨打电话时,Twilio 可以检测到答录机,并做出不同的反应。

但是,如果我使用<dial>动词,则没有明显的地方可以添加此功能,即使它本质上是相同的东西。

我的预期流程是:

  • 客户输入他们的电话号码
  • Twilio 呼叫客户并播放语音消息
  • Twilio 拨打代理号码,可能是手机
  • 如果客服人员接听,请将客户连接到客服人员
  • 如果客服人员占线或未接听,呼叫可能会转到客服人员的语音信箱。
    • 终止对代理的呼叫
    • 录制客户的语音邮件
    • 通过电子邮件发送语音邮件给客服人员

twilio twilio-php twilio-twiml

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

Jquery,.height()更改页面刷新但不加载

我已经看过以下主题:

第一次加载/硬刷新时​​出现Jquery加载问题

这似乎是我正在经历的问题的一些逆版本.在这种情况下,硬刷新是问题,在这种情况下它是解决方案.

由于设计复杂的Web应用程序UI以处理不同的显示器高度的一些问题,我决定转向jQUery来改变我的高度.我最初使用的是百分比高度,但是这些导致了点处的大间隙,并且使用最大和最小高度被证明很难将元素拖出上下文.如果没有启用JavaScript,应用程序的使用会慢得多(尽管它是基于渐进增强功能),因此假定用户将其打开.那是那些建议CSS解决方案的人.

链接到测试 由于域不再有效,因此已删除

问题是,当页面通过超链接加载时,它的大小正确 - 如果你打开它,你应该看到这个,黄色/绿色框底部和浏览器底部之间大约30px.然而刷新它(您可能需要刷新几次)并且您将看到黄色框从页面底部消失,绿色框拉伸以加入它.这只发生在我的服务器上 - 我在本地主机上开发它时从未注意到这个错误,因为它不会发生.

jquery代码位于sandpit1.1webservices.co.uk/ground-control/examples/scripts/jumpers.js中,特定代码段为:

function loadResize()
{
 //var window=$(window).height();
 var window=$('div.main').height();
 //window=parseInt(window);
 window-=50;
 $('div.staff ul').css('height',window);
 window-=175;
 $('div.loads').css('height',window);
 window-=150;
 $('div.loads div.list').css('height',window);
}
Run Code Online (Sandbox Code Playgroud)

您可以看到我已经注释了一些内容,实际代码中还有更多内容供测试.当测试开始时窗口高度被警告时,它在我的浏览器上显示为885(1024px屏幕高度),然而刷新提供1133和1785之间的随机值.执行硬刷新或页面加载并将其返回到885.该函数被调用就在document.ready的最后:

$(window).resize(loadResize);
loadResize();
Run Code Online (Sandbox Code Playgroud)

我曾经有过resize事件触发器本身但是在它导致问题的情况下将其删除.

有任何想法吗?

jquery height scaling resize

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

如何使用地点 ID 从 Google Places JS API 检索地点详细信息?

使用Google Maps Places API 时,您可以创建Autocomplete附加到地图的元素以搜索其库。

当您选择一个地点时,您可以调用autocomplete.getPlace()以检索描述该地点的 JSON 对象。其中一个领域是place_id,Google 的唯一参考。谷歌实际上允许存储这些:

地点 ID 不受 Google Maps API 服务条款第 10.1.3 节中规定的缓存限制的约束。因此,您可以无限期地存储地点 ID 值。

但是,文档中并不清楚如何使用此存储值来检索地点的详细信息。有什么方法,应该如何使用这些方法?

javascript google-maps google-places-api

0
推荐指数
1
解决办法
2145
查看次数