WEB start

Компьютеры. Интернет. Профессиональное обучение. 055-966-10-17

hit 
counter

Обучение

Широкий спектр программ и различных форм обучения

Возможность заочного, дистанционного обучения 055-966-10-17
  • Программирование. Современные языки и технологии.
  • Обслуживание персональных компьютеров.
  • Компьютерные сети. Защита информации.
  • Интернет. Планирование, создание WEB-сайтов. Дизайн, программирование. CEO, продвижение сайтов в интернет.
  • Основы современных IT - технологий.

Наши преимущества

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


Регистрация на сайте

MySQL

  • PHP MySQL

    PHP работа с базами данных

    Что такое база данных MySQL

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

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

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

    В настоящее время для хранения и управления большими массивами информации используются:

    реляционные системы управления базами данных (RDBMS Relational Database Management System). Все данные в такой системе хранятся в разных таблицах и отношения между ними устанавливаются с использованием различного типа ключей. Иногда называют SQL - базы данных.


    MySQL - популярная система управления базами данных. Практически все языки программирования поддерживают API для работы с MySQL.

    Самое популярное сочетание для современных WEB разработок - это язык программирования PHP и MySQL в качестве системы управления базами данных.

    MySQL использует стандартные запросы языка SQL (Structured Query Languagequeries) для манипуляций с данными.

    Терминология

    • Database: реляционная база данных, которая представляет собой набор таблиц с данными.
    • Table: таблица, еоторая представляет собой матрицу с данными, состоит из рядов и колонок.
    • Column: один столбец (data element) содержит данные одного и того же типа, например: столбец - почтовый индекс.
    • Row: строка таблицы в базе данных представляет собой группу связанных данных, например данные одного клиента.
    • Primary Key: первичный ключ, коорый является уникальным. С помощью ключа можно быстро найти нужную строку.
    • Foreign Key: внешний ключ связывает данные из разных таблиц.
    • Compound Key: комбинированный ключ (composite key) является ключом , который состоит из нескольких колонок.

    Работа с MySQL через WEB интерфейс - phpMyAdmin

    PhpMyAdmin - это самый популярный сегодня, бесплатный программный инструмент - графический WEB интерфейс, написанный на PHP, предназначенный для управления бзами данных MySQL через интернет.

    PhpMyAdmin поддерживает широкий спектр операций с базами данных MySQL. Часто используемые операции (управление базами данных, таблицы, столбцы, отношения, индексы, пользователи, разрешения и т. Д.) могут выполняться как через пользовательский интерфейс так и через SQL - запросы.

    PHP - MySQL драйверы и плагины

    Язык PHP предоставляетрасширения для работы с различными базами данных. В том числе - MySQL.

    API предоставляет на выбор три набора инструментов для подключения к серверу баз данных MySQL:

    • Расширение PHP MySQL
    • Расширение PHP MySQLi
    • Объекты данных PHP (PDO)

    Наиболее часто сегодня используется MySQLi.

    Расширение MySQLi, или как его еще называют улучшенное (improved) MySQL расширение, было разработано, чтобы дать возможность программистам в полной мере воспользоваться функционалом MySQL сервера версий 4.1.3 и выше. Расширение mysqli включается в поставку PHP версий 5 и выше.

    Объекты данных PHP, или PDO, представляют из себя абстракцию коннектора баз данных для PHP приложений. PDO предоставляет API интерфейс взаимодействия с базой данных, не зависящий от конкретной СУБД. Теоретически, при использовании PDO можно поменять сервер баз данных, например с Firebird на MySQL, и это приведет лишь к незначительным изменениям в PHP коде.

    Создание базы данных

    База данных в MySQL - это набор таблиц и связей между ними.

    Для управления этой базой данных создаётся пользователь с определённым набором прав на неё. Когда на сервер ставится MySQL, он создаёт единственного пользователя root с максимальными правами. Далее можно управлять пользователями, создавать новых, удалять, менять права. Обычная практика: дл каждой базы данных создаётся свой пользователь.

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

    Каждое действие с данными проводит SQL запрос (SQL query), который даёт команду серверу.

    Основные команды

    • SELECT - извлекает данные из базы данных
    • UPDATE - обновляет данные в базе данных
    • DELETE - удаляет данные из базы данных
    • INSERT INTO - вставляет новые данные в базу данных
    • CREATE DATABASE - создает новую базу данных
    • ALTER DATABASE - изменяет базу данных
    • CREATE TABLE - создает новую таблицу
    • ALTER TABLE - изменяет таблицу
    • DROP TABLE - удаляет таблицу
    • CREATE INDEX - создает индекс (ключ поиска)
    • DROP INDEX - удаляет индекс


    Примеры стандартных SQL запросов

    Предположим, что наш MySQL server установлен на localhost (тот же компьютер, на котором запускается PHP программа, обращающаяся к этому серверу).

    Пользователь, имеющий полные права на управление сервером - root, с паролем Test12345.

    Создадим базу данных Students вот такой структуры:

    ID Имя Дата регистрации Курс












    Для этого:

    1. подключаемся с серверу MySQL
    2. создаём пользователя и базу данных, даём пользователю полные права на эту БД
    3. создаём в БД таблицу.

    Используем методы MySQLi. Для создания баз подключаемся к серверу с данными пользователя, имеющего право создавать базы данных (сейчас - root nr как никаких других мы не создавали).

    Подключаемся к MySQL серверу из PHP программы, 

    $servername = "localhost"; $username = "root"; $password = "Test12345"; $dbname = "Students"; // Create connection $conn = mysqli_connect($servername, $username, $password); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); }


    созданём базу данных Students

    // Create database $sql="CREATE DATABASE $dbname CHARACTER SET utf8 COLLATE utf8_general_ci"; if (mysqli_query($conn, $sql)) { echo "Database <b>$dbname</b> created successfully"; } else { echo "Error creating database: " . mysqli_error($conn); }

    Созданём пользователя и даём ему права на базу данных


    Создаём таблицу



    PDO




    Основные типы даннх

    Числовые типы данных

    Тип данных Объем памяти
    байт
    Диапазон Описание
    TINYINT (M) от -128 до 127
    или
    от 0 до 255
    Целое. Может быть объявлено UNSIGNED. Необязательный параметр М - количество отводимых под число символов. Необязательный атрибут ZEROFILL позволяет свободные позиции по умолчанию заполнить нулями.

    TINYINT - число в диапазоне от -128 до 127.

    TINYINT UNSIGNED - число в диапазоне от 0 до 255.

    TINYINT (3) ZEROFILL - свободные позиции слева заполнит нулями. Например, величина 2 будет отображаться, как 002.

    SMALLINT (M) от -32768 до 32767 или
    от 0 до 65535

    SMALLINT - целое число в диапазоне от -32768 до 32767.

    SMALLINT UNSIGNED - целое число в диапазоне от 0 до 65535.

    SMALLINT (4) ZEROFILL - свободные позиции слева заполнит нулями. Например, величина 2 будет отображаться, как 0002.

    MEDIUMINT (M) от -8388608 до 8388608
    или
    от 0 до 16777215

    MEDIUMINT - целое число в диапазоне от -8388608 до 8388608.

    MEDIUMINT UNSIGNED - целое число в диапазоне от 0 до 16777215.

    MEDIUMINT (5) ZEROFILL - свободные позиции слева заполнит нулями. Например, величина 2 будет отображаться, как 00002.

    INT (M)
    или
    INTEGER (M)
    от -2147683648 до 2147683648 или от 0 до 4294967295

    INT - хранит целое число в диапазоне от -2147683648 до 2147683648.

    INT UNSIGNED - целое число в диапазоне от 0 до 4294967295.

    INT (5) ZEROFILL - свободные позиции слева заполнит нулями. Например, величина 2 будет отображаться, как 00002.

    BIGINT (M) от -263 до 263-1 или от 0 до 264

    BIGINT - целое число в диапазоне от -263до 263-1.

    BIGINT UNSIGNED - целое число в диапазоне от 0 до 264.

    BIGINT (7) ZEROFILL - свободные позиции слева заполнит нулями. Например, величина 2 будет отображаться, как 0000002.

    BOOL или BOOLEAN 1 либо 0, либо 1 Булево значение. 0 - ложь (false), 1 - истина (true).
    DECIMAL (M,D) или DEC (M,D) или NUMERIC (M,D) M + 2  зависят от параметров M и D Используются для величин повышенной точности, например, для денежных данных.
    M - количество отводимых под число символов (максимальное значение - 64).
    D - количество знаков после запятой (максимальное значение - 30).

    DECIMAL (5,2) - будет хранить числа от -99,99 до 99,99.

    FLOAT (M,D) мин. значение +(-) 1.175494351 * 10-39

    макс. значение +(-) 3. 402823466 * 1038

    Вещественное число (с плавающей точкой). Может иметь параметр UNSIGNED, запрещающий отрицательные числа, но диапазон значений от этого не изменится. M - количество отводимых под число символов. D - количество символов дробной части. 

    FLOAT (5,2) - будет хранить числа из 5 символов, 2 из которых будут идти после запятой (например: 46,58).

    DOUBLE (M,D) мин. значение +(-) 2.2250738585072015 * 10-308

    макс. значение +(-) 1.797693134862315 * 10308

    DOUBLE - большие дробные числа.


    Строковые типы данных

    Тип данных Объем памяти
    символов
    Максимальный размер
    символов
    Описание
    CHAR (M) M М  Позволяет хранить строку фиксированной длины М. Значение М - от 0 до 65535.

    CHAR (8) - хранит строки из 8 символов и занимает 8 байтов. Например, любое из следующих значений: '', 'Иван','Ирина', 'Сергей' будет занимать по 8 байтов памяти. А при попытке ввести значение 'Александра', оно будет усечено до 'Александ', т.е. до 8 символов.

    VARCHAR (M) L+1  М  Позволяет хранить переменные строки длиной L. Значение М - от 0 до 65535.

    VARCHAR (3) - хранит строки максимум из 3 символов, но пустая строка '' занимает 1 байт памяти, строка 'a' - 2 байта, строк 'aa' - 3 байта, строка 'aaa' - 4 байта. Значение более 3 символов будет усечено до 3.

    BLOB, TEXT L+2  216-1  Позволяют хранить большие объемы текста. Причем тип TEXT используется для хранения именно текста, а BLOB - для хранения изображений, звука, электронных документов и т.д.
    MEDIUMBLOB, MEDIUMTEXT L+3  224-1  Аналогично предыдущему, но с большим размером.
    LONGBLOB, LONGTEXT L+4  232-1  Аналогично предыдущему, но с большим размером.
    ENUM ('value1', 'value2',...,'valueN') 1 или 2 байта 65535 элементов Строки этого типа могут принимать только одно из значений указанного множества.

    ENUM ('да', 'нет') - в столбце с таким типом может храниться только одно из имеющихся значений. Удобно использовать, если предусмотрено, что в столбце должен храниться ответ на вопрос.

    SET ('value1', 'value2',...,'valueN') до 8 байт 64 элемента Строки этого типа могут принимать любой или все элементы из значений указанного множества.

    SET ('первый', 'второй') - в столбце с таким типом может храниться одно из перечисленных значений, оба сразу или значение может отсутствовать вовсе.

    Календарные типы данных

    Тип данных Объем памяти
    байт
    Диапазон Описание
    DATE от '1000-01-01' до '9999-12-31' Предназначен для хранения даты. В качестве первого значения указывается год в формате "YYYY", через дефис - месяц в формате "ММ", а затем день в формате "DD". В качестве разделителя может выступать не только дефис, а любой символ отличный от цифры.
    TIME от '-838:59:59' до '838:59:59' Предназначен для хранения времени суток. Значение вводится и хранится в привычном формате - hh:mm:ss, где hh - часы, mm - минуты, ss - секунды. В качестве разделителя может выступать любой символ отличный от цифры.
    DATATIME от '1000-01-01 00:00:00' до '9999-12-31 23:59:59' Предназначен для хранения и даты и времени суток. Значение вводится и хранится в формате - YYYY-MM-DD hh:mm:ss. В качестве разделителей могут выступать любые символы отличные от цифры.
    TIMESTAMP от '1970-01-01 00:00:00' до '2037-12-31 23:59:59' Предназначен для хранения даты и времени суток в виде количества секунд, прошедших с полуночи 1 января 1970 года (начало эпохи UNIX).
    YEAR (M) 1 от 1970 до 2069 для М=2 и от 1901 до 2155 для М=4 Предназначен для хранения года. М - задает формат года. Например, YEAR (2) - 70, а YEAR (4) - 1970. Если параметр М не указан, то по умолчанию считается, что он равен 4.


    Тип данных NULL


    NOT NULL (значение не может отсутствовать) для полей логин и пароль,

    NULL (значение может отсутствовать) для полей дата рождения и пол.

    По умолчанию всем столбцам присваивается тип NOT NULL, поэтому его можно явно не указывать.

    Пример:

    create table users (login varchar(20), password varchar(15), sex enum('man', 'woman') NULL, date_birth date NULL); 

    Таким образом создаем таблицу с 4 столбцами: 

    логин (не более 20 символов) обязательное, 

    пароль (не более 15 символов) обязательное, 

    пол (мужской или женский) не обязательное, 

    дата рождения (тип дата) необязательное.





  • WEB - Основы современных интернет-технологий

    Основы современных интернет-технологий

    Введение

    Интернет сегодня - это всемирная сеть, которая объединяет миллионы компьютеров, расположенных в разных частях света. Функционирование этой сети обеспечивает организация  ISOC (The Internet Society) - это американская некоммерческая организация (Reston, Virginia, U.S.), основанная в 1992 году. Штаб-квартира ISOC  находится в городе Рестон, Вирджиния, США , ISOC имеет фиоиалы  в Женеве, Швейцария. Члены ISOC -  более чем 140 организаций и более 80 000 индивидуальных членов. 

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

    Набор этих правил регламентируется и публикуются организацией - IETF ( Internet Engineering Task Force - Fremont, California, United States). Эти стандарты (интернет-протоколы - TCP/IP stack) публикутся в форме специальных документов - RFC (Requests For Comments), которые общедоступны.

    В пространстве Интернет можно выделить компьютеры, на которых установлены специальные программы которые   умеют предоставлять различные Интернет-услуги. Они называются Серверами (Server). Так, например, на каком-то компьютере может быть установлен WEB сервер ( Apacheб IIS,... ). В этом случае компьютер сможет публиковать в Интернет WEB - сайты.

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

    Протоколы TCP/IP

    Подробное описание стека протоколов TCP/IP выходит за рамки нашего обсуждения. 

    Для WEB - разработчика достаточно иметь общее представленте о некоторых из них.

    Протоколы TCP (Transmission Control Protocol), IP (Internet Protocol) обеспечивают адресацию компьютеров в пространстве Интарнет, доставку пакетов (единицу информации). Каждому компьютеру в Интернет присваивается уникальный адрес IP, состоящий из 4-х наборов цифр. Например адрес 8.8.8.8 принадлежит DNS серверу Google.

    Распределением этих адресов занимается InterNic (International Network Information Center).

    Протокол DNS. 

    Для удобства использования Интернет-адресов их цифровые значения часто заменяют на более читабельные текстовые адреса - DNS -  имена. Специальные сервера (DNS - Server) поддерживают в пространстве Интернет распеделённую иерархическую базу данных DNS имён. 

    Основная задача этой базы данных - приводить в соответсвие   цифровые IP - адреса текстовым DNS именам. Для общения компьютеров в Интенет необходимы именно цифровые IP адреса. 

    Протокол DND даёт пользователям возможность не запоминать цифры, а запоминать дружественные текстовые имена в качестве адресов в Интернет.

    Пространство DNS имён представляет собой дерево. От корня этого дерева имён отходят ветки - домены верхнего уровня. У каждого из них есть дочерние втки - домены следующих уровней. Распределением DNS имён и поддержкой доменов верхнего уровня - TLD (Top Level Domains) занимается ICANN   (Internet Corporation for Assigned Names and Numbers). Управление доменами следующих подуровней делегировано другим организациям.

    Протокол FTP позволяет обмениваться файлами через Интернет.

    Протоколы POP, SMTP, IMAP позволяют обмениваться почтовыми сообщениями.

    Протокол HTTP описывает правила взаимодействия WEB сервера с его клиентом - браузером.


    Разработка WEB сайтов

    Стандарты для разработчиков WEB регулируются организацией W3C  (World Wide Web Consortium).

    Это, например, CGI, CSS, DOM, HTML.

    • Технологии Front-end, Back-end. 
    • WEB страница. WEB сайт. Принципы построения и функционирования.


    Основные этапы построения сайта

    • Планирование сайта, выбор и регистрация имени домена.
    • Контент сайта. Планирование и подготовка содержимого сайта.
    • Дизайн сайта. Проработка логики построения сайта. Разработка схемы навигации. Меню.
    • Разработка графического дизайна. Выбор платформы сайта. Создание сайта.
    • Выбор хостинга. Размещение сайта на WEB – хостинге. 
    • Тестирование сайта.
    • Оптимизация сайта. Теги META, Ссылки сайта (SEF). Карта сайта (sitemap). Подготовка для поисковых роботов. Регистрация в поисковиках. SEO. Аналитика, продвижение сайта в интернет.


    Программирование для WEB

    • WEB - сервера. WEB - браузеры. Обзор языков HTML, JavaScript, PHP

     

    Записаться на курс

     



  • Web developer

    Современные интернет-технологии

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

    • Графический дизайн интерфейса сайта (WEB design, UI design )
    • Разработка функциональных возможностей сайта (Front-end development, UX design и Back-end development)

    В зависимости от деталей реализации каждого конкретного интерет-проекта: его целей, сложности, бюджета может отпасть необходимость какого-либо конкретного этапа разработок.

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

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

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

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

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

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

    WEB дизайнер

    (WEB designer, UI/UX designer)

    Курс рассчитан на подготовку специалистов по разработке графического интерфейса для интернет-проектов.

    Это: графический дизайн сайта, создание шаблонов, подготовка и оптимизация графического контента (картинки, mutimedia).

    Предварительные требования

    • Опыт работы с компьютером и интернет в качестве пользователя (интерфейс Windows или Linux, интернет браузер, текстовый редактор)

    Программа курса

    Adobe Photoshop, Illustrator, Dreamweaver - basics

    HTML5, CSS3, FlexBox, CSS grid

    Bootstrap 4 - CSS

    WEB - разработчик (интерфейс пользователя)

    (Front-end, Client-side developer)

    Курс рассчитан на подготовку специалистов-разработчиков, специализирующихся на клиентской части интернет-приложений.

    Это: логика и функционал интерфейса сайта - всё то, что выполняется браузером клиента. А также: оптимизация сайта для поисковых машин, интернет-продвижение сайта (CEO).

    Предварительные требования

    • Опыт работы с компьютером и интернет в качестве пользователя (интерфейс Windows или Linux, интернет браузер, текстовый редактор)
    • Базовые знания Английского языка (на уровне технического перевода)

    Программа курса

    Акад. часов - в группеАкад. часов - индивидуально
    1HTML5, CSS3, FlexBox, CSS grid 6010
    2Browser, DOM, JavaScript 60 10
    3jQuery, jQuery UI 406
    4Bootstrap 4 - CSS, Bootstrap 4 - jQuery 305
    5NodeJS, MS TypeScript, SASS 305
    6Angular 5 framework 5510
    7CEO 152
    Всего 31035

    WEB - разработчик (серверные приложения)

    (Back-end, Server-side developer)

    Курс рассчитан на подготовку специалистов-разработчиков, специализирующихся на серверной части интернет-приложений.

    Это: функционирование серверной части интернет-приложения, обработка запросов клиентов, базы данных.

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

    Наиболее распространённые - это сервера Apache на операционной системе Linux. Программирование на PHP, MySQL.

    Предварительные требования

    • Опыт работы с компьютером и интернет в качестве пользователя (интерфейс Windows или Linux, интернет браузер, текстовый редактор)
    • Базовые знания Английского языка (на уровне технического перевода)


    Программа курса - Back-end PHP

    Акад. часов - в группеАкад. часов - индивидуально
    1HTML5, CSS3 508
    2Apache102
    3PHP 7, MySQL10020
    4Laravel 5 Framework 10020
    Всего 30050


    Программа курса - Back-end Java

    Акад. часов - в группеАкад. часов - индивидуально
    1HTML5, CSS3508
    2Apache, Tomcat, Eclipse 407
    3Java 10020
    4Spring MVC10020
    Всего29055


    Программа курса - Back-end Python

    Акад. часов - в группеАкад. часов - индивидуально
    1HTML, CSS, and JavaScript6010
    2Python and Django18040
    Всего24050


    WEB - разработчик (полный курс)

    (Full stack WEB developer )

    Курс готовит универсальных специалистов широкого профиля, охватывая специальности: Front-end и Back-end developer


    WEB - начинаюшим

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

    Это: системы управления контентом (WordPress, Joomla, Opencart), использование готовых шаблонов, создание шаблонов - Artisteer.

    Предварительные требования

    • Опыт работы с компьютером в качестве пользователя

    Программа курса

    Акад. часов - в группе Акад. часов - индивидуально
    1HTML5, CSS3 - intro 305
    2CMS Joomla, WordPress, Opencart 10020
    3Шаблоны сайтов. Artisteer5010
    Всего18035