Способы передачи файлов по сети. Кроссплатформенно.

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Способы передачи файлов по сети. Кроссплатформенно.

Сообщение vitaly_l » 13.06.2012 23:39:54

stikriz писал(а):Далеко не факт, что Вы в этом хоть что-то смыслите

Вы говорите истину... и о Вашем росте я тоже ничего не знаю. Но дело не в росте.
Дело в том что о Вашем сервере - знают только те кто прочитают этот топик, а Лазарус и http - знают все... (я это имел ввиду говоря о росте).
Вполне возможно, что то, что Вы придумали - много лучше чем стандарт.


.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Способы передачи файлов по сети. Кроссплатформенно.

Сообщение stikriz » 13.06.2012 23:41:42

vitaly_l писал(а):Зачем орлу плавать, если есть зайцы?

В основном, мыши :-)
Так, зачем заставлять орла плавать, если он для полета?

Добавлено спустя 3 минуты 49 секунд:
vitaly_l писал(а):Вполне возможно, что то, что Вы придумали - много лучше чем стандарт.

Да, при чем тут что я придумал? Я о том, что все можно придумать. И если зашорить себя стандартами, и ничего не придумывать, принципиально, то, конечно, возможно так и надо - на корабле Союз пиво в Астрахань под раков доставлять. А по поводу стандартов и новых технологий с новыми фишками, так еще Билли как-то сказал, который Гейтс:
- Вы должны постоянно выкатывать все новые и новые технологии как пушки на бруствер. И пусть ваши конкуренты постоянно занимаются их изучением, чтобы головы не могли поднять.
Ну, примерно так - по смыслу. Цитировать неоткуда. Это из его книжки.
Аватара пользователя
stikriz
энтузиаст
 
Сообщения: 612
Зарегистрирован: 15.03.2006 09:37:47

Re: Способы передачи файлов по сети. Кроссплатформенно.

Сообщение vitaly_l » 13.06.2012 23:47:29

stikriz писал(а):Зачем заставлять орла плавать, если он для полета?

Хорошо я понял, что Вас расстроило...
Ответ такой: Не надо переводить метафору на себя, я не орёл Вы не заяц. Я не зебра Вы не лев.
Должен Вас обрадовать: Мы оба люди.



.

Добавлено спустя 3 минуты 51 секунду:
vitaly_l писал(а):И пусть ваши конкуренты постоянно занимаются их изучением, чтобы головы не могли поднять.

За это кстати - его(Гейтца) ненавидит весь мир. Лучше бы они сделали один раз надёжно и хорошо.
А то получается на них весь мир пашет, а толку... Бумагу только ворочают.



.
Последний раз редактировалось vitaly_l 13.06.2012 23:56:44, всего редактировалось 1 раз.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Способы передачи файлов по сети. Кроссплатформенно.

Сообщение stikriz » 13.06.2012 23:52:25

Меня ничего не расстроило. И метафора не о том, как мне показалось, а о том, что каждая технология хороша в том месте, где её предназначение, причем, прямое. Если надо что-то уникальное, то надо делать что-то уникальное, а не вырезать гланды через попу, приспосабливая то, что есть, хоть и не очень подходит. Вот я о чем. Хотя, конечно, если надо срочно хоть чем-то заткнуть дыру - тогда можно и костылем на граблю наступить - вдруг лоб выдержит :-) И какое-то время это поработает с удовлетворительным качеством.

Добавлено спустя 40 секунд:
vitaly_l писал(а):А то получается на них весь мир пашет, а толку...

Кто не хочет, тот не пашет.
Аватара пользователя
stikriz
энтузиаст
 
Сообщения: 612
Зарегистрирован: 15.03.2006 09:37:47

Re: Способы передачи файлов по сети. Кроссплатформенно.

Сообщение vitaly_l » 13.06.2012 23:59:06

stikriz писал(а):Кто не хочет, тот не пашет.

Соотношение 1 к 100000. И 100000 - пашет на них.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Способы передачи файлов по сети. Кроссплатформенно.

Сообщение stikriz » 14.06.2012 00:01:53

vitaly_l писал(а):Соотношение 1 к 100000. И 100000 - пашет на них.

Значит, Билли - молодец - умеет денежку выколачивать. Когда Вы последний раз миллион долларов отдали на благотворительность?
Ладно, это уже совсем не в тему. Я тоже еще не отдавал :-) Просто, эта ненависть очень смахивает на злобную зависть.
Аватара пользователя
stikriz
энтузиаст
 
Сообщения: 612
Зарегистрирован: 15.03.2006 09:37:47

Re: Способы передачи файлов по сети. Кроссплатформенно.

Сообщение vitaly_l » 14.06.2012 00:08:19

stikriz писал(а):смахивает на злобную зависть.

Зависть у образованных людей? - маловероятна.
Просто они диктуют правила и рынок им подчиняется. Придумывать безделушки - можно до бесконечности, они постоянно обновляются и меняют буквально одно название в переменной, а 7 000 000 000 человек вынуждены переделывать и подстраиваться...



.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Способы передачи файлов по сети. Кроссплатформенно.

Сообщение stikriz » 14.06.2012 00:15:45

vitaly_l писал(а):Просто они диктуют правила и рынок им подчиняется.

Это непросто. Если бы это было просто, то за это не платили бы так много. Не надо использовать новейшие "технологии". Вон, ADO когда появилось, то
Билли обещал, что ODBC надо срочно переделывать. Однако, оно живет и по сей день. А, вот, ADO уже объявлено вне закона. Все торгоши нас стараются нае.. обмануть. Надо уметь это понимать.
vitaly_l писал(а):Зависть у образованных людей? - маловероятна

Видел я этих образованых людей :-) Образован может быть и полный скотина. Вон, Ксюшадь, например, очень образована. Однако, фашистка, причем, по отношению к своему народу.

Добавлено спустя 4 минуты 57 секунд:
Про ADO. Сразу было ясно, потому, что оно было обверткой над ODBC, и уши торчали... Это как громкие заявления о смерти API :-) Щас, самоубийство они совершат :-) Так, напакостили немного по безопасности. А может, и к лучшему, кстати. Что-то я ни разу win7 не переустанавливал. А win95 ставил раз в месяц - два.
Аватара пользователя
stikriz
энтузиаст
 
Сообщения: 612
Зарегистрирован: 15.03.2006 09:37:47

Re: Способы передачи файлов по сети. Кроссплатформенно.

Сообщение vitaly_l » 14.06.2012 00:26:05

Это сложная тема...
Возвращаю суть разговора обратно в русло: Способы передачи файлов по сети, а то на нас топикстартер заругается.
HTML, FTP, Сокеты...





.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Способы передачи файлов по сети. Кроссплатформенно.

Сообщение alexey38 » 14.06.2012 04:50:59

Padre_Mortius писал(а):Если простая задача по передачи файла в рамках локальной сети решена с использованием sql-сервера и web-сервера, то именно такая реализация будет называться с использованием "крутых фишек". По ней можно написать статью, защитить диссертацию, получить премию за навороты от непонимающего начальства
"Крутые фишки" и "быдло"-ИТ-менеджмент это немного разные вещи.. Можно и микроскопом гвозди забивать, но он не для этого предназначен. Инструменты выбираются под задачу, а не на оборот. И если ИТ-менеджер не может понять проблемы, то это проблемы не программиста, а менеджера.
4. Чтобы передать файл по сети через сокет нужно знать, предположим, 10 единиц информации (набор функций и иметь общее понимание об TCP, IP, OSI и т.п.). Чтобы реализовать передачу файлов через веб-сервер нужно знать 100 единиц информации. Установили веб-сервер по дефолту. А безопасно ли это дефолтное состояние? Открываешь конфигурационный файл того же Apche и там 1000 настроек. Нужно их менять или оставить по дефолту? Можно прикомпилировать некий веб-сервер к своему приложению, а у него ведь тоже не одна функция. Как это работает? Кто знает, нужно изучать и изучать. В отличие от этих наворотов, про сокет не нужно знать много. Это на несколько порядков проще и понятнее.
А вот тут играет роль распределение задач. За кривую настройку веб-сервера отвечает системный администратор, а за кривую реализацию на сокетах - программист. Разницу видите?
Этой ИТ-дирекции лень разбираться в 100 модификациях SQL-серверов и т.п.
Не чувствуете противоречия? Зачем тем же админам еще один квадратноколесный велосипед, если есть вполне стандартный http-сервер, которых в конторе стоит с 10-ток штук.


Конечно бывает такая позиция решить свою задачу и создать гемор для других. Нормальные разработчики действуют на достижение общих целей, а те, кто действуют сугубо ради себя, тех увольняют сразу и без сожаления (какой бы квалификации он не был). Обычно таких даже на работу не берут, если ИТ-администрация адекватная.

Поэтому общая позиция нормального разработчика:
а) Если в компании уже есть некое средство передачи файлов по сети (будь-то файловый сервер, фтп, веб-сервер), то он и используется. Программировать вообще не требуется, либо программа будет с минимальным функционалом.
б) Если в компании нет подходящих средств передачи файлов по сети (какие есть нельзя использовать по каким-то причинам), то пишеться своя реализация с минимизацией гемора для компании.
в) Если программист опытный, знает технику работы с сетью (если не знает, то его нельзя привлекать к сетевым задачам на любых технологиях, т.к. он насоздаст дыр и идеологических багов), то на сокетах он напишет решение за 1-2 дня, максимум неделя (включая документацию).
Если есть угроза дос-аттак, то применить и белые листы, и ограничение на число подключений и очередь - это вопрос нескольких строк кода. Опять же речь шла о передачи по сети, а не через Инет (глобальная сеть общего доступа), так что и перечень опасностей будет свой.
Если программист не делает обработку ошибок, не делает защиту от случайного обращения левой проги к данному порту, то такой программист просто не умеет программировать, его либо на обучение, либо в дворники (увольняем из группы программирования).
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: Способы передачи файлов по сети. Кроссплатформенно.

Сообщение vitaly_l » 14.06.2012 08:59:59

alexey38 писал(а):то такой программист просто не умеет программировать

Это-то как раз к программисту - не имеет никакого отношения. Программист может готовить изумительные продукты, но не знать всех нюансов защиты, т.к. варианты взломов и порчи - придумывают каждый день по 1000. Стандарты за этим следят, а Вы предлагаете начинать с сокетов, тобишь с ноля. Лазарус тоже можно заново переписать, только зачем?...

Или другими словами: Если программист высокого уровня, то в итоге он сделает копию протоколов ftp... а зачем, если ftp уже есть?



.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Способы передачи файлов по сети. Кроссплатформенно.

Сообщение stikriz » 14.06.2012 10:00:08

vitaly_l писал(а):он сделает копию протоколов ftp... а зачем, если ftp уже есть?

Задача стоит получить файл, что-то с ним сделать, отдать. Во первых, это вызов функции с аргументом и результатом. Если просто положить файл, и кто-то другой скажет, что файл готов, то можно и расшарить диск. Но, кто скажет? Как клиент узнает, что файл уже обработан? Никаких листов с файлами вообще клиенту не надо. Никаких дозакачек, насколько я понял. И файл после получения серверу не нужен уже. Как сервер узнает, что файл скачан? Давайте, майлом сообщение пошлем :-) HTTP подошел бы, если бы нужно было бы передавать по инету, чтобы через файрволы прошло. А так, не вижу причин городить лишнего. Поднимать веб сервер, только для того, чтобы файлик перепихнуть туды-сюды. Все рассуждения, в принципе, будто программиста взяли, и у него никаких наработок, он не в теме. Сел первый раз в жизни писать некий сервис. Да, копи-пасте со старых проектов и дописка на час работы - вуаля!

vitaly_l писал(а):Лазарус тоже можно заново переписать, только зачем?...

На Лазарусе я сравнительно недавно, а в Дельфи у меня кнопок только было вагон и маленькая тележка. Ок - одна кнопь, Cancel - Другая. И формы из TForm не делал - были специальные в репозитарии на все случаи жизни уже настроенные и дописаные :-) Наработки - это багаж программиста. Так что, не поверите, но либу надо переписывать - на своем уровне каждый что-то переписывает и дописывает, если это программист, конечно, а не компонентотыкатель :-)
Аватара пользователя
stikriz
энтузиаст
 
Сообщения: 612
Зарегистрирован: 15.03.2006 09:37:47

Re: Способы передачи файлов по сети. Кроссплатформенно.

Сообщение vitaly_l » 14.06.2012 10:12:41

stikriz писал(а):Наработки - это багаж программиста.

Компоненты - это те же самые наработки... Если задача стоит сделать уникальные кнопки... тогда ДА, а если нужен стандарт, то чего ради???

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



.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Способы передачи файлов по сети. Кроссплатформенно.

Сообщение stikriz » 14.06.2012 10:17:37

vitaly_l писал(а):Короче круг замкнулся.

Главное, чтобы при создании утюга не получить слона :-) А в остальном согласен.
Аватара пользователя
stikriz
энтузиаст
 
Сообщения: 612
Зарегистрирован: 15.03.2006 09:37:47

Re: Способы передачи файлов по сети. Кроссплатформенно.

Сообщение alexey38 » 14.06.2012 10:33:17

vitaly_l писал(а):
alexey38 писал(а):то такой программист просто не умеет программировать

Это-то как раз к программисту - не имеет никакого отношения. Программист может готовить изумительные продукты, но не знать всех нюансов защиты, т.к. варианты взломов и порчи - придумывают каждый день по 1000. Стандарты за этим следят, а Вы предлагаете начинать с сокетов, тобишь с ноля. Лазарус тоже можно заново переписать, только зачем?...
Или другими словами: Если программист высокого уровня, то в итоге он сделает копию протоколов ftp... а зачем, если ftp уже есть?

Программировать не зная свою предметную область глупо. Результат будет плачевным. Может быть незнающий кодер, но тогда вышестоящий дизайнер и архитектор обязательно должны быть специалистами в предметной области.
В любых областях есть специализации. Есть врач стоматолог, а есть дерматолог, а есть проктолог. Не по своему профилю они могут так налечить, что помрешь. В программировании то же самое. Человек умеющий писать операторы - это еще не программист. Точно также человек умеющий забивать гвозди - это еще не плотник и не строитель, а человек умеющий жать на педаль газа - это еще не водитель.

С чего это взять, что сокеты - это ноль? Сокеты - это база.
Например, автомобиль собирается на болтовых соединениях и на сварке. Это базовая технология сборки и ремонта автомобиля. В зависимости от задачи Вы покупаете комплект ключей, или приобретаете сборочный конвеер.
Почему обычные ключи есть в любом, даже в навороченном автосервисе? Если нужно открутить один болт, то берут ключ, это быстрее и проще. Если нужно отвернуть 100 однотипных болтов, используют специальный станок или приспособление.

Написать на сокетах передачу файла по сети будет занимать 100 строк кода, со всем проверками. Передача файла через веб будет занимать те же самые 100 строк кода в основной программе, 1 000 000 в используемых библиотеках, и еще 1000 строк в файле конфигурации. То есть простая задача на сокетах будет короче по тексту, и быстрее в разработке, и надежнее в работе.
А вот, если задача усложняется, то на сокетах нужно будет написать 10 000 строк кода, а через веб-сервер нужно будет написать всего 1000 строк кода. Вот когда имеет смысл использовать более сложные, навороченные и высокоуровневые технологии. Когда нужно забить один гвоздь, проще взять молоток, а не станок весом в 10 тонн для забивания гвоздей со скоростью 10 гвоздей в секунду.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Пред.След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 252

Рейтинг@Mail.ru