Что такое интерфейс пользователя?

Краткий обзор популярных ERP

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

Популярные бесплатные продукты:

  • ERPNext — минималистичная программа для работы частного предпринимателя (ИП). Основной недостаток — ограниченное дисковое пространство, которое можно увеличивать за дополнительную плату.
  • Галактика ERP — разработана под отечественный рынок и позволяет учитывать частые изменения в законодательстве.

Платные программы:

Экономический эффект от внедрения «1С:ERP»

Наш опыт работы с продуктом показывает, что расходы на IT-систему — это не издержки, а инвестиции. Это многократно доказано и подтверждено клиентами, уже внедрившими конфигурацию на своих предприятиях. Окупаемость продукта в среднем за 2–3 года достигается за счет роста производительности труда и получения долгосрочного экономического эффекта.

Экономический эффект от внедрения «1С:ERP»*
  Показатель эффективности Среднее значение
Запасы и производство Снижение производственных издержек 11%
Снижение себестоимости продукции 6%
Снижение объемов материальных запасов 21%
Сокращение расходов на ресурсы 10%
Увеличение объема продукции 31%
Рост производительности труда в производстве 16%
Оборотные средства Рост оборачиваемости складских запасов 29%
Сокращение дебиторской задолженности 11%
Эффективность и оперативность Ускорение обработки заказов 98%
Сокращение сроков исполнения заказов 26%
Сокращение операционных и административных расходов 16%
Рост прибыли 13%
Трудозатраты и отчетность Сокращение трудозатрат в различных подразделениях 34%
Ускорение получения управленческой отчетности В 3,2 раза
Ускорение подготовки регламентированной отчетности В 3,4 раза

С++ (Си-плюс-плюс)

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

Главным его плюсом является то, что он полностью универсален. На С++ можно писать всё что угодно, именно это и обеспечило ему любовь профессионалов. Кроме того, он относительно прост в освоении — тому, кто уже изучил С, Python или Java, будет нетрудно разобраться и в С++. Верно и обратное, так что С++ часто представляют как своего рода универсальную формулу и некий ключик к миру программирования вообще.

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

Процедурное и непроцедурное программирование

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

Все они подразделяются на две категории:

  • процедурные;
  • непроцедурные.

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

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

  • низкого уровня (или машинно-ориентированные — Ассемблер, Бейсик);
  • высокого уровня.

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

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

Непроцедурные языки включают две основные языковые группы:

  • объектно-ориентированные;
  • декларативные.

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

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

Декларативные языки подразделяются на два семейства:

  • логические;
  • функциональные.

Логическое программирование описывает проблемы в виде фактов и формул, а система решает их посредством механизмов логического вывода. Функциональное, в свою очередь, формулирует задачу как совокупность определённых функций.

Создание

5.1. Создание функциональной опции

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

Рис. 3. Создание функциональной опции

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

Рис. 4. Хранение значения функциональной опции

Кроме имени объект имеет обязательное для заполнения свойство – Хранение. В редакторе для него можно выбрать один из объектов, который будет являться источником значения опции. В список доступных объектов входят:
● константы,
● реквизиты справочников,
● ресурсы регистров сведений.
Ограничение на тип источника значения опции нет, но для управления интерфейсом пригодны только те функциональные опции, которые хранят свои значения в реквизитах, имеющих тип Булево. Значения функциональных опций с другими типами доступны только для анализа на встроенном языке.
Свойство Привилегированный режим при получении отвечает за способ получения (и кеширования) значения функциональной опции.

Рис. 5. Привилегированный режим при получении значения функциональной опции

Если данное свойство установлено, то значение функциональной опции получается в привилегированном режиме. Полученное значение кешируется для всех сеансов, связанных с данной информационной базой.
Если свойство Привилегированный режим при получении сброшено, то получение значения функциональной опции выполняется в обычном режиме.
Кеширование выполняется для текущего сеанса. Кешируется как значение (если его удалось получить), так и признак невозможности получения значения (в том случае, если значение получить не удалось).
Кеш сбрасывается при изменении значений параметров сеанса.СОВЕТ. Рекомендуется устанавливать свойство Привилегированный режим при получении для всех случаев, когда значение функциональной опции не содержит конфиденциальную информацию.

5.2. Создание параметра функциональных опций

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

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

Для каждого параметра функциональных опций в данном списке можно выбрать один справочник (из всего перечня справочников) и по одному измерению каждого регистра сведений.ВНИМАНИЕ! Нельзя использовать один и тот же объект метаданных в нескольких параметрах функциональных опций

Общая схема работы

Механизм функциональных опций включает в себя два типа объектов метаданных: Функциональная опция и Параметры функциональных опций.
Функциональная опция представляет собой объект метаданных, который может непосредственно влиять на состав интерфейса приложения (если функциональная опция хранит свое значение в реквизите типа Булево). С помощью объектов этого типа можно скрыть элементы, которые относятся к недоступной функциональности. Например, опция Валютный учет может скрыть справочник Валюты, поле Валюта из документов, колонку Валютная сумма из отчетов. Источником значения функциональной опции является объект метаданных, выбранный в качестве свойства Хранение, например, это
может быть константа.
В случае хранения значения функциональной опции в реквизите справочника или ресурсе регистра сведений требуется дополнительная информация, которая указывает на то, как именно выбрать значение опции. Для этой цели предусмотрен отдельный объект метаданных – Параметры функциональных опций.
Можно сказать, что параметры функциональных опций являются осями координат пространства значений функциональных опций. Причем один параметр функциональных опций может определять значение «своей» оси координат одновременно для множества функциональных опций.

Рис. 2. Параметризуемая функциональная опция

Рассмотрим пример: допустим, суммовой учет зависит от склада, принадлежащего конкретной организации (см. рис.98). В нашей информационной базе
можно вести учет от имени разных организаций и на разных складах.
Для хранения значений функциональных опций создадим регистр сведений, где измерениями (осями координат) будут:

● Организация (соответствующего типа);
● Склад (соответствующего типа).

Ресурсом регистра сведений будет значение функциональной опции суммового учета.
Тогда общая структура конфигурации будет выглядеть следующим образом:
● Регистр сведений СуммовойУчет:
● измерение Организация;
● измерение Склад;
● ресурс СуммовойУчет, имеющий тип Булево.
● Параметр функциональных опций Организация. Свойство Использование указывает на измерение Организация регистра сведений СуммовойУчет.
● Параметр функциональных опций Склад. Свойство Использование указывает на измерение Склад регистра сведений СуммовойУчет.
● Функциональная опция СуммовойУчет. Свойство Хранение указывает на ресурс СуммовойУчет регистра сведений СуммовойУчет.
В результате для того, чтобы определить необходимость ведения суммового учета, нам необходимо в каждом конкретном случае указать значения параметров функциональных опций (Организация и Склад) и получить значение функциональной опции.
Так, в примере, показанном на рис.2, для Организации 1 и Склада 1 суммовой учет разрешен, а для Организации 2 и Склада 1 суммовой учет запрещен.

Причины популярности операционной системы Linux

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

Семейство данных операционных систем разрабатываются в рамках Free Software Foundation — своеобразного свода правил, регламентирующего свободное распространение и изменение бесплатного программного обеспечения. Таким образом, в соответствии с FSF у всех пользователей имеется авторское право на отдельные компоненты программ. Но вместе с тем пользователи должны распространять эти компоненты на бесплатной основе.

Создателем операционной системы Linux является Линус Торвальдс, впервые явивший миру эту систему в 1991 году. А точнее, он не стал программировать свое детище с нуля, а взял за основу находящиеся в свободном доступе компоненты проекта GNU. В качестве символа Linux создатель выбрал пингвина по имени Tux.

Причины популярности операционной системы Linux

Но, говоря о создании этой ОС, мы подразумеваем прежде всего ядро, и когда речь заходит, например, о версии операционной системы Linux, имеется в виду именно версия ядра. На его основе уже создается полноценная система, называемая дистрибутивом и включающая в себя все необходимое для работы ПО. Наиболее популярными дистрибутивами издавна считаются Debian, Red Hat и Ubuntu, а общее число готовых ОС Linux насчитывается уже несколько сотен.

