Открыть список
Как стать автором
Обновить
21.2
Карма
0
Рейтинг

Пользователь

Изучая go: пишем p2p мессенджер со сквозным шифрованием

Децентрализованные сетиGo
Из песочницы

Yet another P2P Messenger


Читать отзывы и документацию о языке не достаточно, чтобы научиться на нем писать более менее полезные приложения.


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


Пример UI чата на ReactJs


Статья ориентирована на новичков интересующихся языком go и пиринговыми сетями.
И для профессионалов, умеющих предлагать разумные идеи или конструктивно критиковать.

Читать дальше →
Всего голосов 59: ↑56 и ↓3 +53
Просмотры33.2K
Комментарии 25

256 строчек голого C++: пишем трассировщик лучей с нуля за несколько часов

ПрограммированиеC++Работа с 3D-графикойРазработка игрМатематика
Tutorial
Публикую очередную главу из моего курса лекций по компьютерной графике (вот тут можно читать оригинал на русском, хотя английская версия новее). На сей раз тема разговора — отрисовка сцен при помощи трассировки лучей. Как обычно, я стараюсь избегать сторонних библиотек, так как это заставляет студентов заглянуть под капот.

Подобных проектов в интернете уже море, но практически все они показывают законченные программы, в которых разобраться крайне непросто. Вот, например, очень известная программа рендеринга, влезающая на визитку. Очень впечатляющий результат, однако разобраться в этом коде очень непросто. Моей целью является не показать как я могу, а детально рассказать, как подобное воспроизвести. Более того, мне кажется, что конкретно эта лекция полезна даже не столь как учебный материал по комьпютерной графике, но скорее как пособие по программированию. Я последовательно покажу, как прийти к конечному результату, начиная с самого нуля: как разложить сложную задачу на элементарно решаемые этапы.

Внимание: просто рассматривать мой код, равно как и просто читать эту статью с чашкой чая в руке, смысла не имеет. Эта статья рассчитана на то, что вы возьмётесь за клавиатуру и напишете ваш собственный движок. Он наверняка будет лучше моего. Ну или просто смените язык программирования!

Итак, сегодня я покажу, как отрисовывать подобные картинки:


Читать дальше →
Всего голосов 241: ↑241 и ↓0 +241
Просмотры110.8K
Комментарии 124

Курс MIT «Безопасность компьютерных систем». Лекция 23: «Экономика безопасности», часть 2

Блог компании ua-hosting.companyИнформационная безопасностьПрограммированиеАнализ и проектирование системIT-инфраструктура
Перевод
Tutorial

Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год


Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.

Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
Лекция 2: «Контроль хакерских атак» Часть 1 / Часть 2 / Часть 3
Лекция 3: «Переполнение буфера: эксплойты и защита» Часть 1 / Часть 2 / Часть 3
Лекция 4: «Разделение привилегий» Часть 1 / Часть 2 / Часть 3
Лекция 5: «Откуда берутся ошибки систем безопасности» Часть 1 / Часть 2
Лекция 6: «Возможности» Часть 1 / Часть 2 / Часть 3
Лекция 7: «Песочница Native Client» Часть 1 / Часть 2 / Часть 3
Лекция 8: «Модель сетевой безопасности» Часть 1 / Часть 2 / Часть 3
Лекция 9: «Безопасность Web-приложений» Часть 1 / Часть 2 / Часть 3
Лекция 10: «Символьное выполнение» Часть 1 / Часть 2 / Часть 3
Лекция 11: «Язык программирования Ur/Web» Часть 1 / Часть 2 / Часть 3
Лекция 12: «Сетевая безопасность» Часть 1 / Часть 2 / Часть 3
Лекция 13: «Сетевые протоколы» Часть 1 / Часть 2 / Часть 3
Лекция 14: «SSL и HTTPS» Часть 1 / Часть 2 / Часть 3
Лекция 15: «Медицинское программное обеспечение» Часть 1 / Часть 2 / Часть 3
Лекция 16: «Атаки через побочный канал» Часть 1 / Часть 2 / Часть 3
Лекция 17: «Аутентификация пользователя» Часть 1 / Часть 2 / Часть 3
Лекция 18: «Частный просмотр интернета» Часть 1 / Часть 2 / Часть 3
Лекция 19: «Анонимные сети» Часть 1 / Часть 2 / Часть 3
Лекция 20: «Безопасность мобильных телефонов» Часть 1 / Часть 2 / Часть 3
Лекция 21: «Отслеживание данных» Часть 1 / Часть 2 / Часть 3
Читать дальше →
Всего голосов 18: ↑16 и ↓2 +14
Просмотры4K
Комментарии 0

