Каков алфавитно-цифровой идентификатор в reddit URL?

Хотя это слишком широко, между тремя подходами существует множество семантических различий:

  • JOIN может привести к появлению нескольких строк при наличии нескольких совпадений.
  • NOT IN отфильтровывает все строки, если любое значение равно NULL.
  • EXISTS работает во всех базах данных независимо от условий, включая условия для нескольких столбцов. IN (исторически и во многих базах данных) работает только на один столбец.

Хотя бывают случаи, когда три перекрываются, они не эквивалентны.

15
задан 5 revs, 3 users 54% 6 June 2019 в 06:09
поделиться

3 ответа

reddit исходный код доступен! Вот то, что я нашел для генерации той строки:

def to_base(q, alphabet):
    if q < 0: raise ValueError, "must supply a positive integer"
    l = len(alphabet)
    converted = []
    while q != 0:
        q, r = divmod(q, l)
        converted.insert(0, alphabet[r])
    return "".join(converted) or '0'

def to36(q):
    return to_base(q, '0123456789abcdefghijklmnopqrstuvwxyz')

и в другом месте, под классом "Ссылки":

@property
def _id36(self):
    return to36(self._id)
28
ответ дан 1 December 2019 в 02:38
поделиться

Это похоже на уникальный идентификатор для потока. Это, скорее всего, используется для нахождения потока в базе данных.

0
ответ дан 1 December 2019 в 02:38
поделиться

Мало комментария.

Это не достаточно для этого примера, но обычно добавляющий к спискам

a = []
for i in range(NNN): a.append(i)
a.reverse()

действительно более эффективный, чем вставка в голове.

a = []
for i in range(NNN): a.insert(0,i)

.

-1
ответ дан 1 December 2019 в 02:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: