моё портфолио в виде галереи изображений (скрины сайтов и приложений) ниже представлено портфолио в виде списка - |
||
Выполненные проекты сайтов - 1) http://mospf.ru/ (контент менеджмент) 2) http://cardcar.ru/ (сайт под ключ)
|
||
3) Разработка сайта wm-bum.ru - такой сайт уже не существует в сети, но я его тоже делал. (редизайн, верстка, подключение Робокассы и Единого кошелька ) | ||
![]() |
||
4) http://subacar.ru/ (сайт под ключ) 5) http://my-english.org/ (сайт под ключ) 6) http://el-kalyan.ru/ (сайт под ключ) 7) http://bomond.by/ (сайт под ключ) 8) http://lider-in.ru/ (расширение функционала) 9) http://mmorpglove.com/ (сайт под ключ) 10) http://horiconnect.com/ (сайт под ключ) 11) http://continentalsingles.com/ (сайт под ключ) 12) http://www.free-ya.de/ (сайт под ключ) 13) http://allcarport.ru/ (подключение системы рассылки почты megainformatic cms emailer) 14) http://flexyheat.ru/ (внедрение карусели) 15) http://m-dacha.ru/ (сайт под ключ) 16) http://blagoustroy.ru/ (редизайн и верстка) 17) http://falogina.ru/ (редизайн и верстка) 18) http://odevaembebikov.ru/ (верстка, доработка функционала) 19) http://allguitar.net/ (сайт под ключ) 20) http://hino-samara.ru/ (доработка функционала, контент-менеджмент) 21) http://ekso.onestar.ru/ (доработка верстки, функционала) 22) http://alexmz.ru/ (верстка и редизайн) 23) http://alaskaluxury.ru/ (сайт под ключ) 24) http://lr-zp.ru/ (подключение Робокассы) 25) http://imidzh-studiya.com/?prices5 (отдельная страница с отдельным дизайном и блоками вынесенными в настройки админки) 26) http://technopro-3000.ru/ (сайт под ключ) 27) http://thyssenkrupp.ru/ (сайт под ключ) 28) http://adarius.ru/ (дизайн, верстка, сайт под ключ) 29) http://bestalko.ru/ (верстка) 30) http://salut-lux.ru/ (дизайн, верстка) 31) http://casino-zodiac.org/ (подключение платежной системы free-kassa.ru, интеграция в движок сайта, редизайн, верстка, мелкие доработки) 32) http://petline.ru/ (верстка, интеграция в движок) 33) http://smokoff.ru/ (доработки функционала, контент-менеджмент, периодические работы по сайту, глобальные изменения на сайте: переделка ссылок в ЧПУ, изменение функционала модулей, изменения контента) 34) http://iwo-tech.ru/ (доработки, контент-менеджмент) 35) http://styrassic-park.ru/ (сайт под ключ) 36) http://myemall.ru/ (различные доработки по функционалу) 37) http://kvartal-koop.ru, http://most-kapital.ru (создание и интеграция системы личных кабинетов, построенных на базе megainformatic cms social) - реализованные задачи описаны здесь 38) http://kosmetologvmoskve.ru/ (исправлена ошибка в верстке вывода комментариев) 39) http://megainformatic.ru/webprojects/groupon/ (сайт коллективных покупок с нуля под ключ на базе megainformatic cms), ТЗ на проект представлено здесь 40) http://www.bizukraine.com/ (модуль для платных контактов для основной и административной частей сайта) 41) http://itsis.ru/ (небольшие доработки по верстке и функционалу) 42) http://minilance.ru/ (подключение платежной системы РОБОКАССА) 43) http://toysex24.ru/ (исправление ошибки с оформлением заказа) 44) http://pw.innovaonline.su/ (подключение платежной системы ЕДИНЫЙ КОШЕЛЕК) 45) http://грандфорж.рф/ (доработки по верстке, контенту, встраивание карт - статичных, yandex-карты, фотогалерея) 46) http://jado74.ru/ (сайт под ключ) 47) http://varve.ru/webprojects/rs/ (сайт под ключ, на базе megainformatic cms rs) 48) http://dreamteh.ru/ (различные доработки: ссылка на увеличение фото, вывод каталога в левой колонке в раскрытом виде с подкатегориями, переход на страницу корзины при добавлении товара в корзину, оформление заказа, очистка корзины, продолжение покупок, правки писем отправляемых при оформлении заказа, правка письма отправляемого через форму обратной связи и т. п.) 49) http://www.translationdirectory.com/ (доработки: внешний вид форм, обработчик изменений в профиле, периодические доработки функционала) 50) http://www.sell-site.net/ (исправлена ошибка в отображении сайта) 51) http://accentdesign.kiev.ua/ (реализация подрубрик для раздела Портфолио - дополнение функционала, контент-менеджмент) 52) http://megainformatic.ru/webprojects_cms/ekstm/ (сайт под ключ) 53) http://belset.ru (пересчёт стоимости товара в зависимости от выбранных опций без перезагрузки страницы товара - http://belset.ru/podushki-dlya-sna/bambukovye-podushki.html - опция РАЗМЕР-ЦВЕТ) 54) http://badera.ru/ (доработка и написание модулей) 55) http://shopbyt.ru/ (доработка и написание модулей) 56) http://цведиз.рф (разработка калькулятора для разделов по аналогу, доработки модулей корзины, оформления заказа) 56) http://vzgroup.ru (адаптация, написание и доработка модулей) 57) http://hopsi.ru (верстка и написание модулей) 58) http://express-pak.ru/ (модуль калькулятора) 59) http://yaponka-nsk.ru (доработки функционала) 60) http://stomatologisurguta.ru - выпадающее меню, слайдер 61) http://shop.gidrologia.ru/ (ajax-модуль выгрузки файлов) 62) http://creditsoroka.ru - доработки функционала 63) http://donnapizza.ru - различные доработки - верстка, функционал |
Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008
|
||
Урок 1 Основные операторы языка C++ (часть 2) | ||
Данный небольшой урок является введением в программирование на C++ в MSVS 2008 Вам нужно иметь установленную среду Microsoft Visual Studio 2005 или 2008 (можно триал) |
||
[назад] [далее] [к содержанию] | ||
Мы рассматриваем основные конструкции языка C++ на примере работы в Microsoft Visual Studio 2008 | ||
В предыдущем уроке мы создали небольшой калькулятор. Этот урок позволил нам бегло познакомиться с некоторыми из конструкций языка C++ и некоторыми функциями. | ||
в этом уроке нам осталось рассмотреть - операторы объявления переменных; - операторы обработки исключений; |
||
- операторы объявления переменных; объявление (declaration) переменной сообщает компилятору, что элемент программы или имя существуют. Определения (definitions) определяют какой код или данные описывает имя. Имя должно быть объявлено до того, как оно будет использовано! Примеры объявлений //
Declare and define int variables i and j. объявление
переменных и присвоение начального значения //
Declare enumeration suits. объявление
перечисления //
Declare class CheckBox. объявление
класса |
||
Объявление (declaration) привносит в программу одно или более имен. Объявления могут производиться в программе многократно. Поэтому классы (classes), структуры (structures), перечисляемые типы (enumerated types) и другие определяемые пользователем типы могут быть объявлены в каждом требующем компиляции модуле. Ограничением такого множественного объявления является необходимость полной идентичности всех объявлений. Объявления могут служить также в качестве определений (definitions) исключая следующее: - это прототип функции (объявление функции без ее реализации (тела)); - содержит спецификатор extern, но не имеет инициализатора (объекты и переменные) или тела функции (функции). Это означает, что определение не нужно в текущем модуле и применяет к имени внешнее связывание; - это статичный член данных внутри объявления класса; Поскольку статичные члены данных класса представляют самостоятельные переменные, используемые совместно всеми объектами класса, они должны быть определены и инициализированы внутри объявления класса. - это объявление имени класса без последующего определения; - это оператор typedef; Примеры объявлений, которые не имеют последующих определений extern
int i; |
||
Несколько слов об определениях (definitions) Определения являются уникальными описаниями (спецификациями) объектов или переменных, функций, классов или перечислителей (enumerator). Поскольку определения должны быть уникальными, программа может содержать только одно определение для данного программного элемента. |
||
Соответствие между объявлениями и определениями сводятся к одному. Существуют два случая в которых программный элемент может быть объявлен и не определен: - функция объявлена, но ни разу не вызывается или не используется выражений требующих адреса данной функции; - класс используется только таким образом, что не требует определения. Однако класс должен быть объявлен. Вот пример демонстрирующий указанный случай: //
definitions.cpp class
Window int
main() |
||
Также советую Вам прочесть раздел документации MSVS 2008 посвященный авто-создаваемым и статичным объектам - MSVS 2008 Documentation (далее просто Help) - Development Tools and Languages > Visual Studio > Visual C++ > Reference > C/C++ Languages > C++ Language Reference > Statements > Declaration Statements | ||
- операторы обработки исключений; информацию по ним вы найдете в Help - Development Tools and Languages > Visual Studio > Visual C++ > Reference > C/C++ Languages > C++ Language Reference > Statements > Exception Handling Тема достаточно обширна, поэтому я сразу отправляю Вас к первоисточнику. В кратце могу лишь отметить, что исключения являются ошибками времени выполнения, связанными с делением на ноль, защитой памяти (Access Violation) и т. п. Базовыми операторами для этих целей являются try, catch и throw |
||
try
{ // code that could throw an exception } [ catch (exception-declaration) { // code that executes when exception-declaration is thrown // in the try block } [catch (exception-declaration) { // code that handles another exception type } ] . . . ] // The following syntax shows a throw expression: throw [expression] |
||
Язык C++ обеспечивает встроенную поддержку обработки аварийных ситуаций, известных как исключения (exceptions), которые могут происходить во время выполнения Вашей программы. Операторы try, throw и catch реализуют обработку исключений. При использовании обработки C++ исключений Ваша программа может взаимодействовать с непредвиденными событиями при высокоуровневом исполнимом контексте, который способен лучше реагировать на такие аварийные события. Такие исключения обрабатываются кодом находящимся вне основного потока выполнения программы. Рассмотрим как работает тройка операторов try, catch, throw Код после оператора try представляет защищенную секцию кода. Выражение появления исключения (throw expression) вызывает исключение (raises exception). Блок кода после catch это обработчик исключения захватывающий (обрабатывающий) исключение появившееся в выражении появления исключения. Оператор объявления исключения (exception-declaration) указывает на тип исключения обрабатываемого оператором catch. Таким типом может быть любой действительный тип данных, включая класс C++. Если оператор объявления исключения содержит многоточие (...), оператор catch обрабатывает любые типы исключений, включая исключения на C и сгенерированные системой и приложениями, такие как защита прав доступа к памяти, деление на ноль, переполнение числа с плавающей точкой. Такой обработчик должен быть последним из всех обработчиков блока try. Операнд при операторе throw синтаксически подобен операнду оператора return. Исполнение происходит в следующей последовательности:
|
||
Следующий пример из документации по MSVS показывает использование блока try и соответствующего ему обработчика catch. Пример определяет ошибку выделения памяти при использовании оператора new. Если new прошел успешно catch обработчик не будет исполнен: //
exceptions_trycatchandthrowstatements.cpp |
||
в следующем уроке мы познакомимся с особенностями создания оконных Win32-приложений | ||
[назад] [далее] [к содержанию] |
автор: Тимонин Андрей
дата публикации на сайте Мега Информатик: 15.11.2012
Тимонин Андрей - Несколько слов о себе
Flash приложения распространены в интернет индустрии и преобладают в различных социальных сетях. В этой статье мы узнаем, что используется для разработки таких приложений.
Создаем наш первый проект.
Flash. Flash. Экспорт SWC библиотеки.
Эта статья будет посвящена основам flash программирования. Здесь мы разберемся с экспортом библиотеки из Adobe flash.
Тимонин Андрей - статьи о веб программировании, создании игр
[к содержанию] [назад] [далее] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[к содержанию] [назад] [далее] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Урок 8: Настройка параметров сэмплов Сэмплы - это основа любой Вашей композиции. От их качества зависит качество получаемого звука. В MT вы не можете создавать свои сэмплы. Их можно только загружать в готовом виде. Для создания сэмплов используйте другие специализированные программы, например Sound Forge (см. уроки 1,2). Однако есть ряд параметров сэмпла, которые Вы можете задавать, меняя тем самым качество получаемого звука. |
Сэмпл - образец звука, синтезированного или оцифрованного, используемый для проигрывания на разных частотах дискретизации в качестве виртуального музыкального инструмента в трэкере. |
||
Перейдите в окно списка сэмплов - вкладка Samples. Загрузите какой-нибудь сэмпл и посмотрите какие имеются параметры. |
Default volume: громкость сэмпла по умолчанию - вы можете задавать значение 0-64 с клавиатуры - для этого клавишами [Tab] и [Shift]+[Tab] вам нужно перевести курсор в это поле и ввести значение с клавиатуры. Или можно перемещать ползунок - мышью! Global volume: глобальная максимальная громкость которую можно установить для сэмпла. Set pan: значение панорамы (смещение баланса между левым и правым стерео-каналами) по умолчанию. Отсутствие галочки соответствует отключенному состоянию панорамы - когда мы вообще не регулируем ее. Значение поля соответствует заданному балансу. 0 - полное смещение в левый канал и 128 - в правый. Auto-Vibrato, Depth, Sweep, Rate - параметры задающие управление вибрацией звука генерируемого сэмплом. Это соответственно - форма волны вибрации, глубина, скорость и диапазон вибрации. Поэкспериментируйте - сразу поймете что к чему! |
||
Важные характеристики сэмпла: |
В левой половинке окна параметров сэмпла остались самые важные параметры: (Сверху-вниз по-порядку) -Name, File - название сэмпла и имя файла (беспокоиться о его расположении не нужно, т.к. будучи загруженным в композицию сэмпл становится ее частью и располагается внутри), но информация о названии может быть вам полезна тогда, когда Вы захотите загрузить и в другую свою композицию какой-то такой же понравившийся Вам сэмпл; Freq- базовая частота дискретизации сэмпла (Гц) c которой воспроизводится нота в поле Transpose. Принцип генерации звуков всех других нот довольно прост - каждая нота имеет определенное (стандартизированное) смещение в частоте дискретизации относительно базовой ноты (С-4). Например, следующая нота C#4 - имеет смещение в 4 Гц, D-4 - в 1024 Гц и т.п. Таким образом звук более высокой (по тону) ноты проигрывается быстрее давая звук более высокой звуковой частоты и наоборот - медленнее - ниже. Этим способом воспроизводится все богатство нот генерируемых одним лишь сэмплом. Базовую частоту дискретизации сэмпла можно легко изменить - выполнив смещение на полутон или целую октаву или просто введя производльное (до определенного предела) значение. Такое смещение естественно повлияет на расстановку тонов нот. Поэтому если правильный сэмпл использовать с неправильной частотой дискретизации это может привести к эффекту "расстроенного рояля" - т.е. ноты инструмента будут выдавать совсем не те тона, которые им положены. Здесь мы подошли к вопросу о базовой частоте создаваемых сэмплов. Когда Вы создаете свои сэмплы учитывайте частоту звука задаваемую Вами при генерации сэмпла в Sound Forge, а затем проверяйте свой сэмпл на слух в IT и при необходимости корректируйте частоту задаваемую в Sound Forge или базовую частоту дискретизации в IT. У такого способа генерации звуков нот есть и недостаток - ноты верхних октав воспроизводятся с более высокой скоростью, поэтому длительность звука при воспроизведении этих нот становится меньше. Например, если Ваш сгенерированный в Sound Forge сэмпл имел длину в 1 секунду - то эта длина относится только к воспроизведению ноты C-4. Ноты же более низких октав будут длиннее - в соответствии с понижением их частот дискретизации, ноты более высоких октав будут короче.
|
||
Смещение базовой частоты сэмпла - задается выбором ноты из поля Transpose. |
Другие параметры сэмпла: Loop - зацикливание - приводит к бесконечному воспроизведению сэмпла остановить которое можно - нажатием клавиши другой ноты, клавиши [F8]. При проигрывании нот таким сэмплом в паттернах звук можно погасить командой ^^ - клавиша [1] при работе в режиме РЕДАКТИРОВАНИЯ ПАТТЕРНА или командой задающей нулевую громкость - 00 в столбце громкости. Параметр Loop может быть только в одном из трех состояний - Off/On Forward/On Pin-Pong- Выключено/Включено прямое воспроизведение/Включено воспроизведение вида с начала до конца - с конца до начала. Start и End - задают кусок сэмпла, который будет бесконечно повторяться при зацикливании. Значения задаются в байтах от длины сэмпла (len). |
||
Если Вы вдоволь поэкспериментировали со всеми параметрами сэмплов и Вам все более-менее ясно, то можно двигаться дальше. Теперь мы рассмотрим как применяются различные эффекты в деле - т.е. при воспроизведении композиции. Наша задача - научиться управлять этим процессом задавая нужные эффекты при редактировании паттернов. |
Sustain Loop, Start, End - задаются цикл Sustain - удержание звука. Почти то же, что и Loop - но с постепенным затуханием звука.
В окошке ниже должен отображаться вид сэмпла (так как Вы его видите при создании в Sound Forge). |
||
Попробуйте загрузить небольшой примерчик композиции - здесь. И мы займемся его рассмотрением. |
Скачайте
данный пример, распакуйте из архива и откройте из MT. |
||
Предполагаем,
что Вы уже запустили MT и открыли данный пример - композиция primer1.it |
Перейдите в окно редактирования паттернов - вкладка Patterns. Вы увидите в первом канале набор нот и набор команд.
|
||
Теперь Вы можете поэкспериментировать - сначала попробуйте воспроизвести то, что есть - [F5]. Хорошо? Тогда стоп - [F8]. Попробуйте что-нибудь изменить - ноты, эффекты, значения параметров эффектов и т.п. |
Список всех эффектов смотрите в справочной системе - Help > Contents. Читайте и пробуйте! | ||
Ну как? Здорово?! |
Теперь Вы уже знаете почти всё для того, чтобы создавать свою музыку. Опыт придёт к Вам по-мере того, как Вы будете экспериментировать! |
||
|
|||
[Предыдущий урок] | [Все уроки] |