Есть ли альтернатива MS Windows, IE и CSP при доступе в личные кабинеты порталов Госзакупок, ФНС России и Госуслуг

Информационная безопасностьКриптографияАнализ и проектирование системIT-стандартыБраузеры
image

И сразу дадим ответ – да, можно и нужно, только не отказаться, а дать гражданам и организациям возможность использовать и другие операционные системы, браузеры и средства криптографической защиты информации (СКЗИ). Ответим на вопрос и как – соблюдать стандарты и технологии. Почему бы для доступа в личные кабинеты не использовать авторизованный доступ по протоколу https? И тогда нет необходимости в использования только CSP а ля Микрософт с поддержкой российской криптографии. Тогда автоматом станут востребованы и токены PKCS#11 и как международный стандарт, так и стандарт, поддерживаемый ТК-26, стандарты PKCS#12 (тем же ТК-26), может что-то другое, но стандартное. В этом случае речь уже будет идти не об MS Windows, Interner Explorer и CSP, а о браузерах или других программ с поддержкой https с российскими шифрсьютами. Это может быть и Internet Explorer, и модификации того же Mozilla Firefox, наконец Google Chrome или прокси типа stunnel.
Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Просмотры18.1K
Комментарии 82

Используем Пролог

Занимательные задачкиProlog

Эй, фулстеки, давайте тренировать навыки. Предлагаю разминать извилины, как мне кажется, это интересно делать используя иную, непривычную, парадигму. Большинство разработчиков имеют развитой скилл алгоритмизации — задача превращается в кирпичики, которые нужно соединить, продумать последовательность ходов, которая приводит к желаемому заключению.


Вот тут, неделю назад, был упомянут Пролог, хотелось бы ответить, что язык Пролог подходит для решения задачек. Я уже затрагивал эту тему, и приводил несколько доступных мне решений случайных задач с сайта с заданиями на алгоритмы, хотелось бы показать, что любое сложное решение доступно изложению на декларативном языке, да и работать оно может не медленнее (ну-у, может, заметно не очень медленнее).


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


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


Так вот, задача такова:


  1. Trapping Rain Water II
    Given an m x n matrix of positive integers representing the height of each unit cell in a 2D elevation map, compute the volume of water it is able to trap after raining.
    Note:
    Both m and n are less than 110. The height of each unit cell is greater than 0 and is less than 20,000.
    Example:

    image

    Given the following 3x6 height map:
    [
    [1,4,3,1,3,2],
    [3,2,1,3,2,4],
    [2,3,3,2,3,1]
    ]
    Return 4.


Читать дальше →
Всего голосов 20: ↑17 и ↓3 +14
Просмотры5.8K
Комментарии 74

Пишем собственную виртуальную машину

Assembler*nixВиртуализацияCПроцессоры
Перевод
Tutorial
В этом руководстве я расскажу, как написать собственную виртуальную машину (VM), способную запускать программы на ассемблере, такие как 2048 (моего друга) или Roguelike (моя). Если вы умеете программировать, но хотите лучше понять, что происходит внутри компьютера и как работают языки программирования, то этот проект для вас. Написание собственной виртуальной машины может показаться немного страшным, но я обещаю, что тема удивительно простая и поучительная.

Окончательный код составляет около 250 строк на C. Достаточно знать лишь основы C или C++, такие как двоичная арифметика. Для сборки и запуска подходит любая Unix-система (включая macOS). Несколько API Unix используются для настройки ввода и отображения консоли, но они не являются существенными для основного кода. (Реализация поддержки Windows приветствуется).