На ядре Linux строятся не только одноименные операционные системы. Например, в известном Android оно также задействовано. Целый спектр «умной» бытовой техники проектируется именно на ядре Linux, не говоря уже о серверном оборудовании. Такая популярность объясняется не только бесплатностью. Системы на базе ядра Linux просты в настройке, стабильны в работе и весьма легковесны при отсутствии графической оболочки. В целом Линукс оптимально подходит для решения высоконагруженных задач и для работы СУБД.

Бесплатный онлайн-интенсив

Ваш Путь в IT начинается здесь

Подробнее

Если сравнивать операционные системы Windows, Linux и Mac OS в роли домашнего использования, наибольшую популярность имеет конечно же продукция от Microsoft и Apple. Линукс как настольную ОС выбирают значительно реже.

Англоязычный эквивалент

С 1990 года в нашей стране англоязычный термин CAD нормативно закреплен за определением «автоматизированное проектирование», хотя и не соответствует в полной мере российскому значению САПР. По сути, под понятием CAD понимается применение информационных технологий для поддержки процесса конструирования. Зарубежные CAM системы эквивалентны отечественным автоматизированным системам технологической подготовки производства.

Наиболее полное соответствие прослеживается между определениями САПР и CAE, поскольку включают в себе обе вышеперечисленные системы и представляя собой более широкое понятие.

Стоимость подключения и тарифы

У Wink от Ростелекома тарифы вполне лояльные:

  • Лайт. Предоставляет необходимый базис для пользователя: онлайн-кинотеатр, сериалы more.tv, ТВ-каналы и поединки UFC. В стартовый пакет входят: Первый канал, Россия, ТНТ, Звезда, ТВ3, Матч и другие базовые каналы. Стоимость подключения на 1 месяц составляет 179 рублей, на 3 — 529 рублей, на 6 — 999 рублей.
  • Трансформер. На данный тариф сейчас действует акция. До 1 июня 2021 года смотрите всё, что хотите, чтобы потом оставить то, что интересно именно вам: волшебный мир Disney, зарубежные блокбастеры, сериалы от more.tv и ABC studios, спортивные каналы, Наше кино. Первый месяц подключения идёт бесплатно, дальше — 399 рублей.
  • Премиум. Он открывает доступ к более чем 50000 фильмов и сериалов, 316 ТВ-каналам, Amediateka, more.tv, ABC Studios, Universal, музыке и познавательным программам. Смотрите классику кино от легендарных режиссёров (Скорсезе, Личн, Финчер и др.). Стоимость подписки — 1800 рублей в месяц.

Минусы open source

Плагиат. Коммерческие структуры могут использовать открытый код для своих продуктов без указания его авторства. Иногда они вносят минимальные изменения в код, чтобы выдавать его за собственный. Подобное случилось с участниками проекта Leela, которые разработали бесплатный шахматный движок Chess Zero с настраиваемой нейронной сетью. Его использовала компания ChessBase, которая выпустила шахматную программу Fat Fritz. Пакет программ ChessBase Fritz компании стоит от €79 до €99. При этом она отрицает, что каким-либо образом задействовала открытый код.

Аналогичная история была и с Amazon Web Services, которая запустила CloudWatch Synthetics Recorder, расширение Chrome для записи взаимодействий с браузером. Однако данный сервис оказался полностью скопирован с проекта Headless Recorder, созданного разработчиком Тимом Нолетом. В AWS факт плагиата не признавали.

Отсутствие поддержки. Открытый код может использоваться в тех проектах, о которых его авторы даже не подозревают. Таким образом, они не могут оказывать должную поддержку. Кроме того, существует риск, что разработчик небольшого проекта отойдет от дел, а продолжать его дело будет некому, и код начнет устаревать. Проект Libraries.io обнаружил более 2 400 библиотек с открытым кодом, используемых минимум в 1 тыс. других программ, не получавших должного внимания со стороны опенсорс-сообщества. Для потребителя такой программы это может стать проблемой. К примеру, когда программист Азер Кочулу удалил свою библиотеку Leftpad из интернета, проблемы возникли у Facebook, Netflix и других проектов.

Незамеченные уязвимости. Каждый открытый проект зависит от более мелких. В этой цепочке зависимостей легко может возникнуть дыра в безопасности, которую могут долго не замечать. В 2014 году такая уязвимость в безопасности Heartbleed была обнаружена в OpenSSL — программе с исходным кодом, используемой практически всеми веб-сайтами, обрабатывающими платежи с банковских карт. Она делала все эти ресурсы уязвимыми для атак хакеров и кражи данных. По данным GitHub, 17% всех уязвимостей со злонамеренными целями. Исследователи отмечают, что они могут просуществовать до четырех лет, прежде чем будут устранены.

Классификация САПР

Для более укрупненного описания систем автоматизированного проектирования принята классификация САПР по набору определенных отличительных особенностей. В отечественной практике применяется ГОСТ 23501.108-85, выделяющий среди таких особенностей тип, разновидность и сложность разрабатываемого объекта, уровень автоматизации и ее комплексность, номенклатура подготавливаемой документации, а также сложность структуры технического обеспечения.

Международные стандарты рассматривают такие комплексы в аспекте отраслевого и целевого назначения.

По отраслевому назначению

Признак классификации по отраслевому назначению отчасти перекликается с отечественным типом объекта проектирования и подразделяет все САПР на:

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

Следует отметить, что приведенная классификация несколько условна и не охватывает весь перечень отраслей, в которых применяются САПР. Комплексы не попавшие в общепринятую классификацию, трактуются стандартом как «Прочие».

По целевому назначению

Согласно данному классификационному признаку различают CAD-, CAE- и CAM-системы.

  • CAD-системы объединяют в себе инструментарий конструирования различных деталей, подготовки чертежей, спецификаций и сопутствующей документации. Большинство современных программ обладают функциями создания 3D-моделей, используемых в CAM и CAE-системах.
  • CAM-системы позволяют выполнять технологическую поддержку производства изделия. Примером может служить генерация управляющей программы для станков и обрабатывающих центров с ЧПУ.
  • CAE-системы обладают обширными средствами поддержки математического анализа. С помощью них моделируют и прогнозируют процессы в области теплотехники, гидравлики, механики; выполняют сложные расчеты с использованием расширенного математического аппарата. CAE системы позволяют оценить работоспособность проектируемого изделия до его производства.

Самые популярные операционные системы

В зависимости от выбранной программной оболочки меняется и базовое функционирование того или иного устройства. Предлагаю Вам познакомиться с самыми популярными ОС современности:

Windows от Microsoft

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

Более-менее приемлемая в нашем понимании версия была создана 34 года назад, она значительно отличается от той, которая актуальна сейчас. Ведь Windows 10 обладает не только эффективным функционалом, но и невероятно привлекательным и интуитивно понятным интерфейсом.


Преимущества Windows следующие:

  1. Наличие фирменного меню «Пуск», позволяющего быстро получить доступ к абсолютно всем программам.
  2. Популярность. Пожалуй, это действительно самая распространённая «ось» во всём мире. Именно под неё в первую очередь пишется программное обеспечение, игры и прочее.
  3. Наличие различных версий. Вы можете использовать эту систему не только разных годов выпуска, но и устанавливать на свои носимые гаджеты адаптированные модификации.

Недостатками использования Windows является необходимость оплачивать лицензионную версию и наличие огромного количества написанных под неё вирусов. Ведь ввиду того, что около 88 процентов юзеров по всему миру используют её, именно для Windows злоумышленники и создают собственные зловреды.

Linux

Первая операционная система такого типа вышла 28 лет назад и сразу стала прямым конкурентом для продукта от Microsoft. Стоит отметить, что её используют до сих пор, так как она обладает следующими преимуществами:

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

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

Mac OS X от Apple

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

К преимуществам же iOS от Apple относится:

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

Мобильная операционная система

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

На третьем месте окончательно загнувшаяся Windows Mobile (когда-то пользовался ею лично). Она считается пережитком прошлого времени, и используется лишь теми, кому «посчастливилось» приобрести устройство с предустановленной операционной системой такого типа.

Стоит отметить, что Android и iOS имеют вполне понятный удобный интерфейс, а также высокий показатель энергоэффективности. Но, если Android можно использовать на большинстве устройств, то iOS, по аналогии с Mac OS X, можно установить только на продукцию от Apple.

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

Плюсы и минусы кроссплатформенных приложений

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

Плюсы кроссплатформенных приложений  

  1. Один код доступен для повторного использования на других платформах Основным преимуществом кроссплатформенной разработки мобильных приложений является тот факт, что один и тот же код может использоваться на разных мобильных платформах. В отличие от разработки нативного приложения, для кроссплатформенного приложения не требуется  использование отдельного технического стека для каждой операционной системы. Повторное использование кода позволяет легко развертывать приложение на другой платформе, так как возможности приложения, реализованные на одной платформе, будут работать и на других платформах.  
  2.  Разработка кроссплатформенных приложений экономически эффективна Одна команда может реализовать нужную идею сразу на всех платформах, используя единый технологический стек. Это приводит к меньшим затратам ресурсов.  
  3. Простое и быстрое развертывание Разработчикам кроссплатформенных приложений не нужно изучать несколько технологических стеков различных платформ перед созданием своих приложений, им нужно хорошо освоить один стек разработки и особенности его применения. Поскольку нет необходимости создавать разные кодовые базы, начальное развертывание на целевых платформах происходит намного быстрее. Кроме того, будущие изменения в приложении могут выполняться одновременно, без внесения индивидуальных изменений на каждой платформе.  
  4. Кроссплатформенные приложения покрывают более широкую аудиторию Кроссплатформенные приложения предлагают разработчикам больше возможностей для охвата более широкой аудитории, поскольку такие приложения достигают пользователей всех типов и мобильных устройств, независимо от их операционной системы. Это значительно рентабельнее для бизнеса, чем присутствие только на одной платформе.  
  5. Кроссплатформенные приложения допускают одинаковый интерфейс и UX Тогда как производительность важна для любого мобильного приложения, его внешний вид (UI) и ощущения (UX) так же важны. Использование единой общей команды разработчиков и единого кода позволяет компаниям использовать одинаковый внешний вид приложения на всех платформах. То есть один и тот же пользовательский интерфейс и UX будет одинаково выглядеть на всех платформах.

Недостатки кроссплатформенной разработки приложений

  1. Кроссплатформенные приложения не являются такими гибкими, как нативные приложения Хотя задачи приложения будут реализовываться на всех платформах, скорее всего вы не сможете адаптировать готовое приложение для использования максимальных возможностей каждой из платформ.Работа с унифицированным стеком технологий не обеспечит такой же гибкости настройки и оптимизации, как применение стека технологий, индивидуального для каждой ОС.  
  2. Кроссплатформенные приложения не работают так же хорошо, как нативные приложения Использование одного универсального стека технологий приносит в жертву гибкость. Однако потеря гибкости в разработке будет означать потерю возможности улучшить производительность. Поскольку кроссплатформенные приложения отказываются от некоторой гибкости, эти приложения не будут работать так же хорошо, как нативные приложения.  
  3. Возможное несоответствие UI в различных платформах Внешний вид интерфейса приложения и правильная настройка UI для соответствия функционала в обеих системах может доставить проблем. К примеру, у каждой системы имеются свои требования к дизайну элементов UI. В определенных случаях эти требования могут оказаться взаимоисключающими.  
  4. Отправка кроссплатформенных приложений в соответствующие Магазины приложений может иметь сложности. Механизм добавления вашего приложения, являющегося кроссплатформенным, в Apple App Store и в Google Play Store будет отличаться. Требования этих магазинов приложений к представленным у них продуктам различны.  Прохождение всех проверок и выполнение всех правил для соответствия обоим магазинам будут вызывать определенные сложности.
Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

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

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

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