• Стоит ли включать в URL страницы её транслитерированное название?

    @zonevgeniy
    Webmaster, SEO, PPC
    domain.ru/nazvanie-posta При прочих равных короткие чпу ссылки будут лучше.
    Ответ написан
    Комментировать
  • Стоит ли включать в URL страницы её транслитерированное название?

    Nidora
    @Nidora
    Бонус 200 руб всем новым клиентам! VDS - 149 руб
    /blog/nazvanie-posta-123/

    Так как это дополнительный способ ПС найти вас. Потому что в названии ЧПУ будет присутствовать ключевое слово.
    Ответ написан
    Комментировать
  • Крупный проект, что выбрать Azure+MSSQL или Обычный хостинг+MySQL?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    1 - MS SQL целесообразно использовать в связке с .NET стеком. если к примеру Вы используете PHP проще все таки работать в паре c MySql, если Node.js - связка с MongoDB будет очень органичной

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

    (надо учесть что MongoDB это NoSql семейство, выбор БД вообще надо делать на достаточно ранней стадии и очень осознанно, почитайте к примеру по ссылкам habrahabr.ru/post/231213 и habrahabr.ru/post/229129/)

    самая большая цена любого проекта - это трудоемкость. а любой выход за рамки типовой комбинации стека технологий резко повышает ее

    2 - "хостмонстр" и Азурь не соизмеримы по стоимости, а значит и по возможностям масштабирования

    надо понимать ряд моментов

    - в целом цена и уровень услуги довольно четко коррелируют. то есть там "хостмонстр" уже ни чего нового Вам предложить не может, только только появляются начальный уровень Азури. и по ценам и по производителности

    - лидеров по масштабируемости два основных - Amazon AWS и Азурь, при этом Азурь принципиально строит ценовую политику - "не дороже чем аналогичный уровень у Amazon AWS"

    - Азурь предлагает бесплатные начальные уровни для сайтов, мобильных служб и БД (при создании мобильной службы, можно создать одну БД обьемом 20Мб, для макетной разработки), но потом ценики довольно резко растут. появляется ниша между бесплатными возможностями и начальными уровнями сервисов под боевую нагрузку - они уже ощутимо дороги

    именно эту нишу и можно закрывать услугами хостеров типа "хостмонстр". но только при условии что Вы выбрали не майкрософтовский стек

    если макрософтовский (.NET + MS SQL мой выбор, по тому доп. инфа) - тогда будет дефицит хостингов промежуточного уровня

    можно посмотреть уровни цен более менее интересных предложений для начальных уровней ниже:
    https://ultravds.com/#main
    https://www.primahost.info/ (Windows VPS (KVM) внизу страницы)
    https://somee.com/CustomizeIt.aspx?pid=100000002361

    но по достижению действительно БОЛЬШИХ нагрузок, Вы все равно придете на Amazon AWS и Азурь

    3 - что бы легче ориентироваться в сравнения, калькулятор цен Азури все таки придется освоить. как известно "аппетит приходит во время еды" - возьмите бесплатный 3х месячный триал и пробуйте разные сервисы

    если не изменяет память - там можно будет смотреть предполагаемый расчет на конец расчетного периода на основании заказанных сервисов и достигнутых нагрузок

    еще один нюанс - в период триала там вроде бы предоставляются услуги в пределах 500 баксов (тоже если не путаю), если израсходовать ресурсов на большую сумму (а это можно и за один день - заказав мощную машину и загрузив ее на всю катушку), подписка блокируется и предлагается перейти на платный режим - тут надо учесть что блокируется только до конца расчетного месяца! можно просто подождать, затем еще 2 месяца продолжать изучение. а расчетный месяц отсчитывается от даты регистрации
    Ответ написан
    1 комментарий
  • Крупный проект, что выбрать Azure+MSSQL или Обычный хостинг+MySQL?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Пока у Вас старт - размещайтесь где угодно.
    Будет какая то нагрузка - переедете на свои сервера.
    Будет серьезная нагрузка - перепишете архитектуру раза 4 точно.
    Ответ написан
    6 комментариев
  • Хочу научиться создавать плагины JQuery - с чего начать?

    Вот хорошая заготовка для написания плагина.

    /*
     *  jQuery Boilerplate - v3.3.4
     *  A jump-start for jQuery plugins development.
     *  http://jqueryboilerplate.com
     *
     *  Made by Zeno Rocha
     *  Under MIT License
     */
    // the semi-colon before function invocation is a safety net against concatenated
    // scripts and/or other plugins which may not be closed properly.
    ;(function ( $, window, document, undefined ) {
    
    		// undefined is used here as the undefined global variable in ECMAScript 3 is
    		// mutable (ie. it can be changed by someone else). undefined isn't really being
    		// passed in so we can ensure the value of it is truly undefined. In ES5, undefined
    		// can no longer be modified.
    
    		// window and document are passed through as local variable rather than global
    		// as this (slightly) quickens the resolution process and can be more efficiently
    		// minified (especially when both are regularly referenced in your plugin).
    
    		// Create the defaults once
    		var pluginName = "defaultPluginName",
    				defaults = {
    				propertyName: "value"
    		};
    
    		// The actual plugin constructor
    		function Plugin ( element, options ) {
    				this.element = element;
    				// jQuery has an extend method which merges the contents of two or
    				// more objects, storing the result in the first object. The first object
    				// is generally empty as we don't want to alter the default options for
    				// future instances of the plugin
    				this.settings = $.extend( {}, defaults, options );
    				this._defaults = defaults;
    				this._name = pluginName;
    				this.init();
    		}
    
    		// Avoid Plugin.prototype conflicts
    		$.extend(Plugin.prototype, {
    				init: function () {
    						// Place initialization logic here
    						// You already have access to the DOM element and
    						// the options via the instance, e.g. this.element
    						// and this.settings
    						// you can add more functions like the one below and
    						// call them like so: this.yourOtherFunction(this.element, this.settings).
    						console.log("xD");
    				},
    				yourOtherFunction: function () {
    						// some logic
    				}
    		});
    
    		// A really lightweight plugin wrapper around the constructor,
    		// preventing against multiple instantiations
    		$.fn[ pluginName ] = function ( options ) {
    				this.each(function() {
    						if ( !$.data( this, "plugin_" + pluginName ) ) {
    								$.data( this, "plugin_" + pluginName, new Plugin( this, options ) );
    						}
    				});
    
    				// chain jQuery functions
    				return this;
    		};
    
    })( jQuery, window, document );
    Ответ написан
    Комментировать
  • Хочу научиться создавать плагины JQuery - с чего начать?

    dunmaksim
    @dunmaksim
    Технический писатель
    Чтобы создавать свои плагины, Вам нужно:
    - хорошо знать JS и его подводные камни;
    - знать, что такое шаблон "модуль" и уметь писать свои модули;
    - помнить, что jQuery.fn - всего лишь псевдоним для jQuery.prototype; добавляя свою функцию к этому свойству, Вы расширяете прототип функции jQuery, и важно ничего там не сломать;
    - следовать соглашению, по которому любой плагин jQuery на выходе должен вернуть исходный или модифицированный массив переданных на вход элементов (шаблон "цепочка", есть ещё антишаблон, следующий из этого, называемый "крушение поезда")

    Собственно, вот Вам заготовка модуля:
    (function ($){
        "use strict";
        function myFunction(items){
            return $(items).each(function(){
                $(this).text("Hello, jQuery!");
            });
        }
    
        $.fn.hellojQuery = myFunction;
    }(jQuery));
    Ответ написан
    1 комментарий
  • Считает ли Яндекс два url-адреса разными, если они отличаются порядком следования get-параметров?

    @Heafy
    конечно же это дубли страниц.
    в рекомендациях яндекса сказано простым языком - каждой странице по уникальному урлу.
    гет не гет, а адреса у страниц разные, а значит дубли, и скорее всего именно этот фактор в первую очередь оказывает негативное влияние на позиции.
    не думаю, что поисковая система сама додумается, разве что ей помогут.
    но в первую очередь помочь ей в этом должен специалист занимающийся этим проектом, например воспользоваться тегом rel='canonical', или вовсе закрыть от индексации страницы с гет параметрами (если они не несут никакой пользы и в выдаче они появляться не должны).
    Ответ написан
    Комментировать
  • Считает ли Яндекс два url-адреса разными, если они отличаются порядком следования get-параметров?

    @SilentFl
    Мое предположение - урл перед индексацией проходит нормализацию, согласно которой параметры запроса сортируются; соответственно, два урла, различающихся порядком параметров, будут считаться одинаковыми.
    Ответ написан
    Комментировать
  • SSL сертификат для SEO продвижения. Кого выбрать и какой сертификат?

    XXX
    @XXX
    Решение где-то рядом
    @ikozlov_com за 12 евро в год беру сертификаты Rapid SSL, там же где арендую серверы. Ощутимых изменений позиций в ПС, после анонса что сайты с ssl будут выше в выдаче, что-то не наблюдаю. И сомневаюсь что используя какой-то более крутой сертификат будут ощутимые сдвиги.

    При ранжировании гугл несколько сотен параметров учитывает, надежное соединение и наличие сертификата лишь пара из них. Не заморачивайтесь особо с сертификатами и не переплачивайте за то что Вам не нужно. Возьмите какой-нибудь не дорогой сертификат и лучше лишний раз закажите SEO аудит, оптимизацию или продвижение сайта (статьи, ссылки и т.д.).
    Ответ написан
    3 комментария
  • Кто-то слышал о партнерской программе eBay ?

    @KolyaAnashov Автор вопроса
    На eBay нашел две ссылки по партнерке:
    http://pages.ebay.com/ru/ru-RU/affiliate-program/i...
    https://www.ebaypartnernetwork.com/files/hub/en-US...
    Просто хотелось бы услышать мнения людей, которые пользовались и могут что то порекомендовать и сказать по факту
    Ответ написан
    Комментировать
  • Как реализовать сохранение пароля в приложении на C#?

    Zerpico
    @Zerpico
    Я пользуюсь SHA1, не самый безопасный конечно но у меня тут и не ФСБ всё таки.
    вот 2 метода для шифровки и дешифровки:
    //шифрование
    public static string Encrypt(string plainText, string password,
           string salt = "Kosher", string hashAlgorithm = "SHA1",
           int passwordIterations = 2, string initialVector = "OFRna73m*aze01xY",
           int keySize = 256)
    {
        if (string.IsNullOrEmpty(plainText))
    		return "";
     
        byte[] initialVectorBytes = Encoding.ASCII.GetBytes(initialVector);
        byte[] saltValueBytes = Encoding.ASCII.GetBytes(salt);
        byte[] plainTextBytes = Encoding.UTF8.GetBytes(plainText);
     
        PasswordDeriveBytes derivedPassword = new PasswordDeriveBytes(password, saltValueBytes, hashAlgorithm, passwordIterations);
        byte[] keyBytes = derivedPassword.GetBytes(keySize / 8);
        RijndaelManaged symmetricKey = new RijndaelManaged();
        symmetricKey.Mode = CipherMode.CBC;
     
        byte[] cipherTextBytes = null;
     
        using (ICryptoTransform encryptor = symmetricKey.CreateEncryptor(keyBytes, initialVectorBytes))
        {
            using (MemoryStream memStream = new MemoryStream())
            {
                using (CryptoStream cryptoStream = new CryptoStream(memStream, encryptor, CryptoStreamMode.Write))
                {
                    cryptoStream.Write(plainTextBytes, 0, plainTextBytes.Length);
                    cryptoStream.FlushFinalBlock();
                    cipherTextBytes = memStream.ToArray();
                    memStream.Close();
                    cryptoStream.Close();
                }
            }
        }
     
         symmetricKey.Clear();
           return Convert.ToBase64String(cipherTextBytes);
    }
     
     
     
    //дешифрование
    public static string Decrypt(string cipherText, string password,
           string salt = "Kosher", string hashAlgorithm = "SHA1",
           int passwordIterations = 2, string initialVector = "OFRna73m*aze01xY",
           int keySize = 256)
    {         
        if (string.IsNullOrEmpty(cipherText))
            return "";
     
        byte[] initialVectorBytes = Encoding.ASCII.GetBytes(initialVector);
        byte[] saltValueBytes = Encoding.ASCII.GetBytes(salt);
        byte[] cipherTextBytes = Convert.FromBase64String(cipherText);
     
        PasswordDeriveBytes derivedPassword = new PasswordDeriveBytes(password, saltValueBytes, hashAlgorithm, passwordIterations);
        byte[] keyBytes = derivedPassword.GetBytes(keySize / 8);
     
        RijndaelManaged symmetricKey = new RijndaelManaged();
        symmetricKey.Mode = CipherMode.CBC;
     
        byte[] plainTextBytes = new byte[cipherTextBytes.Length];
        int byteCount = 0;
     
        using (ICryptoTransform decryptor = symmetricKey.CreateDecryptor(keyBytes, initialVectorBytes))
        {
            using (MemoryStream memStream = new MemoryStream(cipherTextBytes))
            {
               using (CryptoStream cryptoStream = new CryptoStream(memStream, decryptor, CryptoStreamMode.Read))
               {
                   byteCount = cryptoStream.Read(plainTextBytes, 0, plainTextBytes.Length);
                   memStream.Close();
                   cryptoStream.Close();
               }
            }
        }
     
        symmetricKey.Clear();
        return Encoding.UTF8.GetString(plainTextBytes, 0, byteCount);
    }


    Ну пользоваться просто:
    Encrypt(text, password); //где text — текст который необходимо зашифровать,password — пароль для шифровки
    Decrypt(text, password); //аналогично
     
    . . .
    // UPD1: можно воспользоваться и более сложной схемой включая размер ключа и байт
    Encrypt(text, password1, password2, «SHA1», 2,«16CHARSLONG12345», 256);
    Decrypt(text, password1, password2, «SHA1», 2,«16CHARSLONG12345», 256);
    Ответ написан
    1 комментарий