Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Каких знаний достаточно для работы верстальщиком?

Лучший ответ:
Знания потребуются совершенно разные и предугадать никогда невозможно. Самое главное — уметь решать практические проблемы в минимальное время. А тут, какие инструменты будут удобнее всего — теми и нужно пользоваться.
Нужны практические знания адаптивного дизайна и понимания юзабилити. Про CSS — лучше посмотреть в сторону препроцессоров (Sass, LESS). Про JavaScript — если придется верстать сложные веб-приложения, то лучше посмотреть в сторону AngularJS вместо jQuery.
Что касается PHP: для верстальщика важно не столько знание PHP, сколько знания того фреймворка/cms, под который планируешь верстать. У каждого есть некоторые тонкости, которые нужно знать, чтобы эффективнее и быстрее шаблоны подстраивать под нужды back-end'еров.
Умение фрилансить, выбирать команду, заказчиков — это то, что можно приобрести только на опыте и посоветовать тут очень сложно. Все люди разные и работать удобнее тоже с разными.
Успехов!

Худший ответ:
-HTML/CSS
-JScript(JQuery)  + Фотошоп
PHP или любой серверный язык будет плюсом но не обязателен
Вопрос: Парсинг PHP на PHP и генерация кода

Лучший ответ:
Есть кстроенный токинайзер php.net/manual/ru/book.tokenizer.php
Есть генератор и рефлекшин в Zend Framework

Но есть и готовый фиксер стиля github.com/fabpot/PHP-CS-Fixer

Худший ответ:
github.com/schmittjoh/php-manipulator — недавно зарелизилась либа, подаёт большие надежды.
Вопрос: Как вставить данные в PDF документ. Insert data to PDF?

Лучший ответ:
Использую FPDF, на хабре и статья есть с примером

Худший ответ:
Заполнение PDF форм, если они оформлены должны образом (обратите внимание - не генерация готовых документов по шаблону!) - достаточно тривиальная задача для любой серьёзной PDF библиотеки. Из полностью свободных/бесплатных можно порекомендовать Apache PDFBox и PDF Clown, обе на Java.
Вопрос: Хочу уточнить на счет процессоров?

Лучший ответ:
Я думал что процессоры 3 серий это уже старого поколения а 4 серии нового поколения. Вы совершенно правильно думали.Но прочитал комментарий от представителя ноутбука, он говорит что 3 серия более производительней чем 4 серия - либо вы неправильно поняли этот комментарий, либо комментатор не в теме.
4 серия более современная, и более производительная при прочих равных.
Хотя надо понимать что разница в производительности очень небольшая.

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

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

Худший ответ:
Ну например так: jsfiddle.net/shvr9afdvar $inp = $(".test"),
    reference = "Эй ты! А ну иди сюда! ";

function change (val) {
    var ind = val.indexOf(reference);
    
    if (ind !== 0) {
        $inp.prop("value", reference);
    }
}

$inp.on("input", function () {
    var val = $(this).prop("value");
    change(val);
});
Вопрос: Как сделать парсер статей?

Лучший ответ:
Beltoev верно все написал. Для реализации можно воспользоваться всякими готовыми библиотеками, например simplehtmldom.sourceforge.net

Худший ответ:
А что именно вызывает сложности?
Тут как бы алгоритм банальный:Берем список адресов всех нужных нам статей и проходимся по немуПолучаем содержимое страницы (file_get_contents можно использовать)Определяем, какие данные нам интересны (например, всё, что внутри блока <div class="content">...</div>)Получаем эти данные какой-нибудь регуляркой и пишем себе в БДПрофит
Это пример самого простого парсера.
Дальше можно наращивать функционал (автоматическое определение новых статей на сайте по cron-у, загрузка изображений на свой сервер и замена ссылок на них в статьях, либо подмена ссылок на изображения посредством .htaccess и т. д. и т. п.)
Уверен, есть готовые библиотеки для этого, но и самому это сделать не так уж и сложно
Вопрос: TDD/BDD в чем разница и для каких видов модулей стоит использовать?

Лучший ответ:
TDD
 - пишем тесты - маленький кусочек, то что можно минут за 10 написать. На этом этапе мы формулируем что мы хотим написать.
 - пишем код - пишем код, который делает тесты "зелеными". то есть все работает. Мы делаем это максимально быстро, самым тупым способом, который просто быстрее всего сделать.
 - рефакторинг - после того как все работает, или еще через пару итераций, что бы набралось чуть больше "грязи", чистим код поочередно. Важно при рефакторинге чистить что-то одно. Либо код, либо тесты (да да, их тоже надо рефакторить иногда устраняя дублирование). Поправили код - прогнали тесты, все хорошо? тогда можно тесты подправить. Ну и т.д.
BDD
 - пишем фичаспеки - это этап детализации более высокоуровневых требований. Фич. Обычно на этом этапе просто записываются мысли как что должно работать. В этом плане описание фичи описывает юзкейс, а сценарии - детализируют поведение фичи. То есть если у кого-то возникает вопрос как что должно работать, люди описывают пример в виде сценария. Типа что есть, что мы делаем и что в итоге должна выдать система.
 - пишем код - так же как и в случае с tdd, можно писать код для разных уровней.
 - рефакторинг.
TDD - для одного разработчика, BDD - для команды. А BDD-style assertions для chai - это пафос. По сути это "планирование фич" в рамках библиотек и отдельных объектов. Чуть меньший масштаб. Но ничем от TDD вообще не отличается, хотя если сильно постараться можно так же оценивать ценность фич для пользователей нашей библиотеки и т.д. 
Как никак в BDD основная мысль - фичаспеки должен иметь возможность читать продукт оунер или стэкхолдеры, то есть те кому проект собственно нужен, что бы говорить должно работать так или нет. В случае с библиотеками... ну вы пишите что-то для девелоперов, а они в состоянии читать тесты как фичаспеку. И в принципе от предметной области недалеко.

Худший ответ:
Очень советую вот эту книгу для понимания концепции BDD - BDD in action. Написана достаточно простым для восприятия языком, основные идеи можно понять из 1-й главы.
Вопрос: Как увеличить время работы скрипта?

Лучший ответ:
Обратитесь сначала с помощью ajax к ulr'у, затем:
1) если знаете через какое время нужно скачать файл, то setTimeout;
2) если не знаете, то каждые n-секунд через setInterval проверяйте наличие файла.var url = 'http://asdasurl.sdsf'; //берется файл с другого сервера
$.post( url);
var interval = setInterval(function() {
 $thumbnail
        .hide()
        .attr('src', url)
        .after(console.log('wow, its works!');)
        .error(function(jqXHR, textStatus) {
            console.log("error"); // пишем ошибку и переходим через секунду к очередной проверке
        })
        .load(function() {
            console.log('good, very good');
            clearInterval(interval); // больше не проверяем, т.к. уже ok
        });
}, 1000);

Худший ответ:
Можно проверять в цикле готов ли файл, если да - идем дальше, иначе ждем
Вопрос: DNS Hosting Yandex стоит ли?

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

Худший ответ:
Раньше пробовал его использовать. Как работает сейчас - не знаю.
Подробностей уже не помню, но:
- репликация на другие сервера проходила медленно
- не работали поддомены "new." Support проблему отрицать не стал, но и делать ничего тоже не стал..
Вопрос: Как победить зависание при первичном просмотре iptv на LG SmartTV?

Лучший ответ:
Таки победил проблему!
Решается это следующим образом. Перед первым запуском iptv-канала нужно сначала запустить на проигрывание (буквально на пару секунд) какой-нибудь .mp4 файл, который можно разместить в папке с самим приложением. После этого проигрывания, объект, который проигрывает видео, видимо, как-то инициализируется, и далее уже без проблем проигрывает iptv каналы!
Ну естественно, это проигрывание mp4 файла можно замаскировать под буфферизацию iptv-канала, спрятав за картинку загрузки.

Худший ответ:
А на Самсунгах как?
Вопрос: Linux. Неблокируемоый сервер. Какой тип лучше использовать?

Лучший ответ:
Если очень много открытых соединений (n), то poll и epoll. Если активных соединений (k) меньше, то epoll будет лучше. Он «просмотрит» список дескрипторов за О(k), а poll за O(n).

По теме:
stackoverflow.com/questions/5383959
stackoverflow.com/questions/4039832

Худший ответ:
Вам наверное стоит обратить внимание на курс лекций Сетевое программирование в UNIX, которые подготовили специалисты SkyDNS и компании «Айдеко»
а конкретней на лекцию о том Как решить проблему 10 000 соединений?, где
Автор курса Александр Патраков объясняет, какие функции можно вызывать вместо select(), чтобы переписанная с их использованием программа могла эффективно обрабатывать большое количество одновременных подключений.

Практическое задание состояло в переписывании астрологического сервера с использованием семейства функций epoll() и проверке, выдерживает ли он 10000 соединений.
Вопрос: В чем смысл переходов на мой блог с левых сайтов?

Лучший ответ:
1) не забывайте что рефереру верить нельзя, можно зайти к вам на сайте с опцией CURLOPT_REFERER = www.kremlin.ru/ а вы потом будете думать зачем это Путин ссылку на ваш блог у себя на сайте разместил :)
Кстати надо взять себе на заметку… 10-20 переходов сделать друзьям :)) пусть повеселятся :))))
2) вы не даете рекламу на директе, гугле, прочих? не обмениваетесь ссылками? не покупаете ссылки?

Худший ответ:
Обычный рефер спам для наращивания ссылочной массы.
Это старое доброе место.
Вопрос: Зачем нужен ООП?

Лучший ответ:
Не везде и не всегда нужны классы. Вы верно заметили. НО! Прежде чем принять решение о том, что в конкретном месте кода класс только вредит, нужен профайлер или другие инструменты позволяющие принять такое решение. К примеру в Python словарь значительно выигрывает по скорости чем класс с методами.
Фишка ООП в том, что человек уже думает классами! Поднимаем голову к небу и видим "Птица летит", другими словами "У объекта "Птица" был вызван метод "Лететь"", но мы так сложно не думаем и для нас это просто "Летящая  птица".
Вспомните детство и моменты когда родители посылали за хлебом. Как это происходило? Возможно это было так: "Объект сын в твое поле ложу объект "Задача" с полями "хлеб", "комод" и "100 рублей", в поле "результат" ложу "Хлеб". Объект сын вызываю метод "Купить"". Не думаю что это было так, мне кажется это было так: "Сын возьми 100 рублей и купи хлеба". В неявном виде обратились к объекту "Сын", вызвали метод "Взять" и передали аргумент "100 рублей" и ожидаем результат вызова в виде значения "Хлеб".
Попробуйте процедурный подход переложить в нашу естественную жизнь? ;) Попробуйте так общаться, процедурно. Это очень сложно. Потому что человек привык думать объектами! Самолет, кошка, лошадь, дерево и др. Для нас вроде есть концепция "кошка", но конкретная кошка "Масяня" сильно отличается от другой конкретной кошки "Машка".
Изучая задачу мы прежде всего должны задать вопрос : "Что является условием завершения задачи?" и вторым не менее важным "Что используется при достижении результата?". Вот это "что используется" как правило и есть объекты.

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

Лучший ответ:
папка должна существовать

Худший ответ:
создаете пустую папку (55) и на нее кликаете
Вопрос: Как просмотреть логи подключений к сети?

Лучший ответ:
Настройте логгирование на шлюзе и собирайте логи.
В чем собственно вопрос?

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

Лучший ответ:
курсором 
www.postgresql.org/docs/9.2/static/plpgsql-cursors.html

Худший ответ:
Спасибо.
Вопрос: Как достучаться до машины в VLAN сети за OpenVPN сервером?

Лучший ответ:
Для доступе к локальной сети надо включить пересылку трафика между интерфейсами в ядре системы на OpenVPN сервере:echo "1" > /proc/sys/net/ipv4/ip_forward
И разрешить форвард на фаерволе:iptables -A FORWARD -s 192.168.182.0/24 -d 10.250.4.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.182.0/24 -s 10.250.4.0/24 -j ACCEPT

Худший ответ:
интерфейс tun меняй на tap. часть конфигаcat server.conf
port 1194
proto tcp
dev tap
.......
Вопрос: Маршрутизация доменов третьего уровня во внутренние IP адреса

Лучший ответ:
То что вам нужно — это не маршрутизация, а проксирование.
Все А-записи указывают на 172.23.45.34, а далее веб-сервер на этой машине в зависимости от заголовка Host проксирует запрос на один из бекендов. Настраивается штатными средствами в любом современном веб-сервере.

Худший ответ:
Создаете поддомен, в его A запись указываете свои внутренний ип (хоть локалхост) и все. Через любую панель управления хостингом возможно
Вопрос: Как убрать ошибку при обработке запроса INSERT запроса в SQL. JAVA?

Лучший ответ:
replace -ключевое слово походу.

Худший ответ:
replace -ключевое слово походу.
Вопрос: Сейчас реально приобрести новый блок питания стандарта AT?

Лучший ответ:
Можно попробовать поискать в компаниях для рынка автоматизации, таких как prosoft.ru
Автоматизация до сих пор работает на старых стандартах, срок жизни на рынке некоторых изделий иногда до 30 лет доходит, так что вполне возможно что есть новые.
Ну и как минимум можно просто переделать ATX в AT - www.qrz.ru/schemes/contribute/power/atx2at.shtml

Худший ответ:
Какой вы заботливый друг!
Правильно, купишь ему что-нибудь поновей, так он в интернет полезет, а там - вирусы/шмирусы!
Пусть на пне в первый дум играется.
Вопрос: IDEA пихает Firefox в своп

Лучший ответ:
доставить еще 8 гигов…

Худший ответ:
В правим нижнем углу индикатор используемой памяти идеей. Если на него кликнуть — она пытается почитить что есть. Он на максимальный допустимый — ограничение. Поиграйтесь с файликом (idea_home/)bin/idea.exe.vmoption — по-моему в нем можно изменить лимит.
Вопрос: Как отсортировать массив в привычном для человека порядке (natsort не помогает)?

Лучший ответ:
usort() - сортируйте по своим правилам!

Худший ответ:
Итак, идея такова, я использую bubble sort, это не функция это просто метод
Во первых я сортировал массив по длине элементов а потом сортировал сами элементы, в цикле есть функция swap оно меняет значение 2-ух переменных но я не знаю есть ли она в пхн если нет думаю самим писать эту функцию не сложно а также в скрипте я не ставил в некоторых местах знак $ 
  //Следующие три строки отвечают за сортировку
    for($i=0; $i
Вопрос: Как организовать разрешение конфликтов?

Лучший ответ:
Да как везде в ЦВС.
Если на сервере файл изменён — залить свой изменённый нельзя. Нужно скачать с сервера, смержить (автоматически или если не вышло, вручную) и залить получившееся. Если за это время файл опять изменился, повторить итерацию.

Худший ответ:
Все уже давно есть в гугл доксе онлайн, правьте онлайн и прикрутите гит и учите людей мержить и разрешать конфликты.
Вопрос: Dropbox синхронизирует не все файлы

Лучший ответ:
1. Попробуйте добавить файл через онлайн-загрузку. Если все работает, то скорее всего, что-то с десктопным приложением.
2. Попробуйте переустановить дропбокс, может быть его погрыз вирус/антивирус.

Худший ответ:
1. Попробуйте добавить файл через онлайн-загрузку. Если все работает, то скорее всего, что-то с десктопным приложением.
2. Попробуйте переустановить дропбокс, может быть его погрыз вирус/антивирус.
Вопрос: Может ли встроенная функция php работать медленнее «велосипеда»?

Лучший ответ:
Может, если этот "велосипед" написан грамотно, но думаю что разрабы PHP лучше знают свое дело и встроенные функции они пишут учитывая все тонкости работы PHP.
Так или иначе ответ на вопрос - МОЖЕТ.
Чтобы удостовериться в этом измеряете время до и после выполнения данного кода и сравниваете и чтоб лишнее не мешало

Худший ответ:
Перепроверил, убрав все кроме выполнения этой операции. Функция все-таки быстрее. Но экономия совсем невелика.
Вопрос: Каким датчиком можно измерить изменение длины резинки?

Лучший ответ:
При растяжении резинки на 10% ее длина измениться на 10%. Или то другие %-ты?
Не хотите лазерный дальномер? — возьмите ульразвуковой или ИК датчики расстояния.

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

Лучший ответ:
Это не так. Метапрограммирование, как и везде, служит в вебе для уменьшения количества кода. Скорость зависит в большей степени от кода, чем от языка (как и всегда в интерпретируемых). Работал в команде, где было около 10 проектов с применением метапрограммирования, все работало как часы.

Худший ответ:
Метапрограммирование как и может помочь структурировать код, и увеличить производительность. Допустим, у вас есть модуль (консерн), добавляющий некоторую функциональность для разных объектов. Назовем их объектами и субъектами.
В одном классе может бытьinclude MyModule
act_as_object
В другомinclude MyModule
act_as_subject
В методах act_as_object и act_as_subject уже создаем нужные наборы методовmodule MyModule
  def act_as_object
    define_method :obj_meth_1 do; end
    define_method :obj_meth_2 do; end
  end
  def act_as_subject
    define_method :subj_meth_1 do; end
    define_method :subj_meth_2 do; end
  end
end
Таким образом нужная для разных моделей функциональность собирается в одном месте,  а при подключении модуля можно выбирать, какие конкретно методы в них добавлять.
Вопрос: Как реализовать Активити входа?

Лучший ответ:
зависит от вашей архитектуры, ну а чисто функционально без разницы
я бы делал на фрагментах

Худший ответ:
Активити лучше.
Вопрос: Отслеживание изменений кода хранимых процедур, функций и таблиц в MSSQL

Лучший ответ:
Вообще элементарно. Триггер на базу. 

Шаг первый: 

CREATE TABLE [dbo].[tbl_ListChange](
 [LoginName] [varchar](2000) NULL,
 [HostName] [varchar](100) NULL,
 [ObjectName] [varchar](100) NULL,
 [ObjectType] [varchar](100) NULL,
 [EventType] [varchar](100) NULL,
 [EventSQLCommand] [varchar](max) NULL,
 [EventTime] [datetime] NOT NULL,
 [XMLChange] [xml] NULL,
 [Id] [int] IDENTITY(1,1) NOT NULL,
 CONSTRAINT [PK_tbl_ListChange] PRIMARY KEY CLUSTERED 
(
 [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
) ON [PRIMARY]

GO

EXEC sys.sp_addextendedproperty name=N'MS_Description', value=N'Полностью xml команда, содержащая все вообще ', @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'tbl_ListChange', @level2type=N'COLUMN',@level2name=N'XMLChange'
GO

Шаг второй: — триггер на базу:

CREATE TRIGGER [tgr_DDLListChange]
ON DATABASE
FOR DDL_DATABASE_LEVEL_EVENTS
AS

 — Каретников. 25-03-2010. Мониторинг всех изменений в базе 

SET NOCOUNT ON 

DECLARE @dataXML XML
SET @dataXML = EVENTDATA() — получил данные по текущему событию. 

IF (
 SELECT @dataXML.value('(/EVENT_INSTANCE/ObjectName)[1]' ,'varchar(max)')
 ) IS NOT NULL
BEGIN
 INSERT dbo.tbl_ListChange
 (
 LoginName — под чьим логином
 ,HostName — на чьей машине
 ,ObjectName — что изменено
 ,ObjectType — тип измененного обьекта
 ,EventType — тип изменения
 ,EventSQLCommand — полностью SQL команда
 ,EventTime — во сколь изменено
 ,XMLChange — полностью вся хмл-команда
 )
 VALUES
 (
 @dataXML.value('(/EVENT_INSTANCE/LoginName)[1]' ,'varchar(2000)') — под чьим логином
 ,HOST_NAME() — на чьей машине
 ,@dataXML.value('(/EVENT_INSTANCE/ObjectName)[1]' ,'varchar(100)') — что изменено
 ,@dataXML.value('(/EVENT_INSTANCE/ObjectType)[1]' ,'varchar(100)') — тип измененного обьекта
 ,@dataXML.value('(/EVENT_INSTANCE/EventType)[1]' ,'varchar(100)') — тип изменения
 ,@dataXML.value('(/EVENT_INSTANCE/TSQLCommand)[1]' ,'varchar(max)') — полностью SQL команда
 ,GETDATE()
, @dataXML
 ) — во сколь изменено 
END 


GO

Худший ответ:
Можете попробовать создать проект  базы данных в VS2010 и выше.
Натравливаете мастер на вашу БД, получившийся проект кладете под версионное хранения (Git, Subversion, ...), дальше разработчики открывают проект в VS2010, правят код и публикуют на сервере уже только из проекта.
Преимущества
Можете начать писать модульные тесты на БД.
PS
Веду разработку большой CRM для строительной компании, сотни таблиц, все устраивает.
Вопрос: Плагин для Woocommerce, позволяющий посетителю сгенерировать и скачать актуальный прайс-лист (каталог) в xls или csv?

Лучший ответ:
Сам процесс формирования прайса в эксель, что для бэка, что для фронта ровно один и тот же, все остальное погремухи, свистелки и переделки навешиваемые на него, так что дописать в любой плагин кнопку на морду ничего тяжелого нет. Или запускать обработчик из этого же плагина через cron.
Формировать прайс для каждого посетителя плохая практика. Серверные ресурсы надо экономить. Только крон.
У меня алгоритм обычно такой.
Обработчик.
Проходим по товарам, формируем массив данных, импортируем в Pdf  и Excel c помощю библиотек на свой вкус. Сохраняем в файлы.
Формирование прайса. 
После получения новых курсов валют, запускается из парсера.
После ручного изменения цены, на поле с ценой вешаю напоминатор про необходимость обновить прайс, рядом чекбокс, для автоматического формирования нового прайса. Так же в настройках стоит кнопка для того же.

Худший ответ:
https://saphali.com/woocommerce-plugins/woocommerc... больше можно поискать здесь https://www.google.com.ua/webhp?sourceid=chrome-in...
Вопрос: Опять IE: Баг отображения полупрозрачного дива с тенью?

Лучший ответ:
Самое простое: 
if ($.browser.msie && $.browser.version < 9) {
    $element.show();
} else {
    $element.fadeIn(500);
}
Способ пофиксить это есть, но пользователи ИЕ7-8 не оценят вашего потраченного времени.

Худший ответ:
ie7-js.googlecode.com/svn/test/index.html
попробовать этим победить?
Вопрос: Верстка внутренний нижний border?

Лучший ответ:
Используй тень.box-shadow: inset 0px -3px 0px 0px #179CDE;

Худший ответ:
спасибо, а треугольник на афтере запихнуть?
Вопрос: Что за язык Go, и где его можно хостить?

Лучший ответ:
Мне всегда казалось что по нему холливаров просто тьма. Чего только стоит последний радио-т. Пишу не нём маленькие сервисы с web мордой для работы. Мне оч нравится. С детства испытываю недомогания при взгляде на пхп, теперь с радостью пишу на голанге.

Худший ответ:
Начал смотреть на Go после js.
Го очень сильно вправляет мозги. Строгая типизация очень вправляет мозги. При этом он простой и стабильный. Каналы и горутины творят магию. Если тебе не хватает магии - учи Го.
Вариант, как язык для быдлокодинга, чтобы уже завтра шлёп-шлёп и в продакшн за 3 копейки не подойёт. Тут пхп царь и бог.
Как язык для изучения и затем работы в хорошей компании на хорошей зарплате - отлично подойдёт.
Вопрос: Посоветуйте C++ библиотеку для воспроизведения mp3

Лучший ответ:
с OpenSource не работал, но в своих задачах вне конкуренции был FMOD, в то время как многие пользовались BASS, FMOD был сильно мощнее.

Худший ответ:
Вот что нагуглил (т.к. тема самому интересна)
xiph.org/vorbis/
ffmpeg.mplayerhq.hu/