好的,这是我一直在寻找的目标.
众所周知,大多数广告和分析公司使用所谓的"像素"代码来跟踪网站视图,交易,转换等.
我对它是如何工作有一个大概的想法,问题是如何实现它.跟踪代码由几个部分组成.
跟踪代码本身.这是用户在该<head>部分的网页上插入的代码.此代码的主要目标是设置一些客户特定的变量并调用该*.js文件.
*.js文件.此文件包含CRUD(创建/读取/更新/删除)cookie的所有魔力,跟踪用户的事件以及与网页的交互.
像素代码.这是一个<img>标记,其中srcatribute指向一个图像*.gif(例如)文件,该文件获取页面上收集的所有参数,并将它们存储在数据库中.
例:
WordPress像素代码: <img id="wpstats" src="http://stats.wordpress.com/g.gif?host=www.hostname.com&list_of_cookies_value_pairs;" alt="">
Google Analitycs:
http://www.google-analytics.com/__utm.gif?utmwv=4&utmn=769876874&etc
现在,很明显,*.gif请求必须达到服务器端脚本语言才能读取参数数据并将其存储在数据库中.
有谁知道如何在Zend中实现这个?
更新
我感兴趣的另一件事是:如何避免用户的浏览器加载缓存*.gif?一个随机参数值会起作用吗?示例:每个请求src="pixel.gif?nocache=random_number"的nocache参数值都不同.
我正在使用以下布局构建一个Android应用程序.
众所周知,layout_height="wrap_content"这对ViewPager不起作用.
我的问题是如何动态地改变它.ViewPager的内容是从两个xml布局中膨胀的,vp_statistics.xml and vp_campaigns.xml.
这是ViewPager的xml
<LinearLayout
android:id="@+id/topcontent_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/viewpager_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="vertical" >
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
这是我的PagerAdapter的代码
class MyPagerAdapter extends PagerAdapter{
@Override
public int getCount() {
// TODO Auto-generated method stub
return 2;
}
public Object instantiateItem(View collection, int pos){
LayoutInflater inflater = (LayoutInflater)collection.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
int resId = 0;
switch(pos){
case 0:
resId = R.layout.vp_statistics;
break;
case 1:
resId = R.layout.vp_campaigns;
break;
}
View view = inflater.inflate(resId, …Run Code Online (Sandbox Code Playgroud) 我的 base.html 模板文件中有这个:
<body class="{% block body_class %}{% endblock %}">
Run Code Online (Sandbox Code Playgroud)
然后在我的视图模板文件中:
{% block body_class %}my_class{%%}
Run Code Online (Sandbox Code Playgroud)
输出的 HTML 看起来像这样:
<body class="my_class">my_class ...
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
更新
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body class="{% block body_class %}{% endblock %}">
{% block header %}{% endblock %}
{% block content %}{% endblock %}
{% block footer %}
{% endblock %}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
{% extends 'base.html' %}
Run Code Online (Sandbox Code Playgroud)
{% extends 'app/base.html' %}
{% block content %}
{% block body_class %}login{% endblock %}
{% endblock …Run Code Online (Sandbox Code Playgroud) 我们的ES集群存在很大问题.我们的一个节点始终使用99%的CPU.由于某些原因,elasticsearch与普通节点相比,它的进程运行的线程数大约是3倍.我htop为2个节点附加了2个屏幕截图,一个超载,另一个正常.请指教!
谢谢!
重载节点

普通节点

UPDATE
集群架构:
11个节点,2个专用主站,9个数据节点.
节点硬件属性
大师赛:
从站:
集群中的文档:
~200万
指数conf:
每个索引分为10个分片(5个主分片,5个副本)
查询:
搜索RT : ~ 250/s,索引RT:~ 6K/s
OS
Ubuntu 12.04.4 LTS
JAVA
Run Code Online (Sandbox Code Playgroud)java version "1.7.0_60" Java(TM) SE Runtime Environment (build 1.7.0_60-b19) Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)
通读文档以及其他 SO 帖子并没有帮助我找出是否InfluxDB支持写操作的事件侦听器/触发器。因为它用于实时分析,所以我希望在特定点插入特定系列时收到通知。我知道我可以使用,Continuous Queries但在某些情况下,当数据以非常低的非恒定速率插入时,CQs在未更改的查询上运行变得无用。
完美的方案是使用一些事件侦听器/触发器并在数据更改时查询数据。是否InfluxDB支持它或我必须手动实现此功能?
我正在向 Google oAuth 发出请求,以便与 交换授权代码access_token,但是,返回的响应包含值为 的expiry_date(而不是此处expires_in文档中的) 。正如我所看到的,这不是时间戳格式,您知道它是什么吗?PostgreSQL 抛出这个. 我可以将其存储为字符串,但想知道该值,以便我可以检查令牌是否过期。1474636927720date/time field value out of range
我有以下ListView与自定义列表项:

我想TextView从列表项中获取ToggleButton单击的值.
这是构建列表的适配器:
public class simpleAdapter extends SimpleAdapter {
public simpleAdapter(Context context,
ArrayList<HashMap<String, String>> list, int resource,
String[] from, int[] to) {
super(context, list, resource, from, to);
// TODO Auto-generated constructor stub
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
// return super.getView(position, convertView, parent);
LayoutInflater inflater = getLayoutInflater();
convertView = inflater.inflate(R.layout.user_campaigns_list_item, parent, false);
tb_campaigns_list_toggle = (ToggleButton) convertView
.findViewById(R.id.tb_campaigns_list_toggle);
tb_campaigns_list_toggle.setOnClickListener(new OnClickListener() {
public void onClick(View v) { …Run Code Online (Sandbox Code Playgroud) 有没有人知道如何string在PHP中生成一个长的(例如280个字符)随机而不必使用for循环将循环字符280次?我需要它来创建自定义会话ID.
在我看来,PHPSESSID不够安全太短而且不太随机.我知道Facebook和Twitter,使用长会话ID(分别为150,550个字符).
可以选择使用MD5字符串或Bcrypt加密不同的字符串,如PHPSESSID主机,用户代理等,但我不确定这是否正确.
我在我的申请中收到了一个奇怪的警告通知.我usort在一个类中使用自定义函数.这是它的样子:
class Class_Name
{
function zstream_builder()
{
$array = some_array();
//sort posts by date DESC
usort($array, array('Class_Name', 'zstream_sorter')); // <- the notice is thrown on this line
return $array;
}
private static function zstream_sorter($key = 'sort_str_date')
{
return function ($a, $b) use ($key)
{
return strnatcmp($a[$key], $b[$key]);
};
}
}
Run Code Online (Sandbox Code Playgroud)
这是我得到的通知:
Notice: Object of class Closure could not be converted to int in PATH_TO_FILE on line xx
有任何想法吗?
android ×2
java ×2
php ×2
block ×1
cpu ×1
cpu-usage ×1
django ×1
double ×1
google-api ×1
google-oauth ×1
influxdb ×1
javascript ×1
listview ×1
pixel ×1
random ×1
real-time ×1
statistics ×1
string ×1
tracking ×1