• Подскажите симулятор для моделирования многопроцессорных систем

    А что такое «симулятор для моделирования многопроцессорных систем»? Какие системы, какой уровень абстракции? Что надо симулировать? С какой скоростью?
    Но есть у меня подозрение, что таких систем может не быть.
  • Как избавиться от warning C4250: inherits via dominance?

    А лучше вообще не использовать ромбовидное наследование. Это довольно сложная в архитектурном плане штука и часто она не особо и нужна.
  • Как лучше хранить гео-точки (для последующего отображения на карте)?

    habrahabr.ru/post/147744/

    Вместо строк лучше использвоать числа. Будет намного быстрее работать. Но такой способ стоит использовать только если нет возможности поставить расширение с нормальными геоидексами.

    Касательно Postgres + Postgis — зависит от требований к системе. Где-то он нужен потому что нужны сложные запросы. А где-то его использовать нельзя из-за определенных требований по нагрузке и отказоустойчивости.
  • Как лучше хранить гео-точки (для последующего отображения на карте)?

    Индекс в любом случае нужен. Если конечно чтений все-таки больше, чем добавлений. Геометрических индексов существует вагон и маленькая тележка и проблема неравномерности объектов в них решается балансировкой. В частности в деревьях более плотные регионы либо будут иметь больше уровней вложенности (квадродерево), либо меньшие размеры регионов при том же уровне вложенности (rtree). Реализации, я думаю, вы тоже найдете в свободном доступе.

    Если изменения частые, я бы стал делать свою реализацию памяти только в крайнем случае. Написать надежное распределеное хранилище — трудная задача. Для начала попробуйте существующеи СУБД с георасширениями и замерьте их производительность. Если устроит — используйте.
    Можно PostGIS, как советуют в отдельном ответе. Но в SQL крайне трудно сделать нормальный мультимастер и шардинг. В PostgeSQL и MySQL полноценных реализаций, насколько я знаю, нет. Если нет необходимости в сложных join'ах, то стоит помотреть в сторону nosql баз данных.
  • Почему возникает ошибка при декодировании base64 из c++ в python?

    Поддерживаю, есть многоразных вариантов base64, использующие слегка разные алфавиты.
  • Локализированная поисковая выдача

    Потихоньку начинают понимать. Например opera понимает теги link с type=«application/atom+xml» и показывает значок в адресной строке. Также она понимает rel=next (в том числе на гиперссылках) и умеет переходить на эти страницы если пытаться мотать страницу ниже её конца пробелом. В браузерах для андроида появились легко доступные галочки переключения в полный режим, а значит отпадает надобность в ссылках на полные версии сайтов.
    Вообще, было бы удобно, если переключение языков и представлений на всех сатах было одинаковым. Я обычно поиском по странице пользуюсь, чтобы найти эти кнопки.

    P.S. А на текущий момент я знаю один сайт, учитывающий Accept-Language — это фейсбук.
  • Локализированная поисковая выдача

    Есть такое. Заголовок Link с rel=alternate или rel=self и атрибутом hreflang. Только большой вопрос, кто это поймет, да и семантика у атрибута hreflang странная: он ни на что не влияет.
    То ли дело тег link в xhtml/2.0. Там он специально для этого сделан. Но сам стандарт не приняли.
  • Локализированная поисковая выдача

    Могу посоветовать диссертацию Роя Филдинга
    www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
    HTTP работает с ресурсами. Ресурсы идентифицируются по URL и могут иметь несколько представлений. Представления выбираются исходя из заголовков, переданных клиенту. Пользователь видит самое удобное для него представление.
    Если у вас один ресурс и он представлен на нескольких языках, то и URL у него один. Но вы тогда и не даете ссылок «ресурс на английком языке», это не нужно: пользователь увидит его на самом подходящем языке и, если надо, выберет другой.
    Вот это самое «выберет другой» в браузере запрятано в глубокую попу и простым смертным не доступно. Приходится ставить ссылки на версии на конкретном языке и рассматривать их как отдельные ресурсы.
    Про отправку на конкретные ресурс с помощью 302 я читал в какой-то рекоментации w3c, но сохранить адрес забыл. Идея в том, что в закладках браузер должен оставлять адрес основной страницы, а не локализованной.
    Vary говорит промежуточным серверам, а также клиенту, что возврашенная страницы зависит от перечисленных заголовкой, переданных пользователем. Если он придет с другими заголовками, ответ может быть другим, поэтому нельзя извлекать его из кеша. Необходим для нормальной работы кэширования. Я не знаю, анализирует ли его бот, но хотелось бы верить, что да.
    В meta дублировать не надо т.к. с этим заголовком работает кеш, а парсить html — не его дело.
  • Возможно ли кэширование записи на диск при использовании в качестве оного карты CompactFlash в linux?

    $ free -m
                 total       used       free     shared    buffers     cached
    Mem:          3755       3381        373          0        131       1238
    -/+ buffers/cache:       2011       1744
    Swap:         3892          0       3892
    

    2011 мегабайт оперативной памяти использовано под кэширование файлов. Linux всю неиспользуемую оперативку пытается забить файловым кэшем т.к. это полезнее, чем иметь пустую память, а стоимость выделения приложению пустой памяти и памяти, хранившей кэш данных почти не отличается.

    Отвечат за него ядро. Про источники не подскажу, но ниже anarsoul упоминал параметры настройки кэширования. Я думаю, что если вы поищите информацию о этих параметрах, то набредете на те самые авторитетные источники.
  • Как определить входит ли геоточка(с широтой, долготой) в радиус?

    Если geohash использовать, то логарифмический, а если так, как предложил автор, то линейный.
  • Как определить входит ли геоточка(с широтой, долготой) в радиус?

    Плохое решение. Такой запрос может использовать индекс по одной координате, но будет вынужден сделать полный перебор по второй координате. Выхода два:
    Использовать георасширение для СУБД и использовать пространственный индекс из него. Это самый правильный вариант.
    Если это невозможно, то надо считать geohash от координат, класть в базу и делать запрос, вытаскивающий объекты с geohash'ем, попадающим в нужные диапазоны (таких диапазоно может быть до четырех).
  • Что означает заголовок "Cteonnt-Length"?

    Есть такая штука, как chunked encoding. Либо используется он, либо Content-Length. В ответе может вообще не быть заголовка, указывающего размер.
  • Что означает заголовок "Cteonnt-Length"?

    load balancer — это proxy сервер, раскидывающий запросы на пул реальных серверов, обеспечивая их равномерную загрузку. Так как сам банасер выполняет очень тупую работу, он может обслужить много запросов. Кроме того, load balancer может отслеживать состояние серверов и не посылать запросы на неработающие.
    Этот proxy принадлежит мозиле, поэтому на нем стоят мозиловские SSL ключи.

    А вот почему надо портить заголовок я не знаю.
  • Как обеспечить производительность в многопоточной среде?

    Я думал, что данные хранятся в памяти и тогда существовал бы один объект компании, в который можно было бы положить лок.
    ConcurrentMap<Long, Lock> companyLocks — не клёво потому, что он однопоточный. Все равно остаётся глобальный лок.

    А если данные уже хранятся в базе данных, то не надо никаких блокировок в программе. Достаточно использовать придуманные для этого транзакции. Необходимо изменять баланс компании и создавать запрос на сервис в рамках одной транзакции.
  • Как обеспечить производительность в многопоточной среде?

    Интересно, кто тот человек, который считает, что надежность в таких сервисах не нужна?
    Или может кто-то считает, что эта задача не похожа на захват семафора? Только вместо целочисленного типа используется денежный и операция enter вычитает не единицу, а произвольное значение. Общепринятый способ решения этой задачи — атомарная операция проверки и вычитания. Заметте, что блокировка происходит на очень короткое время, а не на всю операцию заказа сервиса.
    Если нужны fine grained блокировки, то объектом блокировки должен быть баланс компании, а не один лок на все компании.

    Но еще раз повторяюсь, что надо использовать СУБД, так как хорошее корректное решение описанной задачи приведет к реализации тех же механизмов, что есть в СУБД. И значительно быстрее работать не будет.
  • в безопасности ли данные приложения при работе JVM?

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

    Системный администратор же может утянуть любые данные с подконтрольных ему машин. Он может хоть за клавиатурой следить, может за экраном следить. А лезть в память и расшифровывать её ему не нужно, так как есть пути проще.

    Так что помимо вопроса «Что защищаем?» надо ставить вопрос «От кого защищаем?», а также «Насколько ценны эти данные?» и «Сколько мы готовы потратить на защиту?». Главное правило: стоимость кражи данных должна превышать стоимость выгоды от их использования, а ущерб от кражи должен быть больше стоимости защиты.
  • Возможно ли кэширование записи на диск при использовании в качестве оного карты CompactFlash в linux?

    А еще можно купить другую, более дорогую, флэш карту. Они разительно отличаются в скоростях чтения и записи.
  • Как создать динамическую форму с использованием REST?

    Сильно зависит от приложения. Сделать кошерный интерфейс сложно, зато легко поддерживать зоопарк клиентов разных версий.
  • Как создать динамическую форму с использованием REST?

    Если нужно просто решить задачу, то этого достаточно. Если хочется именно REST, то наверное workflow будет примерно такой:
    Послать на сервер GET запрос на адрес ресурса, который будем редактировать. В Accept указать в каком виде хотим получить описание объекта. Скорее всего это будет application/json, а лучше application/vnd.<ваше имя>.<ваш формат>+json т.к. сойдет не любой json, а с вполне конкретной структурой. Для версионирования форматов можно использовать спецификатор ";version=1.0"

    Сервер вернет объект, в заголовке Content-type формат (мы могли указать несколько форматов в Accept), а также в заголовке Link адрес, по которому GET запросом можно забрать описание формы.

    Аналогичным образом забираем форму.

    Заполненную форму отправляем на адрес редактируемого ресурса методом PUT (ни в коем случае не POST). Не забываем указать Content-type, чтобы сервер понял, что ему отправили.

    Хорошим тоном будет отправить ресурс в том же формате, в котором его прислал сервер. Так больше вероятность, что сервер поймет запрос.

    А вот как эту красоту реализовать так, чтобы в браузерах работало — большой вопрос. Такое HTTP API хорошо работает для классических клиентских приложений т.к. там не будет проблем с поддержкой всех тонкостей HTTP. Для браузерного клиента придётся отказаться от строгого следования REST или добавлять костыли в виде дополнительных параметров, заменяющих заголовки для клиентов, не позволяющих их послать.