小编Ben*_*rey的帖子

如何使用web.config文件强制HTTPS

我搜索了Google和StackOverflow试图找到解决方案,但它们似乎都与ASP.NET等有关.

我通常在我的服务器上运行Linux,但是对于这个客户端,我使用Windows与IIS 7.5(和Plesk 10).这就是为什么我对IIS和web.config文件略有不熟悉的原因.在.htaccess文件中,您可以使用重写条件来检测协议是否为HTTPS并相应地重定向.有没有一种简单的方法可以使用web.config文件实现这一点,甚至使用我安装的" URL Rewrite "模块?

没有使用ASP.NET的经验,所以如果这涉及到解决方案,那么请包括如何实现的明确步骤.

我使用web.config而不是 PHP 执行此操作的原因是我想在站点内的所有资产上强制使用HTTPS.

c# asp.net iis https web-config

208
推荐指数
4
解决办法
21万
查看次数

在DOM中移动元素以进行响应式Web设计

简要说明

我创建了一个响应式网站,有效地拥有三个视图(桌面,平板电脑,移动设备).大部分设计都是通过CSS使用媒体查询进行更改(因为它应该用于响应式网站).但是,部分设计太复杂,不能简单地通过CSS操作,因为HTML实际上需要在DOM周围移动.我知道这听起来不太好但是我无法看到我是如何在不移动HTML中的某些元素的情况下复制此设计的.

因此,考虑到上述情况,我现在计划编写一个函数,为每个不同的"响应视图"创建自定义事件.当每个事件被触发时(与CSS媒体查询同步),它将执行一些Javascript来移动/动画使用CSS无法操纵的任何元素.

我的问题

这是最好的方法吗?如果,不是,我还有其他选择吗?我可以查看和学习任何现有的图书馆吗?

我的实际问题是; 在DOM中移动元素以进行响应式网页设计的最佳方法是什么?

进一步说明

如果上述内容不明确,请阅读以下内容:

考虑以下三种不同的观点:

反响意见

现在考虑前两个视图的代码:

桌面

<div id="some_container">
    <nav>
        <ul>
        </ul>
    <nav>
    <p>Some Text</p>
    <!-- The rest of the content -->
</div>
Run Code Online (Sandbox Code Playgroud)

片剂

<div id="some_container">
    <p>Some Text</p>
    <nav>
        <ul>
        </ul>
    <nav>
    <!-- The rest of the content -->
</div>
Run Code Online (Sandbox Code Playgroud)

请注意,nav标签已移至p标签下方...

html javascript css jquery responsive-design

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

图像精灵实际上比单独的图像效率更高吗?

我在两年前开始使用图像精灵,因为我看到Apple和Facebook这样的网站在他们的网站上使用它们.

毫无疑问,如果您下载一个60kb图像而不是三个20kb图像,加载页面会更快,但是,我最近被告知精灵虽然加载速度更快,但实际上客户端的内存消耗更多.

在我眼里:

  1. 精灵加载速度更快,占用带宽更少
  2. 从开发人员的角度来看,它们更易于维护,因为所有图形都在一个地方

但是,在我的同事眼中:

  1. 每次在页面上引用精灵时,图像都会在内存中创建,从而减慢客户端浏览器的速度
  2. 加载速度的差异不足以证明浏览器的内存使用量增加是合理的
  3. 互联网旨在以小数据包传输,因此加载较小的图像比加载较大的图像更好

这让我提出这个问题,精灵实际上是值得使用还是我的同事咆哮着错误的树?

css memory image css-sprites sprite

15
推荐指数
1
解决办法
2547
查看次数

在 Azure Blob 存储上使用静态网站选项托管 SPA(干净的 URL 和深层链接)

我已经$web按照 Microsoft 文档中的建议,使用容器成功地在 Azure Blob 存储上建立了一个静态网站。另外,我已经定义index.html两种的“索引文件名称”和“错误文件名”。这是因为我希望我的 JavaScript 应用程序处理404响应。

但是,当查看 Chrome 中的网络选项卡时,我可以看到404为我请求的 URL 抛出了a ,尽管该页面实际上可以正常工作。

我的理论如下:

  • Azure 检查“文件”是否存在
  • 如果文件存在,则返回它
  • 如果文件不存在,它会抛出 a404并将 URL 重写为“错误文档名称”,即index.html在我的情况下(因此我的页面仍然有效)

我的问题是我的网址是干净的网址,例如:

/activities/some-slug 永远不会作为文件存在,这只是告诉我的 JavaScript 应用程序在哪里路由请求,即加载什么视图。

需要明确的是,该页面确实有效,因为它仍在将404错误路由到index.html.

我怎样才能告诉 Azure blob 只将所有内容路由到index.html并让我的应用程序在404必要时抛出?

我们确实已经设置了 Premium Verizon CDN,因为我最初不知道 Azure Blob 上的静态网站选项。如果 CDN 是最佳途径,请您提供有关如何配置 CDN 以提供我想要的内容的说明吗?

