Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как в YII2 конвертировать string в html при передаче кода виджета во view?

Лучший ответ:
О боги! А поддерживать потом как, с гадалкой?
Да вынесите вы все это в отдельный специально созданный виджет. Логику разместите в методах класса виджета и формируйте вывод непосредственно во вьюхе виджета. Это же в разы проще и понятнее...
Используем созданный виджет в нужной вьюхе:<?= \path\to\widget\MyWidget::widget( [ 'list' => $treeList ] ); ?>
Виджет в себе содержит все необходимые методы:class MyWidget extends \yii\bootstrap\Widget
{
    public $list = [];

    public function someMethod () {}

    public function run () {
        return $this->renderFile( '...' );
    }
}
И собственно вьюха виджета:<?php
use path\to\widget\MyWidget;
use yii\web\View;

/**
 * @var View     $this
 * @var MyWidget $widget
 */

$widget = $this->context;
?>

<!-- Тут мы используя циклы и методы виджета формируем отображение -->

<?php foreach( $widget->... as $value ) { ?>

    <!-- Делаем что нужно и как нужно -->

<?php } ?>

Худший ответ:
spoilerprivate function getChildsForView($child){
        $this->c++;
        foreach($child as $k => $v){
            $this->list .= '<div class="panel panel-default">';
                $this->list .= '<div class="panel-heading tick" role="tab" id="heading' . $this->c . '" style="cursor: pointer" data-toggle="collapse" data-parent="#accordion" href="#collapse' . $this->c . '" aria-controls="collapse' . $this->c . '">';
                    $this->list .= '<h4 class="panel-title">';
                        $this->list .= '<img align="middle" id="greentick" src="../images/greenTick.png" class="greenTick" style="display: none">';
                        $this->list .= $v['name'];
                        if(isset($v['child']) && count($v['child']) > 0) $this->list .= ' ' . Html::badge(count($v['child']));
                    $this->list .= '</h4>';
                $this->list .= '</div>';
                if(isset($v['child']) && count($v['child']) > 0){
                    $this->list .= '<div id="collapse' . $this->c . '" class="panel-collapse collapse out" role="tabpanel" aria-labelledby="heading' . $this->c . '">';
                        $this->list .= '<div>';
                            $this->list .= '<ul>';
                                foreach($v['child'] as $kk => $vv){
                                    $this->list .= '<li>';
                                    $this->list .= self::getChildsForView($v['child']);
                                    $this->list .= '</li>';
                                }
                            $this->list .= '</ul>';
                        $this->list .= '</div>';
                    $this->list .= '</div>';
                }
            $this->list .= '</div>';
        }
    }
Вот как-то так выглядит итоговый генератор (к комментарии к первому ответу)
Вопрос: Нужна ли на сайте-портфолио форма обратной связи?

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

Худший ответ:
меня устраивают если доступны все контакты 
телефон
емайл скайп
Вопрос: Web server на Java для мобильного приложения, куда копать?

Лучший ответ:
Наилучшим решением было бы использование RESTful веб-сервиса проверки наличия пользователя в БД.RESTful API для сервера

Худший ответ:
Если у вас конкретно glassfish, то по авторизации можно копать в сторону JAAS 
positivecode.blogspot.com/2013/03/jaas-glassfish-3.html
Но я бы посоветовал  следующий стек :  Spring security + REST (например RestEasy) + JPA (например Spring Data JPA)
Вопрос: Недорогой (китайский) Android-планшет для ребенка 4х лет! Хелп!

Лучший ответ:
А для чего Вашему детю планшет?
Если в качестве образовательного пособия использовать — то посмотрите в сторону iPad. Да, дороже. Но количество и качество софта, особенно категории Education, — не сравнимо. 
Это я Вам ответственно, как разработчик детских обучающих программ, заявляю.

Худший ответ:
Пока сам все же склоняюсь к Fly Touch 3
Не супербренд вообще, но все есть и экран большой.

Не совсем ясно, что у него с экраном — мультитач или вовсе нет.
А так за 150$ с доставкой (16GB) — пойдет.
Вопрос: Кто-нибудь пользовался web framework Gin Golang? есть преимущество? Или стоит посмотреть в другую сторону?

