Русский
Русский
English
Статистика
Реклама

Файлы

Сортируем файлы с помощью Python

11.06.2021 16:11:37 | Автор: admin

Штош. Скорее всего, у многих в папке загрузок собиралась куча разных инсталляторов, архивов и прочих файлов. И вот наступает момент, когда из этой кучи экскрементов нужно найти какой-то файл. Вот я и подумал, почему бы не написать скрипт сортировщика по расширениям файлов на Python?

Пишем код

Для начала импортируем стандартный модуль os для работы с операционной системой. С помощью этого модуля мы будем создавать папки и перемещать файлы.

import os

Создадим переменную для пути папки или диска, в которой мы будем сортировать файлы. В моих любимых окошечках путь к файлу записывается через backslash, который в Python является специальным символом экранирования. Поэтому мы либо пишем 2 бэкслэша, либо добавляем перед строкой букву r, тем самым подавляя экранирование.

main_path = 'd:\\down'# main_path = r'd:\down

Чтобы создать папку, используем метод os.mkdir()

os.mkdir(main_path + '\\aboba')

Создаем много папок

Напишем функцию для создания папок из списка названий. Для каждого названия проверяем существование папки с помощью метода os.path.exists().

# also creates folders from dictionary keysdef create_folders_from_list(folder_path, folder_names):    for folder in folder_names:        if not os.path.exists(f'{folder_path}\\{folder}'):            os.mkdir(f'{folder_path}\\{folder}')

Теперь давайте создадим словарь extensions. Ключи - названия папок. Значения - расширения файлов для каждой отдельной папки.

# key names will be folder names!extensions = {    'video': ['mp4', 'mov', 'avi', 'mkv', 'wmv', '3gp', '3g2', 'mpg', 'mpeg', 'm4v',               'h264', 'flv', 'rm', 'swf', 'vob'],    'data': ['sql', 'sqlite', 'sqlite3', 'csv', 'dat', 'db', 'log', 'mdb', 'sav',              'tar', 'xml'],    'audio': ['mp3', 'wav', 'ogg', 'flac', 'aif', 'mid', 'midi', 'mpa', 'wma', 'wpl',              'cda'],    'image': ['jpg', 'png', 'bmp', 'ai', 'psd', 'ico', 'jpeg', 'ps', 'svg', 'tif',               'tiff'],    'archive': ['zip', 'rar', '7z', 'z', 'gz', 'rpm', 'arj', 'pkg', 'deb'],    'text': ['pdf', 'txt', 'doc', 'docx', 'rtf', 'tex', 'wpd', 'odt'],    '3d': ['stl', 'obj', 'fbx', 'dae', '3ds', 'iges', 'step'],    'presentation': ['pptx', 'ppt', 'pps', 'key', 'odp'],    'spreadsheet': ['xlsx', 'xls', 'xlsm', 'ods'],    'font': ['otf', 'ttf', 'fon', 'fnt'],    'gif': ['gif'],    'exe': ['exe'],    'bat': ['bat'],    'apk': ['apk']}

Передаем в функцию create_folders_from_list() новоиспеченный словарь. Папки создадутся из названий ключей.

Получаем пути подпапок и файлов

Пишем функцию для получения путей подпапок. Для каждого объекта в методе os.scandir() проверяем, является ли он каталогом.

def get_subfolder_paths(folder_path) -> list:    subfolder_paths = [f.path for f in os.scandir(folder_path) if f.is_dir()]    return subfolder_paths

Можно создать функцию получения имен подпапок, которая нам не пригодится дальше. Почему бы и нет? На самом деле, как сниппет для дальнейших проектов она может быть полезна.

Нам нужно взять пути подпапок, разделить по бэкслэшам строку и взять последний элемент.

def get_subfolder_names(folder_path) -> list:    subfolder_paths = get_subfolder_paths(folder_path)    subfolder_names = [f.split('\\')[-1] for f in subfolder_paths]    return subfolder_names

Теперь получим пути всех файлов в папке, скопируем функцию get_subfolder_paths() и добавим в условие генератора not.

