我希望您对谷歌加一个按钮(以及任何其他社交小部件)的问题和解决方案有所了解.
我们有一个高流量站点,运行快速,流畅(加载时间不到1秒).在尝试实施google plus按钮时,我们看到我们的加载时间变得荒谬.
谷歌正在喋喋不休地谈论加载时间,他们仍然制作一个缓慢的小部件?
我们需要社交小部件,但加载速度对我们的用户和SEO至关重要.
我想在网站加载后加载谷歌按钮,这样用户就不会注意到任何速度差异,但仍然有能力加上废话我们.
我想听听这种方法的缺点,或者甚至是更好的解决方案.
在body上使用mouseover事件加载社交窗口小部件.它有效,但我不确定这是否可以接受.
http://www.webpagetest.org 显示与按钮实现之前相同的速度.
使用jquery:
<div id="testcase"></div>
<script type="text/javascript">
$(document).ready(function() {
$('body').mouseover(function() {
$('body').unbind();
// google html
$('#testcase').html('<g:plusone size="medium" annotation="inline"></g:plusone>');
// Google code
var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
po.src = 'https://apis.google.com/js/plusone.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
请让我知道您的想法或我是否可以改进这个想法.
正如文档中所述,laravel 不会在批量更新/插入/删除时触发事件。 https://laravel.com/docs/5.8/eloquent#events
它使用 Builder 来实现此目的,并且不会触发事件。
例如,有没有办法在批量更新后仍然可以触发事件?我只需要查询生成器自己提取所需的信息(日志目的)。
让varnish正确缓存我有点麻烦.
当我转到页面并点击刷新时,清漆将返回缓存页面.但是,如果我再使用另一台计算机并再次点击同一页面(在缓存时间范围内),它将报告一个MISS.
我使用了来自http://www.unixy.net/varnish的cpanel清漆插件
我从我的(php)页面删除了session_start(),我不需要基于用户的cookie.
我也在使用谷歌分析.
这是我的default.vcl
###################################################
# Copyright (c) UNIXY - http://www.unixy.net #
# The leading truly fully managed server provider #
###################################################
include "/etc/varnish/cpanel.backend.vcl";
include "/etc/varnish/backends.vcl";
sub vcl_recv {
# Use the default backend for all other requests
set req.backend = default;
# Setup the different backends logic
include "/etc/varnish/acllogic.vcl";
# Allow a grace period for offering "stale" data in case backend lags
set req.grace = 5m;
remove req.http.X-Forwarded-For;
set req.http.X-Forwarded-For = client.ip;
# cPanel URLs …Run Code Online (Sandbox Code Playgroud) 如何使用 laravel 集合优雅地执行以下操作?
将$baseMap的值映射 为集合的键。
底图:
$baseMap = [
'name' => 'new_name',
'year' => 'new_year',
];
Run Code Online (Sandbox Code Playgroud)
集合:
$items = collect([
[
'name' => 'name1',
'year' => '1000',
'not_in_basemap' => 'foo'
],
[
'name' => 'name2',
'year' => '2000',
'not_in_basemap' => 'foo'
],
//...
]);
Run Code Online (Sandbox Code Playgroud)
最终结果:
$result =[
[
'new_name' => 'name1',
'new_year' => '1000',
],
[
'new_name'=> 'name2',
'new_year' => '2000',
],
];
Run Code Online (Sandbox Code Playgroud)
我知道如何用普通的 php 来做到这一点,只是想知道一个好的集合版本会是什么样。谢谢!
有没有办法在mysql中实现
SELECT COUNT( SUM(field2) ) FROM TABLE WHERE field1='value' GROUP BY field2
Run Code Online (Sandbox Code Playgroud)
返回一行,计算字段2的总和.
字段1 &&字段2都不是唯一的.
如果需要更多信息,请告诉我.
编辑: 我没想清楚.我需要COUNT的COUNT.
所以来自字段2的所有计数值.这可以通过获取行数来实现,但我选择了这个:
SELECT COUNT( first_count ) total_count FROM
( SELECT COUNT( field2 ) as first_count FROM TABLE
WHERE field1='value' GROUP BY field2 )t1
Run Code Online (Sandbox Code Playgroud)
或者是否有更快的查询?
干杯!
假设我有这个字符串,我想把它放在一个多维数组中.
编辑:字符串中的子文件夹数是动态的..从零子文件夹到10
<?php
$string ="Folder1/Folder2/Folder3/filename1\n";
$string .=" Folder1/Folder2/Folder3/filename2\n";
$string .=" Folder4/Folder2/Folder3/filename3\n";
?>
Run Code Online (Sandbox Code Playgroud)
我想要返回以下数组
<?php
Array
(
[Folder1] => Array
(
[Folder2] => Array
(
[Folder3] => Array
(
[0] => filename1
[1] => filename2
)
)
)
[Folder4] => Array
(
[Folder2] => Array
(
[Folder3] => Array
(
[0] => filename3
)
)
)
)
?>
Run Code Online (Sandbox Code Playgroud)
实现这一目标的最有效方法是什么?
为了它的乐趣,让我们说这个数组将被发送到世界的另一端,它想要返回一个字符串.我们怎么做?
使用Laravel 5.5和Mysql(10.1.19-MariaDB)
对于md5哈希,我想要一个binary(16)列。我们称该列为url_hash
使用时:
$table->binary('url_hash');
Run Code Online (Sandbox Code Playgroud)
它会给我一个BLOB列。
来源:https : //laravel.com/docs/5.5/migrations#creating-columns
我已经在网络上看到过各种各样的黑客或插件,但是没有任何可能在下一次更新时中断的外部插件的最简单的工具是什么?
干杯
如何保持字符的默认突出显示替换项目的作用域槽。
https://vuetifyjs.com/en/components/autocompletes#scopedSlots
默认 , 将输出一个 v-list,其中输入中的每个字符在输出中都被“高亮显示”。
<v-autocomplete
v-model="model"
:items="items"
:loading="isLoading"
:search-input.sync="SomeApiDataCall"
item-text="name"
item-value="id"
>
</v-autocomplete>
Run Code Online (Sandbox Code Playgroud)
自定义范围槽 :我想更改列表的设计,但想保留“突出显示”的输出
<v-autocomplete
v-model="model"
:items="items"
:loading="isLoading"
:search-input.sync="SomeApiDataCall"
item-text="name"
item-value="id"
>
<template slot="item"
slot-scope="{ item, tile }"
>
<v-list-tile-content >
<!--the html output needs to be highlighted-->
<v-list-tile-title v-html="item.name"></v-list-tile-title>
</v-list-tile-content>
</template>
</v-autocomplete>
Run Code Online (Sandbox Code Playgroud)
VAutocomplete 导入 > VSelect,导入 > VSelectList
VSelectList 有一个名为genFilteredText的函数
https://github.com/vuetifyjs/vuetify/blob/dev/src/components/VSelect/VSelectList.js#L112
那会做我想做的。如何在自定义 scoped-slot 中实现这一点?
谢谢。
laravel ×3
mysql ×2
php ×2
arrays ×1
eloquent ×1
html ×1
javascript ×1
jquery ×1
laravel-5.5 ×1
laravel-5.7 ×1
seo ×1
sql ×1
varnish ×1
vue.js ×1
vuetify.js ×1