Лучший ответ:
Gin - отличный framework заслуженно пользующийся хорошей репутацией.
Если хотите ложку дегтя, тоGin использует httprouter в качестве Muxer. Это очень быстро, регулярно экспрессивно и параметризуемо но не совместимо со stdlib http.DefaultMuxer. То есть вы не сможете использовать нативные http.Handler().Использование framework вообще не поощряется в сообществе(go-nuts  MailingList, #go-nuts irc channel) в силу наличия богатой стандартной библиотеки. То есть помощь в сообществе вам будут оказывать неохотно.(Я например не стану разбираться в Gin, что бы что нибудь советовать)

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

Лучший ответ:
localStorage   погуглите

Худший ответ:
Вот буквально пару дней назад сделал пример: jsfiddle.net/IonDen/ro48g9ts
Напишите текст, обновите страницу и т.п.
+ вместо sessionStorage можно использовать cookie или если хочется хардкора то вообще возьмите либу вроде этой: https://github.com/mozilla/localForage
Вопрос: Какие существуют способы защиты стилей CSS?

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

Худший ответ:
По сути есть единственный способ зашиты верстки — это подгрузка и формирование дерева и стилей с помощю js либо расшифровка им же
Вопрос: Аудит входа пользователей на сервер по rdp?

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

Худший ответ:
Powershell можно заюзать на периодический парсинг логов и последующей отправки сообщений с нужными полями. Вот есть статейка, например, про разборку виндовых логов на Powershell: habrahabr.ru/post/118644
Вопрос: Хорош ли звук у ipod touch?

Лучший ответ:
1. Зачем вам частота больше 20 кГЦ? У вас на столько идеальный слух? И где вы нашли такую информацию?
2. Родные уши — это те, которые в комплекте идут? Если да, то выкиньте их сразу.

Вообще очень сильно всё зависит от ушей. У нас в AppleStore можно послушать с ушами Monster Beats by Dr. Dre. Вот с ними настоящий звук можно услышать.

Худший ответ:
Родные наушники совсем попсовые, подходят для музыки жанра «умц-умц-умц» в автобусе, по дороге на работу.
На хорошей акустике отличить одну цифровую аппаратуру от другой на слух не получится, это эффект placebo в основном (или какая-то совсем убитая аппаратура, поврежденные провода и т.п.)
Вопрос: Какими способами/приемами вы пользовались чтобы получить свой первый заказ на фриланс бирже?

Лучший ответ:
Дикая конкуренция на биржах - миф, многие проекты так и остаются без исполнителя. На прошлой неделе срочно нужен был фронтендер на небольшую задачу с нормальным бюджетом (5 дней - $1000) и перспективой работы на постоянных проектах - найти фрилансера так и не удалось. Заказчик из Европы, адекватный, платежеспособный. Из 30 заявок не оказалось ни одного вменяемого предложения - одни индусы (которые по опыту заказчика на таких проектах лажают в 100% случаев).
Вещи, на которые необходимо обращать внимание на начальном этапе:
1. не стоит пристально изучать все описания проектов - установите собственные критерии, и выбирайте только те что нравятся;
2. описание понравившегося проекта нужно читать внимательно, а в заявке излагать свое понимание задачи (пересказ) и план ее решения;
3. ставьте реальные сроки захода во фриланс - от 3-х до 6-ти месяцев (такой промежуток времени требуется чтобы детально во всем разобраться и наработать рейтинг);
4. обещайте меньше, делайте больше;
5. и самый главный совет - начните прямо сейчас! не нужно бросаться учить английский язык или осваивать модные технологии - все что нужно само придет в процессе работы. Большинству заказчиков совершенно налевать сколько вы делаете ошибок в словах, владеете ли граматикой, и применяете ли паттерны проектирования. Главное - умение эффективно решать поставленные задачи - быстро, и без чрезмерного усложнения.
ps. Список проектов доступный на бирже - лишь вершина айсберга, там достаточно сложно оценить объем повторных заказов и длительных контрактов. Если первые пол-года потратить с умом, впоследствии расходовать время на поиски проектов больше не придется - будет очередь из заявок на выполнение заказов.
pps. Ищу опытного фронтендера для совместной работы над интересными проектами. Сам занимаюсь бэкэндом, базами данных, линуксом, архитектурой.

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

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

Худший ответ:
Всю жизнь считал, что повторять полностью идеи - это плохо и можно пожалеть об этом, но смотря на кол-во разнообразных клонов Angry Birds, Subway Serfer и Flappy Bird понимаю, что если изменить рисунки оставив точно такую же оболочку - всем будет начхать.
А так, действительно стоит узнать какие права у автора.
Вопрос: Совет, оценка стоимости

Лучший ответ:
Если отношения нормальные- разбейте стоимость ремонта или видяхи на пополам. Один не прав, что не предупредил о правилах работы с кастомизированным ноутом, второй не прав, т.к. его действия привели к поломке. ИМХО, раз обоюдка, то и скидываться надо пополам.

Худший ответ:
С технической точки зрения (Б) прав, т.к. во всех встреченных мной ноутбуках в инструкции прописано что он так или иначе «сдохнет» если ему перекрывать доступ к окнам охлаждения (читай включать не вынимая из сумки и т.п.).
(А) может защищаться тем, что спустя 5 лет гарантии на ноут уже нет, и он мог «сдохнуть» в любой момент сам по себе, тем более что была кастомизация и «родные» параметры были нарушены, а значит «или предупреждайте, что к вашему ноуту нужно сверх особое отношение, или идите в пень с вашими перепаянными девайсами.»
Вопрос: В вебизоре яндекса у сайта кривая верстка, это реально так?

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

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

Лучший ответ:
Установщик atom не предлагает пути установки.
Бывает случаи когда после установки программа не появляется в меню пуск.
В качестве альтернативы Вы можете скачать zip файл последний версии atom с github и распаковать его в удобном месте:
https://github.com/atom/atom/releases
В распакованной папке Atom находите Atom.exe и запускаете его.

Худший ответ:
Важно понимать, что Atom не является полноценным IDE, таким как Netbeans или PhpStorm, например. Это простой текстовый редактор с расширенными возможностями, которые можно настраивать под свои нужды.Установка на Windows 7 не вызывает затруднений — скачиваем установщик с офф-сайта и запускаем его. Настроек никаких особых не нужно производить кроме указания пути установки.
Вопрос: Где и как лучше найти партнера переводчика для фриланса?

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

Худший ответ:
На бирже фриланса. Нет?
Вопрос: Стоит ли связываться с бесплатными доменами Dot.tk?

Лучший ответ:
Для тестирования чего-либо вполне подойдет, для производственной среды-нет. Бывает что их DNS сервера недоступны в течении нескольких часов.

Худший ответ:
Домены блочат без причины, просто так. Были 3 домена с красивыми именами, их просто так взяли забрали сказали это теперь VIP домены поэтому если хочешь их использовать плати. Потом были другие 3 домена где были куча скриптов, часть самописных и часть взята из бесплатных открытых источников, домены прикрыли сказали нарушаю авторские права, какие именно права нарушаю мне не сказали т.к. техподдержка на меня просто забила болт и молчит.
Делаем выводы о dot.tk: кидают, блочат просто так, тех. поддержка нулевая, это шарашкина контора и для серьезных проектов НЕ подходит.
Вопрос: Трудно ли фрилансеру получить визу?

Лучший ответ:
Знакомый недавно уезжал.
1. Пришёл в банк.
2. Открыл счёт.
3. Положил 100к.
4. Получил выписку по счёту.
5. Снял тут же все деньги.
6. Закрыл счёт.
7. Открыл счёт на свою девушку.
8. Положил те же 100к.
9. Получил выписку.
10. Снял все деньги.
11. Закрыл счёт.
Ушёл. С этими выписками получил визу на три месяца.
Но это была Азия. В Европу так просто не проканает, там уже требуются движение по счёту за 3 месяца минимум.

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

Лучший ответ:
Возможно они заказали «раскрутку» Twitter аккаунта у какой-нибудь сомнительной конторы, а они вместо того, чтобы делать белую раскрутку решили просто забить все ботами.

Худший ответ:
У себя тоже постоянно вижу, но они скорее всего действуют по принципу «я-тебя-ты-меня». Может даже реальный человек так спамит на авось.

Ну «прокачал» губернатор свой аккаунт, есть же с кого брать пример :) А с парочкой реальных фолловеров было бы совсем не солидно.
Вопрос: Какие задачи решает реактивное программирование?

Лучший ответ:
Надеюсь, что правильно понял Ваш вопрос.Пример
Храню в БД фото с марса в формате HD, делаю запрос на 100 фотографии, задача - показать 100 фоток последовательно на экране.Стандартный поход: делаю запрос к базе на 100 фотографии, жду 2 секунды, получаю массив из 100 фотографии,
итератором бегаю по коллекции и показываю картинки на экране
псевдокод:pics = GetPicsFromDatabase();
foreach(var pic in pics)
  ShowPic(pic)Реактивный подход: делаю запрос к базе на 100 фотографии и обработчику запроса задаю коллбек, обрабатывающий следующий элемент коллекции
псевдокод:// somecode
GetPicsFromDatabaseReactive(NextPictureHandler);
// somecode
NextPictureHandler(Image pic)
{
  ShowPic(pic)
}
В первом случае мы сами явно вытягивали следующий элемент списка (pull), а во втором случае - источник данных сам вкидывал нам следующий элемент, когда он был готов (push).
В первом случае мы ждем, пока сформируется источник данных (как правило занимаем тред) и после этого сами ручками просматриваем результат, во втором случае источник данных сам нас уведомит, когда будет готов.
Что это нам дает?
Асинхронность - в UI например это дает отзывчивость)
Масштабируемость - источник данных (коллекция картинок) и приемник (наш псевдкод, показывающий картинки) не связаны, отсутствие связи дает нам возможность подключить хоть 10 обработчиков картинок (пример один в черно-белом выводит, другой сепию накладывает и т.п.)
Отказоустойчивость достигается тем, что если сдох первый обработчик, например в его треде вылетел эксепшн, который повалил тред (прошу прощения за грубый пример), то действие выполнится резервным обработчиком (мы же их можем навешивать хоть 10, правда?)

Худший ответ:
Есть два варианта получить данные. Можно пассивным способом, это когда мы сами делаем запрос на получение и нам приходит ответ (вариант pull). И есть второй вариант, когда данные сами нас уведомляют об изменениях и выталкивают данные нам (вариант push). Реактивное приложение, это когда приложение само извещает нас об изменении своего состояния. Не мы делаем запрос и проверяем, а не изменилось ли там что-то, а приложение само нам сигнализирует. Ну и конечно эти события, эти сигналы мы соответственно можем обрабатывать.
Реактивность дает слабую связанность в первую очередь. Во-вторых, в некоторых случая это дает возможность писать более простой и понятный код. Например мы можем взять обычную коллекцию, преобразовать ее к реактивной коллекции и тогда мы будем иметь коллекцию событий об изменении данных в ней. Мы очень просто получаем только те данные, которые изменились. По этой коллекции мы можем делать выборку, фильтровать и т.д. Если бы мы это делали традиционным способом, то нам нужно было бы закэшировать  текущие данные, потом делать запрос получить новые данные, потом их сравнить с кэшем и разница и будет те самые изменения.
Вопрос: AngularJs для обычных сайтов — портфолио, визиток и т.д. стоит использовать или нет??

Лучший ответ:
Визиткам, портфолио и магазинам нужна индексация поисковиками. С angular это не то чтобы невозможно, но очень костыльно. Смотрите в сторону Backbone + (React|Ractive).

Худший ответ:
Я конечно бы выбрал свой велосипед, но это я.
Вопрос: Покупка android телефона на ebay?

Лучший ответ:
Вам на 4pda.ru там можно почитать всю инфу по интересующей модели. Так как телефоны, даже одинаковые модели, могут отличаться в зависимости от того для какой страны они предназначены, более того даже от операторов внутри одной страны (это больше штатов касается). Так что определяйтесь с моделью и потом на 4pda изучаете нюансы, там удобные FAQ по всем всем моделям есть (в том числе подробные инструкции как рутовать, перепрошивать, ссылки на прошивки и т.п.)

Русскую раскладку как раз установить намного проще, чем руссифицировать Android (если нет официального руссика).

От себя посоветовал бы посмотреть на телефоны Motorola, а также телефоны б/у (в штатах слегка поюзанный телефон, без следов эксплуатации, стоит прилично дешевле).

Худший ответ:
Отвечу только по поводу Русификации — тут все просто… и либо в настройках телефона уже будет выбор русского языка, либо без проблем из Маркета ставится «русский» пакет.
Одно но, если там «хитрая» клавиатура, то возможно с этим возникнут вопросы… опять же «возможно», а «возможно» и не возникнут — это и по поводу рутования лучше прокомментируют владельцы сего девайса.
Вопрос: Как реализовать «Register with Facebook» аналогично Instagram на server-side?

Лучший ответ:
Пользователь нажимает на кнопку, вы берёте id юзера в фейсбуке он уникальный и другую инфу, так же можете взять access_token если хотите делать какие то запросы в фейсбук.
Далее, отсылаете id юзера на сервер он уникальный помните, смотрим если есть юзер с таким id от фейсбука. Если нет, значит - можно зарегестрировать юзера, делаем юзера и привязываем этот facebook id к нему. Всё теперь юзер зарегестрирован и к нему привязан facebook id.
Если он нажимает на кнопку в приложении - вы отсылаете facebook id и юзер с таким facebook id на сервере находится, можно считать это за логин и пропустить юзера в ваше приложение.
На пятый пункт, нет пароль передавать нельзя, при регистрации или логине (лучше при логине) генерируете юзеру уже свой access_token с которым он может обращаться к вашему серверу.
Свой access_token выдавать при логине или после регистрации.
Теперь когда у юзера есть access_token от вашего сервера, он может делать запросы к вашему api серверу. Это значит, что он должен присылать этот токен с каждым обращением к вашему серверу,  как он будет это делать зависит от дизайна вашего api. У фейсбука это как параметр в URL. 
Я предпочитаю, чтобы access_token присылали в http хедерах.
Примерно, так... Одним ответом тут не отписаться( Спрашивайте ответим.

Худший ответ:
В общих чертах:
в мобильном приложении пользователь нажимает на кнопку от фейсбука: https://developers.facebook.com/docs/android
Вы регистрируете в приложении callback который получит Sesssion, в котором будет access_token.
Далее вы посылаете инфу на сервер: fbid, access token... (и может быть ещё что-нибудь понадобится, я не знаю, серверную часть API я не писал).
После сервер обрабатывает ваш access token, может например спросит права, или спросит инфу пользователя, если всё в порядке,
тогда вы делаете запись в базу данных и возвращаете "уря, ты зашёл".
Костыли: 1. если вам ВДРУГ нужны права, а такое право - email (он хорош как уникальный id пользователя), права можно проверять с объекта Session, если вдруг не дал права, удаляете все права, и перезапрашиваете их заново, так как сервер это сделать не может.
2. acess token надо обновлять, он жив помоему примерно 30 дней.
-- каким образом мы можем проделать такое на сервере?? - запрос в граф апи на /me (https://developers.facebook.com/docs/graph-api/ref... )
PS: Помоему тут можно скачать FB APi https://github.com/sciyoshi/pyfacebook/ для присмыкающегося ползунка
Вопрос: Сетевая игра на Android, как писать?

Лучший ответ:
У вас должен быть клиент, сервер и протокол взаимодействия клиента с сервером.
В простейшей части клиент соединяется с сервером, авторизуется и тут уже вступает игровая-бизнес логика.
Сервер принимает соединение, авторизует игрока (идентифицирует его) и тут опять же вступает игровая-бизнес логика на сервере.
Протокол однозначно должен идентифицировать все действия клиента и все ответы сервера.
Т.о. последовательно общаясь сервер и клиент реализуют игровую ситуацию.
Внутри сервера логика должна быть гораздо сложнее клиентской, т.к. сервер реализует не только правила самой игры, но и всяческие проверки на "дурака", чтобы клиент не мог читерить. Также сервер должен организовать взаимодействие между игроками. В простейшем случае это некая игровая комната, а внутри неё 2 и более игроков создают игровую ситуацию по правилам игры.
Если хотите писать сервер с нуля, то рекомендую посмотреть в сторону Erlang.
Там за каждого клиента может отвечать свой процесс, за игровую комнату тоже. И т.о. вся реализация игры сводится к правильной посылке сообщений от процесса-игрока, к процессу-комнате и обратно с реализацией игровой логики внутри процесса-комнаты.
В целом вот так. Если будет нужна помощью в Erlang, или написании такого сервера могу помочь. В том числе и ответами на данном ресурсе.

Худший ответ:
Есть готовые решения, по первым же ссылкам гугла
www.google.com/search?q=android+p2p+library&oq=and...
Вопрос: Может ли bash-скрипт быть причиной зависания сервера?

Лучший ответ:
Без этого скрипта не виснет?
В логах на это время ничего интересного нету?
Задачу раз в 5 минут действительно логичнее повесить на крон, но машину userspace-процесс вешать не должен в любом случае.

Худший ответ:
Без этого скрипта не виснет?
В логах на это время ничего интересного нету?
Задачу раз в 5 минут действительно логичнее повесить на крон, но машину userspace-процесс вешать не должен в любом случае.