def get_file_paths(folder_path) -> list:    file_paths = [f.path for f in os.scandir(folder_path) if not f.is_dir()]    return file_paths

Для полного счастья не хватает только функции получения имен файлов.

def get_file_names(folder_path) -> list:    file_paths = [f.path for f in os.scandir(folder_path) if not f.is_dir()]    file_names = [f.split('\\')[-1] for f in file_paths]    return file_names

Сортируем файлы

Приступаем к функции сортировки. Получаем пути файлов в переменную file_paths. Создаем переменную ext_list со списком метода словаря extensions.items(). Обращение к списку по индексу возвращает нам пару ключ-значение в виде списка, первый элемент которого - это ключ или название папки в нашем проекте, а второй элемент - это значение, то есть расширения файлов для этой папки.

def sort_files(folder_path):    file_paths = get_file_paths(folder_path)    ext_list = list(extensions.items())

Теперь создадим цикл для каждого пути файла в списке. Вытащим отдельно расширение и имя файла.

for file_path in file_paths:  extension = file_path.split('.')[-1]  file_name = file_path.split('\\')[-1]

Создадим еще один цикл внутри. Для каждого ключа в словаре мы проверяем, есть ли расширение файла в списке расширений. Если есть, то перемещаем файл.

for dict_key_int in range(len(ext_list)):  if extension in ext_list[dict_key_int][1]:    print(f'Moving {file_name} in {ext_list[dict_key_int][0]} folder\n')    os.rename(file_path, f'{main_path}\\{ext_list[dict_key_int][0]}\\{file_name}')

Сделать это можно при помощи изменения пути файла методом os.rename("Путь файла сейчас", "Будущий путь файла")

Готовая функция сортировки файлов:

def sort_files(folder_path):    file_paths = get_file_paths(folder_path)    ext_list = list(extensions.items())    for file_path in file_paths:        extension = file_path.split('.')[-1]        file_name = file_path.split('\\')[-1]        for dict_key_int in range(len(ext_list)):            if extension in ext_list[dict_key_int][1]:                print(f'Moving {file_name} in {ext_list[dict_key_int][0]} folder\n')                os.rename(file_path, f'{main_path}\\{ext_list[dict_key_int][0]}\\{file_name}')

Удаляем пустые папки

Остался последний штрих - удаление пустых папок. Все просто. Создаем функцию. Получаем пути подпапок. Проверяем, какой список возвращает метод os.listdir("folder_path") для каждой подпапки. Если возвращается пустой список, значит удаляем папку с помощью os.rmdir("folder_path")

def remove_empty_folders(folder_path):    subfolder_paths = get_subfolder_paths(folder_path)    for p in subfolder_paths:        if not os.listdir(p):            print('Deleting empty folder:', p.split('\\')[-1], '\n')            os.rmdir(p)

Полный код программы

