
[Anonymous]
14.09.2018
05:09:06
у try:есть finally: и else: но я не уверен что они здесь уместны

Tishka17
14.09.2018
05:09:21

[Anonymous]
14.09.2018
05:09:40
его другой скрипт использует просто

Google

[Anonymous]
14.09.2018
05:11:20
у sqlite есть возможность работать параллельно с двумя подключениями, но я не понял как подключиться туда сразу двумя скриптами)
скрипт 1 парсит значения и складывает в бд, а потом скрипт 2 обрабатывает эти значения

Tishka17
14.09.2018
05:13:12

[Anonymous]
14.09.2018
05:23:26
Вроде как параметр timeout у коннекта
When a database is accessed by multiple connections, and one of the processes modifies the database, the SQLite database is locked until that transaction is committed. The timeout parameter specifies how long the connection should wait for the lock to go away until raising an exception. The default for the timeout parameter is 5.0 (five seconds).
попробую так
c = sqlite3.connect(database = database_file, timeout= 5)
костыльно ориентированное программирование)

Serj
14.09.2018
05:50:14

Alex
14.09.2018
06:42:34
Что значит код без legacy?

vitaly
14.09.2018
06:46:34
Кто знает как сохранять символ. сылку на файл в постгрес на flask, спасибо

Alex
14.09.2018
06:49:14

vitaly
14.09.2018
06:51:58
да, именно это и нужно. есть картинки и названия стянутые с сайта, нужна положить акуратно это все в базу, и когда юзер кликает то выдавать все подписаные карттнку

[Anonymous]
14.09.2018
06:52:25

Alex
14.09.2018
06:53:36

Google

Tishka17
14.09.2018
06:53:47

Alex
14.09.2018
06:54:20
Но есть другие алгоритмы реализации хранения в ФС. Вопрос тогда к названиям файлов. Откуда они берутся и какую роль играют?

vitaly
14.09.2018
06:55:21
так, я вас понял. Сначала хотел картинки как бинарники в базе хранить, на форуме прочитал что нужно символ силки на файли, а файлы в файловой системе хранить

Alex
14.09.2018
06:57:40
Хранить файлы надо в фс. Имена файлов надо делать на основе хеш суммы файла (это исключит дублирование файлов с одинаковым содержимым и разными именами). Ну и хранить в виде дерева на основе имени хеш суммы например по два символа хекс с тремя уровнями вложенности.
Ну и в БД можно хранить уже таблицу с хеш-суммой файла в качестве индекса.

vitaly
14.09.2018
06:59:55
да, я вас понял. спасибо. случайно не знаете ресурс или книгу где это описано в деталях?

Alex
14.09.2018
07:01:09
Есть ещё одна проблема из-за ограничений ФС. При большом количестве мелких файлов и ФС, основанной на жестком выделении inode, может наступить ситуация нехватки inode, но при этом окажется много свободного места на сервере. В частности этим страдает EXT4

Василий
14.09.2018
07:05:08

Alex
14.09.2018
07:06:01

Eldar
14.09.2018
07:06:57

Alex
14.09.2018
07:07:16

Василий
14.09.2018
07:07:20

Alex
14.09.2018
07:07:36
Но с md5 вроде коллизий не будет в обозримом будущем.

Василий
14.09.2018
07:08:21
В общем uuid специально создан для создания уникальных идентификаторов. потому он так и называется )

Alex
14.09.2018
07:08:34
Кстати одно из преимуществ хеш-функции - защита от подделки файла, при условии доверия к данным в БД

Василий
14.09.2018
07:09:22

Eldar
14.09.2018
07:10:54
Ещё есть sha3
Ну или нужна скорость

Google

Василий
14.09.2018
07:15:07

vitaly
14.09.2018
07:16:26
да спасибо. но мне нуже пример кода чтобы разобрать как их сохранить не каряво
недостаток опыта у меня.

Василий
14.09.2018
07:16:48

vitaly
14.09.2018
07:16:54
фласк
а скачал картинки супом

Eldar
14.09.2018
07:17:14
Смотри как в джанге реализовано

Василий
14.09.2018
07:17:28
фласк
При недостатке опыта лучше делай на джанго. там многое за тебя сделано уже

vitaly
14.09.2018
07:17:50
понял, это ценный совет!

Евгений
14.09.2018
07:18:01

vitaly
14.09.2018
07:18:02
спасибо

Eldar
14.09.2018
07:18:44

Eldar
14.09.2018
07:19:04
Даже если если в оперу они не попадут, то их все равно надо будет прочитать чтобы отбросить

Василий
14.09.2018
07:19:07
фласк
Но если брать например джанговский подход то они хранят картинки в поддиректории с именем модели. чтобы в одной директории кучу картинок не хранить. названия рекомендуется задавать через uuid. а в базе хранится просто строка-путь к файлу в системе.

Eldar
14.09.2018
07:21:22

Василий
14.09.2018
07:21:47

Евгений
14.09.2018
07:21:54
Вот интересно, как оптимизация сортировки больших строк работает. Ведь оптимально не читать сразу все данные, а начать сортировку по первым блокам, и только в случае их равенства лезть за следующими

Василий
14.09.2018
07:22:14

Eldar
14.09.2018
07:22:39
Уу, да тебе неплохо было бы прочитать учебник по бд

Google

Oleg
14.09.2018
07:22:48
Всем привет!
Подскажите, как правильно сделать - есть приложение на aiohttp
нужно собрать глобальный конфиг и сделать так, чтобы к нему можно было обратиться из любого места за какими то настройками, которые в нем лежат.
можно было бы добавить в app['config'], но app не доступен кроме как из вьюшек.
как быть?

Admin
ERROR: S client not available

Василий
14.09.2018
07:23:02

Евгений
14.09.2018
07:23:17

vitaly
14.09.2018
07:23:27
кинь если не сложно

Eldar
14.09.2018
07:24:08

Oleg
14.09.2018
07:24:58

Eldar
14.09.2018
07:25:28

Евгений
14.09.2018
07:25:49

Eldar
14.09.2018
07:25:58
Более того можно даже коннекты к база инициализировать, главное чтобы там loop не создавался

Oleg
14.09.2018
07:26:50
то есть прописать все настройки в settings.py
например
DB_HOST = None
а потом считав конфиг уже в рантайме присвоить значение?
DB_HOST = config['db']['host]

Eldar
14.09.2018
07:28:11

Oleg
14.09.2018
07:29:03

Eldar
14.09.2018
07:30:05
Для каждой аппы можно сделать свой локальный settings.py ну или вычислимые настройки создавать как поля класса

Oleg
14.09.2018
07:30:58
вариант с локальным settings.py больше нравится
спс!

Василий
14.09.2018
07:31:48
Там большой цикл статей. штук 10. Про всевозможные типы индексов. Крайне познавательно

vitaly
14.09.2018
07:32:37

Alex
14.09.2018
07:34:09
А есть у кого ссылка на реализацию алгоритма хранения данных и дерева B или B+ на питоне?

Google

Василий
14.09.2018
07:35:32

Dim
14.09.2018
07:36:39
http://aliev.me/runestone/index.html тут есть с примерами

Alex
14.09.2018
07:36:51

Василий
14.09.2018
07:37:09
http://knuth.luther.edu/~leekent/CS2Plus/chap10/chap10.html
вот неплохое описание реализации нашел
https://pypi.org/project/BTrees/
вот либа

Alex
14.09.2018
07:39:58

Василий
14.09.2018
07:41:06
https://pypi.org/project/blist/
эти даже обещают производительность O(logN)