Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Что должен знать SQL разработчик?

Лучший ответ:
Наверное, знать надо все и до бесконечности. Я тоже работаю с PostgreSQL, для разработки  и администрировании по моему горькому опыту нужно знать: 1) Linuxстандартный набор консольных утилитсистема выдачи прав на файлызнания про работу с памятью для тюнинга БДlxc (возможность поднять кучу легковесных контейнеров с разными базами очень помогает)уметь настраивать фаервол (чтобы у сервера БД не торчало лишнее наружу)ssh проброс портов с удаленного компьютера (чтобы удобно подключаться к БД)2) Система контроля версий - git, svn и т.д.3) PostgreSQL внутренняя работа под капотом (для тюнинга производительности) FTS, триграммы, plproxy pgtap для тестирования система версионирования схемы бд (я рекомендую pyrseas) балансировщики, репликация, PIT бэкапы (рекомендую barman) FDW для подключения к разным другим источникам данных
А вообще, смотри видео и читай доклады с pgconf и документацию по PostgresPro, это хорошо помогает быть в курсе последних тенденций.

Худший ответ:
Правильно создавать хранилище данных с учётом требований бизнес-логики.
Иногда - нужен специфичный поиск, иногда - быстрое добавление записей.
Вот эти понятия - нужно чётко различать и правильно применять.
И, конечно же, уметь писать грамотные хранимые процедуры, которые облегчат жизнь и человеку, который работает с БД и тем, кто работает с этой БД через эти процедуры.
Вопрос: Как сделать так, чтобы не создавалось много файлов php после обновления страницы,а только один файл переменной $to после регистрации?

Лучший ответ:
Много файлов - это про первые 3 строчки скрипта ? А накой они вообще создаются ? Выкинуть не пробовал ?

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

Лучший ответ:
Посмотреть в стилях слоя.

Худший ответ:
Info-оффтоп: найти и выбрать нужный слой можно удерживая Alt + клик правой кнопкой мыши по рисунку (тому слою что нужно найти в списке слоев).
Многие не знают, поэтому может будет полезно.
Вопрос: Почему зависает сайт при работе с двух окон?

Лучший ответ:
На слух конечно такое решать сложно. Причина почему из разных браузеров работает скореее всего связана с тем что авторизация в разных браузерах инициирует разные идентификаторы сессий и фактически каждый пользователь живет своей жизнью что есть правильно. 
Касательно основной задачи - проблема чисто архитектурная. Большие тяжелые SQL запросы нельзя выполнять синхронно с действиями пользователя. Как хотите обходите, но формирование отчета не может и не должно реализовываться через синхронный запрос. И нет - async/await ситуацию не исправит. Хотите делать визуальное представление данных - оптимизируйте запрос,денормализовывайте таблицы, стройте индексы, в общем разбирайтесь по query-plan что работает долго. 
Некоторые расчеты можно предрасчитать заранее(хотя это большая редкость, но бывает).
Опять же вопрос - нужно ли пользователю весь набор данных отчета или только некая выжимка(топ-10 от чего-то). Если нужен весь - то может стоит реализовать через выгрузку в файл и почту, а не в интерфейс системы.

Худший ответ:
На слух конечно такое решать сложно. Причина почему из разных браузеров работает скореее всего связана с тем что авторизация в разных браузерах инициирует разные идентификаторы сессий и фактически каждый пользователь живет своей жизнью что есть правильно. 
Касательно основной задачи - проблема чисто архитектурная. Большие тяжелые SQL запросы нельзя выполнять синхронно с действиями пользователя. Как хотите обходите, но формирование отчета не может и не должно реализовываться через синхронный запрос. И нет - async/await ситуацию не исправит. Хотите делать визуальное представление данных - оптимизируйте запрос,денормализовывайте таблицы, стройте индексы, в общем разбирайтесь по query-plan что работает долго. 
Некоторые расчеты можно предрасчитать заранее(хотя это большая редкость, но бывает).
Опять же вопрос - нужно ли пользователю весь набор данных отчета или только некая выжимка(топ-10 от чего-то). Если нужен весь - то может стоит реализовать через выгрузку в файл и почту, а не в интерфейс системы.
Вопрос: Стоит ли писать только на ES6?

