小编Smi*_*tey的帖子

在Heroku Node.js应用程序上的Socket.io和多个Dyno.在建立连接之前关闭WebSocket

我正在构建一个部署到Heroku的App,它使用Websockets.

当我只使用1个dyno时,websockets连接正常工作,但当我缩放到> 1时,我得到以下错误

POST http://****.herokuapp.com/socket.io/?EIO = 2&transport = polling&t = 1412600135378-1&sid = zQzJJ8oPo5p3yiwIAAAC 400(错误请求)socket.io-1.0.4.js:2

WebSocket连接到'ws://****.herokuapp.com/socket.io/?EIO = 2&transport = websocket&sid = zQzJJ8oPo5p3yiwIAAAC'失败:WebSocket在建立连接之前关闭.socket.io-1.0.4.js:2

我正在使用Redis适配器来启用多个Web进程

var io = socket.listen(server);
var redisAdapter = require('socket.io-redis');
var redis = require('redis');

var pub = redis.createClient(18049, '[URI]', {auth_pass:"[PASS]"});
var sub = redis.createClient(18049, '[URI]', {detect_buffers: true, auth_pass:"[PASS]"} );

io.adapter( redisAdapter({pubClient: pub, subClient: sub}) );
Run Code Online (Sandbox Code Playgroud)

这正在localhost(我正在使用工头运行,正如Heroku所做的那样,我正在启动2个Web进程,与Heroku相同).

在我实现redis适配器之前,我遇到了Web套接字握手错误,因此适配器已经产生了一些影响.此外它现在偶尔工作,我假设当套接字匹配相同的web dyno.

我也尝试启用粘性会话,但它永远不会有效.

var sticky = require('sticky-session');
sticky(1, server).listen(port, function (err) {
  if (err) {
    console.error(err);
    return process.exit(1);
  }
  console.log('Worker listening on %s', port); …
Run Code Online (Sandbox Code Playgroud)

heroku websocket redis node.js socket.io

24
推荐指数
3
解决办法
4714
查看次数

从按钮中删除阴影

我想要的按钮是底部的按钮,但我拥有的按钮是顶部.

在此输入图像描述

问题来自于HTML中的顶部按钮:

<form class="button_to" method="get" action="/"><input type="submit" value="Ok" /></form>
Run Code Online (Sandbox Code Playgroud)

和HTML中的底部按钮:

<button type="button">Ok</button>
Run Code Online (Sandbox Code Playgroud)

顶部按钮的CSS是:

.signup-success input[type="submit"],
.signup-success input[type="submit"]:active,
.signup-success input[type="submit"]:focus {
  width: 80%;
  background: transparent;
  color: #00AA66;
  border-color: #00AA66;
}
Run Code Online (Sandbox Code Playgroud)

底部按钮的CSS是:

.signup-success button,
.signup-success button:active,
.signup-success button:focus {
  margin-top: 15px;
  width: 80%;
  background: transparent;
  color: #00AA66;
  border-color: #00AA66;
}
Run Code Online (Sandbox Code Playgroud)

如果它有助于从rails .erb扩展名生成顶部按钮

<%= button_to "Ok", root_path, :method => :get %>
Run Code Online (Sandbox Code Playgroud)

帮助我让我的顶部按钮看起来像底部按钮.我试图放入禁用CSS中的阴影的代码,但它不起作用:(

html css ruby-on-rails shadow

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

在为Android实施Google登录时,任务':app:transformClassesWithDexForDebug'的执行失败

我正在尝试为Android实施Google登录,而我正在关注instructoins

https://developers.google.com/identity/sign-in/android/start-integrating

但在构建应用程序时,我收到以下错误.

信息:Gradle任务[:app:generateDebugSources,:app:generateDebugAndroidTestSources,:app:assembleDebug]:app:preBuild UP-TO-DATE:app:preDebugBuild UP-TO-DATE:app:checkDebugManifest:app:preReleaseBuild UP-TO-日期:应用:prepareComAndroidSupportAppcompatV72301Library UP-TO-DATE:应用:prepareComAndroidSupportDesign2301Library UP-TO-DATE:应用:prepareComAndroidSupportSupportV42301Library UP-TO-DATE:应用:prepareComGoogleAndroidGmsPlayServicesAds810Library UP-TO-DATE:应用:prepareComGoogleAndroidGmsPlayServicesAnalytics810Library UP-TO-DATE:应用:prepareComGoogleAndroidGmsPlayServicesAppindexing810Library UP-TO-DATE:应用:prepareComGoogleAndroidGmsPlayServicesBase810Library UP-TO-DATE:应用:prepareComGoogleAndroidGmsPlayServicesBasement810Library UP-TO-DATE:应用:prepareComGoogleAndroidGmsPlayServicesIdentity810Library UP-TO-DATE:应用:prepareComGoogleAndroidGmsPlayServicesMeasurement810Library UP-TO-DATE:应用:prepareComGoogleAndroidGmsPlayServicesPlus810Library UP-TO-DATE :应用:prepareDebugD 依赖:app:compileDebugAidl UP-TO-DATE:app:compileDebugRenderscript UP-TO-DATE:app:generateDebugBuildConfig UP-TO-DATE:app:generateDebugAssets UP-TO-DATE:app:mergeDebugAssets UP-TO-DATE:app:generateDebugResValues最新消息:app:processDebugGoogleServices找不到包名为'com.questo.rugved.questo'的匹配客户端:app:generateDebugResources:app:mergeDebugResources UP-TO-DATE:app:processDebugManifest UP-TO-DATE:app: processDebugResources UP-TO-DATE:app:generateDebugSources UP-TO-DATE:app:preDebugAndroidTestBuild UP-TO-DATE:app:prepareDebugAndroidTestDependencies:app:compileDebugAndroidTestAidl UP-TO-DATE:app:processDebugAndroidTestManifest UP-TO-DATE:app:compileDebugAndroidTestRenderscript最新版本:app:generateDebugAndroidTestBuildConfig UP-TO-DATE:app:generateDebugAndroidTestAssets UP-TO-DATE:app:mergeDebugAndroidTestAssets UP-TO-DATE:app:generateDebugAndroidTestResValues UP-TO-DATE:app:generateDebugAndroidTestResources UP-TO-DATE :应用:mergeDebugAndr oidTestResources UP-TO-DATE:app:processDebugAndroidTestResources UP-TO-DATE:app:generateDebugAndroidTestSources UP-TO-DATE:app:compileDebugJavaWithJavac UP-TO-DATE:app:compileDebugNdk UP-TO-DATE:app:compileDebugSources UP-TO-日期:app:transformClassesAndResourcesWithExtractJarsForDebug:app:transformClassesWithDexForDebug UNEXPECTED TOP-LEVEL EXCEPTION:错误:任务':app:transformClassesWithDexForDebug'的执行失败.com.android.build.transform.api.TransformException:com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'command'/ usr/lib/jvm/java-7-oracle/bin/java''以非零退出值2结束信息:BUILD FAILED信息:总时间:1分钟39.994秒信息:1错误信息:0警告信息:在控制台中查看完整输出

我的顶级gradle是


    buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:1.3.0'
            classpath 'com.google.gms:google-services:1.4.0-beta3'

            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module …

android gradle android-gradle-plugin google-signin

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

在Android Studio(Linux)中启动时Android模拟器设备崩溃

当我启动该设备时,它崩溃并在Android Studio的控制台中显示此错误:

emulator64-arm:../../../../../../../src/mesa/drivers/dri/i915/i915_fragprog.c:1225:i915BindProgram:断言`p-> on_hardware = = 0'失败.

当我使用Genymotion它时,没有任何错误通知处理.

linux android genymotion

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

使用模板来提高代码的抽象级别?

我正在浏览CppCoreGuidelines的T.1,并且有以下示例

例1

template<typename T>
    // requires Incrementable<T>
T sum1(vector<T>& v, T s)
{
    for (auto x : v) s += x;
    return s;
}
Run Code Online (Sandbox Code Playgroud)

例2

template<typename T>
    // requires Simple_number<T>
T sum2(vector<T>& v, T s)
{
    for (auto x : v) s = s + x;
    return s;
}
Run Code Online (Sandbox Code Playgroud)

根据上面的指南,这些例子在概念上是不好的,因为它错过了泛化的机会(受限于"可以递增"或"可以添加"的低级概念).

如何表达上述模板才能被称为良好的通用模板?

c++ cpp-core-guidelines

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

将变量传递给SSIS包中的powershell脚本

我正在尝试将SSIS变量传递到通过SSIS中的Process Task运行的PowerShell脚本,即使使用SSIS 2008,如果这有任何区别

这是使用PowerShell脚本的副本,当使用硬编码值执行时,它运行正常

param ([string]$SourceServer, [string]$DestinationServer, [string]$Filename )

$SourceServer = "SERVERA"
$DestinationServer = "SERVERB"
$Filename = "DbNAME.mdf"

$SourcePath = "\D$\Data\"
$DestinationPath = "\D$\Data\Backups\"

$Source = '\\' + $SourceServer + $SourcePath + $Filename
$Destination = '\\' + $DestinationServer + $DestinationPath + $Filename

copy-item -path $Source -destination $Destination -verbose
Run Code Online (Sandbox Code Playgroud)

如果我对param进行硬编码,我可以让PowerShell脚本正常运行,但是只要我将其更改为变量,变量值就不会被传递

在流程任务中,这是可执行文件

"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"
Run Code Online (Sandbox Code Playgroud)

正确构建参数字符串,因此我知道传入的变量值

-ExecutionPolicy Unrestricted -File "C:\Qarefresh.ps1" "DbaseA.mdf"
Run Code Online (Sandbox Code Playgroud)

这是表达式的代码

"-ExecutionPolicy Unrestricted -File \"" +  "C:\\Qarefresh.ps1\" \"" + @[User::QA_FileName] + "\""
Run Code Online (Sandbox Code Playgroud)

我对PowerShell比较新,所以如果我错过了一些基本的东西,我会道歉,但我很接近用这个来拉我的头发

提前感谢您提供的任何帮助

powershell ssis

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

如何获取当前日期时间 - 日期()和日历()

我希望从当前日期开始的小时和分钟将是2016年10月10日结束的日子

package com.mkyong.date;

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateDifferentExample
{
    public static void main(String[] args)
    {
        DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        //get current date time with Date()
        Date date = new Date();
        System.out.println(dateFormat.format(date));
        //get current date time with Calendar()
        Calendar cal = Calendar.getInstance();
        System.out.println(dateFormat.format(cal.getTime()));
        String dateStart = "01/14/2012 09:29:58";
        String dateStop = "01/15/2012 10:31:48";
        //HH converts hour in 24 hours format (0-23), day calculation
        SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
        Date d1 = null;
        Date d2 = null; …
Run Code Online (Sandbox Code Playgroud)

java time datetime date date-arithmetic

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

Android Studio错误:无法在模拟器中启动AVD

错误:调整分区e2fsck的大小失败,退出代码为1。

我已确保在设置我的AVD时完全按照此视频操作。每当我使用x86_64系统映像运行AVD时,都会收到以下消息:

无法在模拟器中启动AVD。输出:使用参数创建文件系统:大小:69206016块大小:每组4096个块:32768错误:调整分区e2fsck的大小失败,退出码为1索引节点:每组4224索引节点大小:256日志块:1024标签:块:16896块组: 1保留的块组大小:7创建具有11/4224索引节点和1302/16896块的文件系统。已启用Hax Hax ram_size 0x60000000 HAX正在运行,并且仿真器以快速virt模式运行。模拟器:正在监听端口上的控制台连接:5554模拟器:该模拟器的序列号(对于ADB):emulator-5554模拟器:警告:-scale标志已过时,将被忽略。

每当我使用常规的x86系统映像运行它时,都会收到以下消息:

无法在模拟器中启动AVD。输出:仿真器:警告:用户数据分区的大小从550 M调整为800 M错误:调整分区e2fsck的大小失败,退出代码为1启用Hax Hax ram_size 0x60000000 HAX正在运行,并且仿真器以快速virt模式运行。模拟器:正在监听端口上的控制台连接:5554模拟器:该模拟器的序列号(对于ADB):emulator-5554模拟器:警告:-scale标志已过时,将被忽略。

我有一台运行Windows 10的64位系统的计算机。我已经尝试了Lollipop 22 x86_64和Lollipop 22 x86系统映像,但是它们都失败了。

我不知道是什么问题。任何帮助将不胜感激。

谢谢

android android-studio

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

使用屏幕键盘输入时,Android中的EditText不显示文本

我有一个由3个EditText字段组成的活动(以及其他诸如TextViews和一些按钮)。我也有一个使用ArrayAdapter的String列表的AutoCompleteTextView。

每当我在模拟器中测试该应用程序时,我都可以在键盘启动时进行键入,但它不会显示文本(仍会提供预测),并且仅在键盘关闭时该文本才会显示在EditText框中。当我也在手机上进行测试时,也会发生这种情况。但是,如果屏幕上的键盘没有弹起,而您只是在正常键入,则在您在模拟器上键入时,它将起作用并显示。

我不知道为什么!

这是我的Activity XML(其中EditText是前3个块)

 <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/l"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_x="3dp"
    android:layout_y="5dp"
    android:background="@drawable/gymbg" >


   <AutoCompleteTextView android:id="@+id/inputExercise"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:completionThreshold="1"
        android:inputType="text"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/timeSet"
        android:layout_margin="10dp"
        android:layout_marginTop="50dp"
        android:width="200dp" />  

    <EditText
        android:id="@+id/inputWeight"
        android:inputType="number"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/inputExercise"
        android:layout_margin="10dp"
        android:layout_marginTop="50dp"
        android:width="200dp" >
    </EditText>

    <EditText
        android:id="@+id/inputReps"
        android:inputType="number"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/inputWeight"
        android:layout_margin="10dp"
        android:layout_marginTop="50dp"
        android:width="200dp" >
    </EditText>

    <TextView
        android:id="@+id/timeMain"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="@string/timeMain"
        android:textSize="32sp" 
        android:textColor="#0F293B"/>

    <TextView
        android:id="@+id/timeSet"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/timeMain"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="24dp"
        android:text="@string/timeSet" 
        android:layout_marginBottom="50dp"
        android:textColor="#0F293B"/>

    <TextView
        android:id="@+id/labExercise"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/addbutton"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/timeSet"
        android:layout_centerVertical="true"
        android:layout_margin="10dp" …
Run Code Online (Sandbox Code Playgroud)

eclipse android android-edittext

4
推荐指数
2
解决办法
7817
查看次数

如何理解Go内存模型中的“同步错误”样本

我刚刚开始学习 golang,在阅读Go 内存模型时,我遇到了一个问题来理解它所说的“另一个不正确的习惯用法是忙着等待一个值”,

var a string
var done bool
func setup() {
    a = "hello, world"
    done = true
}
func main() {
    go setup()
    for !done {
    }
    print(a)
}
Run Code Online (Sandbox Code Playgroud)

它说:

“更糟糕的是,不能保证 main 会观察到对 done 的写入,因为两个线程之间没有同步事件。不能保证 main 中的循环完成。”

我知道在 setup() 中写入“a”和“done”的顺序不是确定性的,我的问题是:为什么 main 不能保证看到写入完成?

谢谢

synchronization go

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