小编med*_*iev的帖子

论坛帖子投票/观看的数据库模式,以及递增和显示视图数量的策略

如果现在重要的是我正在使用MySQL/MyISAM,但我愿意使用PostgreSQL.我也愿意使用memcached.

考虑一个用于存储论坛帖子的表格:

id forum_name post_date
1  Hey!       2009-01-01 12:00:00
Run Code Online (Sandbox Code Playgroud)
  • 存储与线程相关的实体(如投票,视图和计数器)的最佳做法是什么?

我是不是该..

创建一个单独的表,如

id thread_id views
1  1         532
Run Code Online (Sandbox Code Playgroud)

或者将它保存为初始线程表中的列?

id forum_name post_date              views
1  Hey!       2009-01-01 12:00:00    532
Run Code Online (Sandbox Code Playgroud)

另一个相关的小窍门,显示和增加页面浏览量的实用解决方案是什么?我读了这个帖子,似乎我只能缓存一段时间的值,我对增量部分并不十分清楚 - 也许就像将值存储在某个地方的平面文件中,然后定期用cronjobs更新数据库论坛视图每小时左右?

编辑: 澄清一下,投票就像SO一样,每个帖子一票,并且可以有逆转.没关系我对柜台的意思.

mysql sql database-design data-modeling database-schema

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

在什么情况下你应该序列化数据?什么时候不应该?

我知道序列化用于将数据类型转换为可存储的格式,用于缓存等目的.

我更具体地问的是,你应该在什么情况下实际决定存储数据(serialize()在PHP中使用,pickle在Python中使用模块等)?

假设我们有一个流量很大的网站,在我们的/blog页面中,我们使用静态内容xml文件,gettext mo文件和动态生成的数据库内容.

示例#1:

我们依赖静态内容的文件是en/blog.xml:

'<content><![CDATA[
<h1>Welcome to my blog!</h1>
<p>Lorem ipsum dolor sit amet..</p>

]]></content>'
Run Code Online (Sandbox Code Playgroud)

我们想要自己序列化这个xml文件并将其存储在缓存中吗?

示例#2:

我们还有一个动态生成的表单,通常我会假设我不会序列化任何东西,因为它是服务器端生成的和动态的,但我们的表单字段标签是国际化的,用户请求这个页面用西班牙语,因此我们使用的是翻译类.抓取以mo/csv/xml格式存储的表单字段标签.

内容contact-us.php:

<label for="first_name"><?php echo $L->_("First Name");?></label>
<input id="first_name" name="first_name" type="text">
Run Code Online (Sandbox Code Playgroud)

"First Name"消息id转换从应用程序级转换文件中提取,我们将其解析并存储在驻留在我们的转换类中的数组中.因此,我们的代码mo在每个页面请求上都不解析文件,而不是在解析mo之后序列化整个数组,然后依赖于序列化的转储,这将是理想的选择.

示例#3:

让我们在我们的博客页面上说我们正在阅读最近的5篇博文.

$posts = BlogClass->sql('SELECT blog_message, blog_author FROM blog_posts LIMIT 5 ORDER BY blog_date DESC');
Run Code Online (Sandbox Code Playgroud)

我们是否希望依赖于memcache之类的东西,只需设置一个键到sql语句的结果,它会序列化查询的结果,还是?

奖金:

如果有人能够提供有效/实际使用/错误使用序列化的具体示例,那就太好了 - 就像一个多页面,巨大的形式,可以提取数据库信息并将内容存储在会话中,或者任何示例你不得不依赖序列化..

php python serialization

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

Django:我如何使用md5密码列实现低级别登录,因为我从旧站点移植了我的用户表?

基本上,我现在有login/urls.py重定向到django.contrib.auth.views.login这似乎迎刃而解.

但是我正在移植来自遗留mysql/php网站的密码,我相信我应该根据http://docs.djangoproject.com/en/dev/topics/auth/#storing-additional-information创建一个新的模型配置文件.- 关于用户.这个新的模型/表将具有旧的md5密码列,我将把用户名移植到主用户表.

如何更改登录方法,以便我首先检查用户是否在auth_user表中有密码,如果没有,则md5 POST password字段并尝试将其与我的新配置文件密码列匹配,如果是,则将密码保存在新的auth_user表格由SHA1加密,就像管理员一样吗?

django django-authentication

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

如何在包含500多张图像的页面上实现延迟加载?

我基本上有一个预订引擎单位结果页面,必须显示40个单位,每个单位有1个大图像的第一个缩略图和X个随附的缩略图图像.

我一直在使用jquery延迟加载插件,但它不够彻底(我在DOM Ready上调用它),加上它在IE中不起作用(50%的客户端使用IE因此这是一个大问题) .

我认为我真正需要做的并不是真正吐出图像而是伪造的元素,例如跨度,并且可能修改我的代码,这样如果用户查看跨度,则将其渲染为图像元素.

<span src="/images/foo.gif">
Run Code Online (Sandbox Code Playgroud)

预订引擎依赖于JS,所以我想我可能只是依赖于ajaxifying所有缩略图并在窗口滚动等上有事件处理程序,以使页面"可用"并平均加载(2-3在高速DSL /电缆上使用秒而不是5到30秒.

我很欣赏任何例子或想法.

相关链接/发现可能有助于解决此问题:

#1:http://github.com/silentmatt/jquery_lazyload

jquery延迟加载的一个分支似乎解决了IE加载并增加了对容器的支持.

#2:youtube.com将一些视频的src设置为1x1透明gif,并在大约前10个结果之后设置延迟加载.

更新

#1:我们决定创建一个脚本来生成缩略图并对它们进行递归生成.我实现了它们.570个缩略图图像中的每一个都是60-120KB,而现在它们只有2 KB.由于570个并发请求,加载速度稍快但仍然很慢,即使延迟加载器插件到位,我也不确定它是否足够快地应用(即使在图像完全加载之前就准备好了DOM).虽然取得了一些进展.

我想在前10个单元之后生成1x1像素的GIF并且只是延迟加载它们.仍然需要研究一种技术.

javascript jquery lazy-loading

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

Javascript - 访问全局变量时出现问题

我希望在两个javascript函数中共享值,但在第二个函数中,我无法从全局变量中获取值

// Following two are global variables
    var grid;
    var masterTable;

    function GridCreated(sender, args)
    {
        grid = sender; // setting values
        masterTable = sender.get_masterTableView(); // setting values - Here masterTable has values in it
        masterTable.selectAllItems(true);
    }



    function abc()
    {
        debugger;
        var collectionofordernumber = 0;


               var selectedrows = mastertable.get_selecteditems(); // HERE I UNABLE TO GET THE VALUES FROM MASTERTABLE

        for (var i = 0; i < selectedrows.length; i++)
               {
                   var row = selectedrows[i];
                   var cell = mastertable.getcellbycolumnuniquename(row, "ordernumber")
           collectionofordernumber = collectionofordernumber …
Run Code Online (Sandbox Code Playgroud)

javascript

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

bash:从find中筛选出目录和扩展名?

我正试图找到最近修改过的文件

find . -mtime 0
Run Code Online (Sandbox Code Playgroud)

哪能给我

en/content/file.xml
es/file.php
en/file.php.swp
css/main.css
js/main.js
Run Code Online (Sandbox Code Playgroud)

但我想过滤掉enes目录,但想抓住别的东西.另外,我想.swp从结果中过滤掉文件.

所以我想回来:

css/main.css
js/main.js
xml/foo.xml
Run Code Online (Sandbox Code Playgroud)

除了所有其他文件未能于es/en中,而不是结束.swp

bash find

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

jQuery循环:在Windows/Firefox/Cleartype Enabled中,淡化白色文本变为"绿色"

在Windows上,似乎当任何背景上有白色文本并且它确实转换时,文本在其opacity值切换回1时自然会变为某种绿色阴影.

这是有道理的.但有没有人知道任何类型的解决方法,以防止它转换到动画之间的绿色阴影,除了将文本的颜色从白色改为其他东西?

在这里有一个完整的演示.

笔记:

  • 它不适用于Linux,因为没有ClearType,只有在Windows上启用ClearType时才会发生.
  • 我指定cleartype:true cleartypeNoBg但据我所知,这只能解决IE7中的另一个问题.
  • 我知道如果你禁用ClearType它会消失

我愿意接受某种涉及不同动画风格(除了褪色)的解决方法,但是抛出你对我的任何想法.

编辑:想想我在这里发现了这个错误.

编辑#2:在这里看过渡.看起来像scrollRight可以代替淡入淡出.

firefox jquery animation cleartype jquery-cycle

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

使用Django从Mysql迁移数据到Postgres - 如何迁移通用表数据,而不是特定于模型?

  1. python manage.py dumpdata modelName > file.json.
  2. meder在postgres上为用户创建了一个空数据库
  3. 修改了pga_hb.conf以便meder可以使用数据库
  4. 更改了设置 settings.py
  5. python manage.py syncdb(我没有创建一个su)
  6. 试图,loaddata file.json但它抱怨超级用户不存在或不匹配...

    回溯(最近一次调用最后一次):文件"manage.py",第11行,在execute_manager(settings)文件中"/srv/python-environments/saltycrane/lib/python2.5/site-packages/django/core/management/ init .py",第438行,在execute_manager utility.execute()文件"/srv/python-environments/saltycrane/lib/python2.5/site-packages/django/core/management/ init .py",第379行,在执行self.fetch_command(子命令).run_from_argv(self.argv)文件"/srv/python-environments/saltycrane/lib/python2.5/site-packages/django/core/management/base.py",第191行,在run_from_argv self.execute(*ARGS,**选项.字典)文件"/srv/python-environments/saltycrane/lib/python2.5/site-packages/django/core/management/base.py",第220行,执行输出= self.handle(*args,**选项)文件"/srv/python-environments/saltycrane/lib/python2.5/site-packages/django/core/management/commands/loaddata.py",第219行,在handle transaction.com中使用(using = using)文件" /srv/python-environments/saltycrane/lib/python2.5/site-packages/django/db/transaction.py",第199行,在commit connection._commit()文件"/ srv/python-environments/saltycrane/lib /python2.5/site-packages/django/db/backends/ init.com",第32行,在_commit中返回self.connection.commit()psycopg2.IntegrityError:在表上插入或更新"bugs_bug"违反外键约束"poster_id_refs_id_89e0243f"DETAIL:键(poster_id)=(1)不存在于表"auth_user".

我不应该同步syncdb吗?我应该为通用表格转储数据吗?我仍然在MySQL中完整的数据库但是会欣赏任何方向.

SIDENOTE:我确实south安装了.我--initial几天前做了命令.也许我也可以使用南方?

migration django

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

bash:有没有将文件复制到多个地方而没有循环/重击脚本的快捷方式?

我试过cp initial.txt {foo,bar,baz}但得到baz的不是目录.而且cp initial.txt foo bar baz也不起作用.

有没有一种方法可以做到这一点,而无需制作shell脚本并多次循环和调用cp?我认为必须有一个简洁的方法来做到这一点.

bash

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

Woocommerce - 无法使用Quick Order One Page Shop作为访客添加到购物车?

使用插件@ http://products.solvercircle.com/woocommerce-one-page-quick-shop/quick-shop/

好像我在管理员中以普通用户身份登录,我可以将商品添加到购物车中.如果我作为访客添加到购物车但是它执行ajax请求并返回"1"但该项目从未添加到购物车.

有谁知道为什么会这样?我在网站上停用的其他2个插件我仍然可以重现这个,所以我相信这是这个插件中的一个错误.

编辑:我确认"客人可以结帐"设置框已应用,所以似乎不是这样.

编辑#2:这是添加到购物车fn:

  function wqo_add_prod(pid,vid){
    var qty= jQuery('#product_qty_'+vid).val();
    if(qty==0){
      jQuery('#wqo_alert_info').text('Out of Stock');
      jQuery('#wqo_alert_info').show()
      setTimeout(function(){jQuery('#wqo_alert_info').hide()}, 1500);      
      return false;
    }
    if(vid==0){
      qty= jQuery('#product_qty_'+pid).val();
    }

    var ajax_url = 'http://DOMAIN.com/wp-admin/admin-ajax.php';
        jQuery.ajax({
          type: "POST",
          url:ajax_url,
              data : {
                  'action':          'wqo_addtocart',
                  'wqo_prod_id':     pid,
                  'wqo_prod_var_id': vid,
                  'wqo_prod_qty':    qty
          },
          success: function(response){            
            if(response==1){
              jQuery('#wqo_alert_info').text('Added to your cart');
            }else{
              jQuery('#wqo_alert_info').text(response);
            }

            jQuery.ajax({
              type: "POST",
              url:ajax_url,
              data : {'action': 'wqo_cart_amount'},
              success: function(data){             
                jQuery('#wqo_cart_price').html(data);
              }
            });

             jQuery('#wqo_alert_info').show()
             setTimeout(function(){jQuery('#wqo_alert_info').hide()}, 2000);          
          }
        });
  }
Run Code Online (Sandbox Code Playgroud)

编辑#3: php回调的来源

function wqo_addtocart() …
Run Code Online (Sandbox Code Playgroud)

wordpress woocommerce

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