import osmain_path = 'd:\\down'# key names will be folder names!extensions = {    'video': ['mp4', 'mov', 'avi', 'mkv', 'wmv', '3gp', '3g2', 'mpg', 'mpeg', 'm4v', 'h264', 'flv',              'rm', 'swf', 'vob'],    'data': ['sql', 'sqlite', 'sqlite3', 'csv', 'dat', 'db', 'log', 'mdb', 'sav', 'tar', 'xml'],    'audio': ['mp3', 'wav', 'ogg', 'flac', 'aif', 'mid', 'midi', 'mpa', 'wma', 'wpl', 'cda'],    'image': ['jpg', 'png', 'bmp', 'ai', 'psd', 'ico', 'jpeg', 'ps', 'svg', 'tif', 'tiff'],    'archive': ['zip', 'rar', '7z', 'z', 'gz', 'rpm', 'arj', 'pkg', 'deb'],    'text': ['pdf', 'txt', 'doc', 'docx', 'rtf', 'tex', 'wpd', 'odt'],    '3d': ['stl', 'obj', 'fbx', 'dae', '3ds', 'iges', 'step'],    'presentation': ['pptx', 'ppt', 'pps', 'key', 'odp'],    'spreadsheet': ['xlsx', 'xls', 'xlsm', 'ods'],    'font': ['otf', 'ttf', 'fon', 'fnt'],    'gif': ['gif'],    'exe': ['exe'],    'bat': ['bat'],    'apk': ['apk']}# also creates folders from dictionary keysdef create_folders_from_list(folder_path, folder_names):    for folder in folder_names:        if not os.path.exists(f'{folder_path}\\{folder}'):            os.mkdir(f'{folder_path}\\{folder}')def get_subfolder_paths(folder_path) -> list:    subfolder_paths = [f.path for f in os.scandir(folder_path) if f.is_dir()]    return subfolder_pathsdef get_file_paths(folder_path) -> list:    file_paths = [f.path for f in os.scandir(folder_path) if not f.is_dir()]    return file_pathsdef sort_files(folder_path):    file_paths = get_file_paths(folder_path)    ext_list = list(extensions.items())    for file_path in file_paths:        extension = file_path.split('.')[-1]        file_name = file_path.split('\\')[-1]        for dict_key_int in range(len(ext_list)):            if extension in ext_list[dict_key_int][1]:                print(f'Moving {file_name} in {ext_list[dict_key_int][0]} folder\n')                os.rename(file_path, f'{main_path}\\{ext_list[dict_key_int][0]}\\{file_name}')def remove_empty_folders(folder_path):    subfolder_paths = get_subfolder_paths(folder_path)    for p in subfolder_paths:        if not os.listdir(p):            print('Deleting empty folder:', p.split('\\')[-1], '\n')            os.rmdir(p)if __name__ == "__main__":    create_folders_from_list(main_path, extensions)    sort_files(main_path)    remove_empty_folders(main_path)

Настройка программы под свои нужды

Как вы уже могли понять, программа довольно гибкая, и вы можете настроить ее под себя. Для этого нужно всего-лишь изменить словарь extensions.

Приведу пример. Для каждого видео на свой YouTube канал я создаю каталог, в котором есть папки для футажей, картинок, звука, mkv файлов для последующего конвертирования в mp4 (premiere не любит mkv) и самого проекта.

Вот такой словарь.

main_folder = 'f:\\shtosh python\\new video'# key names will be folder names!extensions = {    'img': ['jpg', 'png', 'bmp', 'gif', 'ico', 'jpeg'],    'audio': ['mp3', 'wav'],    'footage': ['mp4', 'mov', 'avi'],    'mkv': ['mkv'],    'prj': []}

С помощью такого подхода я могу накидать любые файлы для монтажа в одну папку, затем запустить скрипт и легко импортировать все это дело в premiere pro.

Заключение

Штош. Код лежит на GitHub. Берите, изменяйте под себя, пользуйтесь на здоровье. Буду рад любому фидбеку.

Подробнее..

Перевод Как передавать файлы с компьютера на смартфон и обратно при помощи Qrcp и QR-кода

09.05.2021 16:23:04 | Автор: admin

Для того, чтобы передать файлы с ноутбука или ПК на мобильное устройство или в обратном направлении, можно воспользоваться большим количеством разных способов и инструментов. Наиболее простой и распространенный USB кабель. Но что если нужного провода нет, а передать файл жизненно важно? В этом случае можно использовать передачу при помощи QR-кода без всяких проводов. Для этого потребуется Qrcp.

Версии Qrcp есть для Linux, Windows и macOS. Работает все это благодаря привязке веб-сервера к IP-адресу машины со случайным номером порта. Затем система генерирует уникальный QR-код, который предоставляет устройству-получателю всю необходимую для передачи файлов информацию. Веб-сервер прекращает работу сразу после завершения передачи данных.

Как установить Qrcp


Как и говорилось выше, версии Qrcp доступны для Windows, Mac и Linux систем, включая Raspberry Pi. В этой статье рассказывается о связке Linux и Qrcp. Система создает пакеты deb и rpm для 32- и 64-битных машин, включая поддержку архитектуры ARM, если вам потребуется установить Qrcp на Raspberry Pi. Установить все это несложно и с использованием исходного tarball.

Загружаем последнюю версию системы для вашей машины. На момент написания это версия 0.8.4. Извлекаем загруженный файл в новую папку, которая называется qrcp, в папке Downloads.


Открываем командную строку и идем в новосозданную директорию.

$ cd ~/Downloads/qrcp

Перемещаем извлеченные файлы в /usr/local/bin, что дает возможность запускать команду из любого места. Если у вас Windows, то загружаем все в папку Windows, что предоставляет ту же возможность.

$ sudo mv qrcp /usr/local/bin/

Передача файлов на мобильные устройства


Возможностей конфигурации по умолчанию должно хватить для большинства пользователей. Как только вы укажете файл, который хотите передать, qrcp создаст уникальный URL-адрес, с которого этот файл можно загрузить. Кроме того, в процессе передачи генерируется QR-код, позволяющий передать данные об адресе устройству-получателю.

В примере ниже в качестве сканера QR-кода используется Google Lens, но, конечно, можно использовать и любой другой сканер, включая встроенные.

В командной строке указываем директорию, которая содержит передаваемый файл. В примере это PDF на рабочем столе, который планируется передать на смартфон.

$ cd ~/Desktop

Применяем qrcp для передачи файла.

$ qrcp Technical-Specs.pdf


На мобильном устройстве открываем сканер QR-кода и, соответственно, сканируем код.


Нажимаем на появившийся адрес, и файл моментально начинает передаваться.

Передача нескольких файлов


Аналогичным образом Qrcp можно использовать для передачи любого количества файлов. Они будут передаваться одним .zip архивом. Правда, прописывать файлы в командной строке придется вручную.

$ qrcp filename1 filename2 filename3


Передача файлов с мобильного устройства на компьютер

Аналогичным образом файлы можно передавать и с компьютера или ноутбука на смартфон.

Открываем командную строку на ПК и вводим команду

qrcp receive

Она позволяет получить файл.

Используя мобильное устройство, сканируем QR-код и нажимаем на полученный адрес.


Открывшаяся веб-страничка предложит указать файлы, которые нужно передать.

Выбираем файлы, нажав на соответствующую кнопку.


По умолчанию система загрузит файлы в текущую директорию. Но, если такой вариант не подходит, указываем другую папку.

qrcp receive --output=/path/to/directory

Настройка qrcp



Хотя дефолтной конфигурации qrcp должно хватить для большинства пользователей, можно выполнить и тонкую настройку: запустить команду qrcp config, чтобы установить кастомные значения. Система задаст ряд вопросов: уточнит используемый по умолчанию сетевой интерфейс, порт по умолчанию, каталог по умолчанию для полученных файлов, спросит, использовать ли HTTPS для передачи, и т.д. Процесс простой и понятный. По завершении настройки конфигурация записывается в файл config.json в каталоге ~ / .config / qrcp (Linux).

Подробнее..

Перевод FTP исполнилось почти 50 лет и ему пора на пенсию

20.10.2020 16:06:30 | Автор: admin

Возможно, протокол передачи файлов FTP и был когда-то одним из столпов раннего интернета. Но после 50 лет повсеместного использования его уход на покой, пожалуй, уже неизбежен




Пока вы пытались перестроить всю свою жизнь так, чтобы уместить её в своей крохотной квартирке в начале коронавирусного кризиса, вы могли пропустить эту небольшую новость: из-за того, что вирус повлиял практически на все сферы жизни, компания Google решила пропустить выпуск 82-й версии Chrome.

Кому какое дело, спросите вы? До этого есть дело пользователям FTP протокола передачи файлов.

Во время пандемии Google отложила планы убийства FTP, и недавно, когда всё более-менее успокоилось, компания объявила о возврате к намерению убрать поддержку протокола в 86-й версии Chrome, и полностью убить его в 88-й версии.

Mozilla рассказала о похожих планах для браузера Firefox, ссылаясь на соображения безопасности и возраст кода.

Это один из самых старых протоколов, всё ещё поддерживаемых популярными приложениями в интернете в следующем году ему стукнет 50 но эти приложения уже готовятся отказаться от него.

Давайте углубимся в историю FTP, сетевого протокола, продержавшегося дольше любого другого.

1971


Именно в этом году Абхай Бушан, студент магистратуры из MIT, родившийся в Индии, впервые разработал FTP. FTP появился через два года после telnet, и был одним из первых примеров рабочего набора приложений для сети, известной тогда под названием ARPANET ещё до появления электронной почты, Usenet и даже стека TCP/IP. FTP, как и telnet, до сих пор можно кое-где использовать, однако в современном интернете он потерял популярность в основном из-за проблем с безопасностью. Его место занимает зашифрованная альтернатива SFTP протокол передачи файлов, работающий на базе протокола SSH, по большей части заменившего telnet.

Возможно, неудивительно, что из всех программ, написанных для ранней сети ARPANET, именно FTP проложил себе дорогу в современность.

Причиной этому служат его базовые возможности. По сути, это инструмент, занимающийся передачей данных между хостами. Однако секрет его успеха в том, что он в своё время практически устранил различия хостов. Бушан писал в своей RFC-заявке, что самой большой проблемой использования telnet в то время было то, что все хосты были немножко разными.

Различия в характеристиках терминалов обрабатываются системными программами хостов в соответствии со стандартными протоколами, пояснял он, цитируя как telnet, так и протокол удалённого запуска задач того времени. Однако вам, чтобы пользоваться удалёнными системами, необходимо разбираться в их особенностях.


Терминал телетайпа из эпохи ARPANET

Придуманный им FTP пытался сгладить все проблемы прямого подключения к серверу при помощи подхода, названного им непрямым использованием, позволявшего удалённую передачу файлов или запуск программ. Подход Бушана к протоколу, потомки которого используются и по сей день, использовал структуру директорий для того, чтобы понять различия между отдельными системами.

В RFC Бушан писал:
Я попытался представить протокол пользовательского уровня, который позволит пользователям компьютеров и программ не напрямую использовать удаленные хосты. Протокол облегчает не только операции с файловой системой, но и выполнение программ на удаленных хостах. Это делается через определение запросов, которые обрабатываются взаимодействующими процессами. Ориентация последовательности транзакций обеспечивает большую уверенность и облегчает контроль ошибок. Понятие типов данных вводится для облегчения интерпретации, реконфигурации и хранения простых и ограниченных форм данных на отдельных хостах. Протокол легко расширяется.


В интервью одному из подкастов Бушан отметил, что он занялся разработкой этого протокола, поскольку ощущал необходимость в приложениях у многообещающей сети ARPANET, в частности в электронной почте и FTP. Эти самые ранние приложения стали строительными блоками современного интернета, и за прошедшие десятилетия претерпели значительные изменения.

Из-за ограниченных возможностей компьютеров той эпохи, как отметил Бушан, функциональность электронной почты была встроена в FTP сообщения и файлы передавались при помощи этого протокола в более легковесном формате, и четыре года FTP технически исполнял роль электронной почты.

Поэтому мы подумали почему бы не добавить в FTP пару команд, mail и mail file? Mail это обычные текстовые сообщения, mail file это вложение файла в сообщение, это то, что у нас есть сегодня, сказал он в интервью.

Естественно, Бушан был не единственным человеком, оставившим свой след в этом раннем фундаментальном протоколе. Бушан в итоге ушёл от работы учёного, получив место в компании Xerox. Созданный им протокол продолжал расти и развиваться уже без него, претерпел несколько обновлений в 1970-х и 1980-х годах через последовательность RFC, включая и реализацию с поддержкой TCP/IP.

