小编Sta*_*bie的帖子

社交网络的数据模型?

如果我想创建一个允许用户拥有0个或更多"朋友"的网站,我将如何在数据库中建模这样的关系?这样简单的工作会是什么:

Table Friends
- Id (PK)
- UserId (FK)
- FriendId (FK)
Run Code Online (Sandbox Code Playgroud)

???

这会让我以后做像Facebook这样的事情(例如"你的3个朋友知道这个用户,也许你也这样做了")?或者类似6度到凯文培根的东西?

编辑1:

Table Friends
- UserId (FK)
- FriendId (FK)
- Status ('Pending', 'Approved', 'Rejected', 'Blocked'?)
Run Code Online (Sandbox Code Playgroud)

mysql database database-design data-modeling

8
推荐指数
1
解决办法
3888
查看次数

Solr - 如何"分组"和"限制"?

假设我从我的数据库中索引了以下内容:

======================================
| Id |  Code | Description           |
======================================
| 1  | A1    | Hello world           |
| 2  | A1    | Hello world 123       |
| 3  | A1    | World hello hi        |
| 4  | B1    | Quick fox jumped      |
| 5  | B1    | Lazy dog              |
...
Run Code Online (Sandbox Code Playgroud)

此外,假设用户搜索"hello",它应返回记录1,2和3.有没有办法让Solr"分组" Code字段并应用限制(例如,10条记录)?我有点想找到GROUP BY和LIMIT的SQL版本.

此外,当它执行"分组依据"时,我希望它选择最相关的文档,并将该文档的Description字段用作返回的一部分.

当然,我可以让Solr将所有内容都返回给我的应用程序,然后我可以操作结果来执行GROUP BY和LIMIT.如果可能的话,我宁愿不这样做.

lucene indexing solr full-text-search

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

CodeIgniter:多个应用程序,如何共享资源?

我正在CodeIgniter上构建一个多应用程序站点.我预见应用程序之间需要一些库,帮助程序等.如何在应用程序之间共享此类资源?看起来我可以把system文件夹和助手放在文件夹下,但是如果我需要共享模型,控制器,视图呢?

codeigniter

8
推荐指数
1
解决办法
1746
查看次数

jQuery - 选择覆盖在图像上的不可见文本,ala GMail PDF查看器

我在图像上覆盖了不可见的文字.是否有一个jQuery插件(或类似的)允许用户选择图像上的区域(也选择重叠的文本),并能够复制内容.

现在,我已将每个角色放在自己的<span />标签中.问题是当用户选择时,它有时会选择所有重叠的文本(除非用户对他/她的鼠标非常精确),有时图像本身会被选中等等.

类似于GMail的PDF查看器的解决方案会很好.建议?

javascript jquery jquery-ui jquery-plugins jquery-selectors

7
推荐指数
1
解决办法
1187
查看次数

数据库建模:Facebook就像消息一样

我试图模仿类似于FB的东西.基本上,用户可以在用户简档的各个部分发布评论(例如"墙","照片"等).我认为以下模型将起作用:

===========================
wall_message
===========================
- id (PK)
- parent_id (FK)
- wall_owner_profile_id (FK, identify whose wall the message is for)
- poster_profile_id (FK)
- message
- timestamp

===========================
media_message
===========================
- id (PK)
- parent_id (FK)
- media_id (FK, identify which photo, video, etc.)
- poster_profile_id (FK)
- message
- timestamp
Run Code Online (Sandbox Code Playgroud)

parent_id允许将消息"分组"到相关的讨论中.第一条消息parent_id将为0,后续消息将PK作为parent_id值(创建父子关系).

poster_profile_id 标识谁发布了消息.

以上两个表非常相似.将它们组合起来是一个好主意,例如:

===========================
message
===========================
- id (PK)
- parent_id (FK)
- type (ENUM: "wall", "media", etc.)
- types_id (FK, see explanation …
Run Code Online (Sandbox Code Playgroud)

mysql database database-design

7
推荐指数
1
解决办法
2084
查看次数

jQuery - 如何测试选择器是否匹配任何东西?

说我有以下内容:

$('#foo')
Run Code Online (Sandbox Code Playgroud)

我想知道那个选择器是否匹配任何东西.我该如何测试呢?

jquery jquery-selectors

7
推荐指数
1
解决办法
2820
查看次数

数据库设计:Meetup.com中的用户配置文件

在Meetup.com中,当您加入聚会小组时,通常需要为该特定小组填写个人资料.例如,如果您加入电影聚会小组,则可能需要列出您喜欢的电影类型等.

我正在构建一个类似的应用程序,其中用户可以加入各个组并为每个组完成不同的配置文件详细信息.假设有两种可能性:

  1. 用户可以创建自己的组并定义要求用户加入该组的详细信息(因此,有点动态 - 可能暗示至少需要EAV设计)
  2. 开发人员现在决定创建哪些组并指定要求加入该组的用户的详细信息(这意味着将预定义配置文件详细信息并将其"硬编码"到系统中)

对这些数据建模的最佳方法是什么?

更详细的例子:

"电影观众"组要求其成员指定以下内容:

  • 名称
  • 出生日期(用于计算会员年龄)
  • 性别(必须从"男性"或"女性"中选择)
  • 最喜欢的流派(必须从指定流派列表中选择1个或更多)

"极限运动"组要求其成员指定以下内容:

  • 名称
  • 活动描述喜欢(叙述形式)
  • 邮政编码

最重要的是,每个组可能需要加入其组的成员的不同细节.理想情况下,我希望任何人创建一个组(ala MeetUp.com).但是,我还需要能够很好地查询成员(例如,找到所有年龄在25到30岁之间的女性电影观众).

mysql database database-design normalization

7
推荐指数
2
解决办法
2608
查看次数

CSS:如何使标签出现在收音机的正确位置?

说我有以下标记:

<label for="name">Name:</label>
<input type="radio" name="name" id="name"/>
Run Code Online (Sandbox Code Playgroud)

标签的顺序看起来对我来说是合适的(在语义上:标签之前的标签).但我想首先将其显示为单选按钮,然后是标签.我怎么能在CSS中做到这一点?

css radio-button

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

PHP:标头过期无效

我的PHP代码:

$expires_date = date('D, j F Y H:i:s', strtotime('now + 10 years')) . ' GMT';           
header("Expires: $expires_date");
header('Content-type: text/javascript');

echo 'hello world';
Run Code Online (Sandbox Code Playgroud)

当我检查响应头时,我看到:

Expires:Thu, 01 Jan 1970 00:00:00 GMT

我究竟做错了什么?

更新:

只是在尝试,但似乎我甚至无法取消Expires via header_remove('Expires');.我仍然看到1970年的约会.

更新:

我的回复标题:

Cache-Control:private
Connection:Keep-Alive
Content-Encoding:gzip
Content-Length:74
Content-Type:text/javascript
Date:Wed, 17 Oct 2012 22:40:45 GMT
Expires:Thu, 01 Jan 1970 00:00:00 GMT
Keep-Alive:timeout=5, max=98
Server:Apache/2.2.21 (Win32) PHP/5.3.9
Vary:Accept-Encoding
X-Powered-By:PHP/5.3.9
Run Code Online (Sandbox Code Playgroud)

.htaccess mod-expires response-headers expires-header

7
推荐指数
1
解决办法
2875
查看次数

CSS:如何垂直包装列表?

我有一个很长的列表,并希望它"包装"成垂直列.假设我有10个项目的列表,我希望每列5个项目,布局应该是这样的:

1   6
2   7
3   8
4   9
5   10
Run Code Online (Sandbox Code Playgroud)

有没有办法在CSS中这样做?

css css3

7
推荐指数
2
解决办法
6221
查看次数