Примечание: эта VM — грамотная программа. То есть вы прямо сейчас уже читаете её исходный код! Каждый фрагмент кода будет показан и подробно объяснён, так что можете быть уверены: ничего не упущено. Окончательный код создан сплетением блоков кода. Репозиторий проекта тут.
Читать дальше →
Всего голосов 50: ↑50 и ↓0 +50
Просмотры37.2K
Комментарии 28

NewSQL = NoSQL+ACID

Блог компании ОдноклассникиIT-инфраструктураNoSQLАдминистрирование баз данныхРаспределённые системы

До недавнего времени в Одноклассниках около 50 ТБ данных, обрабатываемых в реальном времени, хранилось в SQL Server. Для такого объема обеспечить быстрый и надежный, да еще и устойчивый к отказу ЦОД доступ, используя SQL СУБД, практически невозможно. Обычно в таких случаях используют одно из NoSQL-хранилищ, но не всё можно перенести в NoSQL: некоторые сущности требуют гарантий ACID-транзакций.

Это подвело нас к использованию NewSQL-хранилища, то есть СУБД, предоставляющей отказоустойчивость, масштабируемость и быстродействие NoSQL-систем, но при этом сохраняющей привычные для классических систем ACID-гарантии. Работающих промышленных систем этого нового класса немного, поэтому мы реализовали такую систему сами и запустили ее в промышленную эксплуатацию.

Как это работает и что получилось — читай под катом.
Читать дальше →
Всего голосов 61: ↑60 и ↓1 +59
Просмотры28.9K
Комментарии 60

«Разум в сети». Формула сознания

Научно-популярноеИскусственный интеллектМозг
Recovery mode
Последний отрывок из рассказа "Разум в сети". В этот раз некая «претензия» на формулу сознания с объяснением его происхождения. Сразу хочу отметить, что все приведенные тезисы основаны на современных научных данных (когнитивных наук). И все равно, это мое мнение, не претендую на абсолютную истину и ни с кем не спорю. Каждый вправе иметь свое мнение, но чужие мнения мне интересны, если в них есть ценная мысль, которая поможет продвинуть и меня в поисках. Итак:

— Эми, самый главный вопрос — что такое сознание? Как сделать так, чтобы запрограммированные процессы породили свет сознания? А робот вдруг стал осознавать то, что он видит?!
— Это достаточно просто.
— Как просто? Не может быть.
— Это так. Если ты сравнишь бессознательное и сознательно, то второе отличается тем, что ты помнишь его как свое действие. Ты помнишь, что это осознавал ты в отличие от бессознательных действий. Так? Что это значит по-твоему?
— Не знаю, но кажется догадываюсь, к чему ты клонишь – помним о своих действиях?
— Да, это значит, что после совершения действия, например, узнавания чего-либо, вы еще распознаете свое узнавание как свое действие. И вписываете их в память о себе — в автобиографическую память, связанную в единую цепочку времени местоимением «Я» как стихотворения рифмой.
— Не понимаю пока, о чем ты.
— Ты осознаешь, не когда начинаешь испытывать чувства к понравившейся картине, а когда распознаешь эти чувства в себе, как свои! Вот ты входишь в музей, видишь картину Красный квадрат. Твой мозг сначала распознает, что это красное и квадрат. Ничего особенного, это может сделать и нейросеть. Но через мгновение распознаешь то, что это ты смотришь на картину «из глаз» и распознал на ней красный квадрат. Ты знаешь, что это распознание является твоим, что сопровождается чувством «знакомости». Вот при втором действии возникает чувство осознанности.
Читать дальше →
Всего голосов 19: ↑13 и ↓6 +7
Просмотры4.4K
Комментарии 12

Highload++: Как помочь ERP-системе справиться с 500 000 запросов в секунду

Блог компании X5 Retail GroupВысокая производительностьERP-системы
Мы в X5 обрабатываем много данных в ERP-системе. Есть мнение, что больше нас в SAP ERP и SAP BW в России не обрабатывает никто. Но есть еще один момент – число операций и нагрузка на эту систему увеличивается быстро. 3 года мы «сражались» за производительность нашего ERP-тяжеловеса, набили немало шишек, а какими методами их лечили, рассказываем под катом.

image
Читать дальше →
Всего голосов 36: ↑35 и ↓1 +34
Просмотры15.9K
Комментарии 32

Как следить за появлением вопросов на toster.ru, ru.stackoverflow.com и stackoverflow.com

Ненормальное программированиеРазработка веб-сайтовПрограммирование.NET
image
Всем привет.

Так получилось, что уже давно мучает вопрос: «Как следить за форумами по интересным тебе темам, но самое главное, как узнавать о появлении новых вопросов в момент их публикации». Конечно, можно сказать, что есть рассылки, RSS, но лично у меня получается так, что до почты я добираюсь, как правило, с мобильного во время передвижения. Вручную серфить ресурсы вообще не вариант. Вот поэтому, если бы я и мог ответить, компьютера под рукой нет. А после приезда голова уже забита совсем другим. Могу смело сформулировать свою проблему. Необходим канал, сообщающий и самое главное, привлекающий мое внимание в момент публикации нового вопроса.

До недавнего времени таким я рассматривал какой-нибудь IM, для работы Telegram я не пользуюсь, а с остальными все что-то не совсем так.
Читать дальше →
Всего голосов 34: ↑29 и ↓5 +24
Просмотры25.1K
Комментарии 49

Ба! Знакомые все лица! (Lightroom 3 и распознавание лиц)

IT-компании
image
Сравнительно недавно, «по совету друзей», открыл для себя программу Google Picasa. Больше всего понравилась мне возможность распознавания лиц и автоматической простанавки тегов на их основе. Несколько дней я провел над подписыванием лиц в своей немаленькой фотоколлекции… Когда же работа была завершена, то встал вопрос — что же делать дальше? Ибо в качестве каталогизатора и редактора Picasa серьезно уступает специализированным инструментам. Постепенно вопрос трансформировался в такой: как перенести (а лучше регулярно синхронизировать) информацию о контактах из Picasa в предпочитаемый мною Lightroom?
Что же в итоге получилось?
Всего голосов 41: ↑38 и ↓3 +35
Просмотры4K
Комментарии 39

Работа с COM портом в web-проекте

Разработка веб-сайтовJavaScriptGoogle Chrome
Tutorial

Пролог


Один из клиентов нашего web-проекта захотел использовать для поиска заказов в системе сканер штрихкодов. Но, к сожалению, полностью отказался от идеи работы с ними в режиме имитации клавиатуры — только эмуляция COM-порта.
Вариантов решения было не особенно много:
  • отдельное нативное приложение, которое бы отправляло запрос на наш сервер, а сервер бы отдавал команду в браузер
  • работа с COM портом непосредственно из браузера

К счастью, есть способ решения проблемы вторым путём.

Читать дальше →
Всего голосов 52: ↑51 и ↓1 +50
Просмотры41.8K
Комментарии 31

Continuous Delivery в Яндексе. Как разогнать свой цикл разработки, используя только Open Source решения

Блог компании ЯндексТестирование IT-систем
Перед тестированием всегда стояли и стоят две задачи – помочь команде поддерживать высокий уровень качества разработки и делать это, не задерживая весь процесс. И это справедливо не только для наших проектов в Яндексе, где мы работаем над очень большим количеством сервисов. Часто основная задача и вовсе формулируется как увеличение скорости тестирования при сохранении должного уровня качества. Скорость процесса разработки, приверженность ценностям частых и быстрых релизов – это основополагающие факторы для успеха любого продукта. У команды больше возможностей маневра, команда быстрее находит и исправляет ошибки, быстрее получает фидбек. Как же ускоряться, не теряя качества, как достичь дзена непрерывной доставки изменений?



Сегодня мы покажем, что Continuous Delivery — это просто и весело! А пользу от него можно получить, встроив его даже частично. Мы в тестировании Яндекса уже несколько лет используем подобный подход для наших библиотек с открытым исходным кодом — Allure Framework или Yandex QATools. Процесс прост, значительно масштабируем и может применяться как для огромных команд из одного человека, так и для маленьких командочек из десятков человек. А самое главное — весь инструментарий доступен в Open Source!

Кстати, до 30 сентября можно подать заявку и поступить в нашу Школу автоматизации процессов разработки в Питере. Обучение в ней бесплатное и будет состоять не только из курса лекций — обязательным этапом станет командная работа над учебным проектом.

А теперь вернёмся к теме. Представьте картину: уютное рабочее место, вы пишете код, добавляете юнит-тесты и отправляете изменения в систему контроля версий, а через пару часов они «выезжают» на боевые сервера. И все при этом работает.
Читать дальше →
Всего голосов 85: ↑82 и ↓3 +79
Просмотры57.4K
Комментарии 25

В чем нарисовать MindMap? Детальный обзор 6 самых популярных программ для рисования mindmap

Управление проектами
Из песочницы

Структура обзора


1. Вступление;
2. Сравнение основных 5-х программ по популярности, цене, совместимости, наличию на разных платформах;
3. Подробное описание функционала и особенностей 5-х основных программ.

Введение


Mindmapping (рисование древовидных карт или ментальных карт) прочно вошел в жизнь многих людей именно с появлением соответствующего софта. Используя mindmap, делают техзадания, консультанты-аналитики делают проекты, дизайнеры придумывают концепции, тренера делают презентации, менеджеры составляют планы и т.д.

Целью этой статьи не является пропаганда mindmapping. У древовидного представления данных есть свои плюсы и свои ограничения. Обсуждение уже было в комментариях к публикации "+10 к интеллекту".

Эта публикация для тех, кто хочет выбрать удобный инструмент и узнать какие-то новые фишки, о которых еще не знал.
Читать дальше →
Всего голосов 74: ↑68 и ↓6 +62
Просмотры369K
Комментарии 101

Введение в Акторы на основе Java/GPars, Часть I

Блог компании GolovachCoursesJavaАлгоритмы
Tutorial
Кратко рассматривается API библиотеки GPars и решение многопоточной задачи средней сложности, результаты которой могут быть полезны в «народном хозяйстве».

Данная статья написана в ходе исследования различных библиотек акторов, доступных Java-программисту, в процессе подготовки к чтению курса «Multicore programming in Java».

Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).

Это первая статья из цикла статей цель которых сравнить API, быстродействие и реализацию акторов Akka с реализациями в других библиотеках на некоторой модельной задаче. Данная статья предлагает такую задачу и решение на GPars.

GPars — библиотека написанная для Clojure с широкой поддержкой различных подходов к параллельным вычислениям.
Плюсы GPars
  • Исходный код написан на Java (в отличии от Akka, написанной на Scala). Всегда интересно посмотреть «что под капотом» на «родном» языке программирования
  • GPars представляет собой целый «зоопарк» подходов (Actor, Agent, STM, CSP, Dataflow)
  • GPars использует классы из runtime-библиотеки Clojure, написанной на Java. Интересно покопаться

Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Просмотры12.5K
Комментарии 9

Azarkant: короткометражный мультфильм, на который ушло три года

Работа с видеоРабота с 3D-графикой


На Хабре не так давно публиковалась новость о создании короткометражного фильма «Крепость», созданного Дмитрием Федотовым.

На днях на глаза попалась еще одна короткометражка, Azarkant, от Андрея Климова. На создание этой короткометражки ушло целых три года, и создавалась она на ПК с процессором i7 930 и 6 ГБ ОЗУ.

Само собой, на такой машине прорисовка/рендеринг выполняется достаточно долго (одна сцена прорисовывается по 50 часов, по словам создателя ролика), так что остается удивляться терпению автора.

Читать дальше →
Всего голосов 123: ↑115 и ↓8 +107
Просмотры90.7K
Комментарии 64

Жизненный цикл задач в Redmine для небольшой группы разработки. Наш опыт и полезные советы

Разработка веб-сайтов


Думаю, эта статья должна помочь людям, которые впервые решили автоматизировать процесс трекания задач на базе Redmine в группе разработки программного обеспечения. В статье я расскажу о том, как этот процесс устроен у нас, какие новые поля для задачи мы завели и какие проблемы решают эти поля. Думаю, статья будет полезна широкому кругу лиц, на мой взгляд, настройка жизненного цикла задач эта работа под лозунгом «Очевидное — не очевидно».

Еще! Мы работаем в большой корпоративной среде, в основном, для внутренних клиентов (причем их несколько) и эта ситуация нашла отражение в нашем жизненном цикле.

Начнем.
Читать дальше →
Всего голосов 28: ↑27 и ↓1 +26
Просмотры113.7K
Комментарии 32

Реализация поддержки пользователей средствами JIRA или как мы избавились от OTRS

Разработка веб-сайтов
Tutorial

0. О чем это все


История началась с того, что в компании, в которой я работал, была старая и, субъективно, несколько неудобная система обработки заявок (OTRS), с которой работала техническая поддержка. Разработка использовала JIRA, а отсутствие интеграции между JIRA и OTRS мешало толком формализовать процесс взаимодействия отделов. Кроме этого, в OTRS было несколько существенных недостатков, например письмо, взятое в работу одним сотрудником поддержки, не мог видеть другой. Эти проблемы надо было как-то решать и в процессе раздумий все свелось к двум вариантам:
  1. Обновление OTRS и настройка ее интеграции с JIRA
  2. Полный перенос работы техподдержки в JIRA и отключение OTRS

Делать решили второй вариант: это позволяло унифицировать рабочие инструменты, перестать поддерживать лишний сервис (который админы поддерживали по принципу «работает — не трожь», что не позволяло его оптимизировать и развивать), реализовать автоматическую сборку статистики по работе технической поддержки и использовать различные плюшки JIRA: канбан-доски, создание шаблонного бага на разработку одной кнопкой, гибкий поиск, автоматическую рассылку писем при исправлении ошибки и прочее.

Для упрощения работы переписку с пользователями решили свести к заведению задачи по первому письму от пользователя и комментированию задачи по всем последующим. Комментарии техподдержки отправлялись обратно пользователю письмом.

О реализации этого проекта я расскажу под катом.
Всего голосов 10: ↑6 и ↓4 +2
Просмотры30.7K
Комментарии 19

Полевые испытания астротрекера

DIY или Сделай самАстрономия
В предыдущем посте я рассказал как можно сделать астротрекер за два вечера. Настало время проверить его работу и сделать первые выводы.

Вот пример фото, сделанного с его помощью:


Ну а теперь подробности
Всего голосов 161: ↑159 и ↓2 +157
Просмотры50.6K
Комментарии 59

На Яндекс.Картах появились панорамы Арктики

Блог компании ЯндексГеоинформационные сервисы
Теперь на Яндекс.Картах можно рассматривать самую северную территорию России — архипелаг Земля Франца-Иосифа. Например, исполинские ледники или живописные горы.

А меня зовут Ольга Паршина, и я специалист по съёмке сферических панорам компании neq4, партнёра Яндекса. В августе 2013 года я в составе научной экспедиции за 42 дня сделала панорамы 11 островов архипелага. В этом посте хочу рассказать вам о то, как выглядит летняя Арктика.




В экспедиции к Земле Франца-Иосифа я была среди тех немногих, кем двигал не научный интерес, а желание побывать на самом крайнем севере России. Остальные участники представляли Национальное географическое общество США, парк «Русская Арктика» и Русское географическое общество. Каждый из них — эксперт в своей области: одни изучали микробов, другие заведовали моржами, третьи отвечали за археологию и геологию. Чисто научное общество не первый раз пускается в Арктику, на этот раз в рамках проекта «Девственные моря».

26 июля 2013 года «Поларис» — наше круизное судно, построенное специально для плавания в арктических водах, — вышел из Мурманска и направился к ближайшему острову архипелага, Земле Александры.
Читать дальше →
Всего голосов 135: ↑130 и ↓5 +125
Просмотры38.6K
Комментарии 30

Информация

В рейтинге
5,848-й
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность