Роман Беляев
16382 сообщения
#14 лет назад
Оффтопик
ИМХО очевидно, что от момента "работает" - выполняет основную функцию в первом тесте до момента когда появляется решение "под ключ", т.е. полноценное полнофункциональное и самодостаточное решение целая пропасть. Я думал, что только заказчики не понимают, что можно просто сделать абы запустилось, а можно выпустить продукт. Ну и цены, естественно отличаются также на пропасть.
Студия В.
96 сообщений
#14 лет назад
Мда, может я чего в этом мире не пониманию.... Инсталлятор для программы делается в несколько кликов - tvv, вы что для каждой программы пишите с нуля? NSIS или INNO никто не отменял - это очень просто и как правило следующая программа пишется уже с готового шаблона.
Мне недавно делали часть этой работы и скажу вам честно другая часть не стоит ваших космических цен..
tvv, кроме как попытки содрать с неопытного заказчика побольше денег я в ваших словах ничего не вижу.
Студия В.
96 сообщений
#14 лет назад
Вообще все просто, кто знает - делает за несколько часов (okman), кто не знает - делает месяц (tvv) со всеми вытекающими из этого дела последствиями (суммой к оплате)
Вадим Т.
3240 сообщений
#14 лет назад
Цитата ("Odministrator"):
Мда, может я чего в этом мире не пониманию.... Инсталлятор для программы делается в несколько кликов - tvv, вы что для каждой программы пишите с нуля? NSIS или INNO никто не отменял - это очень просто и как правило следующая программа пишется уже с готового шаблона.
Мне недавно делали часть этой работы и скажу вам честно другая часть не стоит ваших космических цен..
tvv, кроме как попытки содрать с неопытного заказчика побольше денег я в ваших словах ничего не вижу.

Odministrator, я категорически терпеть не могу делать работу некачественно.
Инсталлятор, сделанный в несколько кликов, не будет качественным инсталлятором, если устанавливаемая программа встраивается в систему, как это имеет место быть в данном случае.

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

Ответьте пожалуйста, Вы станете заказчику гарантировать стабильную работу инсталлятора Windows сервиса, сделанного Вами скажем, на базе NSIS или INNO "в несколько кликов"?
Видимо, да.
В этом случае кроме как попытки содрать с неопытного заказчика побольше денег я в Ваших словах ничего не вижу.
Студия В.
96 сообщений
#14 лет назад
Tvv, общем случае ни один нормальный разработчик не гарантирует что его программа заработает "при таких то условиях" . Я могу (любой может) вогнать винду в режим vga 16 цветов, без сети или поставить какой либо антивирус который не дает возможности что то поставить или сделать, без прав администратора или еще что похуже, вообще загрузиться в другую ОС и потом кричать на весь мир - оно не работает! При таком подходе конечно цена будет в десятки раз выше реальной и совсем не гарантирует, что вы победите все такие "проблемы".
Вы ищете проблемы у заказчика там, где их нет.
Вадим Т.
3240 сообщений
#14 лет назад
Так и есть, все проблемы решить невозможно.
Но можно по крайней мере разобраться с большинством из них, самых типовых и часто встречающихся.
Конечно, используя при этом свои наработки.
Как минимум нужно расписать все возможные исключительные ситуации, какие могут возникнуть в процессе работы инсталлятора применительно именно к текущему проекту.

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

Цитата ("Odministrator"):
кто не знает - делает месяц (tvv)

На инсталлятор выделяется 1 день. Месяц (22 раб. дня) - примерная оценка на весь проект.

Цитата ("Odministrator"):
Мне недавно делали часть этой работы и скажу вам честно другая часть не стоит ваших космических цен..

1 день работы над инсталлятором при рейте 17 в час (оно же 3000 USD в месяц) - это всего лишь примерно 140 USD.
Это космическая цена?
Конечно, инсталлятор, созданный в несколько кликов, стоил бы ничто, но это не будет решением.
Студия В.
96 сообщений
#14 лет назад
Вадим, я пытаюсь донести одну простую вешь - инсталляторы уже написаны, и для такой простой программы тратить бюджет в размере одного дневного заработка программиста - это расточительство. неужели Вы всерьез думаете что к примеру никто до вас не делал программу-сервис, которая ставится через тот же NSIS к примеру? если вы не работали с ним, у вас конечно уйдет день. С остальным тоже самое.
К примеру вам вопрос, за сколько вы напишите к примеру инсталлятор например для MAC программы или Linux?
Фриланс тем и хорош, что позволяет выбрать наиболее грамотного специалиста в области проекта, а не тупо брать человека из топа, чтобы он делал дорого и разбирался долго в том что собирается предложить заказчику.
Я придерживаюсь подхода, что если исполнитель не работал в сфере проекта - надо искать другого, все знать невозможно, а времени и денег сэкономит порядочно. Сказали бы проще - я не писал инсталляторы и не писал сервисы, поэтому буду разбираться в этом деле один месяц и стоить это будет очень дорого.
Артём К.
1157 сообщений
#14 лет назад
Цитата ("okman"):
Ну, я бы сделал такую программу.
Глобальный хук через AppInit_DLLs или служба.
Кстати, делал и то, и другое неоднократно.
И ничего тут сложного, а если сеть - локальная, то все еще проще.

P.S. В пределах 100$.


Да, okman, тут вы прогорите. Будете пахать недели 3 за 100 баксов.

Одно только обсуждение с заказчиком протокола обмена данными с сервером займёт пару тройку дней.
Просто потому, что чтобы всё продумать и между собой договориться нужно время.
Что если комп за день включат и выключат много раз?
Какую информацию передавать на сервер? А что если та информация, которую вы передали, там уже есть?
Взвалить проверку информации полностью на сервер?
Вот Вам и 3 дня прошло, пока все вопросы решили.

Как вы собрались хранить информацию на компьютере? В текстовом файле, чтобы любой пользователь мог его редактировать?
Или в зашифрованном виде? Алгоритм шифрования, расшифрования?


Хорошо. Ладно. Пусть вы написали программулину. Дальше её надо ставить на сотню компов!
Вы уверены на 100%, что Ваша программулина встанет без проблем на каждый из сотни компов?
Я с Вами готов спорить на деньги, что с установкой программы на 100 машин будут проблемы.

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

А время на вдруг чего? Вдруг сетка не запашет, вдруг архитектура сетки тяжкая? Вдруг файерволы, антивири?
Сетка из 100 компов. Готов спорить, что с сеткой будут проблемы.


Ну, в общем, Okman, не серьёзный подход. Сроки надо называть с запасом, несколько часов - это вы погорячились.
За несколько часов даже код написать не успеете, не то что готовый продукт с инсталлятором, оттестированный и отлаженный.
Будете пахать за 100$ и сами будете не рады.


Вряд ли в данном проекте заказчику нужен чертовски сложный продукт, предусматривающий все возможные антивири, файерволы, разные конфигурации машин, операционных систем и грамотно обрабатывающий все возможные и не возможные исключения, как описал tvv. Такой продукт и правда стоил бы от 3000$.
Но, что работа займёт пару недель это точно.
Вадим Т.
3240 сообщений
#14 лет назад
Цитата ("Odministrator"):
Сказали бы проще - я не писал инсталляторы и не писал сервисы, поэтому буду разбираться в этом деле один месяц и стоить это будет очень дорого.

1. Инсталляторы делал, и не в одном десятке проектов. Включая с использованием тех же NSIS и INNO.
2. Где я писал что это будет 1 месяц? Еще раз, на инсталлятор в проектах такого плана выделяю 1 день, как я и писал выше.
Студия В.
96 сообщений
#14 лет назад
Цитата ("tvv"):
Цитата ("Odministrator"):
Сказали бы проще - я не писал инсталляторы и не писал сервисы, поэтому буду разбираться в этом деле один месяц и стоить это будет очень дорого.

1. Инсталляторы делал, и не в одном десятке проектов. Включая с использованием тех же NSIS и INNO.
2. Где я писал что это будет 1 месяц? Еще раз, на инсталлятор в проектах такого плана выделяю 1 день, как я и писал выше.



Это видимо писал кто то другой, если уже от своих слов отказываетесь
Цитата:
Разработка такого Windows-сервиса на .NET займет примерно человеко-месяц, цена в районе 3000 USD.
Оно же, но на С++ займет примерно 2 человеко-месяца, цена соответственно в два раза больше.


То есть Ваша оценка 3000$-6000$. Мне просто уже интересно, как и чем можно оправдать такой бюджет и сроки!
И еще С++ не настолько плох, чтобы в нем разработка этой программы была в 2 раза медленнее и дороже.
Хотя вполне допускаю, что это Ваши личные предпочтения и мастерство.
Хотите прямое доказательство моих слов? Предлагаю пари.
Я (или Вы) создаю проект, за сумму не более чем в 300 долларов и 3 дней эту работу делает, откликнувшийся okman.
Тот кто неправ, оплачивает расходы по разработке плюс.небольшой бонус, например в 100$ долларов автору топика и столько же выигравшей стороне.
Студия В.
96 сообщений
#14 лет назад
Okman, спор не бесполезный, как может показаться на первый взляд, а вполне практический Оценка - это первое (или одно из первых) что интересует заказчика и не менее первое что должен сделать исполнитель, просматривая проект. Кстати, кто как оценивает такие проекты?




Везде стоят суммы, которые озвучил заказчик, и вот интересна оценка фрилансеров, которые обсуждают данную тему форума.
Александр В.
771 сообщение
#14 лет назад
Цитата ("superkoder"):
Сетка из 100 компов. Готов спорить, что с сеткой будут проблемы.

сетки нет, есть gprs-интернет на каждом компе (=>динамический ip) и хостинг в инете, собирающий информацию
Студия В.
96 сообщений
#14 лет назад
Я предлагаю заставить автора топика, как зачинателя дискуссии заставить сделать заказ у tvv
Александр В.
771 сообщение
#14 лет назад
Цитата ("Odministrator"):
Я предлагаю заставить автора топика, как зачинателя дискуссии заставить сделать заказ у tvv

угу, щас под залог машины возьму кредит и сделаю заказ шучу
Евгений О.
263 сообщения
#14 лет назад
Цитата ("tvv"):
Разработка такого Windows-сервиса на .NET займет примерно человеко-месяц, цена в районе 3000 USD.
Оно же, но на С++ займет примерно 2 человеко-месяца, цена соответственно в два раза больше.


Я полагаю, уважаемый tvv дал слишком оптимистическую оценку. Давайте вспомним, что речь идет о приложении клиент-сервер и где-то есть еще серверная часть, которую будет разрабатывать кто-то другой. С учетом потерь времени на согласование протокола обмена с сервером и неизбежных изменений в протоколе, проект потребует как минимум два месяца. Теперь добавим потери времени вызванные задержками при разработке серверной части, добавим комплексное тестирование, добавим нагрузочное тестирование (кто-то тут говорил о сотне клиентов, а что будет если все сто включатся одновременно?), кто (и за какие деньги?) будет писать скрипт-эмулятор сотни клиентов (или мы попросим заказчика поставить сотню реальных машин и побегать между ними тестируя всю эту штуку?). Кстати, мы совсем забыли о документации: описание протокола, инструкция по установке, какой-то help на программу - что-то из этого придется писать и на это придется потратить время. С учетом этих обстоятельств, я бы, ориентировочно, оценил трудоемкость проекта в 2 человека-месяца и предупредил бы заказчика о том, что это удовольствие может растянуться еще на пару месяцев.

С моей точки зрения, оптимальным решением было бы приискать что-либо готовое из категории open-source и адаптировать его под конкретные нужды. Такой подход действительно позволил бы уложить проект в один человеко-месяц и обеспечить приемлемое качество работы всей этой штуковины.

Цитата ("Odministrator"):
То есть Ваша оценка 3000$-6000$. Мне просто уже интересно, как и чем можно оправдать такой бюджет и сроки!


Если делать "по-серьезному" то в этом проекте, так же как и в подавляющем большинстве остальных, такой бюджет и такие сроки оправдываются: согласованиями спецификаций, тестированием и комплексной отладкой с неизбежными последующими изменениями как клиентской, так и серверной части. Хотя, конечно, заказчику можно ничего об этом не говорить, получить свои $100 за демо-версию программы а потом или перевести проект в режим почасовой оплаты или... забыть про него и заняться работой с другими заказчиками.

Цитата ("Odministrator"):
Хотите прямое доказательство моих слов? Предлагаю пари.
Я (или Вы) создаю проект, за сумму не более чем в 300 долларов и 3 дней эту работу делает, откликнувшийся okman.
Тот кто неправ, оплачивает расходы по разработке плюс.небольшой бонус, например в 100$ долларов автору топика и столько же выигравшей стороне.

Интересно, а кто будет писать спецификации на проект? И кто будет тестировать? И кто будет решать, сделан проект или не сделан, если, к примеру, написанная за три дня программа будет работать в течении трех дней и "умирать" на четвертый?
Александр В.
771 сообщение
#14 лет назад
Цитата ("okman"):
alexander_vip, вы получили ответ на свой вопрос или вас еще больше запутали ?

Да, кстати.

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

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


p.s. Скажите пожалуйста, можно ли из win-процесса послать данные на сервер в виде GET или POST запроса?
Евгений О.
263 сообщения
#14 лет назад
Цитата ("alexander_vip"):
сетки нет, есть gprs-интернет на каждом компе (=>динамический ip) и хостинг в инете, собирающий информацию

Вот мы и приехали. Начинаем с разработки протокола. Очевидно, UDP не подходит, нужно что-то из семейства TCP, желательно с шифрацией данных в канале. Чтобы так сразу не пугать заказчика, попробуем соориентироваться на HTTPS и построить серверную часть на Apache+mod_SSL+PHP. Интересно, за $100 можно написать клиентскую программу с поддержкой HTTPS, "левых" сертификатов и обработкой большинства ошибок могущих возникнуть из-за GRPS?
Студия В.
96 сообщений
#14 лет назад
Цитата:
Интересно, а кто будет писать спецификации на проект? И кто будет тестировать? И кто будет решать, сделан проект или не сделан, если, к примеру, написанная за три дня программа будет работать в течении трех дней и "умирать" на четвертый?


Писать спецификации будет автор топика, если он чего то добавит или усложнит, исполнитель произведет корректировку. Принимать тоже будет он. Если исполнитель напишет так, что она будет падать на четвертый день, поставим ему отрицательный отзыв, плюс общественное порицание с публичной поркой на этом форуме и исправительные работы за отзыв на этом ресурсе сроком на 1 месяц.
Евгений О.
263 сообщения
#14 лет назад
Цитата ("alexander_vip"):
p.s. Скажите пожалуйста, можно ли из win-процесса послать данные на сервер в виде GET или POST запроса?

Можно. Это можно сделать даже из win-процесса.
Александр В.
771 сообщение
#14 лет назад
Цитата ("Illarion_SA"):
Очевидно, UDP не подходит, нужно что-то из семейства TCP, желательно с шифрацией данных в канале. Чтобы так сразу не пугать заказчика, попробуем соориентироваться на HTTPS и построить серверную часть на Apache+mod_SSL+PHP

Что-то Вы начинаете всё усложнять. Подойдёт обычный http, данные о том, сколько времени проработал рядовой сотрудник нафиг никому не нужны, пусть крадут на здоровье

Цитата ("Illarion_SA"):
Можно. Это можно сделать даже из win-процесса.

спасибо, развеяли сомнения