С тех пор он претерпел несколько небольших изменений, призванных поддерживать его в актуальном состоянии и добавлявших поддержку более новых технологий, современная версия FTP появилась в 1985 году, когда Джон Постел и Джойс Рейнолдс разработали RFC 959, обновление предыдущих протоколов, являющихся основой современных программ, поддерживающих FTP. Примерно в то же время Постел и Рейнолдс также принимали участие в разработке системы доменных имён. В документе новая версия описывалась, как попытка исправить некоторые небольшие ошибки в документации, улучшить объяснение некоторых особенностей протокола, и добавить несколько необязательных команд. Но при этом именно эта версия задержалась надолго.

Из-за возраста протокола у FTP есть множество слабых мест, часть из которых вылезают и по сей день. К примеру, передача директории с кучей маленьких файлов идёт чрезвычайно неэффективно передача больших файлов проходит гораздо лучше, поскольку протокол ограничивает количество отдельных соединений.

Поскольку протокол появился так давно, он во многом определил многие последующие протоколы. Его можно сравнить с чем-то, что часто скачкообразно обновляется в течение десятилетий допустим, с баскетбольной обувью. Конечно, кеды Converse All-Stars до сих пор можно считать хорошей обувью, и они могут хорошо показать себя в определённых условиях и сегодня, однако для профессиональных баскетболистов, скорее всего, лучше подойдёт что-нибудь от Nike с брендом Air Jordan.

FTP это кеды Converse All-Star интернета. Он передавал файлы ещё до того, как это стало круто, и до сих пор сохранил часть тех эмоций.

Никто не зарабатывал с интернета никаких денег это была, скорее, денежная дыра. Мы сражались в праведной борьбе. Мы видели его потенциал. Но если кто-то говорит вам, что мог предсказать будущее, он врёт. Я лично был там.

Алан Эмтейж, создатель первого поискового сервиса Archie, рассуждает в интервью блогу Internet Hall of Fame на тему того, почему его изобретение, позволившее пользователям искать файлы на анонимных FTP-серверах, не сделало его богатым. Если кратко, в то время интернет был некоммерческим, и Эмтейж, аспирант и сотрудник техподдержки монреальского университета Макгилла, использовал школьную сеть для работы Archie, причём без разрешения. Но так поступать было круто, рассказал он. Как говорится, легче просить прощения, чем разрешения. Эмтейж, как и Бушан, эмигрант он родился и рос на Барбадосе, а в Канаду приехал благодаря выдающейся успеваемости.



Почему FTP возможно, последняя связь с остатками прошлого, всё ещё существующего в онлайне


Несколько лет назад я писал, что если взять старую книжку про интернет, и попытаться пройти по указанным там ссылкам, то с наибольшей вероятностью описанные программы удастся скачать с крупного корпоративного FTP, поскольку подобные сайты редко исчезают.

Крупные технологические компании типа Hewlett-Packard, Mozilla, Intel и Logitech, десятилетиями использовали подобные сайты для распространения документации и драйверов среди конечных пользователей. По большей части эти сайты до сих пор работают, раздавая годами хранящийся там контент.

Во многих случаях эти сайты могут быть полезны, если у вас есть необходимость скачать что-то реально старое, типа драйвера или документации (мне это помогло, когда я подключал свою Connectix QuickCam).


Как сегодня выглядит FTP в браузере: ftp.logitech.com

В некоторых случаях ориентироваться на FTP бывает проще, чем на каком-нибудь сайте, поскольку интерфейс FTP последовательный и правильно работает. Через многие веб-интерфейсы бывает кошмарно сложно продраться, когда вам нужно просто скачать драйвер. Однако у простоты есть и обратная сторона FTP не так хорошо работает с современными стандартами, и выглядит более убого, чем современные методы передачи файлов.

Как я писал в прошлом году, на эти FTP-сайты всё сложнее заходить, поскольку компании уходят от этой модели или просто закрывают их.

В той статье было интервью с Джейсоном Скоттом из организации Internet Archive; они пытаются сохранять эти винтажные FTP-сайты, ведь любой из них может отключиться в любой момент.

Скотт тогда отметил, что долговременное существование этих FTP уже считается исключением из правила.

Очень странно, что у этих FTP-сайтов бывает инерция по 15-20 лет, и что они могли всё это время работать в неприкосновенности, сказал он.

