• Ограничил vk на роутере, тормозят сайты, как настроить?

    mastak
    @mastak
    Создаю и успешно развиваю интернет-проекты
    Я бы прописал в hosts ассоциацию vk.com c 127.0.0.1
    В таком случае vk.com/js/api/openapi.js просто отдавал бы 404, но при этом моментально.
    Ответ написан
    3 комментария
  • Tempdb в ram, на сколько "полезно"?

    mastak
    @mastak
    Создаю и успешно развиваю интернет-проекты
    Использовали в одном проекте MSSQL, 2 сервера (один — Master, один — Slave), оба были по 128 гигабайт оперативки, а потому приняли решения для ускорения работы хранить базу целиком в RAM. Купили лицензии на одну из программ, умеющих обеспечить такую функциональность. В плане быстродействия всё было действительно шикарно, быстро и стабильно.

    Потом ушли от такого решения в сторону MySQL (точнее, Percona), поскольку у MSSQL (мы тогда использовали версию 2008) был ряд проблем с репликацией транзакциями, которые в Перконе были решены изначально. Но идея хранить относительно небольшую базу в оперативке — полезная. Ну или хотя бы TempDB, если база слишком велика для помещения в оперативку целиком.
    Ответ написан
    Комментировать
  • Можно-ли отобразить изображение без загрузки его на сервер?

    mastak
    @mastak
    Создаю и успешно развиваю интернет-проекты
    Да, можно, через объект FileReader. У меня есть вот такая функция на JavaScript, она вам пригодится.

    <input type="file" id="file1" accept="image/jpeg" onchange="previewUploadedPhoto('file1', 'previewArea');" />
    <div id="previewArea"></div>


    // Preview uploaded photo
    function previewUploadedPhoto(controlID, previewID) {
        if (document.getElementById(controlID).files) {
            var file = document.getElementById(controlID).files[0];
            if (file.type.match("image.*")) {
                if (parseInt(file.size) <= 4 * 1024 * 1024) {
                    var reader = new FileReader();
                    reader.onload = (function (theFile) {
                        return function (e) {
                            var img = new Image();
                            img.src = e.target.result;
    
                            img.onload = function () {
                                if (img.width + img.height < 1000) {
                                    $("#" + previewID).html("<b>Выбранный файл слишком маленького размера!</b>");
                                    file.value = null;
                                }
                                else {
                                    $("#" + previewID).html('<img class="thumb" src="' + e.target.result + '" title="' + theFile.name + '" width="160" />');
                                }
                            };
                        };
                    })(file);
                    reader.readAsDataURL(file);
                }
                else {
                    $("#" + previewID).html("<b>Выбранный файл должен быть размером не более 4 МБ!</b>");
                    file.value = null;
                }
            }
            else {
                $("#" + previewID).html("<b>Выбранный вами файл не является изображением и не будет загружен! Выберите другой файл.</b>");
                file.value = null;
            }
        }
    }
    Ответ написан
    Комментировать
  • Что использовать для кеширования?

    mastak
    @mastak
    Создаю и успешно развиваю интернет-проекты
    CouchBase — couchbase.com.
    memcached-совместим, хорошо масштабируется, возможно делать копии кэша на диск.
    Ответ написан
    Комментировать