Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Фатальная ошибка php, почему?

Лучший ответ:
Потому что этот ваш денвер устарел полвека назад
А так он не может открыть credits.php

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

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

Документация: Deploying Django
Django deploy (developer.mozilla.org)
Настройка Django с Postgres, Nginx и Gunicorn в Ub...


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

Лучший ответ:
Охренеть...var x = 1;
var y = 2;

function sumAndShow(a, b) {
  return document.getElementById("r").innerHTML = a + b;
}

sumAndShow(x, y);

Худший ответ:
только одна функция? Но что б были аргументы в функции и return.
Нужно больше скобок:((d, id, x, y) => d.getElementById(id).innerText = x + y) // это функция
(document, "r", 1, 2) // а это аргументы
..Хотя нет,  return потерялся.
Вопрос: Две сетевые карты в двух разных подсетях windows server?

Лучший ответ:
В Windows сервер есть специальная роль для таких случаев - Remote Access
Вторая ссылка в гугле по запросу "доступ в интернет через Windows Servers" ведет на инструкцию на русском языке
https://exonix.ru/%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D...

Худший ответ:
У майкрасофта есть в настройках сетевой карты, пунктик разрешить выход в интернет. Вот только он подымает свой мини-DHCP сервер на второй карте так что могут быть проблемы с одной из сетей 10.0.0.x.
Вопрос: Как правильно оценивать сроки на разработку сайта в web студии?

Лучший ответ:
«В молодости я спросил у начальника, как оценить время на выполнение работы? И начальник ответил мне:
— Время, которое ты планируешь, умножить на Пи пополам, плюс 2 недели.
— Почему Пи пополам? — удивился я.
— Потому что в реальной жизни ты никогда не будешь двигаться к своей цели напрямую, а скорее — по дуге окружности.
— А почему плюс две недели?
— А потому, что когда ты в итоге просрёшь все сроки, то за две недели хоть что-то успеешь сделать.» (с)

Худший ответ:
Самое правильное в оценке сроков это и их соблюдать.
Пусть они будут большие, зато ты точно в срок сдашь свою задачу. Это для тебя гораздо большим будет плюсом, чем пытаться "угадывать сроки" и обмануть людей. Не обманывай в первую очередь СЕБЯ. 
С соблюдением сроков тебе наоборот сыграет большим плюсом, в будущем, потому что ты их соблюдаешь.

Кстати, про роботу с менеджером хорошо описано у Роберта Мартина в книге "Идеальный программист". Он там как раз пишет, что не надо идти на поводу у ПМ, и надо уметь говорить "нет".

Ну или такой ответ))
Сначала будешь люто факапить сроки, задачи. Зато наберешься опыта и будешь уже точно оценивать свою работу. Все через это прошли, все кто на этом форуме сидит.
Вопрос: Установщики Windows и Linux не запускается на ноутбуке, как починить?

Лучший ответ:
0xC0000005: STATUS_ACCESS_VIOLATION указывает на нарушение доступа к памяти.
что-то не так с оперативкой

bsodstop.ru/0x0000007e-system-thread-exception-not...

Худший ответ:
Либо просто вынь память, протри контакты и аккуратно поставь на место. Часто бывает просто окислы, после долгого хранения.
Вопрос: Что делать стартапу на стадии прототипа с Privacy Policy и Terms Of Use?

Лучший ответ:
Есть проверенные генераторы для создания "Terms Of Use" и "Privacy Policy".
https://app-privacy-policy-generator.firebaseapp.com/

Худший ответ:
Нужно делать сразу под проект. А то докопируетесь до судов )))
Вопрос: Как автомоаически создавать страницы на python?

Лучший ответ:
postebayko, с текущим уровнем подготовки у вас просто не получится.
Вы не знаете как устроен и работает сайт. И мы не знаем. А вы даже не подумали обмолвиться об этом в своём вопросе. То есть совсем ноль, понимаете?
Начните с того, чтобы понять как устроен ваш сайт, на чем он написан (фреймворк, архитектура), есть ли на нём публичный API для необходимых вам действий.
Если да, то вам крупно повезло. Читаете документацию к API и там наверняка будут примеры как делать и какие запросы, чтобы выполнить нужные вам действия. Делайте эти запросы из кода вашего бота.

Худший ответ:
Ну если я правильно понял, то можно бота с телеги соединить с админкой Джанго, и там с помощью шаблонов, добавлять новые страницы, хотя если честно не добавлять, а просто менять название у имеющихся, но их можно сделать много...Вариант конечно так себе, но думаю он будет самым простым.
Вопрос: JavaScript, Python, PHP как основы основ программирования?

