Submitted by martinez on Sat, 09/21/2019 - 10:08
Engine.connect() vs Engine.raw_connection()
первый возвращает класс sqlalchemy.engine.base.Connection, второй sqlalchemy.pool.base._ConnectionFairy. Оба являются прокси к настоящему соединению, у обоих close() просто возвращает соединение в пул, однако второе считается более близким к DBAPI. например только из второго можно получить курсор.
Submitted by martinez on Sat, 09/21/2019 - 00:16
методы интроспекции
type(object)
возвращает объект type который показывает тип object, то же самое что и object.__class__
str(object)
вызывает object.__str()__, если __str__ нет, то возвращается repr(object). пишут что __str__ должна возвращать приятное для человека описание
repr(object)
пытается вернуть строчку, которая должна в eval() создавать этот объект, иначе возвращает в угловых скобках имя типа и адрес, вывод функции можно контролировать через __repr__
Submitted by martinez on Fri, 09/20/2019 - 19:49
Применение SQLAlchemy Core с точки зрения образования соединений и транзакций с базой.
Как сказано в документации, есть Engine, который скрывает за собой пул и диалект.
подход такой: нужно брать соединения, делать некий логически связанный блок действий, и вызывать conn.close(), которое возвращает соединение в пул.
соединение находится всегда в транзакции.
В процессе работы имеете действие с
если использовать соединения для выборки данных и оставить его у себя
Submitted by martinez on Wed, 09/18/2019 - 19:19
Будем искать не точный ответ на вопрос, но проверим существующее мнение, что postgresql хранит ltree в виде словаря.
Это значит - если значения повторяются, то это приводит к экономии места. Можно было бы покапаться в коде, но проверим простым опытом
Submitted by martinez on Wed, 08/21/2019 - 07:30
поговорим о размере и плотности точек на экране монитора для windows - PPI.
очень мне нравится PPI = 109 монитор Acer K272HULDbmidpx
какие еще мониторы сравним
Submitted by martinez on Sun, 08/18/2019 - 12:10
Даже изучив много слов и даже выучив их произношение, никак не возможно понимать речь без прослушивания живой речи, однако бесполезно просто слушать речь или смотреть фильм, ничего не понимая, даже миллион раз просмотреть фильм бесполезно в этом случае. В разных источниках вы уже могли подчерпнуть эту мысль. Требуется слушать речь по фразам, каждую фраз многократно, а сложную фразу желательно даже слушать медленно.
Хочу представить вам программу Cleng, отличительные особенности: все занятия бесплатны, есть медленное, онлайн, на андроиде.
Submitted by martinez on Mon, 08/12/2019 - 02:03
расшариваем сетевую папку с одного ubuntu сервера на ubuntu и windows
ubuntu - сервер
1. создадим папку, которая будет расшарена - sudo mkdir -p /var/share/share1
2. устанавливаем samba - sudo apt-get install samba
3. добавляем пользователя и пароль - sudo smbpasswd -a jhon
Submitted by martinez on Sun, 08/11/2019 - 23:35
Один из вариантов добиться медленной работы диска - использовать VMware Workstation.
Общая схема
Настраивать скорость диска виртуальной машины нельзя, но можно настраивать скорость сетевой карты.

Submitted by martinez on Sat, 06/29/2019 - 03:43
В документации сказано, что сначала postgresql пытается сжать данные, если не получится, то помещает в таблицу toast. Проверим это и дополнительно выясним, может ли он поместить в toast массивы. Создадим разные таблицы, каждую заполним 1.000 строк.
таблица |
колонки |
данные |
общий
размер
|
размер
таблицы
|
размер toast |
размер таблицы
на строку |
---|
Submitted by martinez on Thu, 06/27/2019 - 20:54
проверим опытным путем на postgresql-9.3. Создадим разные таблицы, заполним 1.000.000 строк в каждую, и поищем закономирености.
таблица |
колонки |
данные |
Общий
размер
|
Байт
на строчку
|
полезный
размер
|
дополнительные
байты |
---|
Pages