Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Repository или CQRS?

Лучший ответ:
Вот так всегда, очаровались красивой идеей, где-то что-то понравилось, руки чешутся применить... А нужно оно или не нужно... Отталкивайтесь от того, что хотите сделать, а Вы об этом так и не рассказали, и уже потом можно переходить к тому, какую парадигму выбрать, потом выбирать паттерны, фреймворки, библиотеки (но лучше как можно меньше их конечно). Вот для чего Вам CQRS? Что он будет решать и почему без него не лучше? Вы не сможете ответить на эти вопросы если не будете идти от задачи. А потом так и выходит: "что не напишу - все контроллер выходит, это наверно потому, что я все время думаю о контроллерах" )))

Худший ответ:
Добрый день!
Честно говоря, не знаю, что именно Вам понравилось в CQRS и EventSourcing. На мой взгляд, это слишком сложный, непривычный подход, который может использоваться в исключительно редких случаях (как сказал Тимур Шемсединов, все зависит от задачи). Подходы к проектированию приложения нужно применять не тогда, когда они нравятся, а тогда, когда нужно решить конкретную проблему. Если при разработке приложений всегда делать "всякие такие интересные штуки", то процесс разработки уйдет в бесконечность... Проектируйте по принципу: есть задача - как лучше (под "лучше" я понимаю: просто, эффективно, быстро) ее решить. Всё. Если проект "исключительно" в целях обучения - то пожалуйста, здесь Вы вольны использовать всё, что душе угодно. Но если проект реальный, и он Вас "кормит", то тут следует сдерживать свое рвение к новым подходам и всегда задавать вопрос: эта технология/паттерн/механизм/подход поможет решить мне эту задачу? Да - значит, берем, учим, используем, внедряем. Нет - значит, нафиг. Потом больше геморроя будет с сопровождением и изменением кода (и думайте всегда о том разработчике, которому достанется Ваш код после Вас).
Вопрос: Аналог logwatch под Windows?

Лучший ответ:
1) Настройка Event Collector в Windows Server 2008

mcp.su/2009/02/event-collector-in-windows-server-2008/
www.techdays.ru/videos/1292.html
2) Zabbix + zabbix агент на сервер 
Настраиваем датчики на нужные журналы. также можно посторить графики по perfmon.

3) eventcentral
xavier.dusart.free.fr/joomla/index.php/en/eventcentral

Худший ответ:
А какие параметры состояния системы требуется отслеживать?
Вопрос: Как развернуть(deployment) Qt приложение на windows?

Лучший ответ:
Вы неправильно развертываете плагины, они должны располагаться в каталоге с программой в поддиректориях. 
Структура проекта, который будет запускаться на других компьютерах должна быть такой:Current Directory/
	|
	+-platforms/
	|	|
	|	+-qwindows.dll
	|
	+-sqldrivers/
	|	|
	|	+-qsqlite.dll
	|
	+-DatabaseAnime.exe
	|
	+-Qt5Core.dll
	|
	+-Qt5Gui.dll
	|
	+-Qt5Sql.dll
	|
	+-Qt5Widgets.dll
	|
	+-icudt52.dll
	|
	+-icuin52.dll
	|
	+-icuuc52.dll
	|
	+-libgcc_s_dw2-1.dll
	|
	+-libstdc++-6.dll
	|
	+-libwinpthread-1.dll
И ещё несколько советов. 
1. Если ваш проект не использует QtWebkit, вы можете пересобрать библиотеку Qt 5.3.1, без библиотеки icu, тогда ваше приложение "похудеет" на 27 MB. 
2. Опять же, если вы не используете QtWebkit, вы можете собрать Qt 5.3.1 статически, получив единый испольнительный файл без всяких внешних DLL-библиотек и плагинов, который можно сжать upx'ом и получить exe-файл приемлемых размеров (~3-5 MB). 
Подробнее про развертывание можно прочитать в официальной документации.

Худший ответ:
Не считайте это ответом, т.к. сам только что нашел:
https://github.com/WPN-XM/qt-mini-deploy
Вопрос: Можно ли использовать ADSL модем в качествер роутера для FTTB провайдера?

Лучший ответ:
Скорее всего не пойдет. Думаю, проще будет купить простой роутер с wifi. Кстати, вроде на Киевстаре есть акция — роутер за 1 грн

Худший ответ:
Если есть хотя бы доступ к консоли роутера (а там скорее всего линукс), то, в теории, один порт можно сделать как «WAN» и получится 3+1-портовый роутер (вместо 4+1 обычного). Это легко сработает, если провайдер не использует VPN для авторизации. Для прикручивания VPN придется танцевать дополнительно…
Правда, я не думаю, что вам подходит такой способ в силу ваших технических знаний :) Купите новенький роутер, а старый продать можно.
Вопрос: Платформа для статей

Лучший ответ:
Решение от корпорации зла — www.blogger.com/?

Худший ответ:
Спасибо большое! Вроде, оба подходят под мою задачу: имеют возможность вести коллективный блог. Какой из них посоветуете? )
Вопрос: Как устранить высокий пинг на Wi-Fi?

Лучший ответ:
Вайфай в той же ip подсети что и все компьютеры?

Худший ответ:
Ес ли на одном канале валятся пинги значи засоренный эфир, посмотрите сканером кто гадит.
Вопрос: Как реализовать декоратор класса в python?

Лучший ответ:
class LoginRequiredMixin(View):

    @method_decorator(login_required)
    def dispatch(self, *args, **kwargs):
        return super(LoginRequiredMixin, self).dispatch(*args, **kwargs)
И от этого класса наследуете все свои порожденные вьюхи.
Например:class ProfileUpdateView(LoginRequiredMixin, UpdateView):
...
Только следите за тем чтобы LoginRequiredMixin был первым базовым классом. Т.к первым делом будет вызываться его dispatch а потом уже все остальные, если пройдут проверку.

Худший ответ:
Может не будете костылить? А используете наследование?
Еще в urls.py можно обернуть вьюху login_requireдом. Тоже частая метода.
Вопрос: Как извлечь N случайных неповторяющихся элементов из SET в Redis?

Лучший ответ:
Элегантный и быстроработающий, но не самый простой — сделать ветку redis на github, реализовать SRANDMEMBERS, который будет в качестве параметра получать количество возвращаемых результатов, после чего использовать и предложить включить в основную ветку.
Сейчас функция dictGetRandomKey используется в следующих случаях: при экспайре, при получении случайного ключа из базы, при проверке можно ли свопить элемент и при получении случайного элемента множества.
Или же в лоб. SPOP при большой нагрузке — нужно настраивать чтобы redis не начал постоянно пересохранять данные на винт из-за постоянно изменяющихся данных, и ИМХО дополнительный риск их потери.

Худший ответ:
3 раза SPOP потом 3 раза добавить
Вопрос: Хронология познания программирования, или как вы учили C++?

Лучший ответ:
1) Пытался изучить C++.
2) Не смог
3) Забил
4) Выучил паскаль, понял что такое программирование
5) Пытался выучить C
6) Смог
7) Пытался выучить C++
8) Не понял ООП, тогда казалось, что C++ - это лишь ООП, хотя он возможен и в Си ( по прежнему так считаю, не вижу преимуществ C++ над Си, хотел бы услышать преимущества, спасибо )
9) Узнал про ассемблер
10) Выучил ассемблер
11) Задолбался писать сложные проекты в RadAsm
12) Вернулся к C++
13) Все понял и выучил
Какие материалы брал, не вспомню, извиняюсь.

Худший ответ:
ВУЗ->паскаль->c->работа в вузе с хорошим наставником->с++ профит
Вопрос: Как получить деньги за неполученный товар?

Лучший ответ:
А с чего бы, собственно, их не вернуть…

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

Лучший ответ:
Жизнь слишком коротка, чтобы что-то доказывать дуракам.

Худший ответ:
взять и написать что-то буквально на глазах у боссов. Показать эффективность в деле, а не на словах.
Вопрос: Есть ли у Тостера RSS?

Лучший ответ:
На ленту вопросов отдельного тега можно подписаться по ссылке https://toster.ru/rss/tag_questions/###, где решётки - id тега (напр. про Google).

Худший ответ:
Открываете исходник главной страницы, нажимаете Ctrl+F, вводите application/rss+xml, там будет адрес вашей ленты. Адрес, естественно, уникальный.
Вопрос: Как отрицательные вещественные числа представлены в компьютере?

