小编Val*_*lev的帖子

"关系数据库"中的"关系"对我们意味着什么?

我知道,关系数据库是一个数据库,其中一个表中的字段链接到其他表中的行,类似这样.

但是我无法理解作为Web开发人员对我来说意味着什么!

据我所知,带有连接和嵌套选择的查询可以降低性能(尤其是具有数十个连接的drupal风格查询).更重要的是,对DB的任何查询都是瓶颈,然后你有很多用户需要缓存每个选择请求.

如果缓存每个选择请求,最好缓存简单请求而不是复杂请求.您可以缓存"select*from tbl1 where id = 123"和"select*from tbl2 where id = 456"或"select*from tbl1,tbl2 where ...",但是如果你选择第二种方式,你将会需要缓存每个对象组合 - 这并不酷.

好的,现在我们只使用非常简单的查询,例如"select*from tbl1 where id = 123""select id from tbl1 order by id limit 0,30"并缓存它们(或者我们只能缓存第一类查询,无论如何).有查询,而不是简单的INSERT,DELETE和UPDATE都是我们需要的,也是我们所用的!

我们可以看到,所有关系逻辑都是应用程序的主要语言,而不是SQL.那么,为什么我们需要所有这些关系的东西呢?他们的意思是什么?"关系型"有什么样的东西,其他类型没有,但需要它?如果我们不使用关系特性,为什么每个人仍然使用MySQL或任何关系数据库,即使他关心性能?

这种类型的数据库已成为标准.为什么?我没有线索.我几乎没有听说有人使用非关系数据库,除了GAE中的on.

我错过了什么吗?

database relational-database

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

缓存函数结果 f#

我有一个函数,它的参数是常数,例如

let is_prime x = (test)
Run Code Online (Sandbox Code Playgroud)

但它非常大而且速度很慢。所以我希望它的结果只计算一次,而我可以随时调用它。

我试图以一种非函数式语言的方式做到这一点:

let _is_prime x = (test)

let mutable _is_prime_primes = []
let mutable _is_prime_tested = []

let is_prime x =
    if List.exists (fun el -> el = x) _is_prime_primes then
        true
    else
        if List.exists (fun el -> el = x) _is_prime_tested then
        false
    else 
        let result = _is_prime x
        if result then _is_prime_primes <- x :: _is_prime_primes
        _is_prime_tested <- x :: _is_prime_tested
        result
Run Code Online (Sandbox Code Playgroud)

但是我想我深深错了。缓存这样的结果对于函数式语言来说必须是非常常见和简单的事情。

f# caching

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

Django管理员不显示所有实体

我继承了一个用Django创建的应用程序.它有一个问题:在管理界面中,页面不列出所有实体(视频),而是列出一些(25个中的16个).我不知道,这是什么.

然后我运行python manage.py shell,在那里Video.objects.all(),有25个对象(使用它们len并通过循环迭代它们for).

我找不到经理或其他什么(也许我只是不知道在哪里找他们).

在管理页面的底部:25 videos,虽然只有16行.

然后我添加到VideoModelAdmin类list_per_page = 10,paginator显示三个页面,但只有前两个有任何视频,第三个显示没有行.

这是一些代码.

# admin.py
class VideoModelAdmin(admin.ModelAdmin):
    list_display = ['title', 'short_desc', 'author', 'redactor_choise', 'views_num', 'rating', 'is_published']
    list_filter = ['is_published', 'redactor_choise']
    list_per_page = 10
    actions = ['make_published', 'update_comments_count']
    exclude = ('file_lq', 'file_hq', )#'thumb',)

    def make_published(self, request, queryset):
        queryset.update(is_published=1)
    make_published.short_description = "???????????? ??????????"

    def save_model(self, request, obj, form, change):
        instance = form.save(commit=False)
        instance.author = request.user
        instance.save()
        return instance

    def update_comments_count(self, request, queryset): …
Run Code Online (Sandbox Code Playgroud)

django django-admin

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

如何按给定点的距离对行进行排序,mysql?

我试图从我的桌子获得100分,距离给定点的距离最小.

我正在使用

SELECT *, GLENGTH(
            LINESTRINGFROMWKB(
              LINESTRING(
                ASBINARY(
                  POINTFROMTEXT("POINT(40.4495 -79.988)")
                ),
                ASBINARY(pt)
              )
            )
          )
 AS `distance` FROM `ip_group_city` ORDER BY distance LIMIT 100
Run Code Online (Sandbox Code Playgroud)

(是的,这很痛苦.我只是用Google搜索它.我不知道如何正确测量MySQL中的距离)

执行需要很长时间.EXPLAIN说没有possible_keys.

我在列SPATIAL上创建了一个索引pt:

CREATE SPATIAL INDEX sp_index ON  ip_group_city (pt);
Run Code Online (Sandbox Code Playgroud)

虽然我真的不知道如何正确使用它.你能帮我么?

mysql distance spatial geospatial

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

python元编程

我正在尝试归档一个由于我不擅长Python元编程而变得有点复杂的任务.

我想要一个locations带有函数的模块get_location(name),它返回一个在文件夹的位置/中定义的类,其名称传递给function.类的名称类似于NameLocation.

所以,我的文件夹结构:

program.py
locations/
    __init__.py
    first.py
    second.py
Run Code Online (Sandbox Code Playgroud)

program.py将与:

from locations import get_location
location = get_location('first')
Run Code Online (Sandbox Code Playgroud)

和location是在first.py中定义的类,如下所示:

from locations import Location # base class for all locations, defined in __init__ (?)
class FirstLocation(Location):
    pass
Run Code Online (Sandbox Code Playgroud)

等等

好吧,我已经尝试了很多导入getattribute语句,但现在我感到无聊和投降.如何归档这种行为?


