для добавления произвольного узла в дерева, следует пройтись по всем узлам для коррекции смещений узлов в файле и перезаписать.
На ум приходит только несколько простых действий по настройке .htaccess, robots.txt
robots.txt
- не имеет никакого отношения к разграничению доступа, это просто некое соглашение между гугл-ботом и владельцем сайта, позволяющие не усложнять жизнь друг другу..htaccess
- это и есть конфиг Apache, определяющий как веб-сервер обрабатывает HTTP-запросы и что, как и кому (авторизация/сессии юзеров) отдает в ответ. Веб-сервер можно заставить отдавать/не_отдавать содержимое файловой системы как угодно. В общем случае содержимое "сайта" (такое расплывчатое понятие) "показываемое" (доступное) HTTP-клиенту совсем не обязательно повторяет структуру каталогов в файловой системе сервера (представление о том что веб-сервер "открывает" содержимое файловой системы в Сеть исторически сложилось благодаря соответствующей архитектуре Apache, который изначально разрабатывался для статических сайтов).public_html
(только на совсем школьных хостингах публичный доступ идет от корня по умолчанию), все что находится выше по уровню недоступно со стороны Сети (если только специально не открыть через .htaccess).Могут ли идейные люди ...
Провайдер по запросу правоохранительных органов выдает сведения о пользователях.
Незаконно добытые сведения не могут быть доказательством в суде, верно же?
легко будет сделать такое из программ с открытым кодом: Inkscape, Sk2.0, Skensil?
1) На DO я как бы арендую себе комп, который будет моим сервером, верно? Потом устанавливаю туда, скажем, nginx, и трачу пару ночей и кучу нервов на настройку.
2) Нужно будет скинуть на сервер исходники моего проекта, например, посредством клонирования репозитория с github'а. И зависимости установить + со статикой разобраться. Статику сам nginx должен раздавать, а не django (использую этот фреймворк), тк это эффективнее.
3) Этот сервер будет иметь IP-адрес, через который он будет доступен для 'внешнего мира', и можно будет этот IP привязать к купленному домену.
4) Для связи с сервером лучше иметь Линукс на локальной машине.
Images which have the data encrypted are not portable between VirtualBox and other virtualization software.9.31. Encryption of disk images
import numba as nb
import numpy as np
import time
max_value = np.iinfo(np.intc).max
@nb.jit(nopython=True)
def search(src, dst):
src_size, = src.shape
dst_size, = dst.shape
factor = max_value / src_size * dst_size
dst_ptr = 0
for src_ptr in range(src.size):
value = src[src_ptr]
if value < factor and dst_ptr < dst_size:
dst[dst_ptr] = value
dst_ptr += 1
def search_and_time_it(from_size, to_size):
src = np.random.randint(max_value, size=from_size)
dst = np.empty((to_size,))
t1 = time.time()
search(src, dst)
t2 = time.time()
print('search {0:,d} values from {1:,d} takes {2:.3f} seconds'.format(to_size, from_size, t2 - t1))
# search 100 000 values from 350 000 000
search_and_time_it(350 * 1000 * 1000, 100 * 1000)
search 100,000 values from 350,000,000 takes 0.315 seconds
all
- это конъюнкция всех элементов списка/итератора, приведенных к логическому типу, а any
- соответственно, дизъюнкция).import operator
all = lambda xs: reduce(operator.__and__, map(bool, xs), True)
any = lambda xs: reduce(operator.__or__, map(bool, xs), False)
pyuic4
. Во всех рекомендациях пишут тоже в основном про этот метод. Про возможность прямого подключения *.ui
слышал только в одном месте. Content-Type
, который принимает значение одного из MIME-типов. Значение text/html
соответствует HTML-странице, а значение application/octet-stream
соответствует загружаемому файлу.import requests
if __name__ == "__main__":
r = requests.get('https://toster.ru/q/303883')
r.raise_for_status()
mime_type = r.headers['content-type']
if mime_type == 'application/octet-stream':
print('It is a binary file')
if mime_type.startswith('text/'):
print('It is a text')
import os
import io
import zipfile
def zip_directory_into_bytes(path):
bio = io.BytesIO()
with zipfile.ZipFile(bio, mode='w', compression=zipfile.ZIP_DEFLATED) as zf:
abs_path = os.path.abspath(path)
for dir_name, sub_dirs, files in os.walk(path):
for filename in files:
abs_name = os.path.abspath(os.path.join(dir_name, filename))
file_name = abs_name[len(abs_path) + 1:]
zf.write(abs_name, file_name)
return bio.getvalue()
if __name__ == "__main__":
with open('test.zip', 'wb') as f:
f.write(zip_directory_into_bytes('.'))