Лучший ответ:
Пишите на ES6, а если нужна поддержка старых браузеров, используйте бабель и полифиллы

Худший ответ:
Всё зависит от требований проекта. Смотрите требования. От них определяете какие технологии и какой стек разработки выбрать.
Вопрос: Какой плагин либо препроцессор html использовать для сборки верстки из блоков?

Лучший ответ:
В самом простом случае тебе нужен  nunjucks.
А так можешь использовать сборку типа blendid, там уже есть nunjucks, есть browsersync так что можно быстро и удобно верстать.
У blendid только в Винде небольшой баг(хотя это не у него, а у gulp/yarn), поэтому в package.json можно добавить:,
   "scripts": {
    "start": "yarn run blendid",
    "build": "./node_modules/.bin/blendid -- build"
  }
Ну и тогда yarn start запустит сервер разработки(browsersync), а yarn run build соберет проект.
Ну и да для всей движухи нужно установить ноду и сам yarn

Худший ответ:
верстай на php и подключай блоки через require
к примеру openserver нормально дружит с browsersync, а значит все что связанно с gulp - будет работать.
Вопрос: Как эту задачу решить с помощью JS?

Лучший ответ:
Самый простой способ, сравнить строку со строкой наоборот. Например было "строка", а вторая строка "акортс", и если они равны (нужно сравнивать в нижнем регистре toLowerCase), то слово палиндром, если нет, то не палиндром.
UPD: Также можно обрезать пробелы, чтобы третий пример работал.

Худший ответ:
Обойди циклом for строку до середины, сравнивая символ с соответствующим символом с конца.for (let i = 0; i < string.length / 2; i++)
Получить сам символ можно string[i], как получить соответствующий с конца, подсчитаешь индекс самостоятельно.
Ввести строку можно с помощью let string = prompt("Введи что-то:")
Вопрос: Как добавить несколько шорткодов галерей на страницу?

Лучший ответ:
Добрый день.
Может попробовать для начала воспользоваться этим советом?Идентификатор должен обязательно начинаться с латинского символа и может содержать в себе латинские буквы (A–Z, a–z), цифры (0–9), символ дефиса (-) и подчеркивания (_). Использование русских букв в именах идентификатора недопустимо.

Худший ответ:
Скорее всего, id  - это идентификатор галереи. То есть, я предполагаю, они как то пронумерованы,  и выводятся на страницу именно по номеру галереи. Вам нужно знать которую галерею выводить не по ее заголовку а по ее идентификатору в системе.
А title - просто красивый заголовок, который появится перед галереями. Он может быт любой, хоть на китайском.
Наверное так.
Вопрос: С чего начать обучение машинному обучению / deep learning / data mining?

Лучший ответ:
Т. Сегаран - программируем коллективный разум. Там есть некоторые методы машинного обучения. Сама книжка смесь вэба и Data Mining. Python
В этих двух книгах теория:
Питер Норвиг. Искусственный интеллект: современный подход
Книга П.С. Романов. Основы искусственного интеллекта 
Библиотека scikit-learn с реализованными алгоритмами из книг выше. Python
Статья по ней на хабре: Введение в машинное обучение с помощью Python и Sc...
А также пригодится ( на более поздних этапах )
Козлов М.В., Прохоров А.В. Введение в математическую статистику. — М.: Изд-во МГУ, 1987.
Боровков А.А. Математическая статистика. Оценка параметров, проверка гипотез. — М.: Наука, 1984
Боровков А.А. Математическая статистика. Дополнительные главы. — М.: Наука, 1984.
На ранних этапах желательно знать курс теорвера и матстатики из школы. Что такое вероятность, дисперсия величины и т.д - иногда используются эти понятия. Особенно широко в генетических алгоритмах
P.S. Я сам пока учусь, список от человека, который занимается AI уже давно

Худший ответ:
Помимо курсов, которые уже упомянули (от Andrew Ng и Яндекса/МФТИ на Coursera), могу посоветовать два курса, которые проходил сам:
* Введение в Computer Science и программирование от ... – научитесь писать код на Питоне, узнаете про некоторые виды алгоритмов и их свойства. Порешаете задачки. Мне помог научиться писать код и понимать, какую информацию искать, чтобы учиться дальше. Курс бесплатный.
* Программа Data Science на Яндекс.Практикум – добротный курс введения в ДС и машинное обучение. Из плюсов – хорошие прикладные бизнес-кейсы, созвоны с наставником (практикующим ДС) и проекты, которые проверяет человек. Из минусов – некоторые темы даны поверхностно (например работа с большими данными и Spark). Курс платный, с бесплатной вводной частью – можете попробовать – ваше это или нет.
Вопрос: Как сделать правильную умную кнопку Назад в VueJS?

Лучший ответ:
 Так хорошо, вроде бы все классно. Теперь проблема с прямым переходом по ссылке в запись решена, только вот появляется другая проблема. Позиционирование скролла. При переходе go(-1) у нас сохраняются все записи которые были загружены в список, а при переходе to="/posts" компонент заново загружает записи и позиционируется вверху. Ну ладно, позиционирование, компонент просто еще раз начинает загружать данные.
Тут не понятно о каком позициноирование и загрузке идет речь, если у вас рендеринг различается при переходе на экран с постами через /posts и через router.go(-1) - это проблема другого характера и решать ее нужно вне этого вопроса.  Различаться он может только отсутствием подгрузки во втором варианте, если вы не кэшируете данные и это нормально.Проблема третья. Если, допустим, мы перешли в запись не с общего списка, а с предложенных новостей в каком то другом посте блога, то кнопка "назад" должна все-таки вести назад на предыдущую запись, а не в общий список.
Пишите в Store название роута куда нужно ридеректить при нажатии на Назад, на beforeRouteLeave экрана с предложенными новостями - меняете на другой роут.Вроде-бы это как то реализуется через Хуки роутов, но к сожалению у меня нет такого опыта работы с ними.
В документации есть более чем подробная информация о всех хуках, читайте, пробуйте, получайте опыт.

Худший ответ:
Почему бы не смотреть, куда ведёт go(-1), а там уже через условия самому перенаправлять пользователя, если Вас не устраивает то, что внутри go(-1)
Вопрос: Какой движок выбрать для 3D гейм-дева новичку-любителю?

Лучший ответ:
Мне кажется unity здесь гораздо больше подходит. C# гораздо приятней, ассет стор больше, а графика для инди не будет иметь значения.

Худший ответ:
Выбирайте Unity 3D
Вопрос: Сможет ли IT-специалист устроиться в крупную компанию на условном сроке?

Лучший ответ:
1. В маленькие - как повезет, зависит от личного отношения владельца. В большие - без шансов.
Абсолютно все энтерпрайз компании формализируют и бюрократизируют бизнес-процессы, - и проверка СБ является обязательным пунктом. Никакие друзья в компании обойти это не помогут - т.к мгновенно вылетят следом за попытку.
2. 228ч2 - чуваку до 10 лет отсидки грозит, какая условка. Ему не о карьере сейчас думать нужно, а о том как не присесть.

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

Лучший ответ:
Может показаться странным, но рекомендую поставить Total Commander. Запустить его, выделить файлы, которые необходимо переименовать, указать правила переименования и нажать Выполнить. 
Либо да, PowerShell в помощь.

Худший ответ:
gci file-* | %{$t=($_.Name -split '-');Ren $_.fullname -NewName ($t[0]+'-'+[string]([int]$t[1]+30)+'-'+[string]([int]$t[2]+40))}
какие все ленивые, такой простой скриптик написать не могут :D
Вопрос: Как изменить горячую клавишу смены языка на Ctrl+Shift в Ubuntu 18.04?

Лучший ответ:
Надо установить gnome-tweaks:sudo apt-get install gnome-tweak-tool
Далее вызываете gnome-tweaks, с левой стороны выбираете "Клавиатура и мышь".
Под "Комбинация клавиш ... " есть кнопка "Дополнительные параметры раскладки" нажимаете и в окне  выбираете "Переключение на другую раскладку". Там можно выбрать любую комбинацию от Alt+Shift и т.д.

Худший ответ:
gsettings set org.gnome.desktop.input-sources xkb-options "['grp:alt_shift_toggle']"

либо есть gnome-tweaks
Вопрос: Какие в настоящее время фреймворки популярны?

Лучший ответ:
1. На мой взгляд Laravel 5 (php), Angular/Vue/React (js). Из CSS фреймворков работаю только с Bootstrap (изменённый для своих нужд), либо самописный.
2. Разработка веб-сайтов с хорошими "плюшками" =)
3. Оф. документация (либо перевод документации)
4. Написание простых сайтов (todo и т.п.)
PS: Это только моё мнение, так что сильно не ругаться ;)

Худший ответ:
1.2. Что говорит гугл на такие запросы?
- frontend top frameworks 2017
- php top frameworks 2017
Ну и первые ссылки на эти запросы:
https://coderseye.com/best-php-frameworks-for-web-...
https://da-14.com/blog/5-best-javascript-framework...
Трудно? Вряд ли!
3. Официальные доки и туториалы
4. Для сайтов: создание сайта. Для интерфейсов: создание интерфейса. Нет, не подходит?
Вопрос: Как удалить неудаляемый раздел реестра?

Лучший ответ:
скачать psexec, входит в состав sysinternals
запустить командную строку с правами админа в директории с psexec
выполнить psexec -i -s -d regedit
удалить нужный ключ.
На некоторые разделы замучаешься права выставлять, там наследование не работает

Худший ответ:
Создай свой файлик *.reg, где затри этот раздел и попробуй запустить его в win в безопасном режиме.
Вопрос: Что исправит в коде, что бы в ответе было не только число, но и текст?

Лучший ответ:
Лучше использовать, такой способ
print('Ваш вес должен составлять {} кг'.format(x))
на место {} встанет ваше X,
можно несколько, к этому придете чуть позже...name = 'Игорь'
weight = 90
print('Ваш вес {} должен составлять {} кг'.format(name, weight))
На выходе получим "Ваш вес Игорь состовляет 90 кг"

Худший ответ:
В Вашем коде немало ошибок:print('Ваш идеальный вес', 'x') выведет символ `x`, а не переменную xСтроки print('Ваш идеальный вес') + 'x' и print('Ваш вес должен составлять') + x ошибочны. print является встроенный функцией для печати на экран, и аргументы должны передаваться внутри скобок. И конечно, переменная x должна писаться без кавычекЕсть несколько не существенных ошибок по стилистике языка Python, которые не влияют на работу
Вот, как бы я написал то же:print('Ваш идеальный вес по формуле Брока')
while True:
    height = input('Ваш рост в сантиметрах: ')
    if height.isdecimal():
        height = int(height)
        break
    elif not height:
        return
    else:
        print('Введите рост в виде числа или нажмите Enter для выхода')
if height <= 165:
    weight = height - 100
    print('Ваш идеальный вес {} кг'.format(weight))
elif height <= 175:
    weight = height - 105
    print('Ваш идеальный вес {} кг'.format(weight))
elif height >= 176:
    weight = height - 110
    print('Ваш вес должен составлять {} кг'.format(weight))
Вопрос: Правильность написания кода?

Лучший ответ:
Ошибаетесь. всё корректно.

Худший ответ:
Если ничего не происходит - распечатайте переменную $IDvar_dump($ID);
И посмотрите что в ней. Если пустая - делайте выводы.
И кстати да. Если используете короткие теги  , в файле php.ini должна быть включена опция short_open_tag. Но лучше этого не делать, а все же использовать
Вопрос: Какой поверхностный уровень JavaScript?

Лучший ответ:
Поверхностное знание яваскрипт это его незнание и работа с jquery))) тут таких полно)

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

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

Худший ответ:
А с чего бы его принимать?
У вас выделяется динамическая память размером в один байт.
Потом, начиная с этого адреса, впихивается весь ввод.
Уже на втором символе программа просто обязана упасть. 
Причем даже при вводе длиной в один символ этим вторым будет завершающий ноль.
Даже в задании написано про перевыделение памяти - какого, собственно?
Вопрос: Как сортировать по индексу другого массива в js?