我尝试过/研究过的

我已经阅读了很多文章(特别是这篇文章中的评论),我相信可能有各种解决方案,即 Azure Functions、代理、CDN 等。也就是说,没有一个提供关于如何使用这些特定服务的明确说明。

我通常在 AWS 上工作,因此并不熟悉所有 Azure …

azure static-site azure-storage-blobs single-page-application azure-cdn

15
推荐指数
2
解决办法
3345
查看次数

SQL语句中的反引号和方括号有什么区别?

我以为会有另外一个问题,但我无法找到.在使用PHP的MySQL中,我通常使用反引号封装我的字段名称以掩盖任何保留的名称或字符.但是,我的一位同事指出,这也可以使用方括号来实现.排除反引号与SQL服务器不兼容的事实(显然),有什么区别?我应该使用哪个?

SELECT `username` FROM `users`
SELECT [username] FROM [users]
Run Code Online (Sandbox Code Playgroud)

mysql sql sql-server-2008

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

Lib-OpenSSL依赖问题在OSX上发布了Laravel和Composer

我的问题

简而言之,当我运行时composer update,我收到以下错误:

  Problem 1
    - tymon/jwt-auth 0.5.4 requires namshi/jose 5.0.* -> satisfiable by namshi/jose[5.0.0, 5.0.1, 5.0.2].
    - tymon/jwt-auth 0.5.5 requires namshi/jose 5.0.* -> satisfiable by namshi/jose[5.0.0, 5.0.1, 5.0.2].
    - tymon/jwt-auth 0.5.6 requires namshi/jose 5.0.* -> satisfiable by namshi/jose[5.0.0, 5.0.1, 5.0.2].
    - tymon/jwt-auth 0.5.7 requires namshi/jose 5.0.* -> satisfiable by namshi/jose[5.0.0, 5.0.1, 5.0.2].
    - tymon/jwt-auth 0.5.8 requires namshi/jose 5.0.* -> satisfiable by namshi/jose[5.0.0, 5.0.1, 5.0.2].
    - tymon/jwt-auth 0.5.9 requires namshi/jose 5.0.* -> satisfiable by namshi/jose[5.0.0, 5.0.1, 5.0.2].
    - …
Run Code Online (Sandbox Code Playgroud)

macos openssl jwt laravel composer-php

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

PDO库比原生MySQL函数更快吗?

我已经阅读了几个有关此问题的问题,但我担心随着这些问题得到解答,PDO库的新版本已经发布,它们可能已经过时了.

我编写了一个MySQL类,用于构建查询和转义参数,然后根据查询返回结果.目前这个类正在使用内置的mysql函数.

我很清楚使用PDO库的优点,例如它与其他数据库兼容,存储过程更容易执行等等.但是,我想知道的只是简单; 是否更快地使用PDO库,然后使用mysql内置函数?

我刚刚为MsSQL编写了等效的类,所以重写它以适用于所有数据库都不会花费我很长时间.是值得的还是PDO库更慢?

php mysql sql pdo

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

Websocket或Long Polling(使用AJAX)使用PHP检测数据库中的更改

我的研究

我花了几个小时研究Google和SO关于Websockets和Long Polling,它们的优缺点等,但我还没有找到一个明确的解决方案.

我已经阅读了关于这个主题的更多文章然后我研究过的任何内容,包括这些(仅举几例):

  1. Ajax/PHP - 我应该使用一个长时间运行的脚本还是轮询?
  2. 使用jQuery和PHP进行长轮询
  3. 轮询数据库的变化 - Ajax/jQuery

我还研究了以下内容:

  1. http://cometdproject.dojotoolkit.org/
  2. http://socket.io/

这个问题的理由

乍一看,这个问题可能看似重复或过于局部化,然而,经过我的广泛研究后,我无法收集足够的信息来做出明智的决定,确定哪条路线会失效.

因此,我希望你们中的一位天才会帮助你们回答这个问题并与我们其他人分享你们的精彩知识:-)

我的问题

简而言之,我的问题确实在标题中; 如果我试图检测数据库记录的更改,使用websocket(socket.io)或长轮询(jQuery和AJAX)会更好吗?

如果答案是websockets,那么请包括一个基本的例子,因为这些让我很困惑,即使是Google上的所有文章......

此外,可能有其他方式做到这一点更好或更适合,如果是这样请分享,我愿意接受任何建议!


附加信息

这可能不会影响最终答案,但为了以防万一,我想解释一下我想要检测的内容以及可能需要考虑的一些事项.

实际上,我正在尝试检测登录会话的任何更改.换句话说,如果用户令牌在数据库中已更改或其超时已用完,则它们已被注销,我想显示一条消息,通知他们这一点.

我不认为这会有所作为,但最终的代码需要适合SSL.使用AJAX很容易,但我不熟悉websockets方面.

最初,我编写了一个系统,使用javascript从服务器检索超时,然后在timeout几秒钟内,它将轮询服务器以查看是否timeout已过期.我认为这是完美的,直到我意识到它只在客户端计算机上的时间与服务器上的时间匹配时才有效.因此我不得不废弃这个:-(

无论如何,我希望我的问题不是太局部化,我期待听到你的意见和答案.请不要浪费你的时间来帮助我使用PHP数据库代码或jQuery AJAX代码,除非它有复杂的部分,因为我能够自己编写这个部分,并且堆栈上有很多其他需要你的帮助比我多.如果他们是更好的解决方案,我对你的意见和/或如何使用websockets更感兴趣:-).

php mysql ajax jquery websocket

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

将多个文件与Laravel Mix结合使用

我目前正在潜入Laravel Mix,到目前为止,虽然我完全理解Laravel Mix是什么以及它是如何工作的,但我想了解更多关于常见做法和'How-Tos'......

例如,考虑这个文件结构:

/resources/assets/js/app.js (all global functions)
/resources/assets/js/index/index.js (functions specific to index.js)
/resources/assets/js/about/about.js (functions specific to about.js)
/resources/assets/js/contact/contact.js (functions specific to contact.js)
Run Code Online (Sandbox Code Playgroud)

现在,理想情况下,我希望通过以下方式合并和缩小以下内容:

/public/js/index/index-some_hash.js (including app.js)
/public/js/about/about-some_hash.js (including app.js)
/public/js/contact/contact-some_hash.js (including app.js)
Run Code Online (Sandbox Code Playgroud)

据我了解,实现这一目标的方法如下:

// Index
mix.js([
    'resources/assets/js/app.js',
    'resources/assets/js/index/index.js'
], 'public/js/index/index.js').version();

// About
mix.js([
    'resources/assets/js/app.js',
    'resources/assets/js/about/about.js'
], 'public/js/about/about.js').version();

// Contact
mix.js([
    'resources/assets/js/app.js',
    'resources/assets/js/contact/contact.js'
], 'public/js/contact/contact.js').version();
Run Code Online (Sandbox Code Playgroud)

我的问题

很简单,我想知道以上是否是正确的方法来做我想做的事情?是否有更好的方法,或更常见的方法来实现这一目标?

如果上述结构错误,我的文件还有其他方式可以合并,请分享您的知识.但是,除非有充分的理由,否则我想避免以下情况:

  • 为每个页面提供两个单独的文件,即app.min.js和index.min.js.这需要每页两次查找,理想情况下应该尽可能少
  • 将同一文件提供给我网站上的所有页面.将代码提供给不会使用它的页面是浪费资源,无论缓存...

一个想法......

我注意到其中一个JS文件中有一行代码; require('./bootstrap');.叫我老式,但我从未在JavaScript中看到过这种情况(我假设它来自node.js).也就是说,显然它只是将bootstrap.js文件作为依赖项加载到特定文件中.因此,考虑到这一点,以下解决方案是否会更好:

about.js

require('./app'); // Include global functions

// Do some magic here specifically …
Run Code Online (Sandbox Code Playgroud)

node.js laravel gulp laravel-elixir laravel-mix

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

根据特定数据计算用户的相关性

我目前正在尝试形成一种算法,该算法将根据某些数据位计算relevancea user到另一个算法user.

不幸的是,自从大约十年前离开学校以来,我的数学技能已经恶化,因此,我非常挣扎于此.我发现了一种在线算法,可以将"热门"帖子推到新闻源的顶部,并认为这是一个很好的起点.这是我在网上找到的算法/计算(在MySQL中):

LOG10(ABS(activity) + 1) * SIGN(activity) + (UNIX_TIMESTAMP(created_at) / 300000)
Run Code Online (Sandbox Code Playgroud)

我希望做的是调整上述概念来处理我自己的应用程序中的数据和模型.考虑这个用户对象(修剪):

{
    "id": 1
    "first_name": "Joe",
    "last_name": "Bloggs",
    "counts": {
        "connections": 21,
        "mutual_connections": 16
    },
    "mutual_objects": [
        {
            "created_at": "2017-03-26 13:30:47"
        },
        {
            "created_at": "2017-03-26 14:25:32"
        }
    ],
    "last_seen": "2017-03-26 14:25:32",
}
Run Code Online (Sandbox Code Playgroud)

上面有三位相关信息需要在算法中考虑:

  • mutual_connections
  • mutual_objects但是考虑到旧物体不应该像新物体那样提高相关性,因此不应该提高created_at场地的相关性.
  • last_seen

任何人都可以建议一个相当简单的(如果可能的话)这样做的方式?

这是我的想法,但老实说,我不知道它在做什么,所以我不能确定它是否是一个很好的解决方案,我也错过了,last_seen因为我找不到添加这个的方法:

$mutual_date_sum = 0;

foreach ($user->mutual_objects as $mutual_object) {
    $mutual_date_sum =+ strtotime($mutual_object->created_at);
}

$mutual_date_thing = $mutual_date_sum / (300000 * count($user->mutual_objects));

$relevance …
Run Code Online (Sandbox Code Playgroud)

php mysql algorithm math laravel

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