Лучший ответ:
Учите python. Он не только в вебе актуален. Плюс, он довольно дружелюбен к новичкам. 

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

Php тоже хорошо. Спокойная устоявшаяся экосистема. 

Могу вам посоветовать какие-нибудь простецкие вводные курсы на несколько занятий с обязательной домашкой.  Так вы быстрее войдете в программирование.

Худший ответ:
PHP и JS надо учить одновременно. Python часто преподают в школе, как первый язык.
Вопрос: Как равномерно разбить данные по колонкам?

Лучший ответ:
А один список без флексов и без js со свойствами column-fill: balance-all; и column-count: 3; не пойдет?
snippet

Худший ответ:
Вычисляемое свойство:

data: () => ({
  items: [ ... ], // массив данных
  columns: 666, // количество колонок, на которые надо разбить items
}),
computed: {
  columnItems() {
    const { items, columns } = this;
    const colSize = Math.ceil(items.length / columns);
    return Array.from(
      { length: columns },
      (n, i) => items.slice(i * colSize, (i + 1) * colSize)
    );
  },
},
<ul v-for="col in columnItems">
  <li v-for="n in col">{{ n }}</li>
</ul>
Вопрос: Создание мобильных игр/приложений на UnrealEngine?

Лучший ответ:
Начните с движков попроще. 
Подводные камни - основной - геймдев это далеко не только тупой кодинг. Как минимум еще математика.
UE под мобилки - так себе. Как из пушки по воробьям.
А курсы - всегда начинайте с оффдоков.

Худший ответ:
Судьба UE, тем более как платформа для разработки на мобильные сейчас под большим вопросом учитывая тяжбы эпиков с эпл и гуглом. Берите Unity - не ошибетесь.
Вопрос: Телеграм-бот и вывод текста с .ТХТ?

Лучший ответ:
1. Прочитайте хоть что нибудь про работу с файлами
2. Глобал не обязательно использовать
3. Что это делает? Homework = (Homework1)

with open('Homework.txt', 'r', encoding='utf-8') as f:
    homework = f.read()

# ....

@bot.message_handler(commands=['Homework', 'homework'])
def send_homework(message):
  if not homework:
    bot.send_message(message.chat.id, 'У меня пока нет домашнего задания')
  else:
    bot.send_message(message.chat.id, homework)

Худший ответ:
потому что функция open принимает два аргумента первый - путь до файла, второй - вариант работы с файлом, в данном случае "r" - read а так же у открытого файла есть метод read(), для того чтобы отобразить текст в файле. Вот что нужно сделать:
Homework1 = open('Homework.txt','r')
Homework = Homework1.read()
Homework1.close()
Вопрос: Какие сейчас есть варианты защиты от случайной/намеренной/аппаратной утраты данных?

Лучший ответ:
Посмотрите на https://www.duplicati.com/, он умеет сохранять на диск\NAS

Худший ответ:
Можно использовать почти любой софт для резервного копирования. Основой момент в том, что резервная копия должна находиться не в том же месте что и резервируемые данные, а так же что бы с основного компьютера не было _лёгкого_ доступа к резервной копии. Посмотрите в сторону бекапа в облако (например backblaze и подобные)

upd:
Free Veeam Agent умеет бекапить в облако OneDrive (если есть подписка, то это лучший вариант)
Вопрос: Существует ли горизонтальный скролл колесом мыши в Chrome / Firefox?

Лучший ответ:
в Chrome/Firefox нужно зажать Shift чтобы прокручивать горизонтально

Худший ответ:
в firefox есть автоскролл по клику СКМ.
в хроме для автоскролла есть дополнения и там вроде можно(не помню/давно не пользуюсь) настроить хоткеи
Вопрос: Включать или не включать upwork трекер во время общения с клиентом по работе?

Лучший ответ:
Все время, затраченное на почасовой проект, должно быть оплачено. Коммуникация с клиентом тоже сюда входит. 
Единственное, что если вы действительно много времени тратите на переводы туда-сюда и ваш таймлог будет пестрить скринами гуглопереводчика, а не мессенджера, то можете договориться с клиентом коммуникацию вносить как manual time. Тогда вы сможете по итогу переписки с клиентом подвести итог - "Чувак, мы с тобой проговорили в сумме 2 часа, но из них 1 час у меня ушел на переводы. Поэтому я сейчас в manual time добавлю 1 час, ок?". С одной стороны, manual time не попадает под escrow protection вроде. С другой стороны, если коммуникация у вас в мессенджере апворка, то в случае диспута саппорт это сможет посмотреть и подтвердить, если клиент будет письменно одобрять каждый такой manual time в чате.

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

Лучший ответ:
Распаковываешь agent.zip, остальные фрагменты должны лежать с ним в одном каталоге, автоматически распакуется весь архив

Худший ответ:
Опечатка в имени файла. Переименуйте нормально, положите в один каталог и повторите.
Вопрос: Как сделать парсер доски объявлений?

Лучший ответ:
Заходите на страницу с объявлением и ищите это:<span class="show-phones" id="tm-telephone-body" data-url="/a/ajaxPhones?id=28104015" data-id="28104015">
  Показать телефон
</span>
Далее берёте ссылку из атрибута data-url и выполняете запрос с заголовком XMLHttpRequest:curl -X GET \
  'https://krisha.kz/a/ajaxPhones?id=28104015' \
  -H 'x-requested-with: XMLHttpRequest'
В ответ получаете:["+7 707 892 8095"]

Худший ответ:
Как сделать парсер доски объявлений?Как обычно - взять и написать.не получается спарсировать номер телефона, т.к. он появляется только после клика по нему.Это специально сделано, чтобы усложнить парсинг.
Решается следующими методами -Разобраться в JS скрипте подтягивающем телефон и исполнять его самостоятельно.Парсить с помощью браузера - например обычный фаерфокс под управлением webdriver от selenium
Вопрос: Хочу изучить 1С 8.3 Предприятие. Что посоветуете из книг и ресурсов?

Лучший ответ:
Если опыт программирования есть, то — официальное Руководство разработчика:
https://its.1c.ru/db/v838doc/browse/13/-1/5

Ничего другого для начала не нужно.

Имеет смысл купить специальную лицензию для разработчика, бумажные книжки там в комплекте:
https://edu.1c.ru/box/

Худший ответ:
1.Изучений информации что в свободном доступе)
2.Правтическая работа

Ps:
лицензия разработчика, для учашихся курсов. Просто с улицы не купишь
Вопрос: Как понять из-за чего PHP иногда начинает медленно работать?

Лучший ответ:
двигаться в APM Application performance management
https://habr.com/ru/company/pc-administrator/blog/...

но если ПХПшник па жизни  - можешь as is  оставить

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

Лучший ответ:
Есть решения: Moodle или edX

Худший ответ:
Присоединяюсь к moodle
Вопрос: Какой софт использовать для разделения процессов по ядрам?

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

Худший ответ:
С этим хорошо справится process lasso
Можно ограничить число ядер/потоков на процесс
Можно ограничить макс потоебление cpu  в %
Можно много чего
Только осторожнее с ней)
Вопрос: Где взять список компьютерных комплектующих для сайта?

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

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

Лучший ответ:
Никак. Wifi это общая среда, читать ее может кто угодно. Другое дело, что читать и расшифровать это разные вещи.

Худший ответ:
Если вы имеете доступ к настройкам роутера вы можете зайти в настройки роутера. Если вы с телефона то шлюз для входа вы можете найти по такому пути wifi сети > ваша сеть > настройки сети и там уже найдете "Шлюз ххх.ххх.х.х"
Чтобы глянуть шлюз для подключения на компьютере зайдите в Центр управления сетями и общим доступом > свойства вашей сети > подробнее(Может по другому называться) и там найдете также само "Шлюз ххх.ххх.х.х"
Вопрос: Как связать sqlite3 и pyTelegramBotAPI?

Лучший ответ:
Читаете документацию по pyTelegramBotAPI, далее сделайте несколько простых ботов, чтобы понять, как работают боты.
Потом читаете следующие материалы:
SQLite
Руководство по SQLite в Python
Потом опять делаете несколько программ, которые работают с sqlite, пока не разберетесь с работой данной БД.
И только потом совмещаете эти 2 библиотеки.
Неплохо бы для начала подучить сам Python.
А от того, что мы вам накидаем примеров, легче не станет. Ведь от того, что вы будете просто копировать код, вы не поймете как он работает.

Худший ответ:
Создаешь обработчик команды "/start", далее делаешь функцию в которую тебе нужно будет передать user_id(chat_id)
import sqlite3

def add_data(user_id):
    conn = sqlite3.connect("bd")
    cursor = conn.cursor()
    sql = "SELECT user_id FROM data WHERE user_id=?
    cursor.execute(sql, [str(user_id)])"
    a = cursor.fetchone()
    if a is not None:
        pass
     else:
      Тут делаешь sql запрос на добавление данных в таблицу.

Надеюсь вызвать функцию не возникнет проблем)
Вопрос: Как проверить значение сразу в нескольких столбцах?

Лучший ответ:
Если поля bid_type и object_type не относятся к address и okrug, то так:SELECT * FROM `objects` 
 WHERE `bid_type`='$bid_type' 
   AND `object_type`='$object_type' 
   AND (`address` LIKE '%$address%' 
    OR `okrug` LIKE '%$address%')

Худший ответ:
Все AND замените на OR
И будет вам "Щастье"
Вопрос: Способствуют ли СУБД экономии ресурса жесткого диска по сравнению с хранением (небольшого количества) данных в json-файлах?

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

С другой стороны, СУБД хранят свои данные в так называемых страницах, размер которых, как правило, кратен размеру кластера на жестком диске. Следовательно, изменение одной записи приведет только к перезаписи группы страниц, относящейся к этой записи, но не к перезаписи всей БД.

Однако, с практической точки зрения, важно смотреть не на износ, а на быстродействие. СУБД, например, хранит числа в двоичном представлении, в то время как JSON, XML и прочая требуют преобразования чисел в строки и наоборот при каждой записи и чтении, что естественно, создает дополнительные тормоза и обогрев атмосферы.

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

То есть да, хранить данные в СУБД оптимальнее и быстрее. Еще там есть схема данных, которая проследит за их целостностью, а также функционал фильтрации и агрегации, которые не придется писать заново.

Худший ответ:
С учётом того что гарантии на диски нынче три года то вопрос не имеет смысла. Тот и тот случай не успеет выработать ресурс сервера
Вопрос: Можно ли использовать блютус адаптер от мыши и можно его использовать для блютус наушников?

Лучший ответ:
Если именно блютуз адаптер - то по идее да.
Но в большинстве используется не блютуз, а "радио" адаптер, на частотах 2,4 Ггц. Вот он - не подойдет

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

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

Обычно, в таких случаях проблема всегда в одном и том же. В вашем случае, она делится на 2 вида.
1) Вы не верно указываете путь относительно конечного файла. Забыли слэш, забыли подняться на уровень выше и тд. (Судя по скринам он грузится, значит ок)

2) Вам нужно использовать специальные функции для резолва путей и\или регистрации скрипта. (скрипт загрузился, но где-нибудь там не зарегистрировался и поэтому не исполняется

2.1) И бывает ещё особый случай, когда не правильно подключенный\зарегистрированный скрипт просто вычищается из кода(но судя по скринам это не Ваш случай точно).

А, забыл. Есть ещё вариант, который заставляет переодически страдать всех и каждого.
КЭШ.
Попробуйте в инкогнито режиме.

Худший ответ:
Тег script должен располагаться внутри тега head
Вопрос: Discord.py как сделать бота что бы я мог отправлять сообщения в определённый канал?

Лучший ответ:
discord.py - асинхронный фреймворк. В нём нельзя просто так делать синхронный код, который ждёт чего-то. Для чтения stdin нужно правильно работать с ним через asyncio.

На просторах интернета много примеров, а ещё вот нашёлся такой модуль: https://github.com/vxgmichel/aioconsole

Худший ответ:
Хей, отправлять сообщение в определённый канал, это-же просто))
и конечно-же нужно читать документацию))
пример кода:
@Client.event
async def on_ready():
    while True:
        try:
            channel = await Client.fetch_channel(input("id Канала: "))
            await channel.send(content=input("Ваше сообщение: ")
        except Exception:
            print("Не хватает прав")
Вопрос: Много ли времени отнимает SEO одного сайты?

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

Худший ответ:
СЕО - не только работа по чеклисту, настройка тех. части и написание текстов, давно уже СЕО - совокупность работы маркетолога, программиста и дизайнера, ну и где-то там копирайтер, и самая ответственная работа тут у маркетолога-аналитика, который будет анализировать сайт, поведение и стараться сделать сайт лучше, составлять ТЗ на разработку новых компонентов, которые упрощали бы пользование сайтом, давали новый полезный функционал и, собственно, все то, что было бы необходимо для того, чтобы посетитель нашел ответы на все его вопросы, иными словами сделать так, чтобы сайт с ним "говорил" не хуже манагера-консультанта в магазине.
Это такой продукт, который можно улучшать бесконечно.
Вопрос: Как запустить программу написанную в Sublime Text 3?

Лучший ответ:
Легко, запускай через консоль
По шаговое руководство
1)Открой консоль(командная строка) 
2)с помощью команды cd укажи местоположение файла допустим cd Downloads
3) введи python имяфайла. py
Например: python main. py
Профит

Худший ответ:
Программа запускается через командную строку
Пишешь python -V
Указывающий путь к файлам  cd C:
python название файла.py
И нажимаешь на Enter
Вопрос: Ноутбук завис на перезагрузке после установки обновлений. Что делать?

Лучший ответ:
Вы можете выключить ноутбук долгим нажатием на кнопку Power. И попробовать включить его снова, есть вероятность что он загрузится нормально.
Если винда не грузится, можете попробовать при включении нажать Ф8(могу ошибаться, загуглите) и в появившемся меню откатить до прошлой удачной загрузки.

Худший ответ:
Вы можете выключить ноутбук долгим нажатием на кнопку Power. И попробовать включить его снова, есть вероятность что он загрузится нормально.
Если винда не грузится, можете попробовать при включении нажать Ф8(могу ошибаться, загуглите) и в появившемся меню откатить до прошлой удачной загрузки.
Вопрос: Object Pascal и Delphi — это две разные ЯП?

Лучший ответ:
Во-первых, не стоит путать среду и язык программирования. Lazarus - это среда разработки. В ней - Free Pascal.
Delphi основан на Object Pascal. Но сейчас ушел далеко от него. Современная среда для него - RAD Studio (сейчас 10.4).
Изучать лучше Delphi в бесплатной среде RAD Studio Community Edition.

Книги и сайты:
thedelphi.ru
www.delphibasics.info
https://webdelphi.ru/
docwiki.embarcadero.com/RADStudio/Sydney/en/Main_Page

Телеграмм каналы:
https://t.me/Delphi_Lazarus
https://t.me/DelphiCommunity
https://t.me/TFMXGods

Группа вк: https://vk.com/embarcaderotech

Худший ответ:
Книга на все времена: "Delphi для чайников" Нейла Рубенкинга. (правда, там были опечатки в коде)
Вопрос: Почему над картинками отображается их alt?

Лучший ответ:
Так у вас в коде записано
<img alt="Трос и цепь из нержавеющей стали">
Естественно, что раз ссылки на картинку нет, то отображается её alt.

Худший ответ:

А для чего в коде дублируется тег img без src но с alt?
Вопрос: Русскоязычный аналог хабра, есть такой?

Лучший ответ:
Создать свой блог - лучшее решение

Худший ответ:
Если статьи действительно хорошие, то на хабре нет никаких проблем с кармой и видимостью.
Вопрос: Годный материал для обучения SEO?

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

Худший ответ:
Начинайте с книги Ашманова - это библия для новичков SEO. Структурированная подача текста и понятное объяснение теории.
А после этого изучайте практику на блогах, форумах (Серч для начала), подслушках в СС
Вопрос: Почему нет MacBook с HDD?

Лучший ответ:
у HDD большой вес, большие габариты, большое энергопотребление, с текущим форм фактором там нужно батарею на треть сократить чтоб разместить HDD, и при этом изза повышенного энергопотребления потерять еще больше автономности.

Худший ответ:
вы толщину макбука видели? она меньше чем 2.5" HDD
Вопрос: Бесплатный OS X сервер для разработчиков ещё дают?

Лучший ответ:
Как отдельный выпуск ОС, предназначенный для установки на серверы, Mac OS X Server перестал существовать в 2011 году (последней версией был Snow Leopard Server). Начиная с Lion, Server — это приложение в Mac App Store, сейчас оно стоит $20.

С годами из этого приложения удаляли отдельные функции, выкидывая их совсем — как, например, почтовый сервер, веб-сервер и т.д. — или перенося в клиентскую ОС — так поступили с кэшированием обновлений, Time Machine-сервером, Xcode-сервером и т.д. В разделе поддержки есть страница со статусами серверных функций и альтернативными решениями.

Сегодня приложение Server в Mac App Store годится только для администрирования iOS-устройств под MDM (судя по оценке 1.7, пользователи этому не рады).

Худший ответ:
Уже давно не бесплатный. Но и стоит недорого.