Лучший ответ:
Сортировать по indexOf( ID ) в массиве, задающем порядок сортировки:var data = [
  {ID: 1, country: 'England'},
  {ID: 4, country: 'USA'},
  {ID: 9, country: 'Russia'},
  {ID: 5, country: 'Germany'},
  {ID: 6, country: 'France'},
];

const order = [5,1,9,6,4];

data.sort((a,b) => order.indexOf(a.ID) - order.indexOf(b.ID));

/* [
  {"ID":5,"country":"Germany"},
  {"ID":1,"country":"England"},
  {"ID":9,"country":"Russia"},
  {"ID":6,"country":"France"},
  {"ID":4,"country":"USA"}]
*/
На больших массивах для ускорения:добавить в исходный массив новое поле с порядковым номером, который каждый элемент должен занять после сортировки;отсортировать по этому полю.
Так будет быстрее, чем на каждой операции сравнения двух элементов искать их индексы во втором массиве.data = data.map( e => {e.sortBy = order.indexOf(e.ID); return e;} );
data.sort( (a,b) => a.sortBy - b.sortBy);

Худший ответ:
Думаю вот так будет правильней и быстрей:function sortData(data, sortingOrder) {
  var result = [];

  for (var i = 0; i < data.length; i++) {
    result[sortingOrder.indexOf(data[i].ID)] = data[i];
  }
  
  return result;
}
Вопрос: Как передать данные из калькулятора в форму заявки?

Лучший ответ:
Тебе никто не ответит. Все видят хаос и закрывают вопрос. нужно выкладывать на песочницы.
Передать содержимое блока можно по разному. Если надо передавать в пределах страницы то jquery. если на другой странице то используй localstorage для хранения числа

Худший ответ:
Не надо передавать, надо перед отправкой формы, читать и добавлять в post
Вопрос: Как показать «черный» экран поверх отрытого приложения?

Лучший ответ:
В Libreoffice Impress нажатие кнопки B или W включает черный или белый экран пока не будет нажата кнопка следующего слайда  (см. тут).
У него также есть мобильное приложение для удаленного управления презентацией

Худший ответ:
Возможно, будет удобнее вовсе выключать и включать вывод на экран.
Командой xrandr -q можно вывести список всех подключенных видеовыходов.xrandr -q | grep 'VGA\|HDMI\|DP\|LVDS'
Чтобы выключить вывод на VGA-1, к примеру, можно использовать командуxrandr --output VGA-1  --off
А для включенияxrandr --output VGA-1  --auto
Источник: https://unix.stackexchange.com/questions/399739/di...
Или
параметр --pos xxy - попытаться вывести изображение за пределами поля видимости
Или
Проверить текущую яркость randr --verbose | grep -i brightness
И попробовать сменить её на нулевую для "выключения". xrandr --output HDMI1 --brightness 0.0
Вопрос: Как в текстовый файл записать имя этого же файла?

Лучший ответ:
Батником можно легко реализовать.
Вот набросок кода:for %%a in (c:\temp\*) do (
 echo.%%~nxa - Это имя файла
 echo.Следующая команда выводит текстовый файл на экран, пропуская первую строку.
 for /f "usebackq tokens=* skip=1 delims=" %%b in ("%%~a") do echo.%%b
)
Идея должна быть понятна. Дальше уже сам доведешь до ума.

Худший ответ:
Держи. Создай файл с этим кодом, положи его в папку со своими файлами и наслаждайся(ну или подправь путь с коде)for f in listdir('.'):
    if not f.endswith('.py'):
        replace = f
        source = f.split('(')[0]
            
        file = open(f, 'r')
        text = file.read()
        file.close()

        file = open(f, 'w')
        file.write(text.replace(source, replace))
        file.close
Вопрос: Как заставить бота не отправлять сообщение?

Лучший ответ:
нет

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

Лучший ответ:
игра купленная на торренте
...умер от разрыва шаблона...

Худший ответ:
поднять впн сервер. все к нему цепляются и у всех одна и та же подсеть)
Вопрос: Как построить сигнал?

Лучший ответ:
Парсишь CSV файл и передаёшь JS плагину в нужном формате данные
Плагинов для постройки графиков на JS куча

Худший ответ:
php не построит график. есть библиотеки js. 
Конверитируешь свой файл в json. потом его считываешь и строишь график с помощью chart.js, d3.js и подобныхВот, посмотри
Вопрос: Могут ли разбанить разработчика Google Play?

Лучший ответ:
Регайся через дедик амазоновский и будет тебе счастье)

Худший ответ:
Правда зарегистрироваться как я понял, у меня не получится - опять забанят. Или нет?
Да гугл опять вас забанит, если вы попытаетесь зарегистрироваться с тем же IP, майлом, картой оплаты, железом (да гугл определяет даже это) на котором регали тот прежний аккаунт разработчика, где вас забанили. 
В общем нужно все поменять, дабы общего с прежним акком у вас ничего не было, после этого вы сможете спокойно публиковать приложения.
Вопрос: Где найти источники для статистики и исследования количества интернет-магазинов и сфер товаров продажи?

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

Худший ответ:
в Финаме
Вопрос: Выбор монитора, на что обратить внимание?

Лучший ответ:
У программиста нет оптимальной диагонали.
Оптимальная диагональ есть у человека, вне зависимости от его профессии. Программисты программировали и во времена 14" мониторов и во времена 3x24" и на планшетах.
Обратите внимание на IPS матрицу, а диагональ выбирайте исходя из вашего бюджета. В принципе, удобно два монитора, и 2x22" или 2x24 дюйма часто встречается как стандартное рабочее место в аутсорсе.

Худший ответ:
2шт x 27" x fullhd / 2k / 4k насколько позволяет бюджет
матрица - только ips.
Вопрос: Как позиционировать элементы не создавая путаницы в коде?

Лучший ответ:
не используй обращение к тегам в css. обращайся только по классу. задавай нужные отступы в классах и присваивай их своим < p >
p.s. а вообще почитай на досуге https://ru.bem.info/

Худший ответ:
А зачем такая сложная вложенность?
Чем не устраивает хотя бы просто:p {
color: #000;
font-size: 14px; 
// и т.д.
}
.one {
   padding: 0;
   margin: 0;
   line-height: 1;
}
.two {
   padding: 10px 0;
   margin: 10px;
   line-height: .5;
}
// и т.д.
тегу p указываешь все что одинаковое, классам все что разное и классы присваиваешь какие надо на нужных страницах.
Или я не правильно понял вопрос!?
Вопрос: Как найти заказ если не работал 1.5 года(javascript dev)?

Лучший ответ:
У меня недели две уйдет только на получение первого заказа.
на других биржах тоже самое выйдет, какие еще есть способы ?
Лопата в руки + объявление в региональную газету "покопаю огороды". Все остальное дольше искать.
Других способов нет. Есть небольшой шанс, что повезет найти заказ на 2 недели в первый день, если ценой ломануть. Но очень призрачный. Не понимаю зачем Вам это если не нравится IT.подозреваю что форумы и группы в вк, но конкретно не знаю что.
Очень вряд ли, особенно если кричать везде, что IT Вы не любите и через две недели Вы точно сольетесь. Сами прикиньте - кому оно надо?

Худший ответ:
Вам нужна работа или заработок?
Если работа то без проблем, покупаете ПРО аккаунт на любой бирже и предлагаете минимально возможную цену.
А если заработок, то уж никак, в этом случае придется стараться.
Вопрос: Какой open source проект на node.js выбрать как эталон для архитектуры и стиля?

Лучший ответ:
До этого поделайте лабы на nodeschool.io и у меня на https://github.com/HowProgrammingWorks
Потом изучайте исходный код ноды для вникания в стиль: https://github.com/nodejs/node/tree/master/lib и уж потом проект.

Худший ответ:
Лучшие практики бывают только относительно конкретной задачи, у бесплатных проектов задачи не совпадают с вашими и вообще очень мутные, потому что они делаются не "для людей", а "для fun'а", так что нужно думать головой.