我不知道为什么,但这个代码

def get_location(name):
   module = __import__(__name__ + '.' + name)
   #return getattr(module, titlecase(name) + 'Location')
   return module
Run Code Online (Sandbox Code Playgroud)

回报

>>> locations.get_location( 'first')
<module 'locations' from 'locations/__init__.py'>
Run Code Online (Sandbox Code Playgroud)

位置模块!为什么?!

python metaprogramming python-module

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

dynamodb创建一个字符串集

我有很多具有唯一ID的对象。每个对象可以具有与其关联的多个标签,如下所示:

123: ['a', 'hello']
456: ['dsajdaskldjs']
789: (no labels associated yet)
Run Code Online (Sandbox Code Playgroud)

我不打算将所有这些对象仅存储在DynamoDB中。因此添加这样的标签将很有意义:

  1. 查找具有(id = needed_id)的记录
  2. 如果有一个,并且有一个名为的集合label_set,请向该集合添加标签
  3. 如果没有具有此类ID的记录,或者现有记录没有名为的属性label_set,则创建一个记录和一个属性,并使用由标签组成的集合初始化该属性

如果使用数字集,则可以仅ADD使用UPDATE命令操作。此命令完全符合我的描述。但是,这不适用于字符串集:

如果没有项目与指定的主键匹配:
ADD-创建一个具有提供的主键和数字(或数字集)作为属性值的项目。对于字符串类型无效。

因此,我必须使用一个设置为的PUT操作,然后再进行操作(以防失败)。这是两个操作,有点糟(因为您每次操作都要付费,所以其成本将是可能的2倍)。Expected{"label_set":{"Exists":false}}ADD

这种限制对我来说似乎很奇怪。为什么某些适用于数字集的东西不适用于字符串集?也许我做错了。

使用多个记录(123, 'a'), (123, 'hello')而不是每个对象与一组记录代替一个解决方案不是解决方案:我希望get一次从该集中获取所有值,而不进行任何扫描。

amazon-dynamodb

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

如何使用Zend_Form_Element_Hash?

然后我试图使用Zend_Form_Element_Hash它每个请求重新生成一个哈希.

在我的代码中:

 // form
 $this->addElement('hash', 'hihacker', array('salt' => 'thesal'));
Run Code Online (Sandbox Code Playgroud)

然后我转储$ _SESSION我看到每个页面重新加载的新值.

然后我发送一个表格,它报告错误"令牌'28a5e0e2a50a3d4afaa654468fd29420'与给定的令牌'a64407cc11376dac1916d2101de90d29'"不匹配,每一次 - 新的一对令牌

zend-framework csrf

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

php,搜索中文和俄文

最终,我正在创建一个三种语言的网站:英语,俄语和中文.我希望如果我在应用程序和数据库中使用UTF-8,输入输出就不会有任何问题(会吗?)

但最可怕的部分是搜索.它应该足够酷.它应该是全文,它应该索引等.我希望它能理解形态学,使用词干等.

首先,我看了Zend_Search_Lucene,但正如我在http://framework.zend.com/issues/browse/ZF/component/10021上意识到的那样,它有中文问题.:(

现在我在考虑狮身人面像.它支持英语和俄语词干.我不确定中文有多好,我不知道加上对它的支持有多难.http://www.sphinxsearch.com/forum/view.html?id=1554是一线希望,但由于没有经验丰富的Sphinx用户,我不认为我理解那里的内容.


所以,

有没有人有这种'语言无关'的搜索经验,可以和我分享吗?

你能给我一些测试搜索的东西吗?作为一名具有一定英语基础知识的俄语母语人士,我可以自己测试俄语和英语搜索,但我甚至不知道这些中文照片的哪些部分是单词.请给我一些中文字符串,将它们放入索引,并进行一些具有预期结果的查询!

php full-text-search sphinx utf-8 internationalization

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

使用现有标记呈现Zend_Form的最佳方法

我想使用Zend_Form,因为它的验证和过滤器等.但表单的标记已经完成.更糟糕的是,它不是很标准化,所以编写我的自定义装饰器不是一个解决方案.

是否有一种简单的方法可以将Zend_Form"应用"到现有的自定义标记中?我认为这是一个常见的问题.

php zend-framework zend-form

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

RocksDB可以处理多个只读客户端吗?

我需要一个键值数据库,如redis或memcached,但不是在内存中而是在磁盘上.在填充数据库之后(我们定期并从头开始),我实际上只需要get操作,但是从许多不同的过程(因此Kyoto Cabinet和LevelDB对我不起作用).

我需要500万个密钥和~10-30gb数据,因此其他一些简单的数据库也不能正常工作.

我找不到有关RocksDB是否可以处理多个只读客户端的任何信息; 在我的操作系统上构建并不是直截了当所以我想在做之前先问一下.如果它不能,是否有任何数据库可以工作?最好用Ubuntu包和Python绑定;-).

我们现在只使用许多小文件,但它真的很糟糕,因为我们想要简单的备份,复制等.我也怀疑这可能会导致速度减慢,但这并不重要.

python key-value kyotocabinet leveldb rocksdb

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

JavaScript可以调用ActionScript代码吗?

我是Flash的新手.我创建了一个flv播放器,可以根据列表组件中的用户选择动态播放视频.我宁愿不在Flash中开发用户界面.意思是,我想把列表组件包起来.主要是因为我还不是很精明.是否可以使用javascript调用actionscript?我想调用一个可以接受url作为字符串的actionscript函数.这甚至可能吗?

我正在使用ActionScript 3 BTW开发它.

谢谢,

缺口

javascript flash actionscript-3

0
推荐指数
1
解决办法
406
查看次数