И если одна из главных функций FTP-сайтов уходит в историю, возможно, их полное закрытие остаётся лишь вопросом времени. Рекомендую, пока этого не случилось, порыться в каком-нибудь из них, и посмотреть, какие странные штуки можно там отыскать. Мы уже не живём в мире, в котором можно просто порыться в директориях публичных компаний, и даже сегодня этот опыт остаётся интересным.

FTP, как технология, опередившая время, сегодня притягивает критическую массу бизнес-пользователей, считающих передачу файлов через электронную почту ужасно неэффективной или непрактичной в случае больших документов.

так говорится в статье журнала Network World за 1997 год, где доказывается, что несмотря на все недостатки FTP, это всё равно был нормальный вариант для многих удалённых работников и корпоративных пользователей. Конечно, статья была написана заинтересованным лицом Роджер Грин был президентом компании Ipswitch, крупного производителя программ для работы с FTP однако его аргументы в то время были справедливы. Это был отличный способ передавать крупные файлы по сетям и хранить их где-то на сервере. Проблема в том, что протокол FTP, пусть он и улучшался со временем, в итоге обогнали более сложные альтернативы как протоколы (BitTorrent, SFTP, rsync, git, даже современные варианты HTTP), так и облачные решения типа Dropbox или Amazon Web Services.

Когда-то давно и у меня был свой FTP-сервер. В основном я делился через него музыкой, учась в колледже в то время все студенты фанатели от музыкального обмена. У нас были очень быстрые каналы, благодаря чему это была идеальная среда для поддержки FTP-сервера.

Это был отличный способ делиться музыкальными вкусами с миром, но руководство университета в итоге прознало про обмен файлами и начало урезать пропускную способность и всё закончилось По крайней мере, я так думал. Потому что я летом подрабатывал в общежитии, и оказалось, что, когда все разъехались, ограничения канала перестали быть проблемой, и на пару месяцев я снова поднял свой сервер.


Panic Transmit, современный пример FTP-клииента. Многие современные клиенты поддерживают множество протоколов кроме старого доброго FTP.

В итоге я съехал, и FTP-сервер закрылся навсегда в любом случае, появились более эффективные альтернативы, типа BitTorrent, и более легальные, типа Spotify и Tidal. Сожалению ли я сегодня о моём сервере? Конечно. Но в то время я чувствовал, что реализую некий протест, иду против системы. Конечно, ничего такого на самом деле не было.

Как обмен файлами претерпел изменения по сравнению с теми безрассудными временами 15-летней давности, так и мы выросли из использования былых FTP-серверов. Мы обучились более эффективным и безопасным техникам удалённой работы с файлами. В 2004 году было общепринятой практикой работать с веб-сервером через FTP. Сегодня, когда инструменты типа Git позволяют эффективно контролировать версии, такой подход считается рискованным и неэффективным.

Несмотря на то, что в наше время даже главные браузеры избавляются от поддержки FTP, варианты работы с ними у нас всё равно будут. Никуда не денутся специализированные программы. Важно, что мы заменяем винтажный FTP-протокол по убедительной причине.

В отличие от IRC, потерявшего популярность из-за коммерческих инструментов, и Gopher, переставшего развиваться после внезапного перехода на коммерческую модель, FTP уходит на пенсию потому, что его возраст подчёркивает отсутствие в нём безопасной инфраструктуры.

Некоторые из наиболее популярных примеров использования FTP-серверов, вроде публичных хранилищ файлов, вышли из моды. Однако основные варианты использования FTP уже заменили более безопасные и современные их версии, типа SFTP.

Я уверен, что какой-нибудь человек на технической должности будет заявлять, что FTP не умрёт никогда, поскольку для него всегда найдётся какой-нибудь особый вариант использования. Ну и ладно. Но большинство людей, когда Chrome выпилит поддержку FTP из браузера, вряд ли найдут причину заходить на FTP.

Если удаление поддержки FTP из браузера ускорит уход протокола, то так тому и быть. Однако за эти 50 лет в той или иной форме он отлично нам послужил.
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru