Pull to refresh
0
0
Ярослав @kr0k

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

Send message

Как проходят архитектурные секции собеседования в Яндексе: практика дизайна распределённых систем

Reading time25 min
Views125K
Привет, меня зовут Костя Кардаманов, я работаю в отделе технологий разработки Яндекса. Обычно такой же фразой я приветствую и кандидатов на собеседовании. А сегодня я хотел бы рассказать вам, как и зачем мы проводим интервью по дизайну систем с бэкенд-разработчиками. Сразу скажу: для фронтендеров, мобильных разработчиков и ML-инженеров подобный тип собеседований применим слабо, так что эти специальности мы здесь обсуждать не будем.

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

Что такое дизайн информационных систем


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

Опытный читатель может сказать — в мире полно платных и бесплатных решений, из которых я могу собрать систему как из деталей конструктора, зачем мне понимать устройство этих деталей?
Читать дальше →
Total votes 94: ↑92 and ↓2+90
Comments37

Gitlab-CI и проверка корректности синтаксиса Ansible-lint

Reading time7 min
Views26K


Всем привет! Мы продолжаем серию статей про DevOps и ищем наиболее эффективные способы управлять конфигурацией, делясь с вами опытом. В прошлых статьях мы рассматривали, как выстроить управление конфигурацией Ansible с помощью Jenkins и Serverspec, а теперь по вашим просьбам рассмотрим, как организовать управление конфигурацией с помощью GitLab-CI.

Ansible-lint — это утилита для проверки корректности синтаксиса плейбука и стиля кода, которую можно интегрировать в CI-сервис. В нашем случае мы внедряем её в gitlab-ci для проверки плейбуков на этапе принятия Merge-Request и выставления статуса проверок.
GitLab (GitLab Community Edition) — это opensource-проект, менеджер git-репозиториев, изначально разрабатывающийся как альтернатива платной корпоративной версии Github.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments3

Полное практическое руководство по Docker: с нуля до кластера на AWS

Reading time39 min
Views1.6M



Содержание



Вопросы и ответы


Что такое Докер?


Определение Докера в Википедии звучит так:


программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы; позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, а также предоставляет среду по управлению контейнерами.



Ого! Как много информации.

Читать дальше →
Total votes 125: ↑124 and ↓1+123
Comments44

Взгляд инсайдера на разработку Google+

Reading time5 min
Views2.6K
В Сети хватает экспертов, рассуждающих о перспективах и судьбе Google+, мощной социальной инициативы Google. Многие из них касаются конкуренции с Facebook и главного — удастся ли свергнуть Facebook с лидерской позиции.

У меня есть личное мнение по этому поводу, поскольку я входил в одну из групп разработки Google+ в течение 6-8 месяцев после того, как проект Wave закрыли, и знаю многих разработчиков и дизайнеров, вовлечённых в эту драму.

Обычно все споры идут на тему «Является ли Google+ убийцей Facebook». Такая постановка вопроса выглядит натянутой с налётом сенсационности, а я бы хотел рассуждать более спокойным тоном. На самом деле вопрос заключается в том, станет ли Google+ успешным продуктом, уйдёт ли заметная часть пользователей из Facebook и получится ли за счёт этого лишить Facebook монопольного положения на рынке социальных сетей. Но перед тем как высказать свою точку зрения, позвольте описать контекст.
Читать дальше →
Total votes 209: ↑193 and ↓16+177
Comments123

IT Эмиграция в Минск

Reading time7 min
Views128K


Вводная часть


Так сложилось, что я переехал жить и работать из Москвы в Минск. Часто видел подобные материалы про аналогичные переезды в какие-то экзотические для меня или совсем далеки страны, я же хочу поделиться опытом эмиграция «к соседям».

Важно, что я буду писать именно о Минске, а не о всей Белоруссии. Написанное ниже — это лишь мое видение ситуации, возможно, где-то я не все увидел.

Если возникнут какие-то вопросы, напишите в личку или в комментарии к посту.
Читать дальше →
Total votes 168: ↑160 and ↓8+152
Comments494

Enlarge your pension-2: Ребалансировка. Добавим риска для снижения риска!

Reading time3 min
Views16K
Продолжаем тему распределения активов для пенсионного портфеля. Обычно Великие Гуру Финансовых Рынков финансовые консультанты в этом месте подробно показывают, почему инвестирование в недвижимость-золото-биткойн и прочие вечные ценности в чистом виде не решает проблему долгосрочных инвестиций. Мы это оставим на потом, а сейчас перейдем сразу к десерту. Судя по вопросам в предыдущем топике, не все сразу осознали силу и величие ребалансировки. Так что цитирую:

Ребалансировка возвращает портфель к первоначальным пропорциям распределения активов. Ребалансировка необходима, т.к. с течением времени какие-то из ваших инвестиций могут выбиться из выбранного вами распределения активов. Вы можете обнаружить, что некоторые из ваших вложений будет расти заметно быстрее, чем другие. Например, что вы решили, что инвестиции в акции будут составлять 60% от вашего портфеля. Однако после недавнего роста фондового рынка, доля акций увеличилась до 80% от состава портфеля. Вы должны будете либо продать часть из ваших акций, или докупить те виды активов, вес которых уменьшился, либо сделать и то, и другое, чтобы восстановить изначальные пропорции распределения активов…
Читать дальше →
Total votes 35: ↑31 and ↓4+27
Comments14

Enlarge your pension size или сам себе финансовый консультант

Reading time6 min
Views46K
Основатель компании Microsoft Билл Гейтс стал акционером сети парков развлечений Six Flags. Как заявил аналитик компании JP Morgan, покупка акций Six Flags основателем Microsoft является обычной процедурой вложения средств. По информации, полученной от личного представителя Гейтса, глава Microsoft регулярно инвестирует различные компании, продавая акции других фирм… Август 2002 г

Все мы работаем и отчисляем часть заработанного в пенсионные программы. Что происходит далее с пенсионными деньгами в официальных пенсионных программах и каковы перспективы пенсионных программ лет на 20-30 вперед… мы, пожалуй, обсуждать не будем. Причем проблема не в конкретной стране, проблемы глобальны во всех странах с пенсионной системой:

— Население стареет, толстеет и глупеет, пенсионеров в процентном соотношении все больше, а компенсировать рост пенсионных расходов в современных экономических условиях можно… повышением отчислений и налогов с тех, кто работает? И снижением реальных пенсий за счет инфляции?
— Официальные лицензированные управляющие пенсионных фондов во всем мире настолько хорошо делают свою работу, что в 2008 году… всем внезапно стало понятно, насколько. Чтобы решить, есть ли смысл зависить от работы этих ребят в костюмах, можно почитать Майкла Льюиса на сопутствующую тему — “Большая игра на понижение” и “Из первого мира в третий. Читаются легко и быстро.

Но не все так плохо,
Читать дальше →
Total votes 41: ↑36 and ↓5+31
Comments80

Руководство по собеседованию на вакансию PHP-программиста

Reading time22 min
Views254K
Вездесущий… это определённо то слово, которым можно описать язык PHP по отношению к вебу. Он действительно вездесущ. В настоящее время, среди всех серверных языков программирования, PHP используется наиболее широко. На нём написаны более 80% сайтов, при этом следующий по популярности ASP.NET со своими 17% остаётся далеко позади.



Почему? Что позволило PHP стать настолько популярным и широко используемым? На этот вопрос нет однозначного ответа, но простота использования языка, безусловно, существенный фактор, поспособствовавший его успеху. Новички в PHP могут быстро выйти на достаточный уровень и разместить динамический контент на своих веб-сайтах с минимум познаний в программировании.

