小编Fai*_*zan的帖子

是树导向还是无向图?

我读过Tree是Graphs的特例.图可以是定向的或不定向的.但是如果我们认为树作为数据结构是指向还是无向图?

tree graph directed-graph data-structures

14
推荐指数
4
解决办法
6071
查看次数

当服务器出现故障/崩溃时,Node JS会自动重启所有JS进程

我正在使用永远的js来保持我的节点服务器在AWS EC2上全天候运行.

我用这个命令

forever start index.js
Run Code Online (Sandbox Code Playgroud)

但是,我注意到有一段时间它会随机停止进程并且我的网站出现故障.我必须手动ssh到我的服务器再次运行它:

forever restartall
Run Code Online (Sandbox Code Playgroud)

然后它会备份.有没有办法我可以定义超时,假设服务器/网站在5秒内没有响应200,然后自动重启所有永久进程?

我是新手,如果有人能为我的案例一步一步地举例,那就太棒了.

javascript restart amazon-ec2 node.js forever

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

Node JS进程内存不足

我正在使用 Forever JS 来持续运行我的节点 JS 服务器,但是偶尔服务器会崩溃并且站点会关闭一段时间。

我查看了永远的日志,这里显示:

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory

<--- Last few GCs --->

35251732 ms: Mark-sweep 687.6 (219898.0) -> 687.6 (527360.0) MB, 13522.0 / 0 ms [allocation failure] [scavenge might not succeed].
35267178 ms: Mark-sweep 687.6 (527360.0) -> 687.6 (940128.0) MB, 15445.8 / 0 ms [allocation failure] [scavenge might not succeed].
35282842 ms: Mark-sweep 687.6 (940128.0) -> 687.6 (1352896.0) MB, 15664.3 / 0 ms [last resort gc].
35298326 ms: Mark-sweep 687.6 …
Run Code Online (Sandbox Code Playgroud)

javascript garbage-collection process node.js forever

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

限制Jquery select2最大选定选项

我已经提到了select2 jquery插件提供的这个文档. http://ivaynberg.github.io/select2/

但是,当我使用此代码来限制用户一次可以选择的选项数量时:

$(document).ready(function(){
    $(".select2").select2({ maximumSelectionSize: 2 });
    });
Run Code Online (Sandbox Code Playgroud)

以下是select标签的html:

  <select id="store-name" name="state[]" class="select2-select-00 span6" multiple size="5"
            data-placeholder="Store" style="height:25px;">


        <?php foreach ($this->Store->get_all_stores_names() as $row) {

        //print_r($row);
          echo '<option value="' . $row->name . '"> ' . $row->name . '</option>';
        }
        ?>

    </select>
Run Code Online (Sandbox Code Playgroud)

当我尝试限制它时,我在控制台中收到此错误,"Uncaught TypeError:Object [object Object]没有方法'select2'".为什么?我的意思是select2工作正常,这意味着它正在加载js文件,那么为什么我无法限制它?谢谢

javascript limit uncaught-exception jquery-select2

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

混合内容:从https页面调用API中的http内容

我的页面是https,但我在AJAX中调用的API网址是http.我无法得到AJAX响应.混合内容:" https:// localhost:8443/examples/demo.html "页面是通过HTTPS加载的,但请求了一个不安全的XMLHttpRequest端点" http://www.earthtools.org/timezone-1.1/40.71417/- 74.00639?_ = 1431270529277 '.此请求已被阻止; 内容必须通过HTTPS提供.

我该如何解决这个问题?

HTTPS的HTTPS版本不存在.我怎样才能从我的HTTPS启用页面调用.我希望我的页面是HTTPS,这非常重要.

有帮助吗?

api ajax https http mixed-content

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

防止 Socket IO 在 Chrome、firefox 和 Safari 移动浏览器上的非活动或未聚焦浏览器页面上 ping 超时

我有一个使用 socket io的简单聊天应用程序。非常类似于socket io chat 官方demo。每当用户最小化页面或打开另一个应用程序或页面脱离焦点时,Socket io 就会在所有移动浏览器上 ping 超时。

在我的 Web 应用程序中,每当用户从移动设备上的 chrome/firefox/safari 浏览器单击文件输入上传时,它都会打开电话对话框以从厨房中选择文件以进行选择和上传。在此期间(我的聊天页面由于可见性而失去焦点),当用户搜索文件时,恰好在 30 秒后,socket io 客户端发出 ping 超时,人员聊天断开连接。

在我的应用程序级别,如果 socket io 由于任何原因进入 ping 超时,我正在重新连接,但这并不能解决我的问题,因为如果用户在 31 秒后单击 1 个文件,则不会发送该图像文件聊天,因为套接字 io 在此期间超时,当用户的焦点重新回到浏览器选项卡上时,需要几秒钟才能重新连接。因此文件上传操作丢失,因为文件已上传但套接字 io 连接处于 ping 超时状态。所以当它重新连接时,选定的文件上传永远不会发送给其他连接的用户。

我尝试使用此代码检测何时用户的页面焦点已关闭,

document.addEventListener("visibilitychange", onchange);
Run Code Online (Sandbox Code Playgroud)

有没有办法来检测,如果浏览器窗口不是当前处于活动状态?

然后一旦页面没有聚焦,我使用 setinterval 将我的自定义心跳事件发送到我的服务器代码。(只是为了防止 socket io 与服务器通信以保持连接有效)。这适用于桌面浏览器,但在所有移动浏览器上,只要用户的页面不在焦点上,即如果用户最小化浏览器,则打开一个新应用程序,或转到选择文件上传屏幕,套接字 io 在 30 秒后超时,有时甚至更快。

我的客户端js代码:

var beating;
//function to detect if user gone out of page

//startSimulation and pauseSimulation defined elsewhere
function handleVisibilityChange() {
  //socket = this.socket;
  if (document.hidden) { …
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome settimeout node.js socket.io

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

如何首先执行 Ajax 调用以获取 lat/lng,然后使用标记加载 Google 地图?

我正在做一个 ajax 调用来检索存储在 sql 数据库中的商店位置的纬度和经度。这是我的 ajax 调用并返回所有 lats 和 lngs 的 json 对象。

$.ajax({
        type:"GET",
        dataType:"json",
        url:"<?php echo site_url("sandbox_faizan/get_coordinates") ?>",
        success: function(result)
        {
            my_arr = result;

          for(var i=0;i<result.length;i++)
           {
               store_points(result[i].lat,result[i].lng)
           }
    });
Run Code Online (Sandbox Code Playgroud)

现在我已将此 json 对象存储在我自己的数组对象中,该对象将用于在地图上添加标记。这是在加载地图之前在此处完成的。

<script type="text/javascript">
var point=[];
point = [
    new google.maps.LatLng(37.569309, -122.32617500000003)
];
function store_points(lat,lng)
{
    //used to show markers

    point = [
        new google.maps.LatLng(lat,lng)
    ];
}
        var map;
        var mapOptions = {
            center: new google.maps.LatLng(51.3, -1.80),
            zoom: 6,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var pinImage = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_xpin_letter_withshadow&chld=pin_star|%E2%80%A2|CC3300|000000|FF9900", …
Run Code Online (Sandbox Code Playgroud)

ajax jquery json google-maps latitude-longitude

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

即使在使用 sudo nohup 后,Amazon EC2 NodeJS 服务器也会在 2 天后自行停止

我在http://talkwithstranger.com/ 上运行我的应用程序,并将它部署在 AWS EC2 上。我用这个命令

sudo nohup node index.js &
Run Code Online (Sandbox Code Playgroud)

即使我关闭终端并退出我的 SSH,也要继续运行我的 Node JS 服务器。

但是,每次醒来2天后,我发现节点服务器本身会自动停止。我通过使用检查了正在运行的进程

ps -ef
Run Code Online (Sandbox Code Playgroud)

我的节点脚本不存在。

谷歌浏览器说未找到站点 DNS,因为 NodeJS Express 当然没有运行来提供我的 html 文件,但为什么它会自行停止?

是什么导致我的服务器在每 2 天后意外关闭?我必须nohup再次手动运行才能再次运行它。

nohup 是否有过期时间之类的?

process amazon-ec2 nohup node.js express

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

如何计算php中两个不同长度数组的相似度百分比

我分别从两个数组中的数据库中检索了两个用户的记录.这些记录是关注其他人的记录,就像在twitter中一样.由于两个用户可能跟随不同数量的人.所以两个数组的长度是不同的.我创建了一个新的数组来存储普通人(两个用户都跟着的人).如何获得两个用户的%相似度.让我们说如果两个用户有5个共同的关注者,他们有2个共同2个用户的相似性.

foreach($common as $row){
//do events
echo $row['name']."<br>";
$count_common++;
}
echo "total common ".$count_common;
$similarity = (count($common)/(count($user1_follows))*100);
Run Code Online (Sandbox Code Playgroud)

上述公式不计算正确的结果,因为它基于具有相同长度的数组.这是一个相关的问题,我得到两个数组在PHP中的相似性百分比

php arrays compare similarity percentage

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

一次与2个用户随机聊天(Socket.io)

我刚刚开始学习NodeJS和Socket.io ...直到现在我有这个演示代码,来自官方socket.io网站:

http://socket.io/demos/chat/

我能够获得连接的每个用户(套接字)的唯一客户端ID,我仍然想弄清楚,如何让我的代码在有人运行应用程序时只与1个随机用户连接.我只是想随便聊聊像http://www.omegle.com/

只有2个用户应该随机连接并相互聊天,直到他们重新运行应用程序,如果他们回来,他们应该与在线队列中的其他人联系.

有类似行为我需要做哪些改变?

到目前为止,这是我的代码:

专家的代码示例或指导对像我这样的菜鸟真的很有帮助.

更新:添加了客户端站点代码main.js

$(function() {
  var FADE_TIME = 150; // ms
  var TYPING_TIMER_LENGTH = 400; // ms
  var COLORS = [
    '#e21400', '#91580f', '#f8a700', '#f78b00',
    '#58dc00', '#287b00', '#a8f07a', '#4ae8c4',
    '#3b88eb', '#3824aa', '#a700ff', '#d300e7'
  ];

  // Initialize variables
  var $window = $(window);
  var $usernameInput = $('.usernameInput'); // Input for username
  var $messages = $('.messages'); // Messages area
  var $inputMessage = $('.inputMessage'); // Input message input box

  var $loginPage = $('.login.page'); // The login …
Run Code Online (Sandbox Code Playgroud)

sockets random chat node.js socket.io

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