Лучший ответ:
Так же, как и целые -- один бит отдается на знак. В русской википедии как-то скудно, есть в английской. Вообще стандарт называется IEEE 754.

Худший ответ:
habrahabr.ru/post/112953
Про положительные вы тоже что-то странное написали.
Вопрос: Учеба или работа?

Лучший ответ:
А вы потом советчиков искать будете, с ножом в руке, приговаривая «вы мне всю жизнь испортили»? :)

Зависит от того, чего вы ждёте от ВО. 
Если вам просто диплом нужен, так как без диплома какие-то фирмы не хотят на работу брать — а стоит ли в такие фирмы идти?..
Если реальные знания получать — сейчас такое фантастическое время, что можно слушать лекции бесплатно, не выходя из дома.
Так что есть вариант самообразования одновременно с работой.
Ну а что выбрать, это уж вам решать самостоятельно.

Худший ответ:
Если есть желание расти в качестве сетевика (в общем случае — администратора информационных систем), то отсутствие диплома, вероятно, отпугнет 10% работодателей, к которым и так не следовало бы устраиваться, то есть не играет никакой роли. Так что раз армия не заботит — однозначно интенсивное самообразование, неплохо бы парочку статусов получить (только непременно честно, иначе они сослужат очень дурную службу) и устраиваться в крупную коммерческую фирму.
Вопрос: Как реализовать файловый сервер, для сотрудников на выезде?

Лучший ответ:
bittorent sync смотрели?

Худший ответ:
Как вы сами и ответили нет ничего проще и понятнее чем просто фтп сервер с юзерами.
Вопрос: Какую технологию выбрать для UI?

Лучший ответ:
Swing мне вроде попадался в вакансиях. Учи то что востребовано. Вообщем погугли вакансии

Худший ответ:
в плане востребованности обе технологии имеют свои ниши. Однако, spring действительно более востребованный. Я думаю, отдавать предпочтение чему-то одному не стоит. Если ты действительно начинающий и приложение у тебя не хитрое, начни с javafx, он чуть попроще, а потом и на spring можно замахнуться
Вопрос: форматы картинок в PDF

Лучший ответ:
www.adobe.com/devnet/pdf/pdf_reference.html
Неожиданно, правда? ;)

Вам нужен тот документ, который в самом низу страницы, свободная «почти копия» стандарта ISO 32000-1:2008:
www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf

А там вам нужны пункты «8.3.2.2 Device Space», «8.3.2.3 User Space» и «8.9.4 Image Coordinate System» в которых рассказывается, почему эти dpi никому нафик не впились :) и поля такого у картинки нет.

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

Лучший ответ:
MIME: stackoverflow.com/a/4581316/1104483
FileSize: stackoverflow.com/a/4676024/1104483

Только на стороне сервера повторно проверьте, что загрузили :)

Худший ответ:
Например для PHP есть такая игрушка как APC — с ее помощью можно узнать объем файла еще в процессе загрузки. www.haughin.com/2007/10/php-upload-progress-with-php-52-apc/ Также можете использовать adobe flash — он поможет изначально ограничить тип файла, который можно загружать. Главное понимать: кроссбраузерное решение — это либо flash (если он установлен), либо серверное решение:)
Вопрос: Как правильно определить цену своей работы?

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

Худший ответ:
Смотря как работать и где получать заказы.
Вообще любая цена строится от человека часа +- биллиард всяких переменных =)
Вопрос в том как оценить этот час. Вот тут уже надо исходить из цен на рынке в твоём сегменте.
Например если заказ большой, на пару месяцев. Смотришь ЗП какой нибудь вакансии, подходящий тебе по навыкам, 60 тысяч/мес. допустим. Делишь на дни, на часы, получаешь +- 300р час, учитываешь цену конкурентов, получаешь свою цену.
Конторе проще нанять тебя 1 раз когда надо, чем брать в штат сотрудника, выделять рабочее место и т.д.
Если заказ быстрый, тогда стоит сбавить цену, потому что контора ничего не потеряет, если еще день-два поищет кого подешевле.
Но тут нет серебряной пули, потому что кто то захочет сэкономить и его спугнёт твоя цена, а кто то решит что лучше переплатить за качество и закажет у более дорогого исполнителя.
Тут либо пиар "самые низкие цены", либо раскрутка бренда "за качество стоит платить".
А вообще стоит делать переоценку твоего портфолио. Показывать его кому то со стороны и назначать цену, слушать что скажут. Потом прокачивать скилл, и опять делать переоценку. В итоге сам начнёшь понимать что за один проект ценой 30к даже руки марать не станешь, а за другой проект ценой 3к с радостью возьмёшься.
Вопрос: Как определяется высота div со вложенным Img?