Именно в этом и заключается основная проблема поиска высококвалифицированных PHP-разработчиков. Относительно низкий порог вхождения и 20 лет развития языка привели к тому, что PHP-программисты стали такими же вездесущими, как и сам PHP. Многие из них могут на законных основания утверждать, что «знают» язык. Однако разработчики, которые действительно являются экспертами по PHP, способны создавать куда более функциональное, надёжное, масштабируемое и простое в сопровождении программное обеспечение.

Как же отличить тех, кто обладает реальной компетентностью в PHP (не говоря уже о тех, кто входит в 1% наиболее опытных кандидатов) от тех, у кого только поверхностные знания?
Читать дальше →
Total votes 96: ↑73 and ↓23+50
Comments107

Phalcon Framework на продакшене

Reading time5 min
Views25K
Последним временем известность набирает необычный в среде php фреймворк Phalcon, который является расширением языка. Думаю, что многим интересно узнать, каков фреймворк в бою, однако по тем или иным причинам не могут позволить себе использовать его в разработке. В моей компании решились на такую авантюру и я спешу поделиться увиденным и нащупанным. Добро пожаловать под кат.
Читать дальше →
Total votes 29: ↑23 and ↓6+17
Comments33

Язык программирования Swift. Русская версия

Reading time17 min
Views374K
imageПривет, Хабр! 2 июня все мы воочию могли наблюдать, как компания Apple начала творить революцию в стане Objective-C разработчиков, представив миру свой новый язык программирования – Swift. Вместе с этим, она выложила в открытый доступ небольшую документацию по языку, которую мы решили перевести, если на то будет спрос. Предлагаем вашему вниманию перевод первой главы. Если тема будет интересна, то мы продолжим публиковать перевод каждую неделю.
Читать дальше →
Total votes 117: ↑103 and ↓14+89
Comments51

PHP и различные виды NoSQL

Reading time11 min
Views69K


В последнее время набирают популярность различные NoSQL базы данных. Эта статья начиналась как изучение особенностей графитовой графовой базы данных Neo4j. Но, в процессе подбора информации, мне захотелось систематизировать информацию о NoSQL решениях и о графовых базах данных, в частности.
В ходе этого небольшого исследования, были выбраны для подробного рассмотрения СУБД, успешно применяющиеся в области Web. И, поскольку в тегах присутствует «PHP», я выбирал СУБД, которые уже можно использовать с этим языком.

Читать дальше →
Total votes 120: ↑108 and ↓12+96
Comments34

Разбор протокола World Of Tanks

Reading time8 min
Views115K
Часть первая: инструментарий мелкосерийного изобретения велосипедов

Почему и зачем: длинная и необязательная преамбула

Хорошо, что опыта игрового модостроительства у меня было немного — так, пару кастомных прицелов для Deer Hunter 2005 и «нелицензионный» недоклиент VATSIM/FSD с сопутствущим «взломом» протокола последнего. Ещё лучше, что ни разу не приходилось с головой погружаться в сколь-нибудь трудоёмкую и длительную отладку и дизассемблирование. То есть, с IDA и OllyDBG я поверхностно знаком, но не как с ежедневными рабочими инструментами.

В WOT играю с начала 2011 года. Не запоем, а, скорее, набегами — по 5-6 боёв вечером. Было время 2 года назад, наш клан состоял в Красном Альянсе, ходил на глобалку по ночам, выполнял какие-то тактические задачи на европейском ТВД, устраивал тренировки и спарринги, вовсю бурлили внутриигровые политические страсти, отпочковывались учебные кланы. Сейчас всего этого уже нет, и наш золотой ёжик превратился в табличку над «Домом Ветеранов».

Впадать в ересь сравнения танков с другими MMO не буду, так как хорошо знаком только с танками. Тем более не знаком ни с одним другим проектом, использующим BigWorld, поэтому искренне верю WarGaming'у на слово, что существуют и (не)тривиально (не)преодолеваются различные техномагические ограничения движка — на размер карты, на максимальную скорость юнита, на численность команд и прочее. Оставаясь в рамках внутренней критики, я также понимаю, что, с точки зрения целевой аудитории танков вообще, и их активного игрового коммьюнити в частности, каждое нововведение из очередного патча, безусловно, гораздо более востребовано и обосновано, сколь бы малым оно ни было. И что оптимизировать Motion Blur на несколько процентов это, безусловно, важнее, чем отменить принципиальную неизменяемость привязки действий на кнопки мыши для тех, кто привык на них ставить движение вперёд-назад (DOOM-стайл, да).

Итак, я уверен, что в обозримом будущем никаких планов по введению полноценного режима спектатора в WOT нет и не будет. Под полноценным режимом спектатора я понимаю множественные подключения игроков в сеанс боя изначально как невзаимодействующих на игру «привидений»-наблюдателей, а не на технике. Это тот самый режим, из-за отсутствия которого комментаторы на чемпионатах WOT вынуждены заходить в бой 15-м танком, убиваемым своими на базе. Это тот самый режим, из-за которого появились моды «командирского zoom» и «кинематографической камеры» — по сути, просто костыли. А нужен такой режим затем, чтобы командир роты занимался командованием, а не скакал впереди на лихом танке по-чапаевски, чтобы он видел ситуацию на карте в целом непрерывно, а не отвлекался на неё в пылу нападения из засады. В идеале, командиру даже не нужны красоты трёхмерного мира — достаточно одной большой карты на весь монитор с игровой ситуацией в реальном времени — HP, повреждениями модулей, членов экипажа, направлениями стволов и прицелов союзной техники, засвеченных в каждый момент вражеских юнитов и прочей вспомогательной информации.

WOT предоставляет широкие возможности модостроительства, но такая идея выходит за рамки классического «заменить пару swf-файлов на свои». Потребуется перехват и разбор самого игрового протокола для того, чтобы иметь возможность передать на командирский планшет своё видение игровой ситуации.
Читать дальше →
Total votes 173: ↑167 and ↓6+161
Comments90

PhpStorm — повышаем производительность (клавиатурные сокращения). Часть 1

Reading time4 min
Views209K
imagePhpStorm — повышаем производительность (плагины и темы оформления). Часть 2

У всех нас есть любимые IDE или редакторы в которых мы пишем код. Для меня это PhpStorm, и потребовалось некоторое время, чтобы освоить все клавиатурные сокращения и ускорить свой рабочий процесс. В этой статье я поделюсь с вами некоторыми сочетания клавиш и советами, которые возьмут на себя часть рутинной работы, если вы тоже делаете свою работу в этой IDE. Эта статья была частично вдохновлена этим Reddit тредом, и я буду упомянать и демонстрировать некоторые трюки найденные там.

Обратите внимание, что я разрабатываю на Linux в Vagrant, размещенном в Windows, я буду использовать клавишу CTRL вместо CMD. Если вы работаете в OS X, замените CTRL на CMD.

Клавиатурные сокращения и хаки


PhpStorm позволяет настроить себя практически до бесконечности — вы можете заточить этот инструмент под себя так, что постороннему может показаться, что это совсем другая IDE.

(осторожно, много gif изображений)
Давайте посмотрим, чем мы можем воспользоваться
Total votes 77: ↑68 and ↓9+59
Comments58

Страсть к программированию. Глава 22. Помни, на кого работаешь

Reading time4 min
Views18K
image
О переводе


Это перевод 22-ой главы книги «The Passionate Programmer: Creating a Remarkable Career in Software Development». Её автор — Chad Fowler — талантливый Ruby-разработчик, известный докладчик на конференциях, посвящённых Ruby и IT в целом. Бывший саксофонист, а сейчас — CTO 6Wunderkinder.

Над главой работали…
shchemelevev перевод
@SavinaMarina проверка перевода
asheee редактирование перевода
shchemelevev вычитка
rb2 вычитка
asheee вычитка


Содержание



22. Помни, на кого работаешь



Легко сказать: «Проверь, совпадают ли цели, над достижением которых ты трудишься, и цели, стоящие перед бизнесом твоей компании». Но сделать это на порядок сложнее. Особенно если ты — глубоко зарытый в недрах организации программист, с трудом понимающий, чем занимается твоя компания.

В начале своей карьеры я работал над системой бухгалтерского учёта в организации, которая занималась грузоперевозками. Организация была огромна. Из-за сложнейшей внутренней иерархии я не мог разглядеть в своей работе ничего, что было бы хоть немного связано с доставкой грузов. Я не могу забыть те чувства отчуждённости и отстранённости, которые возникали у нашей команды на всех корпоративных праздниках, проводившихся под конец каждого квартала. Какое достижение мы праздновали? Что значили все те метрики?

К счастью, в те времена меня больше интересовало создание первоклассных систем, а кроме того, я много времени проводил за изучением исходного кода различных open-source продуктов (признаюсь, я всё ещё трачу много времени на эти вещи). Вряд ли я хоть немного задумывался об устройстве бизнеса грузоперевозок. Но если бы я и вправду захотел согласовать свою работу с потребностями организации, едва ли я знал бы, с чего стоит начинать.
Читать дальше →
Total votes 44: ↑38 and ↓6+32
Comments2

Чеклист вопросов к проекту: старт, реализация, финал — и 10 советов «в полёт»

Reading time4 min
Views47K

Проверьте свой проект: вы летите или думаете, что летите?

Ниже вопросы, которые стоит задавать себе на старте проекта и время от времени на его протяжении.

Контрольные вопросы на старте проекта:


  1. Что конкретно нужно сделать на текущем этапе? В целом? Есть ли чётко определённые цели каждого этапа? Как вы определите, что цели достигнуты? Соответствует ли текущий статус заявленным планам и целям или их необходимо корректировать?
  2. Реалистичны ли эти цели?
  3. Что случится, если цели не будут достигнуты в срок? Каков план действий?
  4. Насколько этот проект значим? Например, зависит ли от него место вашей компании на рынке?
  5. Какую выгоду вам, обществу и инвесторам принесёт проект?
  6. Достаточно ли хорошо спланирован проект? Все ли в вашей команде понимают пункты плана одинаково?
  7. Нужны ли внешние эксперты, например, юристы?
  8. Есть ли у команды опыт работы вместе? Кто будет координировать команду? Важно ли для проекта работать именно вместе — или возможен труд одиночек? Отвечает ли каждый член команды за работу всех остальных?
  9. Можно ли сократить размер команды? Если нет, то почему? Если да, то почему это не сделано?
  10. Как вы будете компенсировать форс-мажоры с персоналом, например, что случится, если ваш ведущий разработчик сломает руку?
Читать дальше →
Total votes 51: ↑45 and ↓6+39
Comments8

Dater — определяет часовой пояс, локализует и форматирует время в PHP

Reading time4 min
Views22K


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

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

И так, встречайте — Dater, и его основные возможности:

  • Биндинг форматов
  • Локализация текстов и форматов
  • Расширение списка опций форматирования
  • Автоопределение часового пояса
  • Конвертация времени с учётом часового пояса
  • Автоматическая конвертация времени в $_GET, $_POST, $_REQUEST с учётом часового пояса
  • Автоматическая конвертация часового пояса в шаблоне отправляемых данных
Читать дальше →
Total votes 41: ↑34 and ↓7+27
Comments92

О тонкостях работы foreach в PHP

Reading time9 min
Views59K
В недавнем дайджесте интересных ссылок о PHP я обнаружил ссылку на комментарий Никиты Попова на StackOverflow, где он подробно рассказывает о механизме «под капотом» управляющей конструкции foreach.
Поскольку foreach действительно иногда работает более, чем странным образом, я счел полезным сделать перевод этого ответа.


Внимание: этот текст подразумевает наличие базовых знаний о функциональности zval'ов в PHP, в частности вы должны знать что такое refcount и is_ref.
foreach работает с сущностями разных типов: с массивами, с простыми объектами (где перечисляются доступные свойства) и с Traversable-объектами (вернее, объектами, у которых определен внутренний обработчик get_iterator). Здесь мы, в основном, говорим о массивах, но я скажу и об остальных в самом конце.

Прежде чем приступить, пара слов о массивах и их обходе, важная для понимания контекста.

Как работает обход массивов
Total votes 86: ↑74 and ↓12+62
Comments56

Bitcoin: Как получить 25+ Mhash/s бесплатно без смс

Reading time5 min
Views308K

Добрый день, дорогой %username%!
Наверняка Вы уже слышали о Биткоинах. Возможно, Вам уже удалось ими попользоваться! Великолепно. Как насчет того, чтобы, не напрягаясь, начать майнить криптовалюту на 25 (50, 75, 100,…, 25n) Мегахешах в секунду? Как, у Вас уже есть суперкомпьютер для генерации блоков? Как насчет того, чтобы добавить 25n Мегахешей к Вашей вычислительной мощности прямо сейчас?

Есть отличный сервис Windows Azure от Microsoft. Вкратце, нам дают возможность пользоваться удаленной виртуальной машиной с 20 ядрами для различных серверных решений, вычислений, etc. Но для нас, любителей бесплатного, конечно, важен бесплатный триал на 3 месяца. Естественно, есть определенные ограничения для бесплатной версии, но нас они особо не затронут. Что нам нужно сделать (и что я пошагово опишу в этой статье) это:

  1. Создать 3 виртуальные машины (8 + 8 + 4 ядер)
  2. Подключиться к виртуальным машинам при помощи виртуального рабочего стола
  3. Зарегистрироваться на публичном пуле (в статье я буду использовать Slush's Pool в качестве примера)
  4. Установить и настроить нужный для майнинга софт
  5. Запустить этот софт
  6. Ждать
  7. Получать биткоины

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

Update: добавил описание как майнить Litecoin на Windows Azure. Получается гораздо эффективнее майнинга Bitcoin.
Читать дальше →
Total votes 79: ↑55 and ↓24+31
Comments179

Управление картинками и другим бинарным содержимым вашего веб-проекта

Reading time4 min
Views12K
image
Мы, в компании XIAG, в разных проектах постоянно решаем одну и ту же задачу: как хранить и показывать бинарные пользовательские данные. Это могут быть логотипы компаний, PDF файлы с описанием вакансий или приветственное видео. Причем это содержание нужно показывать на страницах сайта самым разнообразным способом: лого должно быть нужного размера, PDF — в виде маленькой превью-картинки, а из видео нужно показать пару стоп-кадров.

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

Познакомьтесь с веб-сервисом Barberry (https://github.com/Magomogo/Barberry), который мы успешно используем уже около года. Суть сервиса в том, что он хранит оригиналы загруженных документов и способен по-разному отдавать их, конвертируя на лету.
Читать дальше →
Total votes 30: ↑26 and ↓4+22
Comments33

Полезные хаки и сниппеты для .htaccess

Reading time7 min
Views462K


Это перевод очень интересной лично для меня статьи, которым я хочу поделиться с уважаемым хабрасообществом. Некоторые из приведенных рецептов я уже встречал на Хабре, но разрозненно и далеко не все из нижеприведенного.

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

Если же вам нужны базовые сведения о предназначении данного файла, то вы можете получить из нашей статьи введение в .htaccess (перевод данной статьи не делал, так как там основы, их достаточно в русскоязычном сегменте Сети, но если будет проявлен интерес, то можно и ее перевести для полноты картины — прим. переводчика), в которой достаточно подробно раскрыты все аспекты его применения.
Узнать больше
Total votes 114: ↑92 and ↓22+70
Comments82

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity