小编stw*_*ite的帖子

如何生成Facebook Twitter等唯一整数ID

在搜索了SO和其他网站之后,我未能找到Facebook,Twitter和Pinterest如何生成ID的确凿证据.需要这样做的原因是为了避免网址冲突.移动到一个完全不同的ID将阻止这种情况,因为不会有数十亿的记录.

  • Facebook.com/username/posts/ 362095193814294
  • Pinterest.com/pin/ 62487513549577588
  • Twitter.com/#!/username/status/ 17994686627061761

如果你以Pinterest为例,前几个数字与用户id有关,最后6个左右的数字代表save id,可能是一个自动增量.

要创建一个类似的ID,但不是唯一的我能够使用:base_convert(user_id.save_id, 16, 10).这里的问题是它不是唯一的,例如:base_convert(15.211, 16, 10)vs base_convert(152.11, 16, 10). 这两个是一样的.只需合并两组唯一的数字仍然会产生重复的结果.投掷uniqid()到混合将主要解决重复的,但是这似乎并不像一个伟大的实践.

更新:Twitter似乎使用此:https://github.com/twitter/snowflake

有关生成如上例所示的唯一ID的建议吗?

php mysql facebook unique

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

使用Python中的BeautifulSoup获取直接父标记

我已经研究过这个问题,但还没有看到解决这个问题的实际解决方案.我正在使用带有Python的BeautifulSoup,我正在寻找的是从页面获取所有图像标记,循环遍历每个标记并检查每个标记以查看它的直接父标记是否为锚标记.

这是一些伪代码:

html = BeautifulSoup(responseHtml)

for image in html.findAll('img'):
    if (image.parent.name == 'a'):
         image.hasParent = image.parent.link
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

html python beautifulsoup html-parsing

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

从单一的六角形颜色创建互补,三重和单色调色板

我要做的是从用户提供的单个hex/rgb值创建三个不同的调色板.调色板将具有所提供颜色的补充,然后将生成完整的调色板.理想情况下,我可以使用5色调色板,而不只是一种互补色.我还将为三合一,类似和单色方案创建调色板.

我想知道如何实际创建补色,然后再调色板.这里列出的其他调色板类型也是如此.我愿意在Javascript或PHP中这样做.

javascript php

10
推荐指数
1
解决办法
2529
查看次数

使用Javascript基于十六进制颜色计算渐变上的X,Y像素位置

我有一个raindow HSV渐变画布,当你点击它时,会在该位置添加一个元素,其背景为所点击像素的颜色.

我想要的是让它反向运作.例如,如果你有一个十六进制颜色,我想在画布上找到该像素并在该位置创建一个元素.

我的第一个想法是以某种方式使用矩阵/象限系统.我的下一个想法是,因为我正在使用HSV,我可以使用我的HSV梯度位置点来计算出位置.问题是我的点彼此不等,这使得它变得更难.最重要的是,我有一个白色渐变和黑色渐变覆盖主色渐变,我需要考虑到这一点.

所以我的问题是,如何通过使用十六进制代码找到颜色像素的位置或至少它是最接近的匹配?

这是我的代码到目前为止:http: //codepen.io/shelbywhite/pen/EyqPWY?edit = 1000

HTML:

<div class="container">
    <canvas class="colorSpectrum"></canvas>
    <div class="circle"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

.container {
    background: grey;
    height: 350px;
    width: 400px;
}

.circle {
    background: transparent;
    box-shadow: 0 0 8px rgba(0,0,0,0.2);
    border-radius: 50%;
    border: 2px solid #fff;
    height: 20px;
    margin: -12px;
    width: 20px;
    position: absolute;
}

.colorSpectrum {
    display: block;  
    height: 100%;
    transform: translateZ(0);
    width: 100%;
}
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

$(function() {

    var closest = function(num, arr) {
        var curr = arr[0];
        var diff = …
Run Code Online (Sandbox Code Playgroud)

javascript canvas colors

9
推荐指数
1
解决办法
878
查看次数

比较标签组以找到与PHP/MySQL的相似性/得分

如何将一组标签与我数据库中另一个帖子的标签进行比较以获取相关帖子?

我要做的是将帖子上的一组标签与另一个帖子的标签进行比较,而不是将每个标签单独比较.所以说你希望根据帖子中的标签获得真正相关的项目,然后从最相关和最不相关的项目中显示它们.无论关系水平如何,每次都必须显示三个相关项目.

Post A有标签:"architecture","wood","modern","switzerland"
Post B有标签:"architecture","wood","modern"
Post C有标签:"architecture","modern" ","石头"
Post D有标签:"建筑","房子","住宅"

帖子B与帖子A相关75%(3个相关标签)
帖子C与帖子A相关50%(2个相关标签)
帖子D与帖子A相关25%(1个相关标签)

我怎样才能做到这一点?我目前正在使用3桌.

posts
> id
> image
> date

post_tags
> post_id
> tag_id

tags
> id
> name
Run Code Online (Sandbox Code Playgroud)

我搜索了Internet和Stack Overflow以了解如何执行此操作.我最接近的发现是如何在PHP中找到"相关项目",但实际上并没有为我解决太多问题.

php mysql tags

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

按十进制值排序多维数组

我要做的是对包含十进制值的多维数组进行排序.根据我的测试,浮标很难正确订购.

Array
(
    [0] => Array
        (
            [company] => Ebay
            [weight] => 4.6
        )

    [1] => Array
        (
            [company] => Ebay
            [weight] => 1.7
        )

    [2] => Array
        (
            [company] => Ebay
            [weight] => 3.7
        )
)


usort($array, 'order_by_weight');

// Sorts DESC highest first
function order_by_weight($a, $b) {
    return $b['weight'] - $a['weight'];
}
Run Code Online (Sandbox Code Playgroud)

降序排序这些数字的最佳方法是什么?

php sorting floating-point usort multidimensional-array

6
推荐指数
1
解决办法
5327
查看次数

CSS Only Pie Chart - 如何在切片之间添加间距/填充?

我已经构建了一个仅限 CSS 的饼图,但我需要在每个切片之间添加空间,就像它是一个边框一样。我试图为每个切片添加一个边框,但这实际上不起作用。

关于如何使这个 CSS 饼图看起来更像下图的任何想法?

CSS饼图

这是我的代码:

.palette {
  height: 48px;
  width: 48px;
}
.palette .colorOuter1,
.palette .colorOuter2,
.palette .colorOuter3,
.palette .colorOuter4,
.palette .colorOuter5 {
  height: 200px;
  width: 200px;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  clip: rect(0px, 200px, 200px, 100px);
}
.palette .colorOuter1 {
  clip: auto;
  background: #eee;
}
.palette .colorOuter2 {
  transform: rotate(0deg);
}
.palette .colorOuter2 {
  transform: rotate(72deg);
}
.palette .colorOuter3 {
  transform: rotate(144deg);
}
.palette .colorOuter4 {
  transform: rotate(216deg);
}
.palette .colorOuter5 {
  transform: rotate(288deg); …
Run Code Online (Sandbox Code Playgroud)

css pie-chart css-shapes

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

带有 CSS3 模糊滤镜的 Div 在过渡时显示模糊的边缘

我开始认为这是 Chrome 中的一个错误,因为 safari 没有问题,我已经搜索了 SO 寻找解决方案,但还没有提出。

问题是,当应用 css 过滤器模糊然后剪裁边缘时,如果您尝试转换该 div,它会暂时显示模糊边缘,即使您已将内部 div 缩放到过滤器模糊之后。

查看我的示例并单击图像(查看图像边缘):http : //codepen.io/anon/pen/MYqbmJ

这里有什么想法吗?

$('#background').on('click', function() {

  $(this).toggleClass('ready');

});
Run Code Online (Sandbox Code Playgroud)
body,
html {
  margin: 0;
  padding: 0;
  height: 100%;
  overflow: hidden;
}

#container {
  width: 100%;
  height: 100%;
  position: relative;
}

#background {
  background-image: url(http://zurb.com/playground/uploads/upload/upload/332/220px-BlurParklife.jpg);
  -webkit-background-size: contain;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  left: -35px;
  right: -35px;
  top: -35px;
  bottom: -35px;
  -webkit-filter: blur(15px);
  position: absolute;
  transition: transform 300ms ease-in-out;
  transform: scale(1.1);
}

#background.ready {
  transform: scale(2);
} …
Run Code Online (Sandbox Code Playgroud)

css css-transforms css-filters

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

强制 MariaDB 客户端使用 utf8mb4

我遇到了一个问题,即在使用 PHP 与命令行进行查询时,我得到的结果顺序不同。根据我的研究,在某些情况下,错误的编码似乎会导致结果顺序出现问题。

也就是说,我所有的数据库表都编码为utf8mb4,并带有 collat​​ion utf8mb4_general_ci。但是,似乎没有正确设置 mysql 变量。

我在 Mysql 5.5.5-10.1.26-MariaDb 上。

这是我的 CNF 设置,但老实说我不知道​​我在这里做什么:

[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mariadb]


[mysqld]

character-set-server=utf8mb4
character_set_client=utf8mb4
collation-server=utf8mb4_general_ci
Run Code Online (Sandbox Code Playgroud)

mysql 输出的变量:

character_set_client        utf8
character_set_connection    utf8
character_set_database      utf8mb4
character_set_filesystem    binary
character_set_results       utf8
character_set_server        utf8mb4
character_set_system        utf8
collation_connection        utf8_general_ci
collation_database          utf8mb4_unicode_ci
collation_server            utf8mb4_general_ci
Run Code Online (Sandbox Code Playgroud)

更新:有人询问我如何连接到数据库:

$this->connection = new PDO('mysql:host='.DB_SERVER.';dbname='.DB_NAME.';port='.DB_PORT, DB_USER, DB_PASS, $options);
Run Code Online (Sandbox Code Playgroud)

更新:我已经切换到utf8mb4_unicode_ci(根据下面答案中的建议)。

mysql mariadb

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

配置Python Flask App以使用“ create_app”工厂并在模型类中使用数据库

使用create_app()功能时,我无法启动我的应用程序。我是通过这种方式构建应用程序的新手,从我的所有研究中看,我的方法似乎有所不同,因为我使用的是我自己的数据库包装程序,而不是SQLAlchemy,这使它很容易db.init_app(app)使用。

我的问题是:我似乎无法访问/models/user.py中的数据库连接。如何解决此问题,以便可以在该文件中使用数据库连接?

这是我的应用程序文件夹结构,后面是列出的那些文件:

/api
    /common
        database.py
    /models
        user.py
    /resources
        user.py
    app.py
run.py
Run Code Online (Sandbox Code Playgroud)

这是我的档案

#
#   File: run.py
#

from api.app import create_app

app = create_app(debug=True)
app.run(
    host=app.config['APP_HOST'],
    port=app.config['APP_PORT'],
    debug=app.config['APP_DEBUG_FLASK'],
    ssl_context=app.config['APP_SSL_CONTEXT']
)

#
#   File: app.py
#

from logging.config import dictConfig

from flask import Flask
from flask_restful import Api
from api.config import LocalConfig, LiveConfig
from api.extensions import bcrypt, cors, jwt
from api.resources.user import *
from api.common.database import Database

def create_app(debug=True):
    config = LocalConfig if debug else LiveConfig …
Run Code Online (Sandbox Code Playgroud)

python flask python-3.x

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