Kimball vs. inmon data warehouse architectures

Финансовые Хранилища данных

В большинстве случаев финансовые Хранилища данных — это Хранилища, которые организации строят в первую очередь. Создание финансового Хранилища — очень привлекательное решение, поскольку:

Финансовые данные ВСЕГДА находятся в центре, «мозге», организации

Поэтому привлечь внимание к хорошо построенному финансовому Хранилищу данных очень легко.
В большинстве организаций (но не во всех) финансовые данные представляют самые маленькие объемы данных из имеющихся.
Финансы охватывают все аспекты функционирования корпорации и имеют один общий знаменатель — деньги.
Финансовые данные по своей природе имеют структуру, на которую напрямую влияет повседневная практика обработки финансовой информации, и так далее.. По этим причинам финансы становятся предпочтительной областью построения корпоративного Хранилища данных

По этим причинам финансы становятся предпочтительной областью построения корпоративного Хранилища данных.

Однако, финансовые Хранилища данных имеют серьезные, присущие только этому типу Хранилищ, недостатки. Первый из них заключается в том, что в организациях ожидают, что сведения из финансовых Хранилищ будут с точностью до одного пенни совпадать с данными существующей финансовой среды. То и дело можно услышать, что «это финансовое Хранилище явно неисправное, потому что в отчете, который я получил вчера, было указано, что доходы составляют 145,998.32 долларов, когда же я выполнил тот же отчет в финансовом Хранилище данных, то получил величину, равную 139, 762.01 долларам. Этому Хранилищу просто нельзя верить».

Ожидание того, что информация в финансовом Хранилище данных должна точь-в-точь совпасть с цифрами из текущего финансового отчета, является глубоко ошибочным. Люди (то есть финансовые работники), которые так думают, просто не понимают, что, когда данные переходят из операционной среды в финансовое Хранилище данных, происходит ТРАНСФОРМАЦИЯ. А когда данные перетекают из мира приложений в реальный мир корпорации, их рассматривают в другом измерении. А вот, что точно происходит при таком переходе данных из одного мира в другой:

  • Меняются отчетные периоды. В операционной среде отчетный период завершается в конце месяца, в среде Хранилища данных заканчивается на корпоративном календаре.
  • Меняются схемы группировки и кодирования счетов. В операционной среде данные рассчитываются в соответствии с одним планом бухгалтерских счетов, а в финансовой среде всей корпорации может быть совершенно другой набор схемы группировки и кодирования.
  • Меняются классификации данных. Так, в операционной среде Северная Америка состоит всего из 48 континентальных штатов, в глобальном Хранилище данных Северная Америка включает также Канаду, Мексику, Аляску и острова Карибского бассейна.
  • Меняются валюты. Операционные денежные средства соответствуют той валюте, в которой они обращаются: лиры, франки, фунты, песо и так далее. В глобальной среде деньги преобразуются к одной общей валюте: долларам или евро.

Итак, существует множество причин, почему данные, находящиеся в Хранилищах данных, отличаются от данных операционных систем. Однако, финансовые работники думают иначе, и вот почему необходимо им разъяснять, что такое трансформация, и что означают различные измерения данных.

Сравнение с операционной системой

Операционные системы оптимизированы для сохранения целостности данных и скорость записи бизнес-транзакций за счет использования нормализации базы данных и модели отношения сущностей. Разработчики операционных систем обычно следуют 12 правилам Кодда из нормализации базы данных для обеспечения целостности данных. Полностью нормализованные конструкции баз данных (то есть те, которые удовлетворяют всем правилам Кодда) часто приводят к тому, что информация из бизнес-транзакции хранится в десятках или сотнях таблиц. Реляционные базы данных эффективно управляют отношениями между этими таблицами. Базы данных имеют очень быструю вставку / обновление, потому что каждый раз при обработке транзакции затрагивается только небольшой объем данных в этих таблицах. Для повышения производительности старые данные обычно периодически удаляются из операционных систем.

Хранилища данных оптимизированы для аналитических шаблонов доступа. Шаблоны аналитического доступа обычно включают выбор определенных полей и редко, если вообще когда-либо, , который выбирает все поля / столбцы, что более распространено в операционных базах данных. Из-за этих различий в шаблонах доступа операционные базы данных (в общих чертах, OLTP) выигрывают от использования строковой СУБД, тогда как аналитические базы данных (в общих чертах, OLAP) выигрывают от использования столбцовой СУБД. В отличие от операционных систем, которые поддерживают моментальный снимок бизнеса, хранилища данных обычно поддерживают бесконечную историю, которая реализуется через процессы ETL, которые периодически переносят данные из операционных систем в хранилище данных.

An Automated Data Warehousing Tool

Organizations are moving toward data warehouse automation to save costs, maximize productivity, and get actionable insights quicker. Data Warehousing Automation allows you to quickly build high-quality data marts, build self-regulating data pipelines, and deliver relevant insights to decision-makers via BI and analytics tools.

Data Warehousing Automation eliminates the most time-consuming part in populating a data warehouse: writing ETL/ELT code. As no SQL hand coding is required, developers can focus their energy on working at a logical level (design level) to create more efficient integration flows.

In a nutshell, removing manual intervention in the planning, modeling, and deployment steps allows you to build a better quality data warehouse with success — that too, in a matter of weeks or even days.

In addition, automation helps you design an agile data warehouse infrastructure. The result is a more adaptable, responsive data repository that can be queried efficiently, producing valuable insights in seconds and allow you to extract valuable insights.

Astera Data Warehouse Builder offers an integrated platform to design, deploy and test large-volume data warehouses and automate the processes to reach meaningful insights quickly, without the hassle of writing ETL codes.

«Японское чудо»: наука на службе производства

В 1964 году в Японии была создана Ассоциация по безопасности и здоровью на производстве (JISHA). Целью создания Ассоциации было оказание содействия работодателям при внедрении на предприятиях программ предупреждения производственных рисков в соответствии с требованиями действовавшего тогда Закона о предотвращении несчастных случаев на производстве. Необходимость принятия закона и создания Ассоциации были обусловлены бурным экономическим ростом, которое впоследствии назвали «японским чудом».

С момента основания Ассоциацией на предприятиях Японии было разработано и внедрено множество различных программ предупреждения производственного травматизма. А в 1973 году при поддержке Министерства труда Японии стартовала кампания «Всеобщее участие в обеспечении нулевого травматизма» («Zero-accident Total Participation Campaign»). Особенностью этой компании было то, что одним из ее элементов, помимо вопросов обеспечения безопасности, являлось внедрение методов контроля качества (тоже набравшее популярность в Японии в 60-70 годы).

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

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

Например, огромную популярность имел курс обучения прогнозированию опасностей. Этот курс состоял из программы обучения 4 ступеней и включал в себя следующие элементы:

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

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

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

С точки зрения авторов этой кампании, цель нулевого уровня травматизма можно достигнуть только путем сочетания философии (духа компании) и эффективных техник.

Также кампания состояла из трех ключевых элементов:

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

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

Видение, ценности и обещания

Исполнение мечты ― важный процесс, который состоит из трех важных элементов:

  • видение ― главное стремление компании достигать поставленных целей в будущем;
  • ценности ― элемент, на котором строится мечта предприятия;
  • обещания ― то, что организация хочет сделать для своей целевой аудитории, сотрудников, инвесторов и других заинтересованных сторон.

Видение отвечает на главный вопрос: «Куда компании не терпится сместиться с текущей точки?». Такой формат позволяет выдвигать смелые и интересные идеи в большом количестве, вовлекая не только управляющий персонал, но и линейных сотрудников.

Ценности ― это главные характеристики, на которых строится бизнес. К ним относятся командный дух, сплоченность коллектива, удовлетворенность клиентов, подлинность и качество продукта.

Ценности отвечают на вопрос: «Во что компания готова вкладывать силы?». Они позволяют понять, где находится предприятие на текущий момент, и какое будущее для него запланировано.

Третий элемент — обещания. Они должны удовлетворять запросы потребителей, быть четкими и правдивыми.

Так, фармацевтическая компания должна пообещать, что создаст лекарство от тяжелой болезни, но не уточнять, какое. Не стоит обещать разработать вакцину против старения, СПИДа или рака, даже если в этом и заключается мечта.

Правильное стратегическое видение соответствует следующим параметрам.

1. Меняет восприятие бизнеса у владельцев, менеджеров и персонала. Сейчас фирма может быть небольшой, с низким уровнем дохода. Но в мечтах она крупная, одна из лидеров на рынке. Это стимулирует к работе, создает образ «новой» компании.

2. Формулируется понятно, интересно, достоверно. Важный момент — мечта должна быть осуществимой.

3. Содержит нестандартные элементы и критерии успеха. Если мечта выходит за рамки традиционных, то это говорит о хорошей конкурентоспособности предприятия. Например, не просто увеличить долю организации на рынке, а сделать более востребованной продукцию российского производителя. Однажды так сделали основатели Sony, которые не просто продвигали свой товар, а избавлялись от мнения, что японская техника отличается низким качеством.

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

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

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

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

Методы проектирования хранилищ данных

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

Билл Инмон — Подход к проектированию хранилищ данных “сверху вниз”

Билла Инмонхж иногда называют также «отцом хранилищ данных»; его методология проектирования основана на подходе “сверху вниз” и определяет хранилище данных в соответствии со следующими принципами:

  • Предметная ориентация. Данные в хранилище классифицируются на основе области, которую они описывают, следовательно, являются «предметными».
  • Интегрированность. Данные интегрируются из различных источников и унифицируются по именам, измерениям, классификации для использования в хранилище данных, которое  обеспечивает консолидированное представление данных предприятия, следовательно является интегрированным решением.
  • Неизменяемость. Как только данные будут интегрированы \ загружены в хранилище данных, их можно будет только читать. Пользователи не смогут вносить изменения в данные, что делает данные неизменяемыми.
  • Хронологичность. Наконец, данные хранятся в течение длительных периодов времени, количественно определяемых в годах, и имеют дату и временную метку, и поэтому они описываются как хронологические.

Билл Инмон увидел необходимость интегрировать данные из разных OLTP-систем в централизованный репозиторий (называемый хранилищем данных) по принципу «сверху вниз». Билл Инмон представил хранилище данных в центре «Корпоративной информационной фабрики» (CIF), которое обеспечивает логическую структуру для предоставления возможностей бизнес-аналитики (BI) и управления бизнесом.

Этот сверху-вниз дизайн обеспечивает высококонвертированное пространственное представление данных через витрины данных, поскольку все витрины данных загружаются из централизованного хранилища (DW). Проектирование «сверху вниз» также оказалось гибким для поддержки изменений в бизнесе, поскольку оно рассматривает организацию в целом, а не каждую функцию или бизнес-процесс организации.  Создание новых витрин мерных данных в отношении данных, расположенных в хранилище данных, является относительно простой задачей. Несмотря на такие преимущества, существует и ряд проблем, связанных с подходом «сверху вниз»: поскольку он представляет собой очень крупный, широкомасштабный проект, поэтому первоначальные затраты на внедрение хранилища данных с использованием такой методологии значительны. Кроме того, проходит немало времени, прежде чем конечные пользователи начинают испытывать первоначальные преимущества решения, Помимо прочего,  методология «сверху вниз» часто бывает негибкой и не реагирующей на меняющиеся потребности отдела или бизнес-процессов (проблема для сегодняшней динамично меняющейся среды) на этапе реализации.

Ральф Кимбалл — Подход к проектированию хранилища данных “снизу вверх”

Ральф Кимбалл — известный автор по вопросам хранения данных. Его методология дизайна называется многомерным моделированием или методологией Кимбалла

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

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

Подход «снизу вверх» Ральфа Кимбалла предлагает создать бизнес-матрицу, которая должна содержать все общие элементы, используемые витринами данных, такие как согласованные или общие измерения, определенные для предприятия в целом. Благодаря этому, пользователь может проектировать и разрабатывать решения, которые поддерживают анализ в бизнес-процессах для перекрестных продаж.

Как в реальности

химеры

  • В двух стартапах видел схему с уже упомянутого pyimagesearch. Когда происходила детекция, а для связывания детекций использовался оптический трекер. В одном стартапе работало на грани допустимого качества. Во втором не работало.
  • В одном стартапе разрабатывали детектор + аналог МНК для слежения. Но там трекались точки на человеке. Работало хорошо.
  • Сами участвовали/разрабатывали несколько систем трекинга авто. И везде трекинг был через какого-нибудь Калмана/аналог с МНК. Видел несколько фирм где в целом было так же. Работало у всех хорошо.
  • Видел 3 фирмы, где в качестве трекинга использовался SORT. Одной из них разрабатывали процесс обучения детектора, который подавался в SORT. У всех всё было классно, всё работало.
  • Участвовали/до сих пор участвуем в разработке стартапа, где трекаются люди в помещениях. Используются почти все техники, которые тут упомянуты. Но вес каких-то очень мал. Работает в целом неплохо. Но, конечно, хуже того что человек глазом может.

Видение ReCellular Leadership

Ранее ReCellular, Inc. была компанией среднего размера, которая ремонтировала, ремонтировала и перепродавала беспроводные телефоны и другие электронные устройства. Компания не только уберегла миллионы фунтов этих устройств от свалок, но и сделала тысячи продуктов доступными для повторного использования. И они пожертвовали тысячи долларов на благотворительные цели из прибыли, которую они сделали на переработку.

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

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

Концепция лидерства ReCellular была действительно трогательной и мощной.

Более сложная когнитивная модель

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

Ситуациями-триггерами можно считать:

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

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

Сложная когнитивная модель схематически подана ниже.

Ситуация: Салли чувствует себя уставшей (физиологический триггер), как только проснулась

Автоматическая мысль: «Я слишком устала, чтобы вставать. Вылезать из-под одеяла бессмысленно. У меня не хватит сил пойти на занятия или заниматься дома»

Эмоция: грусть

Физиологическая реакция: тяжесть во всем теле

Автоматические мысли: «А вдруг мой решит сегодня провести тест? А потом не разрешит мне пройти его в другое время? Вдруг это плохо повлияет на мою оценку? »

Эмоция: тревога

Физиологическая реакция: сердце начинает биться чаще

Ситуация: замечает частое сердцебиение

Автоматическая мысль: «Мое сердце так колотится. Что со мной не так?»

Эмоция: усиление тревоги

Физиологическая реакция: напряжение в теле, частое сердцебиение

Автоматическая мысль: «Сегодня лучше остаться в постели»

Эмоция: облегчение

Физиологическая реакция: снижается напряжение и частота сердцебиения

Поведение: остается в постели

В конце концов Салли встала, пришла на занятие с опозданием в 20 минут, из-за чего возник целый ряд автоматических мыслей по поводу опоздания и пропуска части лекции.

Публикуется по книге «Когнитивно-поведенческая терапия. От основ к направлениям». Джудит Бек (Judith S.
Beck, 2011).

См. также:

  • Введение в когнитивно-поведенческую терапию
  • Когнитивная концептуализация в терапии
  • Принципы когнитивно-поведенческой терапии
  • Проблемы при когнитивно-поведенческой терапии

Новые архитектуры хранилищ данных

Panoply

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

По ту сторону облачных хранилищ данных

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

Эта часть процесса обычно выполняется сторонними инструментами;

Обновления, вставки и удаления могут быть сложными и должны выполняться осторожно, чтобы не допустить снижения производительности запросов;
С полуструктурированными данными трудно иметь дело — их необходимо нормализовать в формате реляционной базы данных, что требует автоматизации больших потоков данных;

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

Оптимизация кластера

Существуют различные варианты настройки кластера Redshift для запуска ваших рабочих нагрузок. Различные рабочие нагрузки, наборы данных или даже различные типы запросов могут потребовать иной настройки. Для достижения оптимальной работы, необходимо постоянно пересматривать и при необходимости дополнительно настраивать конфигурацию;

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

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

Ссылка на оригинальный текст: panoply.io/data-warehouse-guide/data-warehouse-architecture-traditional-vs-cloud

Размерное моделирование – это групповая деятельность

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

Это, несомненно, важнейшее требование пользовательского сообщества. Наш процесс проектирования обычно занимает 50-60 часов в течение 4-6 недель (или более, в зависимости от сложности проекта). Люди, участие которых необходимо в проектных сессиях, чрезвычайно важны для получения положительного результата. Но если их не убедить вложить время и энергию, полученная система в итоге не сможет работать эффективно.

Жду с нетерпением

Мне невероятно повезло, что я была частью Kimball Group в течение последних двенадцати лет. Для меня было честью работать не только с Ральфом, Марджи, Бобом и Уорреном, но и с сотнями студентов, клиентов и коллег, у которых я многому научилась. Я очень довольна тем, чего мы достигли вместе, и счастлива, потому что у меня есть то, что я считаю лучшей работой в мире.

Я чувствую себя особенно благословенной по сравнению с Уорреном, чья смерть в 2014 году от рака мозга глубоко затронула меня и всю Kimball Group. В 2016 году я буду вспоминать Уоррена и его страсть к фитнесу, совершив поездку на велосипеде по всей территории Соединенных Штатов. Моей целью будет сбор средств для исследования рака мозга. Я была бы польщена, если бы вы посетили наш блог, в котором будет вестись хроника этого путешествия (https://itinerantphilosopher.wordpress.com) и благодарна, если вы рассмотрите возможность пожертвования на наши усилия по сбору средств на исследования рака мозга.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Работатека
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: