Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Чем формошлепство на JavaScript отличается от формошлепства на JAVA, C#, QT?

Лучший ответ:
На самом деле все в кучу в вопросе, задеты разные уровни работы приложений, то есть разные уровни абстракции: 
1) обработка событий: сигналы и слоты (как понимаю речь о Qt), очередь сообщений и обработчики событий в MFC и .NET Windows Forms. В джаваскрипте у каждого элемента DOM аналогично можно указать обработчик на каждое событие. 
2) Архитектура приложения: обычно это либо MVC либо MVVM (то есть по сути речь о MV* подходах), как раз эти подходы и реализуют фреймворки (ангулар, кнокаут, бэкбон и так далее), также сейчас активно продвигается Flux от фейсбука. В декстопных тоже есть MVVM, например в Microsoft WPF
3) Контроль изменений в моделях: это уже и есть всякие dirty checking, defineProperty, observer и тому подобное, то есть по сути то, как отслеживаются изменения в моделях.
4) AJAX - всего лишь технология общения клиентского джаваскрипта с браузером.
А сравнение нужно начинать с архитектуры приложений, п.2, все что ниже - это уже детали реализации конкретного фреймворка, а уже ниже - конкретной платформы (как работают и обрабатываются события, как обрабатываются данные)

Худший ответ:
Для начала, JavaScript выполняется браузером, и "формошлепство" в конечном счете создает html страницу.
Java, C#, QT создают визуальные элементы другим способом, в котором браузер не нужен, нужна или java-машина, или конкретная платформа (windows с библиотеками, etc)
Это первое и главное отличие.
Вопрос: Посоветуйте облачный DNS для контентной фильтрации в компании

Лучший ответ:
Не вижу тут ничего, что нельзя было бы выполнить своими руками.
Берем простейшую облачную машину в AWS, поднимаем openvpn, настраиваем сертификатами, пробрасываем порт. Далее по инструкции настраиваем клиентов, сертификаты они сами подхватывают и соединяются.
На машине настраиваем dns сервер и прописываем его внутренний openvpn адрес на машинах. Все…

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

Лучший ответ:
Попробуй с gparted
Установить:  sudo apt-get install gparted

Худший ответ:
Разделы "далеко" на диске находяться и так просто их не объединить - нужно перемещать соседние разделы на диске. 
Самый простой способ присоединить - это переформатировать  и смонтировать в нужную папку.
Другой способ: habrahabr.ru/post/98742
Вопрос: Как перенести приложение от одного аккаунта другому в Google Play и AppStore?

Лучший ответ:
Android
Оф. документация: https://support.google.com/googleplay/android-developer/checklist/3294213
Видео: www.youtube.com/watch?v=2RKvXDdyua0iOS
Оф. документация: https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/10_ManagingYourApplications/ManagingYourApplications.html
Видео: www.youtube.com/watch?v=lLo1A9QqIf0Windows Phone
Единственный способ передать приложение другому разработчику - связаться с технической поддержкой и доказать, что все происходит по обоюдному согласию.

Худший ответ:
В Google Play есть такая возможность. Где-то в документации все описано.
Пишем в службу поддержки с просьбой перенести приложение с одного аккаунта на другой.
По поводу AppStore думаю аналогично.
Вопрос: Какая разница между JQuery и JQuery UI?

Лучший ответ:
UI это User Interface. Что как бы намекает. jQuery это JavaScript библиотека позволяющая Вам удобно работать с DOM. jQuery UI предоставляет набор виджетов для организации пользовательского интерфейса. jQuery UI использует jQuery, но является самостоятельным продуктом.

Худший ответ:
jquery - библиотека для работы с исполнимым кодом, то есть с операциями на страницах.
UI - набор шаблонных элементов(HTML, CSS, JS), которые позволяют:
1. Создавать элементы интерфейса(выпадающие списки, всплывающие окошки и тд)
2. Стилизовать их под ваши нужны через CSS
3. Управлять их поведением и содержимым через JS
Вопрос: Нужна ли карта sitemap для лендинга?

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

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

Лучший ответ:
Разнесите создание инстанса и его использование.class BarFabric
{
  public function create(array $config = [])
  {
    return new Bar($config);
  }
}
class Foo
{
  protected $barFabric;
  public function __construct(BarFabric $barFabric)
  {
    $this->barFabric = $barFabric;
  }
  public function someMethod()
  {
    $bar = $this->barFabric->create();
    $bar->method1();
    $bar->method2();
    $blabla = $bar->getResult();
    //etc
  }
}

class FooTest
{
  public function testSomeMethod()
  {
    $bar = \Mokery::mock(Bar::class);
    // ... описание поведения для мока
    $factory = \Mokery::mock(BarFactory::class);
    $factory->shouldReceive('create')->andReturn($bar);
    $foo = new Foo($factory);
    $this->assertSomething($foo);
  }
}
О том, как быть с ActiveQuery...
Во первых, выносите логику запроса так же в отдельный класс. Если генерируете новую модель, Gii это может сделать и сам.class FooQuery extend ActiveQuery
{
    /**
     * @inheritdoc
     * @return Foo[]|array
     */
    public function all($db = null)
    {
        return parent::all($db);
    }

    /**
     * @inheritdoc
     * @return Foo|array|null
     */
    public function one($db = null)
    {
        return parent::one($db);
    }
}
Этот объект передавайте в целевой класс так же как фабрику:class Bar
{
  protected $query;
  public function __construct(FooQuery $query)
 {
    $this->query = $query;
 }

 public function someMethod()
 {
    $foo = $this->query->where(...)->one();
    $foo->doSomething();
 }
}
Ну а дальше мокайте как и в первом случае$queryMock = \Mockery::mock(FooQuery::class);
$queryMock->shouldRecieve('where->one')->andReturn($fooMock);
ActiveQuery можно мокать частично, после этого будут выполняться все родные методы, а вот сохранение в базу пропустится.$fooMock = \Mockery::mock(Foo::class.'[save, update]');
$fooMock->shouldRecieve('save', 'update')->andReturn(true);
Relations можно не подменять вообще. Они прекрасно подставляются через ActiveRecord::populateRelation().$foo = new Foo();
$foo->populateRelation('bar', new Bar());

Худший ответ:
Не следует инициализировать объект Bar в методе someMethod, вместо этого следует использовать паттерн Dependency Injection. Так во-первых создается меньше зависимостей, во-вторых такую конструкцию проще тестировать: в юнит-тесте Вы просто добавляете мок Bar через инъекцию. Я лично в Yii2 предпочитаю инъекцию через конструктор, но это скорее дело вкуса.
Собственно говоря matperez ровно этот паттерн и реализовал.
Вопрос: Android Emulator x86 под VirtualBox и ресурсы?

Лучший ответ:
Если уже юзать virtualbox, вместо образов Intel в эмуляторе - лучше использовать Genymotion (www.genymotion.com/) - там оптимизированые образы под виртуалбокс, проброс камеры, gps и прочей фигни.
А карточку под виртуалбокс можно заделать просто расшаренной папкой.

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

Лучший ответ:
1) Да, вставить код перед вызовом библиотеки.
2) Читать о Objc-C Runtime и method swizzling.

Худший ответ:
Я правильно понял, что swizzling подменяет функцию своей ? То есть, например, я подменю ViewDidLoad на свою, но оригинальная не будет выполнена ?
Вопрос: Как синхронизировать 3 одинаковые базы данных mysql?

Лучший ответ:
Если базы нужно синхронизировать полностью - я бы задумался на тему необходимости 3х раздельных баз вообще. На мой взгляд гораздо проще или перейти к единой базе,  или например сделать master-slave репликации и модифицировать код, что бы писать всегда в master а читать из локального slave.
Все остальные решения существенно менее тривиальны и требуют вдумчивой настройки.
Репликация даже мастер-мастер между двумя серверами работает через одно место.
3 мастера никогда не пробовали, но верю на слово @RicoX

Худший ответ:
Решение из коробки - репликация мастер-мастер между 3мя базами - это адски глючное решение. Для некоторых сценариев подойдет Percona XtraDB Cluster (или MariaDB Galera Cluster) работает значительно лучше базовой репликации.
Вопрос: Как обращаться с windows машины на web сервер Ubuntu desktop машины из одной сети?

Лучший ответ:
Так как внутреннего днс нету.
Пропишите обе машины в файле hosts обоих машин.

Худший ответ:
Так сайты на localhost убунтовской крутятся, их нужно повесить на внутренний IP, а потом уже обращаться на внутренний IP:порт (80). Для этого нужно, чтобы была между ними локальная сеть. То есть в Virtual Box в настройках сети каждой гостевой машине нужно добавить сеть в режиме моста, указав свой реальный сетевой адаптер, затем сконфигурировать сеть в обеих гостевых ОС (либо dhcp, если роутер раздаёт сеть, либо вручную так же, как и на дебиан, только ip адреса различные). Потом перезапустить lamp и если он не привяжется к внутреннему ip, то идем в 
# vi /etc/apache2/ports.conf
и пишем, например
Listen ваш ip:80
Listen ваш ip:8010
и перезапускаем apache
# /etc/init.d/apache2 restart
и проверяем netstat'ом
# netstat -tulpn | grep :80
# netstat -tulpn | grep :8010
Также желательно в  /etc/host привязать имя хоста убунты к ip:
192.168.0.235  hostname
(ip_убунты имя_хоста_убунты)
Вопрос: Как в Django передать данные из модели в шаблон в обход views?

Лучший ответ:
Для начала: https://www.python.org/dev/peps/pep-0020/
Один из пунктов там "явное лучше неявного".
Views в django на то и придуманы чтобы передавать данные и делать это явно, но то, как это сделать всецело зависит от Вас. Вы правы, нет смысла во всех вьюхах городить огород с передачей одних и тех же данных, тем более, если они общие для большинства шаблонов, но ни custom context processor, ни тем более custom template tag Вас не выручат так, как может одна простая конструкция:
где-нибудь в utils.pydef base_context(request):
    return Context({
        'user': request.user,
        '...': '...',
    })
Где-нибудь в views.py:def view(request):
    context = base_context(request)
    context['this view specific data'] = 'happy coding'
    return render_to_response('template.html', context)
Таким образом Вы:
1. Не захламляете общий request flow и сохраняете контроль над контекстом любой вьюхи. Context processors будут вызваны для любого рендера, тогда как такой подход позволит Вам всегда иметь минимум необходимых данных под рукой и полный контроль над всеми вьюхами.
2. Передаете в контекст шаблонизатора только, что действительно должно в него попасть. Больше того, в отдельных вьюхах Вы даже можете переопределить базовые параметры, что не так удобно делать с context processors. (но лучше см. п.3)
3. Можете расширить абстракцию как угодно, и создать хоть 2, хоть 3, хоть больше базовых контекстов под всевозожные ситуации (зависит от архитектуры).

Худший ответ:
Вам нужно использовать request context processor
Вопрос: Ваши действия, если джуниор не успевает выполнить задачу?

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

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

Лучший ответ:
Плохой, но рабочий вариант:<input type="text" name="username" value="<?=@$_SESSION['reg']['username'];?>"/><br /> 
<input type="text" name="name" value="<?=@$_SESSION['reg']['name'];?>"/><br />
На хороший просто намекну:$username = '';
if (isset($_SESSION['reg']['username'])) {
    $username = $_SESSION['reg']['username'];
}

Худший ответ:
отключите показ НОТИСОВ в продакшн версии и проблем не будет.
Коротко - вызов неизвестной переменной , нужно инициализировать до того как выводить.
можно сделать проверку - если есть $_SESSION['reg']['username'] - выводим его, иначе пустоту
Вопрос: Все ли картинки, которые отображаются на сайте, должны иметь осмысленное название в имени файла?

Лучший ответ:
будет плюс только если вы стремитесь в поиск по картинкам попасть, а так важнее alt прописать.
даже по картинкам, если посмотреть выдачу гугла, то в топе картинки с названиями типа 5ml3jkljn423b5m.jpg

Худший ответ:
На продвижение в поиске по изображениям в основном влияют:Содержимое тегов «alt» и/или «title»;Осмысленные названия файлов;Окружающий текст (над и под картинкой), а также заголовки;Общая релевантность страницы с изображением запросу;Размер изображения (больше – лучше);Прямые ссылки на изображение и на страницу с ним;Появление копий с течением времени (если активно копируют – значит картинка хорошая).
Вопрос: Как в CSS игнорировать padding родителя?

Лучший ответ:
Если вы ищете что-то вроде parents-padding: ignore; - то такого нет:)
Пожалуй, отрицательные марджины - если и не единственное решение, то уж точно самое простое.
Есть вариант не задавать padding родителю, а вместо этого задать margin потомкам где он нужен.

Худший ответ:
Вставьте написанную функцию на страницу и присваивайте класс padding-parent-ignore всем элементам, у которых хотите игнорировать паддинги родителей ) 
jsfiddle.net/iiil/2976n/2
Вопрос: Проблемы с загрузкой хабра?

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

Худший ответ:
Нет, не Вы один такой счастливый =) Это нормальное явление похоже в последнее время.
Вопрос: Наушники за 1,5-2 килорубля

Лучший ответ:
Советую Koss Porta Pro легентарные наушники, удобно складываются, хороший звук, ни жарко и холодно в них. Стоят где то 1000 рублей. Кстати ищу что то получше или сравнимое с ними только чтобы провода были получше, а то износятся за пару лет и возможно звук получше (хуже брать нет смысла) Можно конечно взять с плетеным проводом, но точно не знаю что выбрать как аналог этой модели.

Худший ответ:
Если предпочтения сместятся в вакуумные — Sennheiser CX 300-II
Вопрос: Как правильно выбрать язык проекта исходя из будущих фич?

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

Худший ответ:
Без разницы, имхо. С#/ASP.NET MVC , Ruby/Rails, PHP/какой-нить из фреймворков, Python/Django... - все это подойдет для данной задачи. Для клиентской части - советую активно пользовать JS. Советую сразу подумать о мобильных версиях - как будете делать - как приложения под основны мобильные платформы или как адаптивный вебсайт. также имеет смысл обдумать инфраструктуру - какой хостинг, на акой платформе. Это в частности поможет отсечь какие-то комбинации. Если планируете жить в стэке Майкрософт (SQL Server, Azure, Windows) - тогда, конечно, разумно будет выбрать С#/ASP.NET MVC/Web API и тп
Вопрос: Как конвертировать .PNG в .AI

Лучший ответ:
Воспользуйтесь imagemagick
www.imagemagick.org/script/index.php
convert image.png image.ai
Только что проверил — работает.
Но надеюсь вы понимаете, что это все равно будет растр

Худший ответ:
vectormagic.com/home Или так :)
Вопрос: Grid для .NET WinForms?

Лучший ответ:
Платные рассматриваете? DevExpress грид пробовали?

Худший ответ:
Очевидно, тут есть логическая ошибка. Если вы выводите что-то пользователю, то предполагается, что он с этим реально будет взаимодействовать. Ваш пользователь действительно может просмотреть хотя бы 1млн из 20млн ваших записей?
Пересмотрите логику работы вашего приложения, выводить даже "20-30 тыс. строк" - это уже очень странный юзкейс, не то что ваш пример.
Вопрос: Что за конструкция var $$ = $$ || {};?

Лучший ответ:
Не знаю из какого это проекта, но на вид это обычная конструкция типа "значение аргумента по умолчанию".

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

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

Худший ответ:
Время - никак: неизвестно на какой машине, неизвестно на какой ОС,  неизвестно на каком языке.
Вопрос: Связана ли адаптивная верстка с дизайном?

Лучший ответ:
Адаптивный дизайн - подразумевает собой оформления веб-страницы таким образом что элементы могут перемещаться, сдвигаться и убираться не нарушая целостность композиции.Адаптивная верстка - это уже техническая составляющая. HTML и CSS разметка сделана таким образом что элементы имеют "плавность" и легок адаптируются по размер браузера, так же оптимизировано под загрузку мобильных устройств.
Сжатие html, css, javascript и оптимизация изображений, как правило для дисплеев retina добавляются специальные правила, что бы на современных телефонах отображались более качественно.Кроссбраузерность
Корректность работы зависит от программиста, если он хороший то этой проблемы не будет, так как опытный человек изначально создает кроссбраузерную верстку. (это на уровне подсознания)Связана ли адаптивная верстка с дизайном?
Да! Если дизайн не подразумевает собой возможность "плавать" (визуально оставаться целостным), то возникают проблемы.

Худший ответ:
Дизайн на выходе дает PSD, верстка - рабочий HTML.
Кроссбраузерность существовала задолго до адаптивного дизайна.
Вопрос: На каком языке лучше создавать портал: ASP .NET или PHP?

Лучший ответ:
На том, который лучше знаете.

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

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

Худший ответ:
varchar с разделением на код города (оператора) и сам номер
Вопрос: Почему Cookies не записываются?

Лучший ответ:
setcookie('login', $login, time() + 360000000,'/', 'mysite.com');
Еще одна проблема которая может быть - если у вас сайт на поддомене - то если домен верхнего уровня поставил куку с таким названием - перезаписать не получится.

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

Лучший ответ:
Зарегистрировать ИП и избежать всех проблем.
Серьезно, все траты — это фиксированный взнос 35 тысяч за год и 6% от налогов. Причем из суммы налогов можно вычитать эти самые 35 тысяч. Онлайн бухгалтерия уничтожает всю бумажную волокиту.
Некоторые банки предоставляют бесплатное или очень бюджетное (200-400руб/мес) обслуживание для ИП.

1. Соцслужбы относятся к тебе, как к владельцу бизнеса
2. Банки тебя любят, особенно если твой расчетный счет ИП у них ведется
3. Налоговая требует 5 отчетов (или 2) в год и не жужжит
4. Банки тебя же любят. Показываешь книгу доходов за последние пару лет и ипотеку по идее должны одобрить

Худший ответ:
1) Больше? А сколько уже дали? То есть почему вопрос в «больше»? В принципе дадут, с хорошей кредитной историей, да еще под залог — не проблема получить 400-800к в одном банке или набрать потреб.кредитами/картами даже больше. А первый взнос в 50% от продажи старой сильно увеличит шансы.
3) При покупках свыше 600тысяч могут возникнуть вопросы у фин.мониторинга/налоговой, но это скорее теоретически. На практике пока никого не щемили вроде как.

4) На полгода устраиваться смысла нет в принципе, банки общий стаж будут учитывать, а полугодовой это ни о чем. Об ипотеке для безработного — забудьте в принципе, фантастика. 
Вариант однако есть, если жаба не душит на 36 тысяч в год налогов, то можно оформиться как ИП и многое себе упростить. И кредиты и социалку и все остальное. Опуская детали, при ИП на упрощенке сейчас есть смысл показывать не меньше 50к в месяц, и этот доход будет учитываться многими банками как белый. Кредит обычно выдают на 30-50% выплаты от официального дохода. У ИП для рассмотрения ипотеки должен быть стаж от 2 лет, так что думайте уже сейчас. Это имеет смысл.
Вопрос: Есть ли способ сократить код?

Лучший ответ:
Это все можно сделать просто на CSS, без javascript. Код сократиться до 0 строк.

Худший ответ:
Если нужна именно jquery реализация, то$( ".type,.price,.params,.params2" ).hover(function() {
       $( this ).addClass( "gray" );
    }, function() {
       $( this ).removeClass( "gray" );
    }
);
Вопрос: Как создаётся внешнее API программы?

Лучший ответ:
> 1 Как создать для неё API (читай драйвер)? 
Изначальная постановка вопроса не верна. API не есть драйвер. прям вообще ни разу.
> 2 Что будет использоваться для взаимодействия драйвера и работающей базы (может сокеты, может ещё что)? 
А что захочешь, то и будет использоваться. Хоть сообщения, хоть сокеты, хоть файл на диске. Тыжпрограммист, кто тебе запретит.
> Могу ли я из драйвера вызывать какую-то функцию
Можешь вызывать функцию (экспорты никто не отменял), можешь посылать сообщение, можешь посылать JSON строку, можешь сразу SQL запрос сформированный посылать, кто ж запретит.
Ты же на сишечке пишешь, так что никто тебе не указ, реализовать можно практически что угодно. Как пользователю удобнее будет общаться с БД, такой API и  создавай.

Худший ответ:
Судя по коду mongo работает через TCP сокет.
В Unix бывают следующие виды IPC(inter process communications - межпроцессорное взаимодействие) Статья в русской википедии
1.Pipe
2.FIFO, or named pipe
3.Socket and Unix Domain Socket
4.Message Queue
5.Signal
6.Semaphore
7.Shared memory
Вопрос: Что делать, если элемент смещает соседние?

Лучший ответ:
используйте position:absolute для контейнеров с текстом - вообще смещать ничего не будут)

Худший ответ:
Всем спасибо!
Вопрос: Как правильно кэшировать редко изменяемые данные?

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

Худший ответ:
У вас ответ в вопросе )Я не очень знаком с кэшированием 
Ознакомьтесь.
Храните данные панелей в Memcached. Показывайте "устаревшие" данные, если это не критично для приложения.
Либо подгружайте данные через ajax.