Лучший ответ:
Высота больше из за того что img инлайновый элемент. Чтобы сравнять высоту блока и img, нужно либо у img указать display: block, либо у div указать font-size: 0

Худший ответ:
Нужно к изображению применить vertical-align:bottom
Вопрос: Как открыть APK файл в Android Studio?

Лучший ответ:
Android Studio не умеет открывать apk, это умеет делать Apk Studio

Худший ответ:
apk - это zip обычный. Реверсить *.class умеют чуть более, чем дофига средств.
Вопрос: Простой online-сервис для Базы знаний — всякой неструктурированной информации

Лучший ответ:
А как насчет evernote?

Худший ответ:
«2. Использовать Google.Группы
Уже лучше (можно цеплять файлы), но (!) нет меток сообщений + поиск работает также, как и п.1,
т.е. найти что-то, и тем более быстро, будет очень непросто/затруднительно.»

В Google.Группы кстати уже файлы и страницы отменяют: groups-announcements.blogspot.com/2010/09/notice-about-pages-and-files.html?hl=ru
Вопрос: Какую программу взять для учёта времени работы за компьютером (тайм-трекер)?

Лучший ответ:
rescuetime.com подходит под все ваши требования, разве не снимает скриншоты. Здесь можно скачать приложения для различных платформ rescuetime.com/get_rescuetime

Худший ответ:
Попробуйте yaware.ru. Дополнительно анализирует эффективно или нет было потрачено время. Для себя — бесплатно.
Вопрос: Какой вариант логики запросов правилен?

Лучший ответ:
LEFT JOIN и GROUP BY.
Что-то вроде
SELECT
   r.id,
   r.record,
   COUNT(c.id) CountOfComments
FROM records r LEFT JOIN
    comments c ON r.id = c.record_id
GROUP BY r.id


Худший ответ:
Спасибо. Буду тестировать различные варианты.
Вопрос: JailBreak для iPhone 4

Лучший ответ:
Все новости по джейлу выкладываются на quickpwn.com

Худший ответ:
feed живет на www.quickpwn.com/greenpois0n-download/feed
Вопрос: Как сделать раскраску на HTML?

Лучший ответ:
Наверно это спасет отца русской демократии habrahabr.ru/post/123793/

Худший ответ:
Взять картинку с контурами и полупрозрачными областями, без заливки, поставить ей самый высокий z-index. Обрисовать её area map. Создать множество картинок нужных зон с нужной заливкой. На map повесить событие клика. При клике вставлять картинку с нужной областью и цветом, z-index'ом ниже, чем у главной картинки. Достаточно просто сделать, и будет кроссбраузерно.
Вопрос: Как в C++ в эдит запретить вводить какието символы?

Лучший ответ:
Вы, очевидно используете какую-то GUI библиотеку, ибо C++, как язык ни о каких "этит"'ах ничего не знвает. К сожалению все телепаты, в связи с кризисом - в отпусках.

Худший ответ:
Вы и правда считаете, что для плюсов есть только одна библиотека для GUI? Что используется для GUI, какой эдит? Где пример кода с вашими попытками решить эту проблему?
А так-то, вот вам общий ответ: валидатор или параметр, который хранит код символа, в обработчике события нажатия на клавишу. Дальше думайте (ну хоть раз, плз, просто попробуйте -- это не сложно и даже интересно) сами.
Вопрос: Как изменить имя разработчика в App Store?

Лучший ответ:
Нет, только с помощью службы поддержки. Был в налогичной ситуации.

Худший ответ:
Александр, а  вы свой комментарий под своим приложением не слишком ли палевно оставили ? ;) бросается в глаза, как мне кажется. 
P.S. А  приложение возьму в список желаний, так как через полгода пригодится :)
Вопрос: Короткие теги PHP?

Лучший ответ:
Это не философские вопросы. Это на сколько вы профессиональный программист.
Из PSR-1(основным стандартам кодирования по php)
Файлы ДОЛЖНЫ использовать только  
-Зачем вообще нужно следовать этому стайл гайду?
- Для того чтобы все кто программирует на данном языке придерживался единых стандартов(что увеличивает скорость понимания чужого кода да и своего в дальнейшем) и уменьшает количество возможных ошибок.В итоге ускоряет разработку.

Худший ответ:
В новых версиях пхп будет по умолчанию включено, а ещё более вероятно что даже выключить будет нельзя, так что короче лучше
Вопрос: Как сделать чтобы порушенные билды не мешали коллегам?

Лучший ответ:
Навскидку сразу видно несколько проблем.

Во-первых, никакие тесты не должны изменять после себя базу. Если это интеграционные или приёмочные тесты, то их, например, можно проводить в транзакции, откатываемой после завершения каждого теста (кроме того, можно использовать in-memory DB — это заодно и ускорит выполнение тестов). А если это юнит-тесты, то они вообще не должны лезть в базу — надо переписывать код таким образом, чтобы юнит-тестирование не требовало обращений к БД (это, кстати, как правило и общее качество кода улучшает и делает код легче переиспользуемым).

Во-вторых, когда тесты выполняются часами — это верный симптом, что в консерватории что-то не так. Попробуйте отвязать тесты от БД — это должно сильно их ускорить. Если не поможет — разделите тесты по категориям и на каждый коммит прогоняйте только юнит-тесты, а интеграционные и приёмочные выполняйте раз в два-три часа (в зависимости от длительности их исполнения).

Кроме того, если все билды выполняются на одной машине, то их надо выполнять последовательно, а не параллельно — это уменьшает накладные расходы и общее время сборок/тестирования. А вот если вы выполняете сборки на разных машинах (например, TeamCity это умеет) — тогда да, можно запускать и параллельно, чтобы вычислительный ресурс не простаивал :-)

Худший ответ:
Я думаю, что запускать две VM для разных коммитов и merge'ить оба является некорректным решением. Почему бы не запускать build'ы по очереди?
Вопрос: Какие онлайн сервисы хранения GPS треков посоветуете?

Лучший ответ:
LiveGPSTracks.com:
— простая загрузка / выгрузка — есть
— поддержка распространенных форматов — kml, gpx, plt
— возможность редактировать онлайн — пока нет
— отображение на карте — яндекс, гугл (осм в пока нет)
— ограничение доступа к данным (возможность иметь приватные треки, которые вижу только я) — есть
— возможность открыть доступ для просмотра / редактирования друзьям — есть (просмотр)
— загрузка фото и привязка к треку — есть

Худший ответ:
Мне понравилось пользоваться endomondo.com (особенно хорошо, если на него ещё и друзей посадить).
Вопрос: Обновление Windows 10 на планшете Asus, Можно ли удалить эти папки?

Лучший ответ:
Этот компьютер / Свойства диска С: / Очистка диска (здесь оно недолго думает) / Очистка системных файлов / Выставляете все галочки.
Все что после этого останется, можно удалить руками.

Худший ответ:
Простой ответ можно удалить,  елементарно - rsload.net/soft/cleaner-disk/13958-unlocker.html
Вопрос: За сколько с полного 0 можно подняться до 50$ на Odesk?

Лучший ответ:
Всегда в интеренете находится много людей, которые утверждают, что они работают 10+ часов в день по 50$ в час.
На самом деле, 8 часов из 10 они откликаются на отклики и еще 2 часа работают за 5 долларов в час. Т.е. на самом деле они работают по 1$ в час. И таких 90%. Потому что смысл заказчику платить 50 долларов Васяну, когда господин из Индии готов сделать то же самое за 2-5$?
Только действительно опытным и гуру могут предложить задачи по 50$ в час, что сильно дешевле специалиста в США, к примеру. Но и таких уже ищут не на одеске, а по рекомендациям, имхо.
На фриланс биржах никогда не будет нормального проекта на тысячи часов под целую команду разработчиков. Такие проекты отдают компаниям-аутсорсерам. В общем, codemonkey сейчас не в почете. Либо Вы работаете в компании и растете, как специалист, имея выходные, отпуска, больничные, пенсию и соц. пакет, либо Вы работаете за еду на фрилансе. Есть третий путь - предпринимательство. Но это сложно и не для каждого.
Конечно, сейчас многие начнут спорить со мной. Уже годами люди спорят со мной на эту тему. Что еще раз подтверждает мою правоту. Спорить со мной тем, у кого 50$ в час цена - дорого, столько времени тратить на меня, доказывая что-то. Значит спорят те, кто 50$ не видят никогда. Такие вот дела.

Худший ответ:
Через пять лет все пойдут работать менеджером или на завод...
Юристам привет)
Вопрос: Возможно ли следить за пользователем, пришедшем по рекламе в Yandex Direct?

Лучший ответ:
Как вариант добавьте в базу пользовтелю поле, в котором храните откуда он пришел. В ссылках с директа ставьте спец параметр (типа ?from=direct). При заходе с этим параметром запоминайте посетителя (сессии/куки). При регистрации смотрите есть ли установленные куки, что посетитель с директа и заполняйте это поле в базе.
А дальше смотрите придет ли этот пользователь через неделю или нет.
Где-то были на хабре статьи про отслеживание посетителей с контекста, правда с ходу найти не смог.

Худший ответ:
Не пробовали использовать сервисы типа WebVisor?
Если знаете IP-адрес, то я думаю проблемы вообще пропадут.
Вопрос: Как можно продавать свою модификацию open source движка интернет-магазина?

Лучший ответ:
А где исходники?
Лицензия GPLv3 предполагает что вы ОБЯЗАНЫ открыть исходники модифицированной версии, если вы этого не сделаете ВЫ НАРУШАЕТЕ условия лицензии.
А так да, если вы не нарушаете условия лицензии - вы можете продавать модифицированную копию за любую стоимость.
Немного почитать по теме понятным языком: https://www.gnu.org/licenses/gpl-faq.html#DoesTheG...

Худший ответ:
Сделайте сервис, продавайте как SaaS.
Вопрос: Нужна ли миру система единых аккаунтов?

Лучший ответ:
Конечно нужен, это же мечта всех копирастов и правительств, причем с другого аккаунта заходить на любой сайт нужно запретить.

Худший ответ:
Тогда можно забыть по анонимность, что ИМХО не есть гуд. Ведь этим могут воспользоваться мошенники! Только представьте, кто-то каким-либо образом получает доступ к вашему аккаунту и делает свое «черное» дело! И потом доказывай что не верблюд!
Вопрос: Какой самый лучший курс Google Adwords?

Лучший ответ:
от самого Гугла
https://support.google.com/adwords/answer/6080949?hl=en
другие так или иначе пересссказывают его же
секретов никто не раскрывает

Худший ответ:
Советую курсы контентмонстра или EMPO по Adwords. 
Более лучших курсов на рынке нет.
Вопрос: С чего начать создание интернет-магазина?

Лучший ответ:
начните с поиска аудитории — если есть покупатель, в особенности постоянный или постоянно прибывающий, то остальное детали.
попробуйте вначале сделать просто витрину (можно даже статическую), с телефонным заказом и/или с заказом через форму обратной связи. 
когда у вас появится поток заказов для которого записной книги будет мало, то тогда появятся и деньги для е-магазина (по крайней мере вы сможете выделить на дизайн и создание достаточно средств).

Худший ответ:
1) Самописные движки хорошо, но для этого надо держать комманду программистов, да и написать функциональный вэб-магазин за пару часов не получится. Но, как сказал предыдущий человек — зависит от потребностей.
Мы сейчас взялись переносить магазинчик как раз на готовый движок. Выбрали Magento, но не знаю на сколько правильным был выбор, т.к. с нуля в нем довольно тяжело разобраться. Но программистам знакомым с этим натянуть дизайн — не очень то сложно.
OSCommerce лучше даже не смотреть — система старая, код написан плохо, довольно много багов может вылазить.
На хабре можно поискать обзор уже готовых решений.\

2) По ценам — от нуля, если взять уже готовые шкурки и натянуть на готовый движок, до «сколько не жалко».