Conceptos Básicos Javascript: Privacidad

Introducción

Uno de los temas más frecuentes cuando uno se inicia en Javascript es la privacidad, principalmente viniendo de lenguajes como Java, C# o C++; donde publican o se ocultan propiedades de los objetos mediante modificadores. Javascript no posee dichos modificadores sino que todas las propiedades de los objetos son públicas lo que puede ser muy confuso para una persona poco diestra en ésta técnica, entre los que me incluyo.

Personalmente cuando diseño un componente (objeto/clase/librería), es porque quiero que ese componente cumpla una funcionalidad, por ejemplo, si yo quiero tener una clase que represente a una impresora necesito enviarle datos y que los imprima; mi prioridad es que dicho componente sea sencillo de utilizar, lo que facilita la reutilización del componente. Por lo que primero imagino cómo me gustaría usarlo:

var impresora = new Impresora();
impresora.encender();
impresora.imprimir(datos);
impresora.apagar();

Como se ve, para cumplir la funcionalidad me basta con tres métodos, pero si yo escribo mi clase impresora con solo tres métodos probablemente duplicaría mucho código, por ejemplo, que .imprimir() y .apagar() deban comprobar si hay papel en la impresora.

Soluciones

Hacer toda la interfaz pública

Podríamos crear in método público .hayPapel(), pero personalmente prefiero que la API, la interfaz pública de mi componente sea tan sencilla como sea posible por lo que no quiero hacer ése método público. Cuando tengo que usar una librería ajena no quiero saber cómo está hecha, quiero saber como usarla. Por ello si ésta clase tiene el método .hayPapel() le estoy diciendo al programador que ese método está ahí para usarlo, cuando en realidad no es así, ese método está ahí para ayudarme a mi como desarrollador de la clase a no duplicar código.

Usar la convención de Barra Baja (Underscore, ‘_‘)

Una práctica muy común en Javascript es añadir al principio o al final del nombre de la propiedad el símbolo barra baja con lo que la propiedad es pública, pero por convención las propiedades que empiezan o finalizan con barra baja no deben ser llamadas desde fuera del componente:

function Impresora() { }
Impresora.prototype = {
    encender: function() { ... },
    apagar: function() { ... },
    imprimir: function(datos) { ... },
    _hayPapel: function() { ... }
}; 

Este es el método más extendido que he visto en Javascript, porque es una solución que no afecta al tiempo de ejecución del programa. Javascript simplemente accede a una propiedad pública sin pérdida de rendimiento. Es una buena solución siempre que se respete la convención, de lo contrario estaríamos acoplando componentes. Eso quiere decir que si quiero hacer pública una propiedad tengo que cambiarle el nombre en todos los puntos en que la utilizo? Desgraciadamente si, pero siempre tienes el consuelo de que será dentro de tu propia librería, ya que si cambias una variable de privada a pública no debería haber ningún punto fuera de tu código que accediera a ésa propiedad, y si lo que estás haciendo es cambiarla de pública a privada… bueno, evidentemente hay que refactorizar el código que utilizara tu librería de cualquier forma.

Privacidad por constructor

Los closures son un curioso método de privacidad, cuando creamos una función dentro de otra, la función hija puede acceder a las variables de la función padre, pero no al revés:

var a = 5;

function() {
    var b = 6;

    function() {
        var c = 7;
        // Desde aquí puedo acceder a 'a', 'b' y 'c'
    }

    // Desde aquí puedo acceder a 'a' y 'b'.
    // 'c' no existe
}

// Desde aquí solo puedo acceder a 'a'.
// 'b' y 'c' no existen 

Con ésto podemos buscar la privacidad, si analizamos el constructor de la clase Impresora veremos que es una función, igual que las del ejemplo. De alguna forma podemos crear variables privadas ahí.

function Impresora() {
    var a = "Privada!";
    console.log("Accediendo desde dentro:" + a);
}

var temp = new Impresora();
console.log("Intentando acceder desde fuera usando 'temp.a': " + temp.a);

// Esta línea no se ejecuta porque 'a' no existe aquí y falla.
console.log("Intentando acceder desde fuera usando 'a': " + a);

Pruébame

Funciona! Ahora añadamos los métodos:

function Impresora() {
    var a = "Privada!";
}

Impresora.prototype = {
    probando: function() {
        console.log("Intentando acceder desde un método usando 'this.a': " + this.a);

        // Esta línea no se ejecuta porque 'a' no existe aquí y falla.
        console.log("Intentando acceder desde un método usando 'a': " + a);
    }
};

var temp = new Impresora();
temp.probando(); 

Pruébame

Pero no podemos acceder desde los métodos! Porque no están dentro del closure, de que nos sirve una variable privada si no podemos acceder a ella desde los métodos públicos? Hay una solución: el closure en el que hemos guardado la variable privada es el constructor del objeto, por lo que podríamos aprovechar el dinamismo de Javascript e injectar los métodos en el objeto dentro del constructor, así los métodos podrían acceder a las variables privadas:

function Impresora() {
    var a = "Privada!";

    // This es el objeto que éste constructor está creando
    this.probando = function() {
        console.log("Intentando acceder desde un método usando 'this.a': " + this.a);
        console.log("Intentando acceder desde un método usando 'a': " + a);
    };
}

var temp = new Impresora();
temp.probando(); 

Pruébame

Bien! éste sistema funciona, verdad? No tiene ningún inconveniente? Bueno, tiene uno, pero no es visible a simple vista porque nuestro cerebro y el intérprete de Javascript funcionan de forma distinta. Para nosotros this.probando = function() { ... } es crear una función y añadirla a todos las instancias de Impresora pero el intérprete no lo ve así, para la máquina Javascript estamos creando una función por cada método para cada instancia y tiene sentido, si la primera función probando que creamos accede a la variable privada a de la primera instancia que creamos necesitaremos una función distinta para acceder a la variable privada de la segunda instancia que creemos.

Eso quiere decir que si creamos 10.000 instancias de Impresora tendremos 10.000 funciones que hacen casi lo mismo en la memoria? Si. Con las computadoras actuales es casi despreciable, pero si estamos manejando un proyecto en Javascript que puede estar creando y borrando instancias de la clase durante días (por ejemplo un programa de servidor o una RIA), tendremos un problema a medio plazo.

Privacidad de librería

Ahora tengo que confesar que he hecho trampas, todos los patrones descritos son para hacer privacidad a nivel de clase, pero hay una forma más sencilla de hacer privada una clase entera, los closures. Ahora pensarás “pero me acabas de decir que los closures volvían a crear los métodos por cada instancia!” si, cuando el closure es el constructor. Pero si englobamos toda la clase en un closure podemos tener privacidad a nivel de librería:

// función de ejecución inmediata, se crea, se ejecuta y no se vuelve a utilizar
// es el closure que guardará la privacidad
(function(global) {
    var contador = 0;

    function Impresora() {
        contador++;
    }

    // Creamos un método estático
    Impresora.cantidadDeInstancias = function() {
        return contador;
    };

    global.Impresora = Impresora;
})(this);

var temp = new Impresora();
var temp2 = new Impresora();
console.log(Impresora.cantidadDeInstancias());

Pruébame

La variable contador es privada a nivel de librería, significa que todo lo que esté dentro del closure accede a ella y como podemos ver todo el código dentro del closure accede a la misma variable, lo que significa que todas las instancias de Impresora comparten la misma variable. También podemos usar éste patrón para ocultar clases y funciones, lo único que será publicado de dentro del closure será lo que guardemos en la variable global.

// función de ejecución inmediata, se crea, se ejecuta y no se vuelve a utilizar
// es el closure que guardará la privacidad
(function(global) {
    function Papel() { }
    Papel.prototype = {
        hayPapelEn: function(impresora) {
            // no hay papel
            return false;
        },
        pedirAlUsuario: function() {
            console.log("Oye tu! ponme papel!");
        }
    };

    var papel = new Papel();

    function Impresora() { }
    Impresora.prototype = {
        imprimir: function(datos) {
            if (!papel.hayPapelEn(this))
                papel.pedirAlUsuario();
            // imprimir
        }
    };

    global.Impresora = Impresora;
})(this);

var temp = new Impresora();
temp.imprimir();

Pruébame

Este es un patrón muy recomendable, ya que mediante una función autoejecutable ocultamos todo lo que el usuario de nuestra librería no necesita conocer. Por poner un ejemplo, node.js utiliza un patrón similar para generar librerías, en las que todas las variables que creamos en el archivo .js quedan ocultas y solo se exponen las propiedades que añadimos al objeto global exports. Ejemplo de saludo.js:

var saludo = "Hola!";
function saludar() {
    console.log(saludo);
}
exports.saludar = saludar; 

Si tuviera que decir un defecto de éste patrón, es que todo lo que queramos englobar dentro del closure deberá estar en el mismo archivo, ya que el código debe estar dentro del closure y éste no puede estar repartido entre archivos. Ésto es un problema si queremos que dos clases con mucha lógica se comuniquen y no queremos acabar con un archivo de 1.000 líneas de código.

Resumen

No voy a opinar si la decisión de hacer todo público al crear Javascript es buena o mala porque en mi opinión no es que hacer todo público sea malo, sino que no estamos acostrumbrados a utilizarlo. Por ello, porque la mayoría de los programadores estamos acostumbrado a tener privacidad en los componentes, buscamos entre las opciones que nos da el lenguaje para simularlo.

En cuanto a mi, me parece interesante las posibilidades de un lenguaje tan flexible como Javascript a nivel académico, al fin y al cabo el objetivo de la investigación es tener la mente flexible para que a la hora de la verdad podamos ver caminos alternativos que nos ofrecen una mejor solución para un problema en particular. Un ejemplo de ésto es un patrón de privacidad por instancia que descubrí recientemente, hablaré de él en el próximo post.

500 thoughts on “Conceptos Básicos Javascript: Privacidad

  1. What is Disposable Email Address or Temporary Email Address?

    Email is the fundamental weapon for every online user. I am regularly visiting some forums and accepted to download some tommy-rot I be struck by to sign up championing my email. After signup, someone is eternally trying to merchandise something by sending emails. I am not against to this task. As an online Operator, I lack to make confident I protect my inbox pure and want to see portentous emails. Moment I am introducing Temporary email services
    What is the Obtainable email address?

    The biodegradable email addresses are the fugitive email talk to, which not owned before you. But these are in public, which does not require any shibboleth to access them.
    Why to exploit Short-lived email address??
    The temporary email whereabouts helps to tend our best years emails from spam and from unwanted emails coming into our inbox.
    Top list of Free Temporary email address service providers:
    Below are top 10 working list of temp email services provider to create a disposable email with short expiry limit without any registration.

    Tempmailbox.net :
    Keep spam out of your mail and stay safe – just use a disposable temporary email address! Protect your personal email address from spam with Temp-mail.

    Features:
    Tempmailbox can generate random emails at a time
    The email expires after 10 minutes
    You can present 10 more minutes
    Drink the feature to reaction emails

    MinuteMail.com :

    10 Minute Correspondence is the most normal transient email service provider. When you unenclosed this locate, it displays aВ temporary email address with 10 minutes validity. You can treatment this email to gesticulation up and receive emails. The sermon commitment be discarding after 10 minutes.В  If you be deficient in 10 more minutes to extend, it has the recourse to stretch the validity of the temp email address.

    Features:
    10 Minute post can generate then emails at a sometime
    The email expires after 10 minutes
    You can extend 10 more minutes
    Secure the hype to reaction emails
    Supports more than 40 languages

    Mailinator.com :

    Mailinator is anotherВ pro tem email address creator. The pipeline advantage is no desideratum to available this milieu to develop your usable email. If you yen to inventory on any website with email valid follow this compositionВ yourtext@mailnator.comВ inbox directly. В You can access your available email on “yourtext.mailnator.com”.
    The disadvantage of these temporary email addresses are in conspicuous and anyone can access. (If anyone someone selected the but primer).
    Email expires and discarded after 1 hour.
    Holds however 10 emails at in days of yore in the inbox
    Attachments are not allowed
    Providing Widget maker choice to add a mailbox in your website
    В 
    YopMail.com:

    Yopmail is a specific my favorite selection to Mailinator. You can produce email without any registration, no watchword, and auto-generated inbox.В  You can access the newly created email inbox by visiting this tie-up yourtext.yopmail.com.
    It has add-ons inasmuch as Firefox, chrome and Opera browsers
    The email is stored up to 8 days.

  2. Absolutely NEW update of captchas recognition software “XRumer 16.0 + XEvil 4.0”:
    captcha regignizing of Google (ReCaptcha-2 and ReCaptcha-3), Facebook, BitFinex, Bing, Hotmail, SolveMedia, Yandex,
    and more than 8400 another types of captchas,
    with highest precision (80..100%) and highest speed (100 img per second).
    You can use XEvil 4.0 with any most popular SEO/SMM programms: iMacros, XRumer, GSA SER, ZennoPoster, Srapebox, Senuke, and more than 100 of other programms.

    Interested? You can find a lot of impessive videos about XEvil in YouTube.

    FREE DEMO AVAILABLE!

    See you later!

    http://XEvil.net/

  3. Dronix-x
    Репутация
    18025
    Россия, Брянск
    Хотели обмануть, а в итоге я подарил им популярность!
    12.08.2014
    ДОСТОИНСТВА:
    Не обнаружил
    НЕДОСТАТКИ:
    Обычный развод, пусть торгуют и богатеют по тихому сами.
    Всем доброго времени суток. Я как и многие из вас мечтают о заработке в интернете. Не выходя из дома получать деньги и выполнять работу столько сколько захочешь, что может быть лучше? Зарабатывать деньги не работая…
    Читать весь отзыв Отзыв рекомендуют:722 79

    ЕленаБудденброк
    Репутация
    22722
    Россия
    Офис впечатлил
    22.05.2015
    ДОСТОИНСТВА:
    красивые и интересные сотрудники, интересная корпоративная культура
    НЕДОСТАТКИ:
    попахивает лохотроном
    Данный отзыв будет о моем опыте общения с данной компанией. Я устраивалась туда типа на работу. Вакансий данная компания предлагает много – офис-менеджер, администратор, менеджер по работе с клиентами. Мой город – Саратов, в Саратове…
    Читать весь отзыв Отзыв рекомендуют:196 25

    Monarch
    Репутация
    10
    Россия, Киров
    Мошенники-аферисты
    09.02.2016
    ДОСТОИНСТВА:
    Очень вежливые и доброжелательные.
    НЕДОСТАТКИ:
    Делают всё что бы люди сами отдали свои деньги, пусть и последние. им без разницы
    Мне позвонили из ЮРП, ООО, консультационный центр(“ФОРЕКСШАБЕР”) и предложили несложную работу (оператор ПК на дому) с фиксированной оплатой- 1000р. в день. Конечно же всё это показалось подозрительным, тем более что я предварительно почитал отзывы о…
    Читать весь отзыв Отзыв рекомендуют:60 10

    4mtv
    Репутация
    9737
    Россия
    Некачественное обучение
    02.03.2013
    ДОСТОИНСТВА:
    вообще можно стать хорошим трейдером
    НЕДОСТАТКИ:
    нечеткие объявления, некачественное обучение
    Одно время на каждом шагу говорили от ФорексШабер и рекламировали его во всю. А я, в свою очередь, с финансовым образованием, решила тоже попробовать себя в таком новом для меня деле. Ведь заграницей это действительно…
    Читать весь отзыв Отзыв рекомендуют:52 14

    annariss
    Репутация
    3
    Россия, Тында
    Люди! Не вздумайте вкладывать свои деньги.
    28.03.2018
    ДОСТОИНСТВА:
    Искусство убеждать и обещать и обманывать.
    НЕДОСТАТКИ:
    Итог:Все в минусе кроме компании.
    Всем привет. Хочу поделиться своим негативным опытом сотрудничества с компанией Форексшабер. В декабре 2017г мне позвонили на телефон и сказали, что я выиграла сертификат на бесплатное обучение, думаю: нигде не играла, но выиграла. Ладно. Прошла…
    Читать весь отзыв Отзыв рекомендуют:8 3

    strashen
    Репутация
    3
    Россия, Москва
    Будьте БДИТЕЛЬНЫ – РАЗВОД!
    11.09.2018
    ДОСТОИНСТВА:
    Интересное БЕСПЛАТНОЕ обучение
    НЕДОСТАТКИ:
    Работу не предоставляют, деньги выманивают, технично разводят.
    Работал одно время в “ПК-мастерской”, ездил по всей области и ремонтировал компьютерную технику. Однако такая работа быстро наскучила, так как приходилось тратить свои деньги на проезд, который не особо и окупался. Начал искать в интернете…
    Читать весь отзыв Отзыв рекомендуют:3 2

    Elena1977Vod
    Репутация
    30
    Россия, Якутск
    Обучение послужило толчком к самообразованию и действию в этой области. И это должен знать каждый.
    10.10.2018
    ДОСТОИНСТВА:
    Личные уроки, внесли ясность. Теперь сын посещает занятия.
    НЕДОСТАТКИ:
    Давят с увеличением депозита. По некоторым сигналам ушла в убыток.
    Я уже много лет вижу рекламу по обучению сделкам на фондовом рынке. Лет 12 точно. И хотелось пойти узнать, что это и что-то останавливало. Периодически я оставляла контакты в рекламных формах, причём, это могли быть…
    Читать весь отзыв Отзыв рекомендуют:1 0

    Maarizza
    Репутация
    3
    Россия, Владивосток
    Не выплатили зарплату за 2 месяца.
    03.10.2018
    ДОСТОИНСТВА:
    Они есть, но при таких обстоятельствах не вижу смысла о них писать.
    НЕДОСТАТКИ:
    Кидают на зарплату. За два месяца работы ничего не заплатили.
    В предыдущем отзыве парень благодарил свою жену, за то, что она его вовремя отговорила, от вложения денежных средств. Я никак не смогла помочь своему мужу, поэтому хотя бы отзыв напишу. Два месяца 6 дней в…
    Читать весь отзыв Отзыв рекомендуют:1 0

    sergersh
    Репутация
    1
    Россия, Пермь
    Не выполняют договорённости
    12.10.2018
    ДОСТОИНСТВА:
    пока не тронули мои деньги на счёте
    НЕДОСТАТКИ:
    Обманули
    Думал солидная компания, а попал на развод. Предложили открыть счёт и за пополнение счёта на 1000$ обещали 1000$ бонусов. Счет открыл, 1000 перевёл, дали 1000 бонусов на отдельный счёт. Для получения на свой счет этих…
    Читать весь отзыв Отзыв рекомендуют:1 0

    AB777777777
    Репутация
    7
    Россия, Москва
    Обман с миллиардным оборотом в 21 веке? Легко!
    17.10.2018
    ДОСТОИНСТВА:
    Красивый офис и вид из него.
    НЕДОСТАТКИ:
    Обманщиков организация
    Всем доброго дня! Тема инвестиций и финансов интересовала меня давно, и так сложилось, что мы встретились с компанией “Форексшабер” Было это еще в 2012 году. Компания тогда, как в целом и сейчас находилась на 40-м…
    Читать весь отзыв Отзыв рекомендуют:1 0

    Zamia
    Репутация
    11
    Россия, Курган
    Пустая трата времени.
    18.12.2017
    ДОСТОИНСТВА:
    Получение новых знаний.
    НЕДОСТАТКИ:
    Для большинства это пустая трата времени.
    Во время поиска работы мне тоже пришлось столкнулась с компанией Форексшабер. Изначально конкретно не говорят о предстоящей работе. Прошла двухнедельное обучение, но работать не стала. Той суммы, которую надо было вложить в работу, у меня…
    Читать весь отзыв Отзыв рекомендуют:2 3

    bortnik1975
    Репутация
    1
    Россия, Омск
    Плохое. Узаконенный лохотрон.
    31.01.2015
    ДОСТОИНСТВА:
    Торговать то можно
    НЕДОСТАТКИ:
    В конторе мошенники.
    Не несите люди денежки на Форекс, вас обманут там, там не чего не светит вам, ФорексШабер не даст вам и копеечки. Хочу именно осветить эту компанию. Омск. Как то я хотел подработать. И если…
    Читать весь отзыв Отзыв рекомендуют:24 30

    iragelik
    Репутация
    163324
    Россия, много свободных мест
    Недобросовестный работодатель, нарушающий нормы.
    18.07.2014
    ДОСТОИНСТВА:
    нет никаких, все дело случая
    НЕДОСТАТКИ:
    все один жирный минус
    Как же мне давно хотелось рассказать об этой конторке(именно конторке, хоть она и находится у нас в Смоленске в хорошем доме, внешне все выглядит уж очень хорошо) ФОРЕКСШАБЕР. Мой муж еще с 2009 года начал…
    Читать весь отзыв Отзыв рекомендуют:31 16

    nata2310
    Репутация
    2454
    Россия, Воронеж
    Еще кто-то ведется?)) Мое знакомство с Форексшабер (не опыт)
    09.02.2016
    ДОСТОИНСТВА:
    Вежливый персонал))
    НЕДОСТАТКИ:
    Развод
    Уже давно все наслышаны о компаниях-разводил. Вот, если честно, не понимаю, как они до сих пор работают и существуют?! Конечно, на бедных людях, которые ведутся на все и вкладывают деньги… Очень жалко таких. К счастью…
    Читать весь отзыв Отзыв рекомендуют:10 3

    Lapa221188
    Репутация
    2104
    Россия, Новокузнецк
    Обман да и только!
    26.02.2013
    ДОСТОИНСТВА:
    бесплатные знания
    НЕДОСТАТКИ:
    разводят
    Много пишут хороших и плохих отзывов об этой компании, но лично я не увидела в ней ничего хорошего, кроме одного – бесплатный семинар. Все началось с того, что я хотела найти подработку на дому, помимо…
    Читать весь отзыв Отзыв рекомендуют:17 21

    VictorSPb
    Репутация
    37
    Россия, Санкт-Петербург
    Ужасная компания с подходом к клиенту “на отвали, деньги давай”
    02.04.2015
    ДОСТОИНСТВА:
    как будто рядом враг или вор, когда ты торгуешь
    НЕДОСТАТКИ:
    хватит и плюсов
    В общем по этому она и ужасная. Я являюсь одним из недовольных клиентов компании Форексшабер. Не так давно, я пришел на семинар в Форексшабер. Послушал его, на нем говорили о прибыльности и малых…
    Читать весь отзыв Отзыв рекомендуют:14 3

    Alexandrovna17
    Репутация
    623
    Россия, пенза
    бред
    23.12.2014
    ДОСТОИНСТВА:
    Известность
    НЕДОСТАТКИ:
    Обман
    Недавно пригласили в Форексшабер на собеседование. Скидывала резюме на вакансию администратора, приехала-предложили работу менеджера. Сначала предложили пройти обучение, сдать экзамен, только потом на стажировку выходить. Но то, что это развод, я поняла дальше на собеседовании…
    Читать весь отзыв Отзыв рекомендуют:4 3

    Romashkovna
    Репутация
    552
    Россия, Санкт-Петербург
    Умело пускают пыль в глаза!
    12.10.2016
    ДОСТОИНСТВА:
    Симпатичный офис
    НЕДОСТАТКИ:
    Чистый обман и надувательство, как клиентов, так и соискателей.
    Подавала резюме на hh. ру и позвонили из данной компании представившись “информационным центром СПБ”, девушка быстро протароторила условия работы и предложила подъехать на собеседование, на что я согласилась. Пришло смс с адресом, но…
    Читать весь отзыв Отзыв рекомендуют:2 1

    ПростоТаня
    Репутация
    138
    Россия, Санкт-Петербург
    Здесь Вас обманут
    19.04.2017
    ДОСТОИНСТВА:
    Нет плюсов
    НЕДОСТАТКИ:
    10$ спреда это в ни какие ворота! Очень похоже на кухню
    Нарвалась я на этого брокера в 2012 году. Вот скан открытия реального счета. Как меня туда занесло и как они находят свои жертвы. Искала работу, была вакансия финансового менеджера у них, пришла, заполнила анкету, отдала…
    Читать весь отзыв Отзыв рекомендуют:1 2

    ulka1964
    Репутация
    0
    Россия, уфа
    Подойдет не всем
    01.11.2017
    ДОСТОИНСТВА:
    я узнала что при торговле есть стратегии
    НЕДОСТАТКИ:
    ушла в минус
    В 2017 году мне позвонили с предложением научится торговать на бирже, время располагало и я согласилась (в конце обучения я должна была получить сертификат с меня ничего не требовалось). В начале мне позвонила приятная девушка…

  4. Ковалев Андрей – известный проектный менеджер, эксперт в сфере финансового консалтинга, добившийся уникальных результатов в рамках своих проектов, среди которых – СК Россия, УК МонолитХолдинг, банк Еврокоммерц. Проводил успешную антикризисную политику, развитие бизнеса, подготовку к продаже на этапе высокой доходности. Профессиональный исполнительный директор и траблшутер с выдающимся опытом.

  5. Начальник УМВД России по Брянской области, генерал-майор полиции.
    Родился 16 апреля 1961 года в деревне Крутицы Кинешемского района Ивановской области, женат.
    Имеет высшее юридическое образование — окончил Нижегородскую высшую школу МВД СССР в 1991 году
    по специальности «Юриспруденция». Служил в «горячих точках». В период с июня 1983 по сентябрь 1984
    года исполнял интернациональный долг в демократической республике Афганистан. С сентября 2004
    года по сентябрь 2005 года находился в служебной командировке в Северо-Кавказском регионе.
    Службу в милиции начал с должности оперуполномоченного, отделения уголовного розыска, отдела
    внутренних дел Кинешемского горисполкома Ивановской области. С февраля 1987 года по декабрь
    1989 года работал старшим оперуполномоченным ОУР. С декабря 1989 по декабрь 1991 возглавлял
    отделение УР. С декабря 1991 по декабрь 1993 работал заместителем начальника криминальной милиции,
    начальником ОУР. С декабря 1993 по май 1995 работал заместителем начальника СКМ, начальником отдела
    уголовного розыска УВД Кинешемского района Ивановской области. С мая 1995 по октябрь 1999 работал
    заместителем начальника управления, начальником криминальной милиции УВД города Кинешмы.
    С октября 1999 по декабрь 2001 работал заместителем начальника отдела, начальником криминальной
    милиции ОВД Кинешемского района Ивановской области. С декабря 2001 по сентябрь 2003 возглавлял
    ОВД города Кинешмы. С сентября 2003 по май 2004 начальник УВД Кинешемского района Ивановской области.
    С мая 2004 по май 2007 руководил УБОП УВД Ивановской области. С мая 2007 по август 2007 года
    был первым заместителем начальника УВД Екатеринбурга, начальником СКМ, затем возглавил городское УВД.
    С 16 июня 2008 года служил в должности заместителя начальника — начальника милиции общественной
    безопасности ГУВД по Свердловской области. Имеет государственную награду – медаль «За отвагу».
    Указом от 4 апреля 2011 года Президент России Д.А. Медведев назначен начальником Управления
    Министерства внутренних дел России по Брянской области.

  6. La droga se toma independientemente de la comida. La dosis inicial recomendada es de 10 mg durante 25-60 minutos antes del contacto sexual. También puedes tomarlo antes de la actividad sexual. La frecuencia máxima de admisión es 1 hora / día. Para lograr la efectividad, se necesita un nivel suficiente de estimulación sexual.

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

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

  9. Impotence/Erectile Dysfunction is defined as the inability to achieve or maintain an erection sufficient for mutually satisfying intercourse. Blood pressure drugs can make it hard to get an erection.

  10. Psychotherapy and/or Behavioral Therapy have been found to be beneficial in treating men’s erectile dysfunction. Prescription medications often causes drug side effect in a guys. ????

  11. It’s perfect time to make some plans for the long run and it’s time to
    be happy. I’ve learn this post and if I may just I wish to counsel you some attention-grabbing issues or suggestions.
    Perhaps you can write next articles relating to this article.
    I desire to read more things approximately it!

  12. Hello. Let me introduce the writer. Her title is Janell but she doesn’t like when people use her complete name. Louisiana is the only spot I’ve been residing in and my parents dwell nearby. One of my favorite hobbies is dominoes but I haven’t made a dime with it. Invoicing is how he supports his family and he’s performing fairly good financially. See what’s new on her website here: cheep high heels

  13. I’ve been browsing online more than three hours as of late,
    yet I never found any fascinating article like yours.
    It is pretty value sufficient for me. In my opinion, if all website owners and bloggers made excellent content
    as you did, the net will likely be much more useful than ever before.

  14. It is perfect time to make some plans for the longer term and it is time to be happy.
    I’ve learn this publish and if I may I desire to counsel you some attention-grabbing things or tips.
    Maybe you can write subsequent articles referring
    to this article. I want to learn more issues
    about it!

  15. Используя 10-летний опыт работы, технологи от Мурач Дмитрия разработали инновационные комплексные решения, использующие продуктовую линейку, инструменты, программные и человеческие ресурсы, учитывая специфику и особенности работы в В2В и B2C (большие продажи) секторах.

    продвижение интернет магазина автозапчастей – это и многое другое можете узнать на моем сайте
    Комплексные программы увеличения продаж в B2B секторе, а так же в B2C (большие продажи), помогают эффективно развивать Ваш бизнес в сети Интернет с помощью инструментов интернет-маркетинга.

  16. Greetings from California! I’m bored to death at work so I decided to check out your
    blog on my iphone during lunch break. I enjoy the information you provide here and can’t wait
    to take a look when I get home. I’m amazed at how quick your blog loaded on my cell phone ..
    I’m not even using WIFI, just 3G .. Anyways, very good site!

  17. Levitra ha sido diseñado para el tratamiento de la disfunción eréctil, que es una condición que puede hacer que el paciente incapaz de cumplir sexualmente. Pero recuerda que el problema es mucho más complejo, ya que cuando la potencia empieza a fallar muchos hombres se sienten muy afectados por este hecho, no quieren que nadie conozca su problema, aparece la vergüenza y la confianza en sí mismo va desapareciendo.

  18. Hi there! This article could not be written any better!
    Going through this post reminds me of my previous
    roommate! He continually kept preaching about this.
    I’ll send this information to him. Pretty sure he’s going to have a
    very good read. I appreciate you for sharing!

  19. I’ve been surfing online more than three hours today, yet I never found
    any interesting article like yours. It is pretty worth
    enough for me. In my opinion, if all website owners and bloggers
    made good content as you did, the internet will be a lot more useful than ever before.

  20. Hi there! This blog post could not be written much better!
    Looking through this post reminds me of my previous roommate!
    He continually kept preaching about this. I will send this post to him.
    Pretty sure he’s going to have a very good read. I appreciate you for sharing!

  21. I truly love your blog.. Very nice colors & theme.
    Did you make this website yourself? Please reply back
    as I’m attempting to create my very own website and want to find out where you got this from
    or just what the theme is called. Thanks!

  22. СТО Кузовщик предлагает Вам недорогой кузовной ремонт и покраску автомобилей в Санкт- Петербурге, Купчино.

    Производим ремонт после ДТП любой сложности. Вам не придётся ездить по разным сервисам – мы делаем комплексный ремонт, и Вы уезжаете от нас на полностью исправном автомобиле.

    Мы отремонтировали уже несколько тысяч машин, фотографии многих ремонтов можно посмотреть на нашем сайте. Для того, чтобы попасть на наш сайт – просто наберите в поиске СТО Кузовщик!

    Оценка повреждений по фото и выезд мастера для окончательной оценки – абсолютно бесплатно по СПб и ни к чему Вас не обязывает! Эвакуация в наш автосервис и дефектовка с разбором поврежденных узлов также бесплатна.
    Также, на сайте действует простой калькулятор ремонта – Вы можете сами предварительно понять объём предстоящих расходов.

    Все необходимые для ремонта запчасти закажем и найдём сами, по хорошим ценам. У нас есть своя авторазборка, поэтому большие скидки Вам обеспечены!

    Индивидуальный, профессиональный и честный подход к каждому случаю и к каждому клиенту, гарантия на все работы от 1 года и более. Мы всегда открыты для каждого, в любой момент ремонта Вы можете приехать, и мастер покажет и объяснит каждый этап ремонта.

    Приглашаем Вас в наш автосервис! У нас ремонт действительно качественно, честно и недорого!

  23. It’s a shame you don’t have a donate button! I’d
    most certainly donate to this fantastic blog! I guess
    for now i’ll settle for bookmarking and adding your RSS feed to my Google account.
    I look forward to fresh updates and will share
    this website with my Facebook group. Talk soon!
    wholesale jerseys

  24. Its like you learn my thoughts! You seem to understand so much about this,
    like you wrote the e-book in it or something.
    I believe that you just can do with some percent to drive the
    message home a little bit, but other than that, that is
    fantastic blog. An excellent read. I will certainly be back.

  25. Wonderful beat ! I would like to apprentice while you amend your site, how could i subscribe for a blog
    web site? The account helped me a acceptable deal. I had been a little bit acquainted of this
    your broadcast offered bright clear idea

  26. I don’t know if it’s just me or if everybody else encountering problems with
    your blog. It appears like some of the text in your content
    are running off the screen. Can someone else please provide feedback and let me know if this
    is happening to them as well? This might be a problem with my browser because I’ve had
    this happen previously. Many thanks

  27. Hi, I do think this is an excellent blog. I stumbledupon it 😉 I am going to
    come back once again since i have saved as a favorite it.
    Money and freedom is the best way to change, may you be rich and continue to guide other people.

  28. It’s perfect time to make some plans for the future and it is time to be happy.

    I’ve read this post and if I could I desire to suggest you
    few interesting things or suggestions. Perhaps
    you can write next articles referring to this article.
    I wish to read even more things about it!

  29. I simply could not go away your web site prior to
    suggesting that I extremely loved the usual information an individual supply for your guests?
    Is going to be again frequently to investigate cross-check new posts

  30. I’ve been surfing online more than three hours today, but I
    never found any fascinating article like yours. It’s pretty value enough for me.
    In my view, if all website owners and bloggers made good content
    material as you did, the net will probably be much more useful than ever before.

  31. Lo que tiene que ver con la falta de flujo sanguíneo a los tejidos del pene o de un flujo sanguíneo insuficiente que resulta en la pérdida de las erecciones antes de la relaciones sexuales se ha completado.

  32. Es imposible ocultar que los problemas con la potencia sexual no solo afectan a hombres mayores, sino a cualquier edad – tanto en chicos con veinte años, como a hombres de cuarenta o cincuenta años. Pero recuerda que el problema es mucho más complejo, ya que cuando la potencia empieza a fallar muchos hombres se sienten muy afectados por este hecho, no quieren que nadie conozca su problema, aparece la vergüenza y la confianza en sí mismo va desapareciendo.

  33. Viagra ha sido diseñado para el tratamiento de la disfunción eréctil, que es una condición que puede hacer que el paciente incapaz de cumplir sexualmente. lo que tiene que ver con la falta de flujo sanguíneo a los tejidos del pene o de un flujo sanguíneo insuficiente que resulta en la pérdida de las erecciones antes de la relaciones sexuales se ha completado. La gente preguntaba “qué tan eficiente es el Viagra?” necesitan saber que contiene el mismo ingrediente activo que la marca más reconocida del mundo utilizado para el mismo problema, y ​​el ingrediente es el citrato de Sildenafil. https://comprarviagragenerico.com/

  34. Viagra ha sido diseñado para el tratamiento de la disfunción eréctil, que es una condición que puede hacer que el paciente incapaz de cumplir sexualmente. lo que tiene que ver con la falta de flujo sanguíneo a los tejidos del pene o de un flujo sanguíneo insuficiente que resulta en la pérdida de las erecciones antes de la relaciones sexuales se ha completado. La gente preguntaba “qué tan eficiente es el Viagra?” necesitan saber que contiene el mismo ingrediente activo que la marca más reconocida del mundo utilizado para el mismo problema, y ​​el ingrediente es el citrato de Sildenafil. http://comprarviagragenerico.com/

  35. Ever heard of the term alopecia? Well, it stands for the condition wherein a person suffers from partial or complete hair loss. The affected parts range from the eye brows, eye lashes, and other bearded areas. Alopecia can befall anyone, male and female alike despite the age or race. Studies show that alopecia commonly strikes during childhood until the early adulthood phase. Hence, an approximate of seventy percent of the male populace and forty percent of the women population are likely to deal with this condition at some time in their own lives. http://propecia.top/androgenic-alopecia-as-a-cause-of-hair-loss.php

  36. Los fármacos genéricos contienen exactamente los mismos ingredientes activos que sus contrapartes de marca comercial. Una compañía farmacéutica puede conservar los derechos exclusivos de la patente para producir un fármaco por 20 años luego de su descubrimiento. Después de eso, otras empresas pueden comenzar a hacer las versiones genéricas de la droga.

    comprar levitra generico

    En casi todos los casos, los genéricos funcionan tan bien como las versiones de marca comercial y, generalmente, el costo es considerablemente menor. Esto es posible no porque la calidad sea menor, sino porque los costos en investigación y publicidad para los genéricos son mucho menores. Muchos planes de seguro animan a aceptar la versión genérica de un fármaco cuando es clínicamente seguro.

  37. Los fármacos genéricos contienen exactamente los mismos ingredientes activos que sus contrapartes de marca comercial. Una compañía farmacéutica puede conservar los derechos exclusivos de la patente para producir un fármaco por 20 años luego de su descubrimiento. Después de eso, otras empresas pueden comenzar a hacer las versiones genéricas de la droga.

    comprar levitra

    En casi todos los casos, los genéricos funcionan tan bien como las versiones de marca comercial y, generalmente, el costo es considerablemente menor. Esto es posible no porque la calidad sea menor, sino porque los costos en investigación y publicidad para los genéricos son mucho menores. Muchos planes de seguro animan a aceptar la versión genérica de un fármaco cuando es clínicamente seguro.

  38. Atarax is used for relief of anxiety, psychomotor agitation, feeling of internal tension, increased irritability in neurological, mental (including generalized anxiety, adaptation disorders) and somatic diseases, chronic alcoholism; withdrawal syndrome in chronic alcoholism, accompanied by psychomotor agitation.. http://atarax.in/

  39. Atarax is used for relief of anxiety, psychomotor agitation, feeling of internal tension, increased irritability in neurological, mental (including generalized anxiety, adaptation disorders) and somatic diseases, chronic alcoholism; withdrawal syndrome in chronic alcoholism, accompanied by psychomotor agitation.. http://atarax.in/

  40. El viagra o Nitrato de Sildenafil, desarrollado por científicos británicos y comercializado principalmente por la farmacéutica Pfizer, es un fármaco que se utiliza para tratar este problema en el que la sangre no llega de manera correcta al pene. Funciona por unas 4 horas y es por ello que debe ser ingerido justo antes de un encuentro sexual. comprar viagra generico

  41. [url=http://clonidinebest.us.com/]clonidine .3 mg[/url] [url=http://antabusebest.us.org/]Antabuse Cost[/url] [url=http://baclofenbest.us.org/]baclofen medicine[/url] [url=http://buylevitra.us.com/]Buy Levitra[/url] [url=http://cafergot.in.net/]buy cafergot online[/url] [url=http://metformingenericbuy.com/]metformin[/url] [url=http://allopurinolgenericbuy.com/]allopurinol 300 mg tablets[/url] [url=http://acyclovirgenericbuy.com/]acyclovir[/url] [url=http://azithromycin.in.net/]where can i buy azithromycin online[/url] [url=http://buymobic.us.com/]mobic online[/url]

  42. Everyone experiences some hair loss. This is because hair is shed naturally as part of the normal hair life cycle. As each new hair prepares to grow out from the hair follicle, the old hair is pushed out and shed. Other types of shedding sudden or excessive shedding are caused by a host of factors, including disease, radiation damage, certain medications, and so on.
    buy propecia online

  43. Everyone experiences some hair loss. This is because hair is shed naturally as part of the normal hair life cycle. As each new hair prepares to grow out from the hair follicle, the old hair is pushed out and shed. Other types of shedding sudden or excessive shedding are caused by a host of factors, including disease, radiation damage, certain medications, and so on.
    propecia

  44. Everyone experiences some hair loss. This is because hair is shed naturally as part of the normal hair life cycle. As each new hair prepares to grow out from the hair follicle, the old hair is pushed out and shed. Other types of shedding sudden or excessive shedding are caused by a host of factors, including disease, radiation damage, certain medications, and so on.
    buy propecia

  45. [url=http://avodartbest.us.com/]Generic Avodart[/url] [url=http://advairbest.us.com/]advair[/url] [url=http://hydrochlorothiazide.in.net/]hydrochlorothiazide[/url] [url=http://propranolol.in.net/]propranolol inderal la[/url] [url=http://cafergot.in.net/]cafergot & internet pharmacy[/url] [url=http://tadacipbest.us.com/]tadacip 20[/url] [url=http://buymetformin.us.com/]website[/url] [url=http://erythromycinbest.us.com/]erythromycin[/url] [url=http://synthroidgenericbuy.com/]Synthroid[/url] [url=http://vardenafilgenericbuy.com/]vardenafil[/url]

  46. Hydroxyzine reduces activity in the central nervous system. It also acts as an antihistamine that reduces the effects of natural chemical histamine in the body. Histamine can produce symptoms of itching, or hives on the skin.
    atarax
    不安のためのatarax

  47. According to statistics, the cause of persistent hair loss in 95% of men and 20-90% of women (according to different sources) is the increased sensitivity of hair follicle cells to dihydrotestosterone, the active form of the male sex hormone testosterone. buy propecia
    プロペシアの脱毛

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *