{"global":{"lastError":{},"locale":"ru","locales":{"data":[{"id":"de","name":"Deutsch"},{"id":"en","name":"English"},{"id":"ru","name":"Русский"}],"loading":false,"error":false},"currency":{"id":49,"name":"EUR"},"currencies":{"data":[{"id":49,"name":"EUR"},{"id":124,"name":"RUB"},{"id":153,"name":"UAH"},{"id":155,"name":"USD"}],"loading":false,"error":false},"translations":{"company":{"role-vendor":{"ru":"Производитель","_type":"localeString","en":"Vendor"},"role-supplier":{"ru":"Поставщик","_type":"localeString","en":"Supplier"},"products-popover":{"_type":"localeString","en":"Products","de":"die produkte","ru":"Продукты"},"introduction-popover":{"ru":"внедрения","_type":"localeString","en":"introduction"},"partners-popover":{"_type":"localeString","en":"partners","ru":"партнеры"},"update-profile-button":{"ru":"Обновить профиль","_type":"localeString","en":"Update profile"},"read-more-button":{"ru":"Показать ещё","_type":"localeString","en":"Show more"},"hide-button":{"_type":"localeString","en":"Hide","ru":"Скрыть"},"user-implementations":{"en":"Deployments","ru":"Внедрения","_type":"localeString"},"categories":{"en":"Categories","ru":"Компетенции","_type":"localeString"},"description":{"ru":"Описание","_type":"localeString","en":"Description"},"role-user":{"ru":"Пользователь","_type":"localeString","en":"User"},"partnership-vendors":{"en":"Partnership with vendors","ru":"Партнерство с производителями","_type":"localeString"},"partnership-suppliers":{"ru":"Партнерство с поставщиками","_type":"localeString","en":"Partnership with suppliers"},"reference-bonus":{"en":"Bonus 4 reference","ru":"Бонус за референс","_type":"localeString"},"partner-status":{"ru":"Статус партнёра","_type":"localeString","en":"Partner status"},"country":{"_type":"localeString","en":"Country","ru":"Страна"},"partner-types":{"ru":"Типы партнеров","_type":"localeString","en":"Partner types"},"branch-popover":{"_type":"localeString","en":"branch","ru":"область деятельности"},"employees-popover":{"_type":"localeString","en":"number of employees","ru":"количество сотрудников"},"partnership-programme":{"_type":"localeString","en":"Partnership program","ru":"Партнерская программа"},"partner-discounts":{"ru":"Партнерские скидки","_type":"localeString","en":"Partner discounts"},"registered-discounts":{"en":"Additional benefits for registering a deal","ru":"Дополнительные преимущества за регистрацию сделки","_type":"localeString"},"additional-advantages":{"_type":"localeString","en":"Additional Benefits","ru":"Дополнительные преимущества"},"additional-requirements":{"_type":"localeString","en":"Partner level requirements","ru":"Требования к уровню партнера"},"certifications":{"_type":"localeString","en":"Certification of technical specialists","ru":"Сертификация технических специалистов"},"sales-plan":{"ru":"Годовой план продаж","_type":"localeString","en":"Annual Sales Plan"},"partners-vendors":{"ru":"Партнеры-производители","_type":"localeString","en":"Partners-vendors"},"partners-suppliers":{"en":"Partners-suppliers","ru":"Партнеры-поставщики","_type":"localeString"},"all-countries":{"_type":"localeString","en":"All countries","ru":"Все страны"},"supplied-products":{"_type":"localeString","en":"Supplied products","ru":"Поставляемые продукты"},"vendored-products":{"en":"Produced products","ru":"Производимые продукты","_type":"localeString"},"vendor-implementations":{"_type":"localeString","en":"Produced deployments","ru":"Производимые внедрения"},"supplier-implementations":{"_type":"localeString","en":"Supplied deployments","ru":"Поставляемые внедрения"},"show-all":{"_type":"localeString","en":"Show all","ru":"Показать все"},"not-yet-converted":{"_type":"localeString","en":"Data is moderated and will be published soon. Please, try again later.","ru":"Данные модерируются и вскоре будут опубликованы. Попробуйте повторить переход через некоторое время."},"schedule-event":{"en":"Events schedule","ru":"Pасписание событий","_type":"localeString"},"implementations":{"ru":"Внедрения","_type":"localeString","en":"Deployments"},"register":{"ru":"Регистрация ","_type":"localeString","en":"Register"},"login":{"ru":"Вход","_type":"localeString","en":"Login"},"auth-message":{"_type":"localeString","en":"To view company events please log in or register on the sit.","ru":"Для просмотра ивентов компании авторизируйтесь или зарегистрируйтесь на сайт."},"company-presentation":{"ru":"Презентация компании","_type":"localeString","en":"Company presentation"}},"header":{"help":{"de":"Hilfe","ru":"Помощь","_type":"localeString","en":"Help"},"how":{"de":"Wie funktioniert es","ru":"Как это работает","_type":"localeString","en":"How does it works"},"login":{"_type":"localeString","en":"Log in","de":"Einloggen","ru":"Вход"},"logout":{"en":"logout","ru":"Выйти","_type":"localeString"},"faq":{"_type":"localeString","en":"FAQ","de":"FAQ","ru":"FAQ"},"references":{"de":"References","ru":"Мои запросы","_type":"localeString","en":"Requests"},"solutions":{"ru":"Возможности","_type":"localeString","en":"Solutions"},"find-it-product":{"en":"Selection and comparison of IT product","ru":"Подбор и сравнение ИТ продукта","_type":"localeString"},"autoconfigurator":{"ru":"Калькулятор цены","_type":"localeString","en":" Price calculator"},"comparison-matrix":{"en":"Comparison Matrix","ru":"Матрица сравнения","_type":"localeString"},"roi-calculators":{"en":"ROI calculators","ru":"ROI калькуляторы","_type":"localeString"},"b4r":{"ru":"Бонус за референс","_type":"localeString","en":"Bonus for reference"},"business-booster":{"ru":"Развитие бизнеса","_type":"localeString","en":"Business boosting"},"catalogs":{"ru":"Каталоги","_type":"localeString","en":"Catalogs"},"products":{"ru":"Продукты","_type":"localeString","en":"Products"},"implementations":{"ru":"Внедрения","_type":"localeString","en":"Deployments"},"companies":{"ru":"Компании","_type":"localeString","en":"Companies"},"categories":{"_type":"localeString","en":"Categories","ru":"Категории"},"for-suppliers":{"ru":"Поставщикам","_type":"localeString","en":"For suppliers"},"blog":{"_type":"localeString","en":"Blog","ru":"Блог"},"agreements":{"_type":"localeString","en":"Deals","ru":"Сделки"},"my-account":{"ru":"Мой кабинет","_type":"localeString","en":"My account"},"register":{"en":"Register","ru":"Зарегистрироваться","_type":"localeString"},"comparison-deletion":{"ru":"Удаление","_type":"localeString","en":"Deletion"},"comparison-confirm":{"_type":"localeString","en":"Are you sure you want to delete","ru":"Подтвердите удаление"},"search-placeholder":{"en":"Enter your search term","ru":"Введите поисковый запрос","_type":"localeString"},"my-profile":{"ru":"Мои Данные","_type":"localeString","en":"My Profile"},"about":{"en":"About Us","_type":"localeString"},"it_catalogs":{"_type":"localeString","en":"IT catalogs"},"roi4presenter":{"_type":"localeString","en":"Roi4Presenter"},"roi4webinar":{"_type":"localeString","en":"Roi4Webinar"},"sub_it_catalogs":{"_type":"localeString","en":"Find IT product"},"sub_b4reference":{"_type":"localeString","en":"Get reference from user"},"sub_roi4presenter":{"en":"Make online presentations","_type":"localeString"},"sub_roi4webinar":{"_type":"localeString","en":"Create an avatar for the event"},"catalogs_new":{"_type":"localeString","en":"Products"},"b4reference":{"en":"Bonus4Reference","_type":"localeString"},"it_products":{"_type":"localeString","en":"Find and compare IT products"},"it_implementations":{"en":"Learn implementation reviews","_type":"localeString"},"it_companies":{"_type":"localeString","en":"Find vendor and company-supplier"},"it_categories":{"_type":"localeString","en":"Calculate ROI and price"},"it_our_products":{"_type":"localeString","en":"Our Products"},"it_it_catalogs":{"_type":"localeString","en":"IT catalogs"}},"footer":{"copyright":{"de":"Alle rechte vorbehalten","ru":"Все права защищены","_type":"localeString","en":"All rights reserved"},"company":{"de":"Über die Firma","ru":"О компании","_type":"localeString","en":"My Company"},"about":{"en":"About us","de":"Über uns","ru":"О нас","_type":"localeString"},"infocenter":{"_type":"localeString","en":"Infocenter","de":"Infocenter","ru":"Инфоцентр"},"tariffs":{"en":"Subscriptions","de":"Tarife","ru":"Тарифы","_type":"localeString"},"contact":{"ru":"Связаться с нами","_type":"localeString","en":"Contact us","de":"Kontaktiere uns"},"marketplace":{"en":"Marketplace","de":"Marketplace","ru":"Marketplace","_type":"localeString"},"products":{"en":"Products","de":"Produkte","ru":"Продукты","_type":"localeString"},"compare":{"de":"Wähle und vergleiche","ru":"Подобрать и сравнить","_type":"localeString","en":"Pick and compare"},"calculate":{"de":"Kosten berechnen","ru":"Расчитать стоимость","_type":"localeString","en":"Calculate the cost"},"get_bonus":{"de":"Holen Sie sich einen Rabatt","ru":"Бонус за референс","_type":"localeString","en":"Bonus for reference"},"salestools":{"de":"Salestools","ru":"Salestools","_type":"localeString","en":"Salestools"},"automatization":{"ru":"Автоматизация расчетов","_type":"localeString","en":"Settlement Automation","de":"Abwicklungsautomatisierung"},"roi_calcs":{"en":"ROI calculators","de":"ROI-Rechner","ru":"ROI калькуляторы","_type":"localeString"},"matrix":{"_type":"localeString","en":"Comparison matrix","de":"Vergleichsmatrix","ru":"Матрица сравнения"},"b4r":{"ru":"Rebate 4 Reference","_type":"localeString","en":"Rebate 4 Reference","de":"Rebate 4 Reference"},"our_social":{"_type":"localeString","en":"Our social networks","de":"Unsere sozialen Netzwerke","ru":"Наши социальные сети"},"subscribe":{"de":"Melden Sie sich für den Newsletter an","ru":"Подпишитесь на рассылку","_type":"localeString","en":"Subscribe to newsletter"},"subscribe_info":{"ru":"и узнавайте первыми об акциях, новых возможностях и свежих обзорах софта","_type":"localeString","en":"and be the first to know about promotions, new features and recent software reviews"},"policy":{"en":"Privacy Policy","ru":"Политика конфиденциальности","_type":"localeString"},"user_agreement":{"ru":"Пользовательское соглашение ","_type":"localeString","en":"Agreement"},"solutions":{"ru":"Возможности","_type":"localeString","en":"Solutions"},"find":{"_type":"localeString","en":"Selection and comparison of IT product","ru":"Подбор и сравнение ИТ продукта"},"quote":{"en":"Price calculator","ru":"Калькулятор цены","_type":"localeString"},"boosting":{"ru":"Развитие бизнеса","_type":"localeString","en":"Business boosting"},"4vendors":{"ru":"поставщикам","_type":"localeString","en":"4 vendors"},"blog":{"ru":"блог","_type":"localeString","en":"blog"},"pay4content":{"ru":"платим за контент","_type":"localeString","en":"we pay for content"},"categories":{"ru":"категории","_type":"localeString","en":"categories"},"showForm":{"ru":"Показать форму","_type":"localeString","en":"Show form"},"subscribe__title":{"en":"We send a digest of actual news from the IT world once in a month!","ru":"Раз в месяц мы отправляем дайджест актуальных новостей ИТ мира!","_type":"localeString"},"subscribe__email-label":{"ru":"Email","_type":"localeString","en":"Email"},"subscribe__name-label":{"en":"Name","ru":"Имя","_type":"localeString"},"subscribe__required-message":{"ru":"Это поле обязательное","_type":"localeString","en":"This field is required"},"subscribe__notify-label":{"en":"Yes, please, notify me about news, events and propositions","ru":"Да, пожалуйста уведомляйте меня о новостях, событиях и предложениях","_type":"localeString"},"subscribe__agree-label":{"en":"By subscribing to the newsletter, you agree to the %TERMS% and %POLICY% and agree to the use of cookies and the transfer of your personal data","ru":"Подписываясь на рассылку, вы соглашаетесь с %TERMS% и %POLICY% и даете согласие на использование файлов cookie и передачу своих персональных данных*","_type":"localeString"},"subscribe__submit-label":{"_type":"localeString","en":"Subscribe","ru":"Подписаться"},"subscribe__email-message":{"ru":"Пожалуйста, введите корректный адрес электронной почты","_type":"localeString","en":"Please, enter the valid email"},"subscribe__email-placeholder":{"en":"username@gmail.com","ru":"username@gmail.com","_type":"localeString"},"subscribe__name-placeholder":{"en":"Last, first name","ru":"Имя Фамилия","_type":"localeString"},"subscribe__success":{"en":"You are successfully subscribed! Check you mailbox.","ru":"Вы успешно подписаны на рассылку. Проверьте свой почтовый ящик.","_type":"localeString"},"subscribe__error":{"_type":"localeString","en":"Subscription is unsuccessful. Please, try again later.","ru":"Не удалось оформить подписку. Пожалуйста, попробуйте позднее."},"roi4presenter":{"ru":"roi4presenter","_type":"localeString","en":"Roi4Presenter","de":"roi4presenter"},"it_catalogs":{"en":"IT catalogs","_type":"localeString"},"roi4webinar":{"_type":"localeString","en":"Pitch Avatar"},"b4reference":{"en":"Bonus4Reference","_type":"localeString"}},"breadcrumbs":{"home":{"ru":"Главная","_type":"localeString","en":"Home"},"companies":{"ru":"Компании","_type":"localeString","en":"Companies"},"products":{"_type":"localeString","en":"Products","ru":"Продукты"},"implementations":{"ru":"Внедрения","_type":"localeString","en":"Deployments"},"login":{"ru":"Вход","_type":"localeString","en":"Login"},"registration":{"ru":"Регистрация","_type":"localeString","en":"Registration"},"b2b-platform":{"ru":"Портал для покупателей, поставщиков и производителей ИТ","_type":"localeString","en":"B2B platform for IT buyers, vendors and suppliers"}},"comment-form":{"title":{"en":"Leave comment","ru":"Оставить комментарий","_type":"localeString"},"firstname":{"ru":"Имя","_type":"localeString","en":"First name"},"lastname":{"ru":"Фамилия","_type":"localeString","en":"Last name"},"company":{"ru":"Компания","_type":"localeString","en":"Company name"},"position":{"ru":"Должность","_type":"localeString","en":"Position"},"actual-cost":{"ru":"Фактическая стоимость","_type":"localeString","en":"Actual cost"},"received-roi":{"_type":"localeString","en":"Received ROI","ru":"Полученный ROI"},"saving-type":{"en":"Saving type","ru":"Тип экономии","_type":"localeString"},"comment":{"_type":"localeString","en":"Comment","ru":"Комментарий"},"your-rate":{"ru":"Ваша оценка","_type":"localeString","en":"Your rate"},"i-agree":{"en":"I agree","ru":"Я согласен","_type":"localeString"},"terms-of-use":{"_type":"localeString","en":"With user agreement and privacy policy","ru":"С пользовательским соглашением и политикой конфиденциальности"},"send":{"ru":"Отправить","_type":"localeString","en":"Send"},"required-message":{"_type":"localeString","en":"{NAME} is required filed","ru":"{NAME} - это обязательное поле"}},"maintenance":{"title":{"ru":"На сайте проводятся технические работы","_type":"localeString","en":"Site under maintenance"},"message":{"_type":"localeString","en":"Thank you for your understanding","ru":"Спасибо за ваше понимание"}}},"translationsStatus":{"company":"success"},"sections":{},"sectionsStatus":{},"pageMetaData":{"company":{"title":{"en":"ROI4CIO: Company","ru":"ROI4CIO: Компания","_type":"localeString"},"meta":[{"name":"og:image","content":"https://roi4cio.com/fileadmin/templates/roi4cio/image/roi4cio-logobig.jpg"},{"name":"og:type","content":"website"}],"translatable_meta":[{"name":"title","translations":{"en":"Company","ru":"Компания","_type":"localeString"}},{"name":"description","translations":{"ru":"Описание компании","_type":"localeString","en":"Company description"}},{"name":"keywords","translations":{"_type":"localeString","en":"Company keywords","ru":"Ключевые слова для компании"}}]}},"pageMetaDataStatus":{"company":"success"},"subscribeInProgress":false,"subscribeError":false},"auth":{"inProgress":false,"error":false,"checked":true,"initialized":false,"user":{},"role":null,"expires":null},"products":{"productsByAlias":{},"aliases":{},"links":{},"meta":{},"loading":false,"error":null,"useProductLoading":false,"sellProductLoading":false,"templatesById":{},"comparisonByTemplateId":{}},"filters":{"filterCriterias":{"loading":false,"error":null,"data":{"price":{"min":0,"max":6000},"users":{"loading":false,"error":null,"ids":[],"values":{}},"suppliers":{"loading":false,"error":null,"ids":[],"values":{}},"vendors":{"loading":false,"error":null,"ids":[],"values":{}},"roles":{"id":200,"title":"Roles","values":{"1":{"id":1,"title":"User","translationKey":"user"},"2":{"id":2,"title":"Supplier","translationKey":"supplier"},"3":{"id":3,"title":"Vendor","translationKey":"vendor"}}},"categories":{"flat":[],"tree":[]},"countries":{"loading":false,"error":null,"ids":[],"values":{}}}},"showAIFilter":false},"companies":{"companiesByAlias":{"yourserveradmin":{"id":8569,"title":"YOURSERVERADMIN","logoURL":"https://roi4cio.com/uploads/roi/company/small_1.png","alias":"yourserveradmin","address":"","roles":[{"id":2,"type":"supplier"}],"description":"YourServerAdmin - Управление сервером, консалтинг/аутсорсинг DevOps, решения для частного облака, разработка программного обеспечения на заказ","companyTypes":["supplier"],"products":{},"vendoredProductsCount":0,"suppliedProductsCount":0,"supplierImplementations":[],"vendorImplementations":[],"userImplementations":[],"userImplementationsCount":0,"supplierImplementationsCount":0,"vendorImplementationsCount":0,"vendorPartnersCount":0,"supplierPartnersCount":0,"b4r":1,"categories":{"27":{"id":27,"title":"СУБД - Система Управления Базами Данных","description":"Операционные системы управления базами данных (также называемые базами данных OLTP On-Line Transaction Processing) используются для обновления данных в режиме реального времени. Эти типы баз данных позволяют пользователям делать больше, чем просто просматривать архивированные данные. Оперативные базы данных позволяют вам изменять эти данные (добавлять, изменять или удалять данные), делая это в режиме реального времени. Базы данных OLTP предоставляют транзакции в качестве основной абстракции, чтобы гарантировать согласованность данных, которая гарантирует так называемые свойства ACID. По сути, согласованность данных гарантируется в случае сбоев и/или одновременного доступа к данным.\r\nС начала 90-х годов рынок программного обеспечения для оперативных баз данных в значительной степени перешел на движки SQL. Сегодня операционный рынок СУБД (ранее OLTP) стремительно развивается: появляются новые инновационные участники и операторы, поддерживающие растущее использование неструктурированных данных и механизмов СУБД NoSQL, а также баз данных XML и баз данных NewSQL. Базы данных NoSQL обычно фокусируются на масштабируемости и отказываются от согласованности данных, не предоставляя транзакции, как это делают системы OLTP. Операционные базы данных все чаще поддерживают архитектуру распределенных баз данных, которая может использовать распределение для обеспечения высокой доступности и отказоустойчивости благодаря возможности репликации и масштабирования.\r\nРастущая роль оперативных баз данных в ИТ-индустрии быстро переходит от устаревших баз данных к оперативным базам данных в реальном времени, способным обрабатывать распределенные запросы в Интернете и на мобильных устройствах и решать проблемы больших данных. Признавая это, Gartner начала публиковать «Магический квадрант» для операционных систем управления базами данных в октябре 2013 года.\r\nОперативные базы данных используются для хранения, управления и отслеживания деловой информации в режиме реального времени. Например, компания может иметь оперативную базу данных, используемую для отслеживания количества склада/запасов. Когда клиенты заказывают товары в онлайн-магазине, можно использовать оперативную базу данных для отслеживания того, сколько товаров было продано и когда компании потребуется изменить порядок запасов. Операционная база данных хранит информацию о деятельности организации, например, транзакции управления взаимоотношениями с клиентами или финансовые операции, в компьютерной базе данных.\r\nОперативные базы данных позволяют предприятию вводить, собирать и извлекать большие объемы конкретной информации, такой как юридические данные компании, финансовые данные, записи данных о вызовах, личная информация о сотрудниках, данные о продажах, данные о клиентах, данные об активах и многое другое. Важной особенностью хранения информации в оперативной базе данных является возможность обмена информацией между компанией и через Интернет. Операционные базы данных могут использоваться для управления критически важными бизнес-данными, для мониторинга действий, для аудита подозрительных транзакций или для просмотра истории сделок с конкретным клиентом. Они также могут быть частью реального процесса совершения и совершения покупки, например, в электронной коммерции.","materialsDescription":" <span style=\"font-weight: bold;\">Для чего используется СУБД?</span>\r\nСУБД, широко известная как Система управления базами данных, является прикладной системой, основная цель которой вращается вокруг данных. Это система, которая позволяет пользователям хранить данные, определять их, извлекать и обновлять информацию о данных в базе данных.\r\n<span style=\"font-weight: bold;\">Что подразумевается под базой данных?</span>\r\nПроще говоря, база данных представляет собой сбор данных в некотором упорядоченном виде, чтобы облегчить пользователю доступ к данным, управление ими и их загрузку.\r\n<span style=\"font-weight: bold;\">Почему рекомендуется использовать СУБД? Объясните, перечислив некоторые из его основных преимуществ.</span>\r\nНекоторые из основных преимуществ СУБД следующие:\r\n<ul><li><span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Контролируемое резервирование:</span></span> СУБД поддерживает механизм контроля избыточности данных внутри базы данных путем интеграции всех данных в одну базу данных, и, поскольку данные хранятся только в одном месте, дублирование данных не возникает.</li><li><span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Обмен данными:</span></span> обмен данными между несколькими пользователями одновременно может также осуществляться в СУБД, поскольку одна и та же база данных будет совместно использоваться всеми пользователями и различными прикладными программами.</li><li><span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Средство резервного копирования и восстановления:</span></span> СУБД сводит к минимуму трудность создания резервной копии данных снова и снова, предоставляя функцию «резервного копирования и восстановления», которая автоматически создает резервную копию данных и восстанавливает данные при необходимости.</li><li><span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Обеспечение соблюдения целостности:</span></span> очень важно соблюдать ограничения целостности данных, чтобы уточненные данные после наложения некоторых ограничений сохранялись в базе данных, а затем СУБД.</li><li><span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Независимость данных:</span></span> это просто означает, что вы можете изменить структуру данных, не затрагивая структуру любой из прикладных программ.</li></ul>\r\n<span style=\"font-weight: bold;\">Какова цель нормализации в СУБД?</span>\r\nНормализация - это процесс анализа реляционных схем, основанных на их соответствующих функциональных зависимостях и первичных ключах, для выполнения определенных свойств.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Свойства включают в себя:</span></span>\r\n<ul><li>Минимизацию избыточности данных.</li><li>Минимизацию аномалий вставки, удаления и обновления.</li></ul>","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_ODMS.png","alias":"subd-sistema-upravlenija-bazami-dannykh"},"32":{"id":32,"title":"ИТ - аутсорсинг","description":"<span style=\"font-weight: bold; \">ИТ-аутсорсинг</span> - это использование внешних поставщиков услуг для эффективной доставки бизнес-процессов на базе ИТ, сервисов приложений и инфраструктурных решений. Аутсорсинг, который включает коммунальные услуги, программное обеспечение как услугу и облачный аутсорсинг, помогает клиентам разрабатывать оптимальные стратегии работы, выбирать наиболее подходящих поставщиков ИТ-услуг, находить наилучшие возможные контракты и управлять сделками для обеспечения устойчивых беспроигрышных отношений с внешними поставщиками.\r\nПоставщики ИТ-аутсорсинга могут предоставить либо полностью управляемую услугу, то есть взять на себя полную ответственность за все техническое обслуживание и поддержку ИТ, либо предлагают дополнительную поддержку внутренней ИТ-группе (такая услуга называется ко-сорсинг). Компания, использующая ИТ-аутсорсинг, может выбрать одного поставщика для всех своих ИТ-функций или разделить работу между несколькими поставщиками. Чаще всего на аутсорсинг передаются такие ИТ-услуги:\r\n<ul><li>Разработка приложений</li><li>Веб-хостинг</li><li>Поддержка приложений</li><li>Разработка баз данных</li><li>Телекоммуникации</li><li>Работа с сетями</li><li>Аварийное восстановление</li><li>Безопасность</li></ul>\r\n<p class=\"align-center\"><span style=\"font-weight: bold;\">Причины использования аутсорсинга </span></p>\r\n<span style=\"font-weight: bold;\">Снижение затрат.</span> Чаще всего аутсорсинг означает экономию денег - это связано с более низкими затратами на рабочую силу, более дешевой инфраструктурой или выгодной налоговой системой в месте проведения аутсорсинга.\r\n<span style=\"font-weight: bold;\">Чтобы получить доступ к навыкам, которые недоступны на местном уровне.</span> Ресурсы, которых не хватает в месте создания предприятия, иногда можно найти в изобилии в другом городе или стране.\r\n<span style=\"font-weight: bold;\">Лучшее использование внутренних ресурсов.</span> Передав часть своих бизнес-процессов третьей стороне, штатные сотрудники получает возможность сосредоточиться на более значимых задачах.<span style=\"font-weight: bold;\"></span>\r\n<span style=\"font-weight: bold;\">Ускорение бизнес-процессов.</span> Когда убирается трата времени на рутинные, трудоемкие процессы, существует вероятность продвигаться вперед со своим основным предложением намного быстрее.\r\n<span style=\"font-weight: bold;\">Разделение рисков.</span> При делегировании части нецелевых функций стороннему поставщику, делегируется и часть ответственности и связанные с этим риски.","materialsDescription":"<h3 class=\"align-center\">Какие существуют виды ИТ-аутсорсинга? </h3>\r\n<p class=\"align-left\"><span style=\"font-weight: bold; \">Проектная модель.</span> Клиент нанимает команду для выполнения той части работы, которая уже запланирована и определена. Менеджер проекта из команды, переданной на аутсорсинг, несет полную ответственность за качество и производительность проекта. </p>\r\n<p class=\"align-left\"><span style=\"font-weight: bold; \">Модель специальной группы.</span> Клиент нанимает команду, которая создаст для него проект, и они будут работать только над этим проектом. В отличие от модели, основанной на проектах, проектом больше занимается специальная команда. В этой модели внештатная команда становится вашим техническим консультантом и консультантом по продукту.</p>\r\n<p class=\"align-left\"><span style=\"font-weight: bold; \">Модель аутстаффа.</span> Это вид аутсорсинга в IT, когда не нужна полноценная команда разработчиков и не нужно нанимать отдельных специалистов. Иногда для проекта требуется найти пару дополнительных специалистов, и вы можете нанять аутстаффа для выполнения этого объема работы.</p>\r\n<h3 class=\"align-center\">Примеры ИТ-аутсорсинга </h3>\r\n<p class=\"align-left\">Физическое лицо или компания, которые становятся партнером по аутсорсингу, могут находиться в любой точке мира - в одном квартале от вашего офиса или на другом континенте. Например, это стартап из Bay Area в партнерстве с командой разработчиков приложений в Юте и колл-центром на Филиппинах, или британское агентство цифрового маркетинга, нанимающее разработчика Magento из Украины. Или вот еще несколько хороших примеров компаний, которым выгоден аутсорсинг: </p>\r\n<ul><li>BaseCamp </li><li>Curiosity Stream </li><li>Google </li><li>Pricena </li><li>Slack</li></ul>\r\n<h3 class=\"align-center\">Зачем использовать ИТ-аутсорсинг?</h3>\r\nРассмотрим несколько ситуаций, когда есть смысл выбирать ИТ-аутсорсинг. \r\n<ul><li><span style=\"color: rgb(97, 97, 97); \"><span style=\"font-weight: bold; \">Вы - эксперт в предметной области с идеей </span></span></li></ul>\r\n<span style=\"color: rgb(97, 97, 97); \">Если вы отраслевой эксперт с идеей, которая решает реальную проблему, ИТ-аутсорсинг - подходящий выбор. В этом случае ваша главная цель - быстро выйти на рынок и протестировать решение. Аутсорсинговая команда поможет проверить идею, построить MVP для проверки гипотезы и внести изменения в продукт в соответствии с потребностями рынка. Это экономит деньги, время и позволяет быстрее достичь цели. <br /></span>\r\n<ul><li><span style=\"font-weight: bold;\"><span style=\"color: rgb(97, 97, 97); \">Стартап на ранней стадии</span></span></li></ul>\r\n<span style=\"color: rgb(97, 97, 97); \">Часто молодые стартапы тратят деньги быстрее, чем создают команду и готовый продукт. Поэтому имеет смысл сократить расходы, наняв команду профессионалов, привлеченных на аутсорсинг, в то время как бизнес будет жить на деньги инвесторов. <br /></span>\r\n<ul><li><span style=\"color: rgb(97, 97, 97); \"><span style=\"font-weight: bold; \">Нужна техническая поддержка </span></span></li></ul>\r\n<span style=\"color: rgb(97, 97, 97); \">Даже если у вас уже есть готовое решение , но это требует некоторых технических улучшений - фреймворков для серверных компонентов, нового языка, интеграции с корпоративным программным обеспечением, дизайна UX и пользовательского интерфейса - имеет смысл найти опытного партнера. ИТ-аутсорсинг может охватить множество функций, и, опять же, сэкономит время, которое в противном случае вы бы потратили на поиск квалифицированного персонала.</span>","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_IT_outsourcing.png","alias":"it-autsorsing"},"66":{"id":66,"title":"BPM - управление бизнес-процессами","description":"BPM (англ. Business Process Management, управление бизнес-процессами) — концепция процессного управления организацией, рассматривающая бизнес-процессы как особые ресурсы предприятия, непрерывно адаптируемые к постоянным изменениям, и полагающаяся на такие принципы, как понятность и видимость бизнес-процессов в организации за счёт моделирования бизнес-процессов с использованием формальных нотаций, использования программного обеспечения моделирования, симуляции, мониторинга и анализа бизнес-процессов, возможность динамического перестроения моделей бизнес-процессов силами участников и средствами программных систем.\r\nBPM отвечает на вопросы какая, где, когда, зачем и как выполняется работа и кто отвечает за ее выполнение.\r\nBPMS/BPMT (англ. Business Process Management System/Tool, система (инструмент) управления бизнес-процессами) — технологическое программное обеспечение для поддержки концепции BPM. Среди нотаций моделирования бизнес-процессов в различных решениях используются языки BPMN, EPC (англ. Event-driven Process Chain), IDEF0 и другие. Среди известных нотаций выполнения бизнес-процессов, применяемых в программных системах — BPEL и её диалекты, YAWL (англ.).","materialsDescription":" <span style=\"font-weight: bold;\">Управление бизнес-процессами организации</span>\r\nПод управлением бизнес-процессами подразумевают один из подходов корпоративного управления, Business Process Management. Как следует из названия, объектом управления является упорядоченная деятельность организации, выделенная в бизнес-процесс. Вся деятельность организации рассматривается как совокупность бизнес-процессов, к каждому из которых применяется свой контур управления.\r\n<span style=\"font-weight: bold;\">Какие виды деятельности входят в управление бизнес-процессами?</span>\r\nАбсолютно вся деятельность организации подлежит внедрению процессного управления. Для сегментации множества бизнес-процессов выделяется следующий состав групп процессов:\r\n<span style=\"font-weight: bold;\">Производственные.</span> Основной вид процессов организации, приводящей её деятельность к цели создания. К этой группе процессов относятся все процессы разработки, продажи и сопровождения продуктов или услуг компании.\r\n<span style=\"font-weight: bold;\">Управление.</span> Процессы управления не участвуют в производственном цикле. Они служат для планирования и контроля за остальными видами процессов. От степени проработанности бизнес-процессов управления зависит качество управления деятельностью, рисками, безопасностью и доходностью предприятия.\r\n<span style=\"font-weight: bold;\">Вспомогательные.</span> Вспомогательные бизнес-процессы служат для обеспечения необходимыми ресурсами всех процессов организации. К вспомогательным процессам относятся процессы управления персоналом, процессы закупки и эксплуатации инфраструктурных объектов организации.\r\n<span style=\"font-weight: bold;\">Что такое цикл управления бизнес-процессами?</span>\r\nКак замечалось ранее, за счет внедрения процессного управления удается добиться выполнения цикла постоянного улучшения бизнес-процессов. Эти совершенствования основаны на цикле Деминга, состоящие из обязательных этапов управлению каждого бизнес-процесса, включенного в структуру управления бизнес-процессами предприятия:\r\n<span style=\"font-weight: bold;\">Определение (Define).</span> Этап идентификации бизнес-процессов организации, описания их границ взаимодействия и моделирования. В зависимости от целей этапа, процессы могут быть как уже существующие в организации, и тогда описываемые как есть (As Is), или проектируемые для внедрения новые или изменяемые бизнес-процессы в состоянии, как должны быть (To Be).\r\n<span style=\"font-weight: bold;\">Измерение (Measure).</span> На основе знаний о ходе процесса выбираются его контрольные точки, выявляются ключевые показатели в этих точках и составляется план сбора данных о процессе, которые собираются для дальнейшего анализа.\r\n<span style=\"font-weight: bold;\">Анализ (Analyze).</span> Собранная на этапе Измерения информация анализируется на предмет расхождений с фактом для создания бизнес-требований к процессу и проводится имитационное моделирование бизнес-процесса.\r\n<span style=\"font-weight: bold;\">Внедрение (Improve).</span> Новые бизнес-требования к бизнес-процессу проходят этап внедрения в виде внесения изменений в информационные системы, методологические документы, проводятся организационные изменения, корректируется система отчетности и так далее. По окончании этапа внедрения бизнес-процесс становится действующим элементом системы управления бизнес-процессов.\r\n<span style=\"font-weight: bold;\">Контроль (Control).</span> В установленный на этапе внедрения срок проведения контроля или на основе данных, собранных в ходе планового мониторинга, производится анализ эффективности внедрения бизнес-процесса. По результатам анализа сопоставления плановых и фактических показателей может потребоваться внесение новых изменений в бизнес-процесс и цикл постоянного улучшения бизнес-процессов DMAIC запускается сначала.","iconURL":"https://roi4cio.com/fileadmin/user_upload/BPM_-_Business_Process_Management.png","alias":"bpm-upravlenie-biznes-processami"},"74":{"id":74,"title":"BRMS - управление бизнес-правилами","description":"BRMS (англ. Business Rule Management System — система управления бизнес-правилами) — информационная система, используемая для ведения, поддержки и исполнения бизнес-правил компании.\r\nСистемы управления бизнес-правилами состоят из сервера исполнения бизнес правил и инструмента ведения правил (репозитория), предоставляющего бизнес-пользователям удобный и функциональный интерфейс для хранения, создания и изменения бизнес логики. Также могут присутствовать компоненты тестирования и анализа правил.\r\nКлючевым аспектом подобных систем является ориентация на функциональных пользователей, а не на программистов.\r\nОсновные преимущества систем управления бизнес-правилами:\r\n<ul><li>снижается зависимость от программистов для внесения изменений в работу информационных систем</li><li>увеличивается контроль реализованной бизнес-логики, повышается аудируемость и качество управления бизнесом</li></ul>\r\nБольшинство систем управления бизнес-правилами произошло из серверов исполнения бизнес-правил, предоставляя ориентированные на бизнес-пользователей решения управления жизненным циклом разработки с декларативным описанием правил, исполняемых в собственных серверах исполнения бизнес-правил.\r\nДругие системы управления бизнес правилами выросли из средств описания правил (например, осуществляя отображение деревьев решений или графов на исполняемый код). Правила в репозитории объединяются в сервисы принятия решений, поддерживающие многие концепции современной информационной архитектуры, такие как SOA и веб-сервисы","materialsDescription":" <span style=\"font-weight: bold;\">Что такое система управления бизнес-правилами (BRMS)?</span>\r\nСистема управления бизнес-правилами (BRMS) - это технологическая система, используемая для записи логики принятия решений в качестве бизнес-правила, которая затем автоматизируется во всех приложениях. Вместо того чтобы встраивать правила в виде кода в несколько приложений с помощью BRMS, правила экстернализуются и управляются отдельно от кода приложения. Это позволяет использовать логику несколькими приложениями и изменять ее независимо от управляющих приложений.\r\n<span style=\"font-weight: bold;\">Зачем использовать систему управления бизнес-правилами?</span>\r\nBRMS дает компаниям возможность определять и поддерживать правила, определяющие процесс принятия решений в системе, чтобы определить, какие действия разрешены в любых обстоятельствах. Имея логику вне программного кода, эти системы значительно повышают гибкость бизнеса, производительность и точность логики, обеспечивая при этом надежную экономию средств и более быстрое изменение правил, когда это необходимо.\r\n<span style=\"font-weight: bold;\">Какие преимущества обеспечивают системы управления бизнес-правилами?</span>\r\n<ul><li>Обеспечивает меры безопасности для защиты целостности логики принятия решений</li><li>Определяет неполную, противоречивую или циклическую логику правил</li><li>Компилирует правила до исполняемого файла (.exe) для интеграции открытых стандартов в приложения, вызывающие веб-службы или службы REST.</li><li>Масштабируется бесконечно, независимо от количества или сложности правил</li><li>Способствует быстрым, простым и точным изменениям правил, выделяя зависимости, чтобы идентифицировать каждое затронутое правило</li></ul>\r\n<span style=\"font-weight: bold;\">Кому нужна система управления бизнес-правилами?</span>\r\nПравила - в той или иной форме - управляют каждой вертикалью, сектором и отраслью, поэтому неудивительно, что сильные сценарии применения BRMS существуют практически на каждом предприятии. Это включает:\r\n<ul><li>Любой бизнес, организация или государственное учреждение, регулируемое правилами</li><li>Организации с внутренними политиками, которые влияют на персонал, клиентов или поставщиков</li><li>Предприятия, желающие повысить эффективность или точность принятия решений</li><li>Предприниматели, которые хотят быстро реагировать на возможности сегмента рынка</li><li>Компании, желающие снизить размер штрафных санкций</li></ul>","iconURL":"https://roi4cio.com/fileadmin/user_upload/BRMS_-_Business_Rule_Management_System__1_.png","alias":"brms-upravlenie-biznes-pravilami"},"225":{"id":225,"title":"Обработка запросов, построение отчетов и анализ","description":" Системы класса Query & Reporting предназначены для формирования запросов к информационным системам в пользовательских терминах, а также их исполнение, интеграцию данных из разных источников, просмотр данных с возможностями детализации и обобщения и построение полноценных отчетов, как экранных, так и печатных. Визуализация результатов запроса может быть представлена пользователю в различном виде – плоские или многомерные таблицы, графики, диаграммы, различные специализированные интерфейсы.\r\nИнструменты конечного пользователя для выполнения запросов и построения отчетов поставляются двумя способами:\r\n<ul><li>в составе OLAP-систем,</li><li>в виде специализированных систем Query & Reporting.</li></ul>\r\nПрактически каждая система класса OLAP снабжена средствами Query & Reporting. Эти средства могут быть как встроенными в основной продукт, так и выделенными в отдельный продукт.\r\nТакже существуют и специализированные системы генерации и дистрибуции отчетов. В то же время эти системы имеют в своем составе собственные OLAP-средства. Поэтому провести четкую грань между OLAP-системами и системами класса Query & Reporting практически невозможно.","materialsDescription":"<span style=\"font-weight: bold;\">Какие инструменты отчетности?</span>\r\nИнструменты отчетности широко используются для поддержки принятия решений и измерения организационной и командной эффективности. Компании используют их для финансовой консолидации, для оценки стратегий и политики и часто просто для простой отчетности. Сегодня большинство этих инструментов интегрированы с инструментами бизнес-аналитики.\r\n<span style=\"font-weight: bold;\">Каковы преимущества этих инструментов для вашей организации?</span>\r\nИнструменты отчетности позволяют компаниям легко создавать привлекательные отчеты. В табличном или графическом формате. С данными из Excel, хранилищем данных или системой ERP организации. С помощью отчетов, содержащих правильную информацию, люди могут легче управлять и улучшать бизнес-процессы.\r\n<span style=\"font-weight: bold;\">Какие инструменты отчетности доступны на рынке?</span>\r\nНа рынке доступно много инструментов для создания отчетов бизнес-аналитики. Этот список инструментов отчетности показывает вам полный обзор всех основных инструментов, доступных в настоящее время и тщательно изученных нашими отраслевыми аналитиками. Вот некоторые из них: Cognos Query и отчетность, Oracle Enterprise Reporting, Crystal Reports, Microsoft Reporting Services (SSRS) и т.д.\r\n<span style=\"font-weight: bold;\">Есть ли разница между инструментами отчетности и инструментами BI?</span>\r\nПочти каждая компания, большая или маленькая, нуждается в инструменте отчетности, или он уже есть. Но в чем разница между отчетным программным обеспечением и инструментами бизнес-аналитики? Они не то же самое. В целом инструменты отчетности сообщают нам, где мы были, но не очень хорошо анализируют данные (в режиме реального времени) и сообщают нам, куда мы движемся (прогнозирующие).\r\n<span style=\"font-weight: bold; \">В чем разница между запросом и отчетом?</span>\r\nЗапрос - это способ создания списка учетных записей или записей в журнале, которые соответствуют определенным вами критериям. Запросы служат продвинутой поисковой системой, которая находит и группирует учетные записи или записи журнала и может только создавать список.\r\nОтчет - это подробный отчет о группе учетных записей или записей журнала. Отчеты анализируют данные и предназначены для расчета и представления данных в более формальной форме.\r\nКак правило, запрос находит информацию в базе данных для вас, и отчет является более мощным способом отображения и анализа информации о тех учетных записях или записях журнала, которые вы хотите просмотреть.","iconURL":"https://roi4cio.com/fileadmin/user_upload/End-User_Query__Reporting__and_Analysis.png","alias":"obrabotka-zaprosov-postroenie-otchetov-i-analiz"},"227":{"id":227,"title":"Расширенная аналитика","description":" Расширенная аналитика является частью науки о данных, которая использует высокоуровневые методы и инструменты, чтобы сосредоточиться на прогнозировании будущих тенденций, событий и поведения. Это дает организациям возможность выполнять расширенные статистические модели, такие как вычисления «что, если», а также различные аспекты их деятельности, ориентированные на будущее.\r\nЭтот термин является зонтиком для нескольких подполей аналитики, которые работают вместе в своих предсказательных возможностях.\r\nОсновными областями, которые составляют расширенную аналитику, являются прогнозная аналитика данных, большие данные и интеллектуальный анализ данных. Процесс расширенной аналитики включает все три области в разное время.\r\nИнтеллектуальный анализ данных является ключевым аспектом расширенной аналитики, предоставляя необработанные данные, которые будут использоваться как большими данными, так и прогнозной аналитикой. Аналитика больших данных полезна для поиска существующего понимания и создания связей между точками данных и наборами, а также для очистки данных.\r\nПрогностическая аналитика может использовать эти чистые наборы и существующую информацию для экстраполяции и прогнозирования и прогнозирования будущей деятельности, тенденций и поведения потребителей.\r\nРасширенная аналитика также включает в себя новые технологии, такие как машинное обучение и искусственный интеллект, семантический анализ, визуализации и даже нейронные сети. В совокупности они помогают передовому программному обеспечению для анализа данных создать достаточно точный холст, чтобы делать надежные прогнозы и генерировать действенные аналитические данные BI на более глубоком уровне.","materialsDescription":" <span style=\"font-weight: bold;\">Использование расширенной аналитики</span>\r\nРасширенная аналитика данных используется во всех отраслях промышленности для прогнозирования будущих событий. Маркетинговые команды используют его, чтобы предсказать вероятность того, что определенные веб-пользователи нажмут на ссылку; медицинские работники используют предписывающую аналитику для выявления пациентов, которые могут получить пользу от конкретного лечения; а провайдеры сотовых сетей используют диагностическую аналитику для прогнозирования возможных сбоев сети, что позволяет им проводить профилактическое обслуживание.\r\nМетоды расширенной аналитики становятся все более распространенными, поскольку предприятия продолжают быстро создавать новые данные. Теперь, когда многие организации имеют доступ к большим хранилищам данных или большим данным, они могут применять методы прогнозной аналитики для более глубокого понимания своих операций.\r\n<span style=\"font-weight: bold;\">Продвинутые аналитические методы</span>\r\nПроцесс расширенной аналитики включает математические подходы к интерпретации данных. Классические статистические методы, а также более новые, более машинно-управляемые методы, такие как глубокое обучение, используются для определения закономерностей, корреляций и группировок в наборах данных. Исходя из этого, пользователи могут делать прогнозы относительно будущего поведения, независимо от того, какая группа веб-пользователей с наибольшей вероятностью будет заниматься онлайн-рекламой или ростом прибыли в следующем квартале.\r\nВо многих случаях эти сложные предиктивные и предписывающие анализы требуют высококвалифицированного ученого данных. Эти специалисты имеют обширную подготовку по математике; языки компьютерного кодирования, такие как Python и язык R; и опыт работы в определенной сфере бизнеса.\r\nРасширенная эра аналитики стала более распространенной в эпоху больших данных. Модели прогнозирующей аналитики - и, в частности, модели машинного обучения - требуют большого количества обучения для определения закономерностей и корреляций, прежде чем они смогут сделать прогноз. Растущий объем данных, которыми сегодня управляют предприятия, открывает двери для этих передовых методов анализа.\r\n<span style=\"font-weight: bold;\">Инструменты расширенной аналитики</span>\r\nНа выбор предлагаются различные передовые аналитические инструменты, которые предлагают различные преимущества в зависимости от варианта использования. Они обычно делятся на две категории: с открытым исходным кодом и проприетарные.\r\nИнструменты с открытым исходным кодом стали популярным вариантом для многих ученых, занимающихся машинным обучением и аналитической аналитикой. Они включают в себя языки программирования, а также вычислительные среды, в том числе Hadoop и Spark. Пользователи обычно говорят, что им нравятся инструменты расширенного анализа с открытым исходным кодом, потому что они, как правило, недороги в эксплуатации, предлагают мощную функциональность и поддерживаются сообществом пользователей, которое постоянно обновляет инструменты.\r\nС другой стороны, поставщики, включая Microsoft, IBM и SAS Institute, предлагают расширенные аналитические инструменты. Большинство требует глубоких технических знаний и понимания математических методов.\r\nОднако в последние годы появилось множество инструментов для самообслуживания, чтобы сделать функциональность более доступной для бизнес-пользователей. Табло, в частности, стало распространенным инструментом. Хотя его функциональные возможности более ограничены, чем более глубокие технические инструменты, он позволяет пользователям проводить кластерный анализ и другие расширенные анализы.","iconURL":"https://roi4cio.com/fileadmin/user_upload/Advanced_Analytics_Software.png","alias":"rasshirennaja-analitika"},"229":{"id":229,"title":"Управление пространственной информацией","description":" Пространственная база данных — база данных, оптимизированная для хранения и выполнения запросов к данным о пространственных объектах, представленных некоторыми абстракциями: точка, линия, многоугольник и им подобных.\r\nВ то время, как традиционные базы данных предназначены для хранения и обработки числовой и символьной информации, пространственные обладают возможностями работы с целостными пространственными объектами, объединяющими как традиционные виды данных (описательная часть или атрибутивная), так и геометрические (данные о положении объекта в пространстве). СУБД, поддерживающие работу с пространственными базами, позволяют выполнять аналитические запросы, содержащие пространственные операторы для анализа пространственно-логических отношений объектов («пересекается…», «касается…», «содержится в…», «содержит…», «находится на заданном расстоянии от…», «совпадает…» и другие).\r\nКонсорциум OGC, координирующий разработку международных стандартов в области геоинформационных систем, разработал и утвердил спецификацию на представление базовых типов пространственных объектов (англ. simple features) и установил стандарты на дополнительную функциональность систем управления базами данных для работы с пространственными данными. ","materialsDescription":"<span style=\"font-weight: bold;\">Каков доступ к пространственным данным?</span>\r\nВ пространственных базах данных используются специальные пространственные индексы для ускорения пространственных операций. СУБД, поддерживающие пространственные базы, как правило обеспечивают следующие возможности запросов к ним:\r\n<ul><li>пространственные замеры (spatial measurements): поиск расстояний между точками, многоугольниками и так далее;</li><li>пространственные функции (spatial functions): модификация существующих объектов (features) для создания новых (например, построение буферных зон вокруг объекта, пересечение объектов и так далее);</li><li>пространственные предикаты (spatial predicates): ответы на вопросы типа «находится ли какое-либо учреждение образования на расстоянии 300 м от предполагаемого места строительства пивного бара?»;</li><li>функции построения (англ. constructor functions): создание новых объектов с помощью SQL-запросов, посредством указания вершин (положения узлов, точек) линий; если первая вершина совпадает по координатам с последней, то объект может стать и многоугольником, имеющим замкнутую границу;</li><li>функции аналитических вычислений (observer functions): запросы, которые возвращают специфическую информацию об объектах, например, координаты центра окружности.</li></ul>\r\nРазличные СУБД поддерживают различные подмножества подобных возможностей. ","iconURL":"https://roi4cio.com/fileadmin/user_upload/Spatial_Information_Management_Software.png","alias":"upravlenie-prostranstvennoi-informaciei"},"239":{"id":239,"title":"Реляционные СУБД","description":" Реляционная система управления базами данных (РСУБД), реже — система управления реляционными базами данных (СУРБД) — СУБД, управляющая реляционными базами данных.\r\nПрактически все разработчики современных приложений, предусматривающих связь с системами баз данных, ориентируются на реляционные СУБД. По данным аналитиков на 2010 год, реляционные СУБД используются в абсолютном большинстве крупных проектов по разработке информационных систем. По результатам исследований компании IDC 2009 года всего около 7% составляют проекты, в которых используются СУБД нереляционного типа.\r\nПо оценке Gartner в 2013 году рынок реляционных СУБД составлял 26 млрд долларов с годовым приростом около 9 процентов, а к 2018 году рынок реляционных СУБД достигнет 40 млрд долларов. В настоящее время абсолютными лидерами рынка СУБД являются компании Oracle, IBM и Microsoft, с общей совокупной долей рынка около 90%, поставляя такие системы как Oracle Database, IBM DB2 и Microsoft SQL Server.\r\nЕдинственной коммерчески успешной СУБД российского производства является реляционная СУБД Линтер для операционных систем Windows, UNIX, QNX.\r\nВ 1974 году компания IBM начала исследовательский проект по разработке РСУБД, получивший название System R. Её первым коммерческий продуктом был IBM SQL/DS, выпущенный в 1982 году.\r\nОднако первой коммерчески успешной РСУБД стала Oracle, выпущенная в 1979 году компанией Relational Software, которая впоследствии была переименована в Oracle Corporation.\r\nВ 1970-е годы, когда уже были получены почти все основные теоретические результаты и даже существовали первые прототипы реляционных СУБД, многие авторитетные специалисты отрицали возможность добиться эффективной реализации таких систем. Однако преимущества реляционного подхода и развитие методов и алгоритмов организации и управления реляционными базами данных привели к тому, что к концу 1980-х годов реляционные системы заняли на мировом рынке СУБД доминирующее положение.\r\nВ связи с резким ростом популярности РСУБД в 1980-х годах многие компании стали позиционировать свои СУБД как «реляционные» в рекламных целях, иногда не имея для этого достаточных оснований, вследствие чего автор реляционной модели данных Эдгар Кодд в 1985 году опубликовал свои знаменитые «12 правил Кодда», которым должна удовлетворять каждая РСУБД.","materialsDescription":" <span style=\"font-weight: bold; \">Как данные хранятся в реляционной базе?</span>\r\nДанные в реляционной БД хранятся в плоских таблицах. Каждая таблица имеет собственный, заранее определенный набор именованных колонок (полей). Поля таблицы обычно соответствуют атрибутам сущностей, которые необходимо хранить в базе. Количество строк (записей) в таблице неограниченно, и каждая запись соответствует отдельной сущности.\r\n<span style=\"font-weight: bold; \">Как записи отличаются друг от друга?</span>\r\nЗаписи в таблице отличаются только содержимым их полей. Две записи, в которых все поля одинаковы, считаются идентичными. Каждая таблица должна иметь первичный ключ (ПК) — поле или набор полей, содержимое которых однозначно определяет запись в таблице и отличает ее от других. Отсутствие первичного ключа и наличие идентичных записей в таблице обычно возможно, но крайне нежелательно.\r\n<span style=\"font-weight: bold; \">Каким образом таблицы связаны между собой?</span>\r\nПростейшая связь между двумя таблицами образуется при добавлении в первую таблицу поля, содержащего значение первичного ключа второй таблицы. В общем случае, реляционные БД предоставляют очень гибкий механизм для всевозможных пересечений и объединений любых таблиц, с разнообразными условиями. Для описания множеств, получающихся при пересечении и объединении таблиц, используется специальный математический аппарат — реляционная алгебра.\r\n<span style=\"font-weight: bold; \">Что такое нормализация?</span>\r\nУпорядочивание модели БД. Грубо говоря, нормализацией называют процесс выявления отдельных независимых сущностей и вынесения их в отдельные таблицы. При этом, связи с такими таблицами, обычно организуют по их первичному ключу. В результате нормализации, увеличивается гибкость работы с БД. Также, уменьшается содержание дублирующей информации в БД, а это сильно понижает вероятность возникновения ошибок.\r\n<span style=\"font-weight: bold;\">Имеет ли значение порядковый номер записи в таблице?</span>\r\nНет. Реляционная алгебра оперирует множествами, в которых порядковый номер элемента не несет никакой смысловой нагрузки. Записи отличатся только содержимым их полей. Две записи, в которых все поля одинаковы, будут абсолютно идентичны в реляционной БД. ","iconURL":"https://roi4cio.com/fileadmin/user_upload/Relational_Database_Management_Systems.png","alias":"reljacionnye-subd"},"240":{"id":240,"title":"Нереляционные СУБД","description":" Нереляционная база данных - это база данных, не включающая модель таблиц/ключей, которую продвигают системы управления реляционными базами данных (RDBMS). Для таких баз данных требуются методы и процессы манипулирования данными, предназначенные для решения проблем больших данных, с которыми сталкиваются крупные компании. Самая популярная новая нереляционная база данных называется NoSQL (не только SQL).\r\nБольшинство нереляционных баз данных включены в такие веб-сайты, как Google, Yahoo!, Amazon и Facebook. Эти веб-сайты представляют множество новых приложений каждый день с миллионами пользователей, поэтому они не смогут справиться с большими скачками трафика с помощью существующих решений RDBMS. Поскольку СУБД не могут справиться с этой проблемой, они переключились на новый тип СУБД, который способен обрабатывать данные веб-масштаба нереляционным способом.\r\nИнтересным аспектом нереляционной базы данных, такой как NoSQL, является масштабируемость. NoSQL использует систему BASE. Нереляционные базы данных отказываются от табличной формы строк и столбцов, которые реляционные базы данных используют в пользу специализированных сред для хранения данных, к которым могут обращаться специальные API-интерфейсы запросов. Постоянство является важным элементом в этих базах данных. Чтобы обеспечить высокую пропускную способность огромных объемов данных, лучшим вариантом для производительности является «в памяти», а не чтение и запись с дисков.\r\nРеляционные базы данных используют систему ACID, которая обеспечивает непротиворечивость данных во всех ситуациях управления данными, но, очевидно, требует больше времени для обработки из-за всех этих отношений и ее разветвленной природы. Однако система BASE ослабила требования к согласованности для обеспечения лучшей доступности и разделения для лучшей масштабируемости.","materialsDescription":" <span style=\"font-weight: bold; \">Что такое базы данных NoSQL?</span>\r\nБазы данных NoSQL специально созданы для определенных моделей данных и обладают гибкими схемами, что позволяет разрабатывать современные приложения. Базы данных NoSQL получили широкое распространение в связи с простотой разработки, функциональностью и производительностью при любых масштабах. В них применяются различные модели данных, в том числе документные, графовые, поисковые, с использованием пар «ключ‑значение» и хранением данных в памяти. Ресурсы, представленные на этой странице, помогут разобраться с базами данных NoSQL и начать работу с ними.\r\n<span style=\"font-weight: bold; \">Как работает база данных NoSQL (нереляционная БД)?</span>\r\nВ базах данных NoSQL для доступа к данным и управления ими применяются различные модели данных, в том числе документная, графовая, поисковая, с использованием пар «ключ‑значение» и хранением данных в памяти. Базы данных таких типов оптимизированы для приложений, которые работают с большим объемом данных, нуждаются в низкой задержке и гибких моделях данных. Все это достигается путем смягчения жестких требований к непротиворечивости данных, характерных для других типов БД.\r\nРассмотрим пример моделирования схемы для простой базы данных книг.\r\n<ul><li>В реляционной базе данных запись о книге часто разделяется на несколько частей (или «нормализуется») и хранится в отдельных таблицах, отношения между которыми определяются ограничениями первичных и внешних ключей. В этом примере в таблице «Книги» имеются столбцы «ISBN», «Название книги» и «Номер издания», в таблице «Авторы» – столбцы «ИД автора» и «Имя автора», а в таблице «Автор–ISBN» – столбцы «Автор» и «ISBN». Реляционная модель создана таким образом, чтобы обеспечить целостность ссылочных данных между таблицами в базе данных. Данные нормализованы для снижения избыточности и в целом оптимизированы для хранения.</li><li>В базе данных NoSQL запись о книге обычно хранится как документ JSON. Для каждой книги, или элемента, значения «ISBN», «Название книги», «Номер издания», «Имя автора и «ИД автора» хранятся в качестве атрибутов в едином документе. В такой модели данные оптимизированы для интуитивно понятной разработки и горизонтальной масштабируемости.</li></ul>\r\n<span style=\"font-weight: bold; \">Для чего можно использовать базы данных NoSQL?</span>\r\nБазы данных NoSQL хорошо подходят для многих современных приложений, например мобильных, игровых, интернет‑приложений, когда требуются гибкие масштабируемые базы данных с высокой производительностью и широкими функциональными возможностями, способные обеспечивать максимальное удобство использования.\r\n<ul><li><span style=\"font-weight: bold; \">Гибкость.</span> Как правило, базы данных NoSQL предлагают гибкие схемы, что позволяет осуществлять разработку быстрее и обеспечивает возможность поэтапной реализации. Благодаря использованию гибких моделей данных БД NoSQL хорошо подходят для частично структурированных и неструктурированных данных.</li><li><span style=\"font-weight: bold; \">Масштабируемость.</span> Базы данных NoSQL рассчитаны на масштабирование с использованием распределенных кластеров аппаратного обеспечения, а не путем добавления дорогих надежных серверов. Некоторые поставщики облачных услуг проводят эти операции в фоновом режиме, обеспечивая полностью управляемый сервис.</li><li><span style=\"font-weight: bold; \">Высокая производительность.</span> Базы данных NoSQL оптимизированы для конкретных моделей данных (например, документной, графовой или с использованием пар «ключ‑значение») и шаблонов доступа, что позволяет достичь более высокой производительности по сравнению с реляционными базами данных.</li><li><span style=\"font-weight: bold; \">Широкие функциональные возможности.</span> Базы данных NoSQL предоставляют API и типы данных с широкой функциональностью, которые специально разработаны для соответствующих моделей данных.</li></ul>\r\n<span style=\"font-weight: bold;\">Каковы типы баз данных NoSQL?</span>\r\n<ul><li><span style=\"font-weight: bold;\">БД на основе пар «ключ‑значение».</span> Базы данных с использованием пар «ключ‑значение» поддерживают высокую разделяемость и обеспечивают беспрецедентное горизонтальное масштабирование, недостижимое при использовании других типов БД. Хорошими примерами использования для баз данных типа «ключ‑значение» являются игровые, рекламные приложения и приложения IoT.</li><li><span style=\"font-weight: bold;\">Документ.</span> В коде приложения данные часто представлены как объект или документ в формате, подобном JSON, поскольку для разработчиков это эффективная и интуитивная модель данных. Документные базы данных позволяют разработчикам хранить и запрашивать данные в БД с помощью той же документной модели, которую они используют в коде приложения. Гибкий, полуструктурированный, иерархический характер документов и документных баз данных позволяет им развиваться в соответствии с потребностями приложений. Документная модель хорошо работает в каталогах, пользовательских профилях и системах управления контентом, где каждый документ уникален и изменяется со временем.</li><li><span style=\"font-weight: bold;\">Графовые БД.</span> Графовые базы данных упрощают разработку и запуск приложений, работающих с наборами сложносвязанных данных. Типичные примеры использования графовых баз данных – социальные сети, сервисы рекомендаций, системы выявления мошенничества и графы знаний.</li><li><span style=\"font-weight: bold;\">БД в памяти.</span> Часто в игровых и рекламных приложениях используются таблицы лидеров, хранение сессий и аналитика в реальном времени. Такие возможности требуют отклика в пределах нескольких микросекунд, при этом резкое возрастание трафика возможно в любой момент.</li><li><span style=\"font-weight: bold;\">Поисковые БД.</span> Многие приложения формируют журналы, чтобы разработчикам было проще выявлять и устранять неполадки.</li></ul>","iconURL":"https://roi4cio.com/fileadmin/user_upload/Nonrelational_Database_Management_Systems1.png","alias":"nereljacionnye-subd"},"243":{"id":243,"title":"Средства разработки и управления для баз данных","description":" Многие компании создают различные многофункциональные приложения для облегчения управления, разработки и администрирования баз данных.\r\nБольшинство реляционных баз данных состоят из двух отдельных компонентов: «back-end», где хранятся данные и «front-end» — пользовательский интерфейс для взаимодействия с данными. Этот тип конструкции достаточно умный, так как он распараллеливает двухуровневую модель программирования, которая отделяет слой данных от пользовательского интерфейса и позволяет сконцентрировать рынок ПО непосредственно на улучшении своих продуктов. Эта модель открывает двери для третьих сторон, которые создают свои приложения для взаимодействия с различными базами данных.\r\nСредства разработки программ работы с БД могут использоваться для создания разновидностей следующих программ:\r\n<ul><li>клиентских программ;</li><li>серверов БД и их отдельных компонентов;</li><li>пользовательских приложений.</li></ul>\r\nПрограммы первого и второго вида довольно малочисленны, так как предназначены, главным образом, для системных программистов. Пакетов третьего вида гораздо больше, но меньше, чем полнофункциональных СУБД.\r\nК средствам разработки пользовательских приложений относятся системы программирования, разнообразные библиотеки программ для различных языков программирования, а также пакеты автоматизации разработок (в том числе систем типа клиент-сервер).\r\nСистема управления базами данных, сокр. СУБД (англ. Database Management System, сокр. DBMS) — совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных.\r\nСУБД — комплекс программ, позволяющих создать базу данных (БД) и манипулировать данными (вставлять, обновлять, удалять и выбирать). Система обеспечивает безопасность, надёжность хранения и целостность данных, а также предоставляет средства для администрирования БД.","materialsDescription":"<span style=\"font-weight: bold; \"> Основные функции СУБД:</span>\r\n<ul><li>управление данными во внешней памяти (на дисках);</li><li>управление данными в оперативной памяти с использованием дискового кэша;</li><li>журнализация изменений, резервное копирование и восстановление базы данных после сбоев;</li><li>поддержка языков БД (язык определения данных, язык манипулирования данными).</li></ul>\r\n<span style=\"font-weight: bold;\">Состав СУБД:</span>\r\nОбычно современная СУБД содержит следующие компоненты:\r\n<ul><li>ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию;</li><li>процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода;</li><li>подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД;</li><li>сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по обслуживанию информационной системы.</li></ul>","iconURL":"https://roi4cio.com/fileadmin/user_upload/Database_Development_and_Management_Tools.png","alias":"sredstva-razrabotki-i-upravlenija-dlja-baz-dannykh"},"245":{"id":245,"title":"Интеграция и доступ к данным","description":" Интеграция данных включает объединение данных, находящихся в различных источниках, и предоставление данных пользователям в унифицированном виде. Этот процесс становится существенным как в коммерческих задачах (когда двум похожим компаниям необходимо объединить их базы данных), так и в научных (комбинирование результатов исследования из различных биоинформационных репозиториев, для примера). Роль интеграции данных возрастает, когда увеличивается объём и необходимость совместного использования данных. Это стало фокусом обширной теоретической работы, а многочисленные проблемы остаются нерешёнными.\r\nСистемы интеграции данных могут обеспечивать интеграцию данных на физическом, логическом и семантическом уровне. Интеграция данных на физическом уровне с теоретической точки зрения является наиболее простой задачей и сводится к конверсии данных из различных источников в требуемый единый формат их физического представления. Интеграция данных на логическом уровне предусматривает возможность доступа к данным, содержащимся в различных источниках, в терминах единой глобальной схемы, которая описывает их совместное представление с учетом структурных и, возможно, поведенческих (при использовании объектных моделей) свойств данных. Семантические свойства данных при этом не учитываются. Поддержку единого представления данных с учетом их семантических свойств в контексте единой онтологии предметной области обеспечивает интеграция данных на семантическом уровне.\r\nПроцессу интеграции препятствует неоднородность источников данных, в соответствии с уровнем интеграции. Так, при интеграции на физическом уровне в источниках данных могут использоваться различные форматы файлов. На логическом уровне интеграции может иметь место неоднородность используемых моделей данных для различных источников или различаются схемы данных, хотя используется одна и та же модель данных. Одни источники могут быть веб-сайтами, а другие — объектными базами данных и т. д. При интеграции на семантическом уровне различным источникам данных могут соответствовать различные онтологии. Например, возможен случай, когда каждый из источников представляет информационные ресурсы, моделирующие некоторый фрагмент предметной области, которому соответствует своя понятийная система, и эти фрагменты пересекаются.","materialsDescription":" <span style=\"font-weight: bold; \">Архитектуры систем интеграции</span>\r\n<span style=\"font-style: italic; \"><span style=\"font-weight: bold; \">Консолидация</span></span>\r\nВ случае консолидации данные извлекаются из источников, и помещаются в Хранилище данных. Процесс заполнения Хранилища состоит из трех фаз — извлечение, преобразование, загрузка (Extract, Transformation, Loading — ETL). Во многих случаях именно ETL понимают под термином «интеграция данных». Еще одна распространенная технология консолидации данных — управление содержанием корпорации (enterprise content management, сокр. ECM). Большинство решений ECM направлены на консолидацию и управление неструктурированными данными, такими как документы, отчеты и web-страницы.\r\nКонсолидация — однонаправленный процесс, то есть данные из нескольких источников сливаются в Хранилище, но не распространяются из него обратно в распределенную систему. Часто консолидированные данные служат основой для приложений бизнес-аналитики (Business Intelligence, BI), OLAP-приложений.\r\nПри использовании этого метода обычно существует некоторая задержка между моментом обновления информации в первичных системах и временем, когда данные изменения появляются в конечном месте хранения. Конечные места хранения данных, содержащие данные с большими временами отставания (например, более одного дня), создаются с помощью пакетных приложений интеграции данных, которые извлекают данные из первичных систем с определенными, заранее заданными интервалами. Конечные места хранения данных с небольшим отставанием обновляются с помощью оперативных приложений интеграции данных, которые постоянно отслеживают и передают изменения данных из первичных систем в конечные места хранения.\r\n<span style=\"font-style: italic; \"><span style=\"font-weight: bold; \">Федерализация</span></span>\r\nВ федеративных БД физического перемещения данных не происходит: данные остаются у владельцев, доступ к ним осуществляется при необходимости (при выполнении запроса). Изначально федеративные БД предполагали создание в каждом из n узлов n-1 фрагментов кода, позволяющего обращаться к любому другому узлу. При этом федеративные БД отделяли от медиаторов.\r\nПри использовании медиатора создается общее представление (модель) данных. Медиатор — посредник, поддерживающий единый пользовательский интерфейс на основе глобального представления данных, содержащихся в источниках, а также поддержку отображения между глобальным и локальным представлениями данных. Пользовательский запрос, сформулированный в терминах единого интерфейса, декомпозируется на множество подзапросов, адресованных к нужным локальным источникам данных. На основе результатов их обработки синтезируется полный ответ на запрос. Используются две разновидности архитектуры с посредником — Global as View и Local as View.\r\nОтображение данных из источника в общую модель выполняется при каждом запросе специальной оболочкой (wrapper). Для этого необходима интерпретация запроса к отдельным источникам и последующее отображение полученных данных в единую модель. Сейчас этот способ также относят к федеративным БД.\r\nИнтеграция корпоративной информации (Enterprise information integration, сокр. EII) — это пример технологии, которая поддерживает федеративный подход к интеграции данных.\r\nИзучение и профилирование первичных данных, необходимые для федерализации, несильно отличаются от аналогичных процедур, требуемых для консолидации.\r\n<span style=\"font-weight: bold; \">Распространение данных</span>\r\nПриложения распространения данных осуществляют копирование данных из одного места в другое. Эти приложения обычно работают в оперативном режиме и производят перемещение данных к местам назначения, то есть зависят от определенных событий. Обновления в первичной системе могут передаваться в конечную систему синхронно или асинхронно. Синхронная передача требует, чтобы обновления в обеих системах происходили во время одной и той же физической транзакции. Независимо от используемого типа синхронизации, метод распространения гарантирует доставку данных в систему назначения. Такая гарантия — это ключевой отличительный признак распространения данных. Большинство технологий синхронного распространения данных поддерживают двусторонний обмен данными между первичными и конечными системами. Примерами технологий, поддерживающих распространение данных, являются интеграция корпоративных приложений (Enterprise application integration, сокр. EAI) и тиражирование корпоративных данных (Еnterprise data replication, сокр. EDR). От федеративных БД этот способ отличает двустороннее распространение данных.\r\n<span style=\"font-style: italic; \"><span style=\"font-weight: bold; \">Сервисный подход</span></span>\r\nСервисно-ориентированная архитектура SOA (Service Oriented Architecture), успешно применяемая при интеграции приложений, применима и при интеграции данных. Данные также остаются у владельцев и даже местонахождение данных неизвестно. При запросе происходит обращение к определённым сервисам, которые связаны с источниками, где находится информация и её конкретный адрес.\r\nИнтеграция данных объединяет информацию из нескольких источников таким образом, чтобы её можно было показать клиенту в виде сервиса. Сервис — это не запрос в традиционном смысле обращения к данным, скорее, это извлечение некоторой бизнес-сущности (или сущностей), которое может быть выполнено сервисом интеграции через серию запросов и других сервисов. Подход SOA концентрируется, в первую очередь, на определении и совместном использовании в форме сервисов относительно ограниченного количества самых важных бизнес-функций в корпорации. Следовательно, сервис-ориентированные интерфейсы в довольно большой степени строятся на ограниченном количестве запросов на необходимую информацию, которую нужно представить потребителю.\r\nИмея соответствующие учетные данные системы безопасности, потребитель может осуществить выборку любых данных из источника через почти неограниченное количество различных запросов SQL. Но для этого потребитель должен иметь представление о модели источника данных и способе создания результата с использованием этой базовой модели. Чем сложнее модель источника данных, тем более сложной может оказаться эта задача.\r\n<span style=\"font-weight: bold;\">Возникающие задачи</span>\r\nПри создании системы интеграции возникает ряд задач, состав которых зависит от требований к ней и используемого подхода. К ним, в частности, относятся:\r\n<ul><li>Разработка архитектуры системы интеграции данных.</li><li>Создание интегрирующей модели данных, являющейся основой единого пользовательского интерфейса в системе интеграции.</li><li>Разработка методов отображения моделей данных и построение отображений в интегрирующую модель для конкретных моделей, поддерживаемых отдельными источниками данных.</li><li>Интеграция метаданных, используемых в системе источников данных.</li><li>Преодоление неоднородности источников данных.</li><li>Разработка механизмов семантической интеграции источников данных.</li></ul>","iconURL":"https://roi4cio.com/fileadmin/user_upload/Data_Integration_and_Access_Software.png","alias":"integracija-i-dostup-k-dannym"},"249":{"id":249,"title":"Языки, средства и среды разработки","description":" Свободно распространяемые среды разработки программ имеют разное назначение: учебное, развивающее, познавательное и т.п.. Их пользователями могут быть школьники, студенты, программисты-новички.\r\nУченые предлагают следующую классификацию свободно распространяемых сред разработки программ:\r\n<ul><li>Среды с поддержкой одного языка программирования;</li><li>Среды с поддержкой нескольких языков программирования;</li><li>Среды разработки веб-систем и приложений;</li><li>Среды, направленные на детскую аудиторию.</li></ul>\r\nИз свободных сред, ориентированных на один язык программирования, стоит выделить следующие средства: Lazarus, PyScripter, DrPython, Wing IDE.\r\nСреди свободно распространяемых средств разработки программ, направленных на несколько языков программирования, стоит отметить следующие: CodeLite, Dev-C++, Anjuta, Eric, Eclipse, HiAsm, Kylix, MonoDevelop, NetBeans, SharpDevelop, Xcode и т.д..\r\nИз перечня свободных сред предназначенных для создания веб-приложений можно выделить следующие: AJAX.OOP, MooTools Code::Blocks, Codelobster PHP Edition, Geany, Ultimate++, Symfony, Grails. С их помощью специалисты, также производят создание сайтов и Интернет интерфейсов.\r\nСреди средств разработки, ориентированных на детскую аудиторию, можно выделить следующие среды: Algo, Alice, EToys, Scratch, Squeak и т.п. Основной целью их использования является поощрение детей изучать программирование.\r\nИнтегрированная среда разработки (ИСP), также единая среда разработки, ЕСР — комплекс программных средств, используемый программистами для разработки программного обеспечения (ПО).\r\nСреда разработки включает в себя:\r\n<ul><li>текстовый редактор,</li><li>компилятор и/или интерпретатор,</li><li>средства автоматизации сборки,</li><li>отладчик.</li></ul>\r\nИногда содержит также средства для интеграции с системами управления версиями и разнообразные инструменты для упрощения конструирования графического интерфейса пользователя. Многие современные среды разработки также включают браузер классов, инспектор объектов и диаграмму иерархии классов — для использования при объектно-ориентированной разработке ПО. ИСР обычно предназначены для нескольких языков программирования — такие как IntelliJ IDEA, NetBeans, Eclipse, Qt Creator, Geany, Embarcadero RAD Studio, Code::Blocks, Xcode или Microsoft Visual Studio, но есть и IDE для одного определённого языка программирования — как, например, Visual Basic, Delphi, Dev-C++.\r\nЧастный случай ИСР — среды визуальной разработки, которые включают в себя возможность наглядного редактирования интерфейса программы.\r\nИспользование ИСР для разработки программного обеспечения является прямой противоположностью способу, в котором используются несвязанные инструменты, такие как текстовый редактор, компилятор, и т. п. Интегрированные среды разработки были созданы для того, чтобы максимизировать производительность программиста благодаря тесно связанным компонентам с простыми пользовательскими интерфейсами. Это позволяет разработчику сделать меньше действий для переключения различных режимов, в отличие от дискретных программ разработки. Однако так как ИСР является сложным программным комплексом, то среда разработки сможет качественно ускорить процесс разработки ПО лишь после специального обучения. Для уменьшения барьера вхождения многие достаточно интерактивны, а для облегчения перехода с одной на другую интерфейс у одного производителя максимально близок, вплоть до использования одной ИСР.\r\nИСР обычно представляет собой единственную программу, в которой проводится вся разработка. Она, как правило, содержит много функций для создания, изменения, компилирования, развертывания и отладки программного обеспечения. Цель интегрированной среды заключается в том, чтобы объединить различные утилиты в одном модуле, который позволит абстрагироваться от выполнения вспомогательных задач, тем самым позволяя программисту сосредоточиться на решении собственно алгоритмической задачи и избежать потерь времени при выполнении типичных технических действий (например, вызове компилятора). Таким образом, повышается производительность труда разработчика. Также считается, что тесная интеграция задач разработки может далее повысить производительность за счёт возможности введения дополнительных функций на промежуточных этапах работы. Например, ИСР позволяет проанализировать код и тем самым обеспечить мгновенную обратную связь и уведомить о синтаксических ошибках.\r\nБольшинство современных ИСР являются графическими. Но первые ИСР использовались ещё до того, как стали широко применяться операционные системы с графическим интерфейсом — они были основаны на текстовом интерфейсе с использованием функциональных и горячих клавиш для вызова различных функций (например, Turbo Pascal, созданный фирмой Borland).","materialsDescription":" <span style=\"font-weight: bold;\">Что такое "средства разработки программного обеспечения"?</span>\r\nСредства разработки программного обеспечения – совокупность приемов, методов, методик, а также набор инструментальных программ (компиляторы, прикладные/системные библиотеки и т.д.), используемых разработчиком для создания программного кода Программы, отвечающего заданным требованиям.\r\n<span style=\"font-weight: bold;\">Что означает "разработка программ"?</span>\r\nРазработка программ – сложный процесс, основной целью которого является создание, сопровождение программного кода, обеспечивающего необходимый уровень надежности и качества. Для достижения основной цели разработки программ используются средства разработки программного обеспечения.","iconURL":"https://roi4cio.com/fileadmin/user_upload/Development_Languages_Environments_and_Tools.png","alias":"jazyki-sredstva-i-sredy-razrabotki"},"251":{"id":251,"title":"Компоненты построения ПО","description":" Рынок компонентов разработки программного обеспечения, который управляется клиентским опытом и представительскими программными компонентами, продолжает расти. Компоненты конструкции программного обеспечения ссылаются на неточно связанные отдельные компоненты, которые объединены в большую программную среду. Что касается инженерных дисциплин, конструирование программного обеспечения с разделенными компонентами известно как разработка программного обеспечения на основе компонентов (CBSE). Эти компоненты могут быть в виде пакета программного обеспечения, веб-администрирования, ресурса или модуля, который содержит соответствующую информацию или возможности.\r\nКомпоненты из предварительно созданного программного обеспечения автономно удаляются и продаются независимо разработчиками программного обеспечения самостоятельно или через сторонних разработчиков, чтобы помочь в создании другой структуры программного обеспечения. Основной причиной создания программного обеспечения на основе компонентов является простота использования в других программных средах для создания и перепроектирования существующих программных сред.\r\nРынок компонентов разработки программного обеспечения представлен растущим интересом к новым приложениям с расширенными возможностями и возможностями настройки. Требование снижения многогранного качества и повышения эффективности способствует развитию рынка компонентов программного обеспечения. Появление Интернета вещей (IoT) сделало продвижение программного обеспечения большим и сложным процессом.\r\nПоследствия анализа данных для функционирования бизнеса в значительной степени возросли за последние несколько лет. С ростом распространения Интернета огромные объемы данных генерируются на регулярной основе, что создает потребность в передовых инструментах для управления данными. Благодаря растущей популярности интеллектуальных технологий в наши дни глобальный рынок компонентов для конструирования программного обеспечения стал выдающимся создателем цифровой информации. Эти системы позволяют пользователям сопоставлять, собирать и анализировать сгенерированные данные, что впоследствии привело к быстрому развитию мирового рынка в последние несколько лет.","materialsDescription":"<span style=\"font-weight: bold;\">Что такое конструирование программного обеспечения?</span>\r\nКонструирование программного обеспечения - дисциплина программной инженерии. Это детальное создание работающего программного обеспечения посредством комбинации программирования, верификации, модульного и интеграционного тестирования и отладки. Оно связано со всеми другими дисциплинами программной инженерии, наиболее сильно с проектированием и тестированием.\r\n<span style=\"font-weight: bold; \">Каковы основы конструирования ПО?</span>\r\n<span style=\"font-style: italic; \"><span style=\"font-weight: bold; \">Минимизация сложности</span></span>\r\nУменьшение сложности достигается через акцентирование создания кода, который был бы простым и читаемым, а не искусным. Минимизация сложности получается путём использования стандартов и посредством многочисленных специфических методов написания кода. Также она поддерживается методами конструктивно-ориентированного качества.\r\n<span style=\"font-style: italic; \"><span style=\"font-weight: bold; \">Предусматривание изменений</span></span>\r\nПредвосхищение изменений поддерживается многими специфическими методами набора кода:\r\n<ul><li>Способы общения: такие как стандарты форматов документов и содержимого.</li><li>Языки программирования</li><li>Платформы</li><li>Инструменты: такие как схематические стандарты для нотаций, например, язык UML.</li></ul>\r\n<span style=\"font-style: italic; \"><span style=\"font-weight: bold; \">Конструирование для верификации</span></span>\r\nКонструирование для верификации означает построение программного обеспечения таким образом, что ошибки могут быть легко обнаружены инженером пишущим это ПО, а также в ходе независимого тестирования и эксплуатационной деятельности. Специфические методы, которые поддерживают конструирование для верификации включают в себя следующие: стандарты написания кода для поддержки проверки кода, модульное тестирование, организация код для поддержки автоматизированного тестирования, ограниченное использование сложных или труднодоступных для понимания языковых структур, и некоторые другие.\r\n<span style=\"font-style: italic; \"><span style=\"font-weight: bold; \">Стандарты в конструировании</span></span>\r\nСтандарты, которые непосредственно затрагивают вопросы конструирования, включают:\r\n<ul><li>Использование внешних стандартов: стандарты для языков конструирования, инструменты конструирования, технические интерфейсы и взаимодействие между конструированием ПО и другими дисциплинами.</li><li>Использование внутренних стандартов: минимизация сложности, предвидение изменений и конструирование для верификации.</li></ul>","iconURL":"https://roi4cio.com/fileadmin/user_upload/Software_Construction_Components.png","alias":"komponenty-postroenija-po"},"255":{"id":255,"title":"Средства моделирования и архитектуры","description":"Корпоративная архитектура (EA) - это дисциплина, которая приобрела и будет приобретать огромное значение для совершенствования корпоративной организации и ее ИТ-поддержки.\r\nАрхитектура предприятия - это полное выражение предприятия, генеральный план, который «действует как сила сотрудничества» между аспектами бизнес-планирования (такими как цели, концепции, стратегии и принципы управления), аспектами бизнес-операций (такими как бизнес-термины, организация структуры, процессы и данные), аспекты автоматизации (такие как информационные системы и базы данных) и технологическая инфраструктура бизнеса (например, компьютеры, операционные системы и сети).\r\nАрхитекторы предприятия используют различные бизнес-методы, аналитические методы и концептуальные инструменты для понимания и документирования структуры и динамики предприятия. При этом они создают списки, чертежи, документы и модели, которые вместе называются «артефактами». Эти артефакты описывают логическую организацию бизнес-функций, бизнес-возможностей, бизнес-процессов, людей, информационных ресурсов, бизнес-систем, программных приложений, вычислительных возможностей, обмена информацией и инфраструктуры связи внутри предприятия.","materialsDescription":" <span style=\"font-weight: bold; \">Что такое корпоративная архитектура?</span>\r\nКорпоративная архитектура (EA) - это «четко определенная практика для проведения анализа, проектирования, планирования и внедрения на предприятии с использованием комплексного подхода в любое время для успешной разработки и реализации стратегии. Архитектура предприятия использует принципы и практики архитектуры для руководства организации посредством изменений в бизнесе, информации, процессах и технологиях, необходимых для реализации своих стратегий. Эти практики используют различные аспекты предприятия для выявления, мотивации и достижения этих изменений".\r\nСпециалисты по корпоративной архитектуре, корпоративные архитекторы несут ответственность за анализ структуры и процессов бизнеса, и им часто приходится делать выводы из собранной информации для достижения целей архитектуры предприятия: результативности, оперативности, гибкости и непрерывности сложного бизнеса. операции.\r\n<span style=\"font-weight: bold; \">Каковы термины "предприятие" и "архитектура"?</span>\r\nТермин «предприятие» можно определить как описание организационной единицы, организации или совокупности организаций, которые разделяют ряд общих целей и сотрудничают в предоставлении конкретных продуктов или услуг клиентам.\r\nВ этом смысле термин «предприятие» охватывает различные типы организаций, независимо от их размера, модели собственности, операционной модели или географического распределения. Он включает в себя полные социально-технические системы этих организаций, включая людей, информацию, процессы и технологии.\r\nТермин «архитектура» относится к фундаментальным концепциям или свойствам системы в ее среде, воплощенной в ее элементах, отношениях и в принципах ее проектирования и развития.\r\nПонятный как социально-техническая система, термин предприятие определяет область применения архитектуры предприятия.\r\n<span style=\"font-weight: bold;\">Каковы преимущества?</span>\r\nПреимущества архитектуры предприятия достигаются за счет ее прямого и косвенного вклада в организационные цели. Было обнаружено, что наиболее заметные преимущества архитектуры предприятия можно наблюдать в следующих областях:\r\n<ul><li><span style=\"font-style: italic;\">Организационный дизайн.</span> Корпоративная архитектура обеспечивает поддержку в областях, связанных с проектированием и перепроектированием организационных структур во время слияний, поглощений или общих организационных изменений.</li><li><span style=\"font-style: italic;\">Организационные процессы и стандарты процессов.</span> Архитектура предприятия помогает обеспечить дисциплину и стандартизацию бизнес-процессов, а также обеспечивает консолидацию, повторное использование и интеграцию процессов.</li><li><span style=\"font-style: italic;\">Управление портфелем проектов.</span> Архитектура предприятия поддерживает принятие инвестиционных решений и определение приоритетов работы.</li><li><span style=\"font-style: italic;\">Управление проектом.</span> Архитектура предприятия расширяет возможности сотрудничества и взаимодействия между заинтересованными сторонами проекта. Архитектура предприятия способствует эффективной оценке проекта и определению более полных и согласованных результатов проекта.</li><li><span style=\"font-style: italic;\">Разработка требований</span> - Архитектура предприятия повышает скорость выявления требований и точность определений требований путем публикации документации по архитектуре предприятия.</li><li><span style=\"font-style: italic;\">Разработка системы.</span> Архитектура предприятия способствует оптимальному проектированию системы и эффективному распределению ресурсов при разработке и тестировании системы.</li><li><span style=\"font-style: italic;\">Управление ИТ и принятие решений.</span> Обнаружено, что корпоративная архитектура способствует обеспечению дисциплины и стандартизации мероприятий по планированию ИТ и способствует сокращению времени на принятие решений, связанных с технологиями.</li><li><span style=\"font-style: italic;\">Ценность ИТ</span> - Архитектура предприятия помогает снизить затраты на внедрение и эксплуатацию системы и минимизировать репликацию сервисов ИТ-инфраструктуры между подразделениями.</li><li><span style=\"font-style: italic;\">Сложность ИТ.</span> Архитектура предприятия способствует снижению сложности ИТ, консолидации данных и приложений, а также лучшему взаимодействию систем.</li><li><span style=\"font-style: italic;\">Открытость ИТ</span> - Архитектура предприятия способствует большей открытости и оперативности ИТ, что отражается в увеличении доступности данных для соответствия нормативным требованиям и повышении прозрачности изменений инфраструктуры.</li><li><span style=\"font-style: italic;\">Управление ИТ-рисками.</span> Архитектура предприятия способствует снижению бизнес-рисков от сбоев системы и нарушений безопасности. Архитектура предприятия помогает снизить риски реализации проекта.</li></ul>","iconURL":"https://roi4cio.com/fileadmin/user_upload/Modeling_and_Architecture_Tools.png","alias":"sredstva-modelirovanija-i-arkhitektury"},"257":{"id":257,"title":"Веб-дизайн и разработка","description":" Одним из первоначальных этапов при разработке и запуске любого бизнес проекта в Интернет является веб-дизайн сайта. Именно от его индивидуальности в определенной мере будет зависеть успешность Вашего дела. Ведь, как человек, который обладает яркой, запоминающейся внешностью, всегда будет выделяться среди людской толпы, так и web-страницы должны быть уникальными и неповторимыми, чтобы не затеряться во всемирной паутине. Именно поэтому на создание дизайна сайта стоит обращать внимание, доверяясь в этом вопросе только профессионалам.\r\nВеб-дизайн (от англ. web design) - отрасль веб-разработки и разновидность дизайна, в задачи которой входит проектирование пользовательских веб-интерфейсов для сайтов или веб-приложений. Веб-дизайнеры проектируют логическую структуру веб-страниц, продумывают наиболее удобные решения подачи информации, занимаются художественным оформлением веб-проекта.\r\nВ результате пересечения двух отраслей человеческой деятельности грамотный веб-дизайнер должен быть знаком с новейшими веб-технологиями и обладать соответствующими художественными качествами. Большая часть специалистов, работающих в области дизайна, обычно концентрирует в себе такое творческое образование, как студия дизайна.\r\nВеб-дизайнер - сравнительно молодая профессия, и профессиональное образование в области веб-дизайна в России пока не распространено. В связи с увеличением спроса на представительство в Сети растёт и спрос на дизайн сайтов, увеличивается количество веб-дизайнеров. В настоящее время услуги веб-дизайна предоставляют как веб-студии, так и частные лица (веб-дизайнеры, являющиеся фрилансерами).\r\nУникальный дизайн стоит дороже, но и предполагает отрисовку с нуля, полностью уникальную разработку под конкретный заказ. В зависимости от профессионализма и/или политики компании веб-дизайнер либо разрабатывает идею и концепцию дизайна полностью самостоятельно, либо получает ряд требований (цвет, стиль и тому подобное), ожиданий и идей от заказчика или творческого директора (арт-директора) и старается держаться этого направления при разработке макета. Большинство заказчиков ошибочно отождествляют веб-дизайнера и веб-мастера, поручая ему и публикацию сайта.\r\nИногда дизайнер может предложить дизайн-решение на основе шаблонов (своих или даже чужих), это ускоряет работу и обойдется заказчику дешевле. Некоторые дизайнеры даже специализируются на изготовлении дизайн-макетов для продажи в качестве готовых шаблонов, которые затем могут быть куплены и использоваться менее опытными дизайнерами или веб-мастерами для изготовления типовых сайтов (по сути, без уникального дизайна). Иной раз разработкой веб-дизайна называют небольшую перекомпоновку и адаптацию такого шаблона под конкретный заказ.\r\nКонечным продуктом работы веб-дизайнера является дизайн-макет: картинка, представляющая предполагаемый будущий внешний вид страниц сайта. Картинка эта является многослойной, где, на усмотрение дизайнера, почти каждая деталь - отдельный слой, приложенный к другим слоям-картинкам, за счёт чего может легко выполняться доработка, замена, перекомпоновка и другие задачи. В зависимости от идеи и целей макет может включать фотографии, сложные коллажи, иллюстрации, текстовые слои, уникальные иконки. Для главной страницы и внутренних иногда рисуются отдельные макеты с дополнениями или изменениями в соответствии с тематикой страницы.\r\nИзображение первоначально может быть векторным или растровым, выполненным в Adobe Illustrator, Adobe Photoshop, GIMP или другом визуальном редакторе (например, Scribus или Inkscape), но для верстальщика изображение, как правило, переводится в растровый формат.\r\nДля демонстрации клиенту изображение обычно переводится в простой однослойный и привычный формат изображений.","materialsDescription":" <span style=\"font-weight: bold; \">Что входит в создание дизайн сайта?</span>\r\nВеб-дизайн имеет очень большие отличия от обычного полиграфического дизайна. Создание дизайна сайта обычно представляет собой определенный процесс, в котором учитываются различные требования не только художественного, но и технического характера. Такой процесс может включать в себя несколько этапов:\r\n<ul><li>разработка привлекательного, легко воспринимаемого дизайна стартовой страницы, а также других разделов и последующих уровней (в том числе разнообразных форм регистраций, корзин и т.д.);</li><li>разработка и согласование грамотно продуманной структуры всего сайта;</li><li>проектирование удобной, достаточно простой навигации по сайту;</li><li>правильно расположенный текст на страницах;</li><li>наличие возможностей для несложной поддержки и расширения сайта.</li></ul>\r\n<span style=\"font-weight: bold; \">Какой дизайн выбрать при создании сайта?</span>\r\nПри создании дизайна сайта обязательно нужно учитывать его тематику.\r\nТак, сайт коммерческой направленности должен привлекать внимание посетителей своим запоминающимся видом и фирменным стилем, присущим именно Вашей компании. И, вместе с тем, быть удобным и содержать всю необходимую пользователю информацию о Вас и Ваших товарах, услугах. Не говоря уж о том, что на таком сайте приветствуются различные формы получения on-line консультаций, оформления заказов и т.п. Наличие таких функций и их интуитивная понятность и доступность для пользователя сайта значительно повышает то, что принято называть «конверсией сайта». Т.е. насколько Ваш сайт будет «продающим», и сможет ли не просто быть аналогом визитки Вашей компании в сети Интернет, но и привлекать новых, отнюдь не виртуальных клиентов для Вашего бизнеса. Поэтому создание дизайна сайта такого рода должно проводиться очень тщательно, чтобы в полной мере отразить индивидуальность образа компании.\r\nИногда рекомендуется придерживаться лаконичного стиля, который способен подчеркнуть Вашу уникальность и стабильность как компании. В иных случаях (например, если речь идёт о сайтах свадебных агентств) хорошим тоном считается некая романтичность и нежность цветовой гаммы в сочетании с радостными, яркими элементами. А сайты, обращенные к потенциальным клиентам с неординарными запросами, просто обязаны отличаться уникальным, подчас весьма экстравагантным дизайном (при сохранении, тем не менее, основных принципов хорошего юзабилити – простоты и удобства пользования Вашим интернет ресурсом).\r\nЕсли же Вы планируете, например, запустить информационный сайт, то его художественное оформление должно быть выдержано в строгом стиле, без кричащих красок, так как в данном случае именно содержание имеет большую важность, нежели оформление.\r\nВпрочем, последнее утверждение верно для любого сайта. Ведь иногда неважно, насколько красива обёртка, если вместо конфеты внутри пользователь найдет пустышку. Контент сайта, его информационное наполнение и то, насколько удобно пользователю получать нужную ему информацию на Вашем сайте, - самое главное! Увы, но в российской зоне интернета пока 9 из 10 сайтов (даже с отличным первоначальным дизайном) просто «убиваются» неадекватным или неинтересным пользователю контентом. А то и, просто, его отсутствием.\r\n<span style=\"font-weight: bold;\">Веб-дизайн при создании сайтов: красота или функциональность?</span>\r\nПри создании дизайна будущего сайта Важно помнить, прежде всего, о функциональности и тех задачах, что должен будет решать будущий сайт. А, значит, помнить о тех, для кого Вы его создаёте – о будущих пользователях. Излишне вычурный дизайн или неудобное меню, сложность нахождения нужной информации на сайте - это может привести к тому, что Ваш посетитель уйдёт на другие сайты. т.е. к Вашим конкурентам.\r\nПользователю интернет сети зачастую плевать на дизайнерские изыски или «крутизну» программиста, реализовавшего нестандартную навигацию по сайту, в которой без дополнительной инструкции и не разберёшься подчас. Посетитель сайта пришёл к Вам за информацией. И важно, прежде всего, насколько быстро он её нашёл, насколько она удовлетворила его потребности, насколько помогла в решении его, пользователя проблемы.\r\nТогда и сайт запомнится, и посетитель не только вернётся к Вам сам, но и, возможно, приведет друзей.\r\nХороший веб-дизайнер – это не только, и не столько художник, сколько очень вдумчивый и опытный проектировщик интернет-ресурсов, которые будут привлекать к себе внимание, оставаясь при этом удобными и востребованными в рамках Вашей маркетинговой политики.","iconURL":"https://roi4cio.com/fileadmin/user_upload/Web_Design_and_Development_Tools.png","alias":"veb-dizain-i-razrabotka"},"261":{"id":261,"title":"Автоматизированные средства управления качеством ПО","description":" Автоматизированное тестирование программного обеспечения — часть процесса тестирования на этапе контроля качества в процессе разработки программного обеспечения. Оно использует программные средства для выполнения тестов и проверки результатов выполнения, что помогает сократить время тестирования и упростить его процесс.\r\nПервые попытки «автоматизации» появились в эпоху операционных систем DOS и CP/M. Тогда она заключалась в выдаче приложению команд через командную строку и анализе результатов. Чуть позднее добавились удаленные вызовы через API для работы по сети. Впервые автоматизированное тестирование упоминается в книге Фредерика Брукса «Мифический человеко-месяц», где говорится о перспективах использования модульного тестирования. Но по-настоящему автоматизация тестирования стала развиваться только в 1980-х годах.\r\nСуществует два основных подхода к автоматизации тестирования: тестирование на уровне кода и тестирование пользовательского интерфейса (в частности, GUI-тестирование). К первому типу относится, в частности, модульное тестирование. Ко второму — имитация действий пользователя - функциональное тестирование (с помощью специальных тестовых фреймворков.).\r\nНаиболее распространенной формой автоматизации является тестирование приложений через графический пользовательский интерфейс (англ. GUI). Популярность такого вида тестирования объясняется двумя факторами: во-первых, приложение тестируется тем же способом, которым его будет использовать человек, во-вторых, можно тестировать приложение, не имея при этом доступа к исходному коду.\r\nGUI-автоматизация развивалась в течение 4 поколений инструментов и техник:\r\n<ul><li>Утилиты записи и воспроизведения (англ. capture/playback tools) записывают действия тестировщика во время ручного тестирования. Они позволяют выполнять тесты без прямого участия человека в течение продолжительного времени, значительно увеличивая продуктивность и устраняя «тупое» повторение однообразных действий во время ручного тестирования. В то же время, любое малое изменение тестируемого ПО требует перезаписи ручных тестов. Поэтому это первое поколение инструментов не эффективно и не масштабируемо.</li><li>Написание сценария (англ. scripting) — форма программирования на языках, специально разработанных для автоматизации тестирования ПО — смягчает многие проблемы инструментов записи и воспроизведения. Но разработкой занимаются программисты высокого уровня, которые работают отдельно от тестировщиков, непосредственно запускающих тесты. К тому же скрипты более всего подходят для тестирования GUI и не могут быть внедренными, пакетными или вообще каким-либо образом объединены в систему. Наконец, изменения в тестируемом ПО требуют сложных изменений в соответствующих скриптах, и поддержка все возрастающей библиотеки тестирующих скриптов становится в конце концов непреодолимой задачей.</li><li>Управляемое данными тестирование (англ. Data-driven testing) — методология, которая используется в автоматизации тестирования. Особенностью является то, что тестовые скрипты выполняются и верифицируются на основе данных, которые хранятся в центральном хранилище данных или базе данных. Роль базы данных могут выполнять ODBC-ресурсы, csv или xls файлы и т. д. Управляемое данными тестирование — это объединение нескольких взаимодействующих тестовых скриптов и их источников данных во фреймворк, используемый в методологии. В этом фреймворке переменные используются как для входных значений, так и для выходных проверочных значений: в тестовом скрипте обычно закодированы навигация по приложению, чтение источников данных, ведение логов тестирования. Таким образом, логика, которая будет выполнена в скрипте, также зависит от данных.</li><li>Тестирование по ключевым словам (англ. Keyword-based) автоматизация подразумевает разделение процесса создания кейсов на 2 этапа: этап планирования и этап реализации. В этом случае конечный тест представляет собой не программный код, а описание последовательности действий с их параметрами (например, «завести в базе данных пользователя с логином XXX и паролем YYY»). При этом фреймворк отвечает за непосредственную реализацию ключевых слов (действий), а дизайнеру тестов достаточно иметь представление о всём наборе действий, реализованных во фреймворке. Это даёт возможность создавать тесты людям, не имеющим навыков программирования.</li></ul>\r\nОдной из главных проблем автоматизированного тестирования является его трудоемкость: несмотря на то, что оно позволяет устранить часть рутинных операций и ускорить выполнение тестов, большие ресурсы могут тратиться на обновление самих тестов. Это относится к обоим видам автоматизации. При рефакторинге часто бывает необходимо обновить и модульные тесты, а изменение кода тестов может занять столько же времени, сколько и изменение основного кода. С другой стороны, при изменении интерфейса приложения необходимо заново переписать все тесты, которые связаны с обновленными окнами, что при большом количестве тестов может отнять значительные ресурсы.","materialsDescription":" <span style=\"font-weight: bold;\">Инструментарий:</span>\r\n<ul><li>JUnit — тестирование приложений для Java</li><li>TestNG — тестирование приложений для Java</li><li>NUnit — порт JUnit под .NET</li><li>Selenium — тестирование приложений HTML; поддерживает браузеры Internet Explorer, Mozilla Firefox, Opera, Google Chrome, Safari.</li><li>TOSCA Testsuite — тестирование приложений HTML, .NET, Java, SAP</li><li>UniTESK — тестирование приложений на Java, С.</li></ul>","iconURL":"https://roi4cio.com/fileadmin/user_upload/Automated_Software_Quality_Tools1.png","alias":"avtomatizirovannye-sredstva-upravlenija-kachestvom-po"},"263":{"id":263,"title":"Средства управления конфигурациями ПО","description":" Конфигурационное управление (англ. software configuration management, SCM) в программной инженерии — комплекс методов, направленных на систематический учёт изменений, вносимых разработчиками в программный продукт в процессе его разработки и сопровождения, сохранение целостности системы после изменений, предотвращение нежелательных и непредсказуемых эффектов, формализацию процесса внесения изменений.\r\nВ целом, конфигурационное управление отвечает на вопрос: «Кто-то уже сделал нечто, как нам это воспроизвести?»\r\nИзначально управление конфигурацией применялось не в программировании. Под конфигурацией понимался состав деталей конечного продукта и «взаимное расположение частей» физического изделия. Таким образом, конфигурацией можно управлять, контролируя документы, описывающие конечный продукт, требования к нему, всю его проектную и технологическую документацию.\r\nВ связи с высокой динамичностью сферы разработки ПО, в ней конфигурационное управление особенно полезно. К процедурам можно отнести создание резервных копий, контроль исходного кода, требований проекта, документации и т. д. Степень формальности выполнения данных процедур зависит от размеров проекта, и при правильной её оценке данная концепция может быть очень полезна.\r\nИнструменты управления конфигурацией позволяют выполнять изменения и развертывания быстрее, повторяемыми, масштабируемыми, предсказуемыми и способными поддерживать желаемое состояние, которое переводит контролируемые активы в ожидаемое состояние.\r\nНекоторые инструменты управления конфигурацией используют модель извлечения, в которой агент, установленный на серверах, периодически запускается, чтобы извлечь последние определения из центрального репозитория и применить их к серверу. Другие инструменты используют push-модель, когда центральный сервер запускает обновления для управляемых серверов.","materialsDescription":" <span style=\"font-weight: bold;\">Что такое управление конфигурацией программного обеспечения?</span>\r\nУправление конфигурацией программного обеспечения определяется как процесс систематического управления, организации и контроля изменений в документах, кодах и других объектах в течение жизненного цикла разработки программного обеспечения. Сокращенно - SCM. Основная задача - повысить производительность труда с минимальными ошибками.\r\n<span style=\"font-weight: bold;\">Зачем нам нужно управление конфигурацией?</span>\r\nОсновными причинами внедрения системы управления конфигурацией программного обеспечения являются:\r\n<ul><li>Есть много людей, работающих над программным обеспечением, которое постоянно обновляется</li><li>Это может быть случай, когда несколько версий, ветвей, авторов участвуют в программном проекте, и команда географически распределена и работает одновременно</li><li>Изменения в требованиях пользователей, политике, бюджете, расписаниях должны быть учтены</li><li>Программное обеспечение должно работать на разных машинах и в операционных системах</li><li>Помогает развивать координацию между заинтересованными сторонами</li><li>Процесс SCM также полезен для контроля затрат, связанных с внесением изменений в систему</li></ul>\r\nЛюбые изменения в элементах конфигурации программного обеспечения влияют на конечный продукт. Следовательно, изменения в элементах конфигурации должны контролироваться и управляться.\r\n<span style=\"font-weight: bold;\">Задачи в процессе SCM:</span>\r\n<ul><li>Идентификация конфигурации</li><li>Исходные условия</li><li>Изменение управления</li><li>Учет состояния конфигурации</li><li>Аудит конфигурации и обзоры</li></ul>","iconURL":"https://roi4cio.com/fileadmin/user_upload/Software_Configuration_Management_Tools.png","alias":"sredstva-upravlenija-konfiguracijami-po"},"393":{"id":393,"title":"Встроенные СУБД","description":" Встраиваемая система управления базами данных — архитектура систем управления базами данных, когда СУБД тесно связана с прикладной программой и работает на том же компьютере, не требуя профессионального администрирования.\r\nВстраиваемые СУБД применяются во многих программах, которые хранят большие массивы данных, но при этом не требуется доступ с многих компьютеров. На «рабочем столе» неопытного пользователя тоже есть программы, в которых может найтись встраиваемая СУБД: почтовые клиенты и мессенджеры (базы переписки), медиапроигрыватели (плей-листы и обложки), просмотрщики изображений (метаданные и уменьшенные эскизы), различные локальные БД наподобие телефонных справочников и геоинформационных систем (предоставляемые данные).\r\nИсторически локальные и файл-серверные СУБД предоставляли скриптовый язык, на котором пользователь мог писать прикладную программу. Так устроены Microsoft Access, FoxPro, Clipper, 1С: Бухгалтерия. Недостатком этого подхода была крайняя бедность результирующих программ, ограниченные средства отладки. И зачастую не существовало компактной среды исполнения, которую можно распространять вместе с программой; нужна программа — устанавливай весь пакет. С распространением динамической линковки и opensource-сообщества маятник качнулся в другую сторону: пусть программист пишет свою программу на том языке высокого уровня, на котором удобно. СУБД же будет подсоединена к программе и станет единым целым с ней. ","materialsDescription":" <span style=\"font-weight: bold;\">Какие особенности у встраиваемой СУБД?</span>\r\n<span style=\"font-weight: bold;\">Нет отдельной программы-сервера </span>\r\nФизически встраиваемая СУБД является библиотекой, статически или динамически подсоединённой к основной программе. Программа и СУБД общаются не через сетевые сокеты, а через специализированное API. В этом, правда, есть и недостаток: зачастую программист сам должен не допускать многопоточных гонок.\r\n<span style=\"font-weight: bold;\">Высокая скорость и малый расход памяти, особенно на длинных строках и BLOBах</span>\r\nБлагодаря специализированному API количество операций чтения-записи минимально.\r\n<span style=\"font-weight: bold;\">Зачастую небольшой по меркам БД максимальный размер базы </span>\r\nОт единиц гигабайт (объём памяти ПК на 2012 год) до единиц терабайт (порядка объёма жёсткого диска). Например, SQLite всегда держит в памяти оглавление БД (аналог таблицы размещения файлов), этим ограничивается объём БД.\r\n<span style=\"font-weight: bold;\">Как правило, специализированный язык запросов или неполная совместимость с SQL-92</span>\r\nВ угоду производительности часто разработчики реализуют или неполный SQL (SQLite), или специализированный язык запросов (BerkeleyDB). К тому же встраиваемые СУБД могут действовать совсем по другому принципу, чем клиент-серверные: пинг к БД нулевой, и запрос можно выполнять по частям, несколькими обращениями к СУБД.\r\n<span style=\"font-weight: bold;\">Как правило, нет пользовательских прав; простейшая изоляция транзакций</span>\r\nБольшего однопользовательской БД и не нужно. Как правило, транзакции изолируются по принципу «записываем по одному» с помощью стандартных механизмов ОС наподобие блокировки файлов. Доступ к одному файлу из нескольких программ наладить можно: так, SQLite успешно работает в малонагруженных сайтах. Но высокая нагрузка ему не по зубам.\r\n<span style=\"font-weight: bold;\">Как правило, нет архивации и репликации БД</span>\r\nВстраиваемая БД надёжна настолько, насколько надёжна библиотека СУБД и файловая система, на которой база данных располагается. Известные встраиваемые СУБД, как правило, хорошо оттестированы, а современные файловые системы очень надёжны. Тем не менее, есть множество способов потерять данные, так что такие решения по надёжности уступают серверным СУБД.\r\n<span style=\"font-weight: bold;\">Как правило, нет языковых средств, упрощающих доступ к БД</span>\r\nСпециализированные СУБД-языки наподобие xBase обычно представляют собой симбиоз языка запросов и языка прикладного программирования. В языках программирования общего назначения правильность запроса будет проверена не при компиляции, а лишь тогда, когда запрос будет послан в СУБД. И, конечно же, на языке программирования общего назначения конструкции доступа к БД (как встраиваемой, так и клиент-серверной) будут тяжеловесными.\r\nВпрочем, в C# есть язык запросов LINQ, который компилируется в комбинацию вызовов методов, а те, как правило, готовят обычный SQL.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Embedded_Database_Management_Systems.png","alias":"vstroennye-subd"},"395":{"id":395,"title":"Agile-метод управления жизненным циклом приложения","description":" Гибкая методология разработки (англ. Agile software development, agile-методы) — серия подходов к разработке программного обеспечения, ориентированных на использование итеративной разработки, динамическое формирование требований и обеспечение их реализации в результате постоянного взаимодействия внутри самоорганизующихся рабочих групп, состоящих из специалистов различного профиля. Существует несколько методик, относящихся к классу гибких методологий разработки, в частности экстремальное программирование, DSDM, Scrum, FDD.\r\nБольшинство гибких методологий нацелены на минимизацию рисков путём сведения разработки к серии коротких циклов, называемых итерациями, которые обычно длятся две-три недели. Каждая итерация сама по себе выглядит как программный проект в миниатюре и включает все задачи, необходимые для выдачи мини-прироста по функциональности: планирование, анализ требований, проектирование, программирование, тестирование и документирование. Хотя отдельная итерация, как правило, недостаточна для выпуска новой версии продукта, подразумевается, что гибкий программный проект готов к выпуску в конце каждой итерации. По окончании каждой итерации команда выполняет переоценку приоритетов разработки. \r\nГибкое управление жизненным циклом приложения (Agile ALM) - это все инструменты и процессы, которые используются для управления проектами разработки ПО на основе гибкой методологии. В традиционной каскадной модели разработки используется фазовый подход к жизненному циклу разработки. Данный подход означает, что никакая фаза проекта не начинается раньше, чем закончится предыдущая. К примеру, дизайн не начинается прежде, чем закончится сбор требований. Разработка не начинается, пока не завершится дизайн. Тестирование не начинается, пока полностью не закончится разработка. Существует множество инструментов, позволяющих управлять тем, что на входе и выходе у каждой фазы.\r\nAgile-методы делают упор на непосредственное общение лицом к лицу. Большинство agile-команд расположены в одном офисе, иногда называемом англ. bullpen. Как минимум, она включает и «заказчиков» (англ. product owner — заказчик или его полномочный представитель, определяющий требования к продукту; эту роль может выполнять менеджер проекта, бизнес-аналитик или клиент). Офис может также включать тестировщиков, дизайнеров интерфейса, технических писателей и менеджеров.\r\nОсновной метрикой agile-методов является рабочий продукт. Отдавая предпочтение непосредственному общению, agile-методы уменьшают объём письменной документации по сравнению с другими методами. Это привело к критике этих методов как недисциплинированных.","materialsDescription":" Agile ALM объединяет две, казалось бы, противоречивые стратегии развития. Agile обеспечивает гибкость, быстрые циклы выпуска и быструю реакцию на изменения. В управлении жизненным циклом приложений (ALM) особое внимание уделяется отслеживанию и документированию изменений в приложении - от его создания до выхода на пенсию. Его процессы более контролируемы и менее адаптивны, чем методология Agile. При этом Agile и ALM, собранные вместе, действуют как дополнения, делая ALM более гибким, а Agile - более дисциплинированным.\r\n<span style=\"font-weight: bold;\">Что такое Agile ALM?</span>\r\nЭксперт по развитию Иветт Франсино описала Agile ALM как инструменты и процессы ALM, которые используются для управления проектами разработки программного обеспечения Agile. Например, вместо поэтапного подхода Waterfall, Agile ALM предлагает подход к разработке программного обеспечения, в котором дизайн, код и требования обрабатываются одной и той же командой.\r\n<span style=\"font-weight: bold;\">Как вы интегрируете Agile в среду ALM?</span>\r\nСогласно статье Джери Оуэна об Agile и ALM, принятие Agile означает как изменение подхода ALM, так и изменение мышления организации. Стратегия Agile ALM будет ориентирована на клиента и сможет адаптироваться к меняющимся требованиям - от планирования проекта до управления выпуском. Например, вместо того, чтобы просто внедрять элементы управления для получения ранней обратной связи от тестировщиков и бизнес-аналитиков, организация также будет способствовать развитию культуры сотрудничества.\r\n<span style=\"font-weight: bold;\">Существуют ли инструменты, которые могут помочь мне достичь этого?</span>\r\nИнструменты ALM широко доступны, но их следует выбирать с осторожностью, считает Иветт Франсино, участник SearchSoftwareQuality. Организации должны искать инструменты, которые облегчают процесс, не препятствуя принятию изменяющихся требований. Они также должны будут интегрироваться на протяжении всего жизненного цикла приложения и быть простыми в обслуживании. Другими словами, инструмент должен управлять процессом разработки гибким способом. В статье для SearchSoftwareQuality.com Эми Рейхерт предлагает список инструментов Agile ALM и определяет их сильные и слабые стороны. Rally Software, например, предлагает продукт, который хорошо работает с Agile, но, по словам Райхерта, не обеспечивает интуитивно понятный рабочий процесс. VersionOne, с другой стороны, предлагает инструмент, более удобный для пользователя, но менее совместимый с Agile. Какой из них лучше, будет зависеть от потребностей компании.\r\n<span style=\"font-weight: bold;\">Есть ли у Agile ALM проблемы, о которых мне следует знать?</span>\r\nОсновная задача Agile ALM - найти баланс между двумя методологиями. Распространенной ошибкой является чрезмерное затягивание процесса разработки. Другими словами, когда разработчики и тестировщики начинают находить обходные пути к правилам программного обеспечения - как они часто это делают - некоторые реагируют, создавая больше правил для более строгого их применения. Между тем процессы теряют свою гибкость.\r\n<span style=\"font-weight: bold;\">Как я могу преодолеть эти проблемы?</span>\r\nЭксперт по тестированию Эми Райхерт предостерегает команды разработчиков следить за тем, сколько правил они добавляют и как эти правила передаются. Она также предлагает поговорить с командой, спрашивая их, почему они обходят этот процесс. После того, как роль каждого была прояснена, руководители проектов могут решить, какие правила, если таковые имеются, добавить.\r\n<span style=\"font-weight: bold;\">Является ли Agile ALM хорошим подходом для разработки мобильных приложений?</span>\r\nМобильная разработка быстрее и конкурентоспособнее традиционной разработки программного обеспечения. У этого есть более новые технологии и более быстрые циклы применения. Эти качества могут сделать мобильным отличным кандидатом для Agile ALM, но только если методология будет изменена, чтобы учесть проблемы, присущие более ограниченному процессу разработки. В статье о мобильном ALM редактор сайта Джеймс Денман предложил подход ALM, который фокусируется на меньших частях программного обеспечения и проверяет подлинность результатов по завершении каждой части. Таким образом, команды могут быстро определить, будет ли приложение эффективно выполнять свое предназначение или его нужно использовать в другом направлении.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Agile_Application_Life_Cycle_Management_Software.png","alias":"agile-metod-upravlenija-zhiznennym-ciklom-prilozhenija"},"397":{"id":397,"title":"Мобильное тестирование","description":"<span style=\"font-weight: bold; \">Тестирование мобильных приложений </span>- это процесс, посредством которого приложения тестируются на требуемое качество, функциональность, совместимость, удобство использования, производительность и другие характеристики.\r\nМобильное тестирование состоит из широкого спектра методов и оценки приложений, которые включают как стандартное тестирование программного обеспечения, так и процедуры тестирования для конкретной мобильной платформы.\r\nТестирование мобильного приложения обычно выполняется разработчиками после создания этого приложения или перед его выпуском потребителям. Как правило, ключевыми задачами тестирования мобильных приложений являются:\r\n<ul><li><span style=\"font-weight: bold; \">Аппаратная совместимость и функциональность</span> - реакция мобильного приложения на физический ввод мобильного устройства и взаимодействие с компонентами. </li><li><span style=\"font-weight: bold; \">Совместимость с ОС</span> - оценивает и обеспечивает полную совместимость приложения с различными платформами ОС.</li><li><span style=\"font-weight: bold; \">Оценка исходного кода</span> - определяет и устраняет любые ошибки кода и ошибки в приложении.</li><li><span style=\"font-weight: bold; \">Удобство и функциональность</span> - приложение простое в использовании и обеспечивает все необходимые функции.</li></ul>\r\n<p class=\"align-center\"><span style=\"font-weight: bold; \"><span style=\"color: rgb(97, 97, 97); \">Основные этапы тестирования мобильных приложений</span></span></p>\r\n<ul><li><span style=\"font-weight: bold; \">Планирование. </span>Когда этап разработки приложения почти завершен, вы должны снова поставить перед собой вопрос - чего вы пытаетесь достичь разработкой данного приложения и какие у вас есть ограничения.<span style=\"font-weight: bold; \"><br /></span></li><li><span style=\"font-weight: bold; \">Определение необходимых типов тестирования мобильных приложений. </span>Определите, что именно в данном мобильном приложении вы хотите протестировать: набор функциональности, удобство использования, совместимость, производительность, безопасность и т. д. <span style=\"font-weight: bold; \"><br /></span></li><li><span style=\"font-weight: bold; \">Тестовые случаи и разработка сценариев тестирования приложения.</span>Подготовьте документ, описывающий тестовые случаи для каждой тестируемой функции и функциональности.<span style=\"font-weight: bold; \"><span style=\"font-weight: bold; \"><br /></span></span></li><li><span style=\"font-weight: bold; \">Автоматическое и ручное тестирование мобильных приложений. </span>Теперь пришло время для выполнения ручных и автоматизированных тестов. На текущем этапе, вы выполняете запуск тестов для проверки механизмов основной функциональности, чтобы убедиться в отсутствии поломок.<span style=\"font-weight: bold; \"><br /></span></li><li><span style=\"font-weight: bold; \">Тестирование юзабилити и бета-тестирование. </span>На этом этапе необходимо поддерживать соответствие матрице кроссплатформенности, чтобы обеспечить охват пользователей различных платформ, достигнутый бета-тестерами.<span style=\"font-weight: bold; \"><br /></span></li><li><span style=\"font-weight: bold; \">Тестирование производительности.</span> Мобильные устройства предоставляют для приложений меньший объем памяти и меньшую доступную мощность процессора, чем стационарные компьютеры и ноутбуки. По этой причине в работе мобильных приложений очень важна эффективность использования предоставляемых ресурсов.<span style=\"font-weight: bold; \"><br /></span></li><li><span style=\"font-weight: bold; \">Аттестационное тестирование и тестирование безопасности приложения. </span>Убедитесь, что тестируемое приложение надежно защищено. Выполните проверку на возможность внедрения SQL инъекций, на возможность перехвата сеансов, анализа дампов данных, анализа пакетов и SSL трафика.<span style=\"font-weight: bold; \"><br /></span></li><li><span style=\"font-weight: bold; \">Тестирование устройства.</span> Выполните тесты по тем алгоритмам, которые вы ранее прописали в тестовых случаях и сценариях тестирования на всех определенных для тестирования устройствах, в облаке и / или на физических устройствах.<span style=\"font-weight: bold; \"><br /></span></li><li> <span style=\"font-weight: bold; \">Контрольный этап и резюме. </span>Этот этап включает в себя подробное и полное тестирование. На этом этапе тестирования вы можете добавить для проверки новые функции и изменить настройки на те, которых не будет в финальной версии.</li></ul>\r\n\r\n\r\n","materialsDescription":"<h1 class=\"align-center\"><span style=\"font-weight: bold; \">Виды тестирования мобильных приложений</span></h1>\r\n<span style=\"font-weight: bold; \">Функциональное тестирование приложений. </span>Проверка, правильно ли функционирует приложение (то есть так, как было задумано и как прописано в техническом задании). Для разработчиков работа приложения может быть очевидной, но именно этот тест покажет, правильно ли поняли исполнители, чего хотел заказчик. Включает в себя тестирование транзакций (функции приложения в действии) и пользовательского опыта (взаимодействие пользователя с интерфейсом приложения).\r\n<span style=\"font-weight: bold; \">Нагрузочное тестирование. </span>Цель — проверить, корректно ли функционирует приложение при разном количестве пользователей и при переходе из Wi-Fi в мобильную сеть. Найти участки приложения, которые могут тормозить его работу. Убедиться, что приложение не съедает всю батарею смартфона. Нагрузочное тестирование мобильных приложений проходит в автоматическом режиме путем имитации действий нужного количества пользователей.\r\n<span style=\"font-weight: bold; \">Конфигурационное тестирование.</span> Конфигурационное тестирование показывает, корректно ли работает мобильное приложение (а именно, его клиентская часть) на разных устройствах. Обычно перед конфигурационным тестированием готовится матрица покрытия, куда заносят все нужные конфигурации. Далее конфигурации приоретизируют и проверяют в первую очередь важные варианты. Потому как проверить функционирование и отображение на всех устройствах и при всех условиях практически невозможно — нужно должны понять, чем можно пожертвовать, а лучше, как найти оптимальный компромисс. \r\n<span style=\"font-weight: bold; \">Тестирование безопасности мобильного приложения.</span> Собирая данные пользователей, приложение обязано обеспечить их безопасность. Но оно не становится безопасным от рождения, таким его делают специально. Тестирование же помогает понять, все ли было сделано, чтобы защитить данные (и не только пользовательские) от угроз. То есть по сути, проверяется устойчивость приложения к различным угрозам безопасности: DoS-атакам, вирусам, воровству данных.\r\n<span style=\"font-weight: bold; \">Юзабилити-тестирование.</span> Юзабилити — это свойство интерфейса, которое либо помогает взаимодействию пользователей с приложением, либо затрудняет его. С одним интерфейсом мы ладим легко и непринужденно — от взаимодействия с другим испытываем раздражение и не достигаем нужной цели (либо достигаем с трудом). Юзабилити тестирование мобильных приложений помогает выяснить, как пользователи взаимодействуют с приложением. \r\n<h1 class=\"align-center\"><span style=\"font-weight: bold; \">Какой тип тестирования мобильных приложений является наиболее важным?</span></h1>\r\nПока вы не можете пренебрегать ни одним из вышеперечисленных типов тестирования; некоторые из них определенно заслуживают большего внимания, чем другие. Например, тестирование пользовательского интерфейса должно быть выполнено всесторонне, чтобы убедиться, что цветовые схемы приложения, согласованность, стили меню, навигация и т. д. идеальны.\r\nПомимо перечисленных выше типов, важно также проводить monkey testing, чтобы проверить стабильность приложения, когда предоставляются непрерывные неверные пользовательские данные.\r\nДругим важным аспектом тестирования мобильных приложений является изучение того, как приложение реагирует на отсутствие или незначительное покрытие сети.\r\n<h1 class=\"align-center\"><span style=\"font-weight: bold; \">Автоматизация тестирования мобильных приложений</span></h1>\r\nАвтоматизированное тестирование мобильных приложений предполагает использование одного из следующих подходов:\r\n<ul><li><span style=\"font-weight: bold; \">Record and Play.</span> Способ прост и сводится к записи всех действий пользователя (тестировщика) в приложении. После записи действий инструмент генерирует понятный для него код и создает автотесты. <span style=\"font-weight: bold; \">Плюсы: </span>быстрая реализация, не требуется знаний программирования. <span style=\"font-weight: bold; \">Минус:</span> малейшие изменения в приложении потребуют создать новый автотест.</li><li><span style=\"font-weight: bold; \">Screen Object.</span> Паттерн, предназначенный для организации архитектуры автотестов в виде взаимодействия экранов приложения. Он моделирует экраны (или страницы) тестируемого приложения в качестве объектов в коде. В результате мы получаем набор классов, каждый из которых отвечает за работу с отдельным экраном приложения. <span style=\"font-weight: bold; \">Плюсы:</span> есть возможность переиспользовать код, надежность кода, небольшая чувствительность к изменениям в приложении, понятная структура. <span style=\"font-weight: bold; \">Минусы:</span> требует знаний языков программирования, скорость разработки.</li></ul>\r\nИнструментов для автоматизации много. Но важно отметить, что некоторые из них подходят для приложений, написанных на конкретном языке программирования. Например, Xamarin подходит только для приложений на С#. Некоторые – стоят немалых денег (например, утилита Ranorex). Поэтому очень важно до начала взвесить все «за» и «против» не только самого процесса, и инструмента для ее реализации и убедится, что автотестирование мобильных приложений в вашем случае будет правильным выбором.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Mobile_Testing.png","alias":"mobilnoe-testirovanie"},"399":{"id":399,"title":"Визуализация, определение и управление требованиями","description":" Управление требованиями к программному обеспечению (англ. software requirements management) — процесс, включающий идентификацию, выявление, документирование, анализ, отслеживание, приоритизацию требований, достижение соглашения по требованиям и затем управление изменениями и уведомление соответствующих заинтересованных лиц. Управление требованиями — непрерывный процесс на протяжении всего проекта разработки программного обеспечения.\r\nЦель управления требованиями состоит в том, чтобы гарантировать, что организация документирует, проверяет и удовлетворяет потребности и ожидания её клиентов и внутренних или внешних заинтересованных лиц. Управление требованиями начинается с выявления и анализа целей и ограничений клиента. Управление требованиями, далее, включает поддержку требований, интеграцию требований и организацию работы с требованиями и сопутствующей информацией, поставляющейся вместе с требованиями.\r\nУстановленная таким образом отслеживаемость требований используется для того, чтобы уведомлять заинтересованных участников об их выполнении, с точки зрения их соответствия, законченности, охвата и последовательности. Отслеживаемость также поддерживает управление изменениями как часть управления требованиями, так как она способствует пониманию того, как изменения воздействуют на требования или связанные с ними элементы, и облегчает внесение этих изменений.\r\nУправление требованиями включает общение между проектной командой и заинтересованными лицами с целью корректировки требований на протяжении всего проекта. Постоянное общение всех участников проекта важно для того, чтобы ни один класс требований не доминировал над другими. Например, при разработке программного обеспечения для внутреннего использования у бизнеса могут быть столь сильные потребности, что он может проигнорировать требования пользователей, или полагать, что созданные сценарии использования покроют также и пользовательские требования. ","materialsDescription":"<span style=\"font-weight: bold;\">Каковы задачи управления требованиями?</span>\r\nНа каждом этапе процесса разработки существуют ключевые методы и задачи, связанные с управлением требованиями. Для иллюстрации рассмотрим, к примеру, стандартный процесс разработки с пятью фазами: исследованием, анализом осуществимости, дизайном, разработкой и тестированием и выпуском.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Исследование</span></span>\r\nВо время фазы исследования собираются первые три класса требований от пользователей, бизнеса и команды разработчиков. В каждой области задают одинаковые вопросы: каковы цели, каковы ограничения, какие используются процессы и инструменты и так далее. Только когда эти требования хорошо поняты, можно приступать к разработке функциональных требований.\r\nЗдесь требуется предостережение: независимо от того, как сильно группа пытается, требования не могут быть полностью определены в начале проекта. Некоторые требования изменяются, или потому что они просто не были найдены вначале, или потому что внутренние или внешние силы затрагивают проект в середине цикла. Таким образом, участники группы должны изначально согласиться, что главное условие успеха — гибкость в мышлении и действиях.\r\nРезультатом стадии исследования является документ — спецификация требований, одобренный всеми членами проекта. Позже, в процессе разработки, этот документ будет важен для предотвращения расползания границ проекта или ненужных изменений. Поскольку система развивается, каждая новая функция открывает мир новых возможностей, таким образом спецификация требований привязывает команду к оригинальному видению системы и позволяет контролируемое обсуждение изменений.\r\nВ то время как многие организаций всё ещё используют обычные документы для управления требованиями, другие управляют своими базовыми требованиями, используя программные инструменты. Эти инструменты управляют требованиями, используя базу данных, и обычно имеют функции автоматизации отслеживаемости (например, позволяя создавать связи между родительскими и дочерними требованиями, или между тестами и требованиями), управления версиями, и управления изменениями. Обычно такие инструментальные средства содержат функцию экспорта, которая позволяет создавать обычный документ, экспортируя данные требований.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Анализ осуществимости</span></span>\r\nНа стадии анализа осуществимости определяется стоимость требований.\r\nДля пользовательских требований текущая стоимость работы сравнивается с будущей стоимостью установленной системы. Задаются вопросы, такие как: «Сколько нам сейчас стоят ошибки ввода данных?» или «Какова стоимость потери данных из-за ошибки оператора связанной с используемым интерфейсом?». Фактически, потребность в новом инструменте часто распознаётся, когда подобные вопросы попадают во внимание людей, занимающихся в организации финансами.\r\nДеловая стоимость включает ответы на такие вопросы, как: «У какого отдела есть бюджет для этого?» «Каков уровень возврата средств от нового продукта на рынке?» «Каков уровень сокращения внутренних расходов на обучение и поддержку, если мы сделаем новую, более простую в использовании систему?»\r\nТехническая стоимость связана со стоимостью разработки программного обеспечения и аппаратной стоимостью. «Есть ли у нас нужные люди, чтобы создать инструмент?» «Нуждаемся ли мы в новом оборудовании для поддержки новой системы?»\r\nПодобные вопросы очень важны. Группа должна выяснить, будет ли новый автоматизированный инструмент иметь достаточную эффективность чтобы перенести часть бремени пользователей на систему и экономить время людей.\r\nЭти вопросы также указывают на основную суть управления требованиями. Человек и инструмент формируют систему, и это понимание особенно важно, если инструмент — компьютер или новое приложение на компьютере. Человеческий разум крайне эффективен в параллельной обработке и интерпретации тенденций с недостаточными данными. Компьютерный процессор эффективен в последовательной обработке и точном математическом вычислении. Основная цель управления требованиями для программного проекта состояла бы в том, чтобы гарантировать, что автоматизируемая работа назначена «правильному» процессору. Например, «не заставляйте человека помнить, где она находится в системе. Заставьте интерфейс всегда сообщать о местоположении человека в системе». Или «не заставляйте человека вводить те же самые данные в два экрана. Заставьте систему хранить данные и заполнять их где необходимо автоматически».\r\nРезультатом стадии анализа осуществимости является бюджет и график проекта.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Requirements_Visualization.png","alias":"vizualizacija-opredelenie-i-upravlenie-trebovanijami"},"401":{"id":401,"title":"Сервис-ориентированная архитектура и Web-сервисы","description":" Сервис-ориентированная архитектура (SOA, англ. service-oriented architecture) — модульный подход к разработке программного обеспечения, основанный на использовании распределённых, слабо связанных (англ. loose coupling) заменяемых компонентов, оснащённых стандартизированными интерфейсами для взаимодействия по стандартизированным протоколам.\r\nПрограммные комплексы, разработанные в соответствии с сервис-ориентированной архитектурой, обычно реализуются как набор веб-служб, взаимодействующих по протоколу SOAP, но существуют и другие реализации (например, на базе jini, CORBA, на основе REST).\r\nИнтерфейсы компонентов в сервис-ориентированной архитектуре инкапсулируют детали реализации (операционную систему, платформу, язык программирования) от остальных компонентов, таким образом обеспечивая комбинирование и многократное использование компонентов для построения сложных распределённых программных комплексов, обеспечивая независимость от используемых платформ и инструментов разработки, способствуя масштабируемости и управляемости создаваемых систем.\r\nАрхитектура не привязана к какой-либо определённой технологии. Она может быть реализована с использованием широкого спектра технологий, включая такие технологии как REST, RPC, DCOM, CORBA или веб-сервисы. SOA может быть реализована, используя один из этих протоколов и, например, может использовать дополнительно механизм файловой системы для обмена данными.\r\nГлавное, что отличает SOA — это использование независимых сервисов с чётко определёнными интерфейсами, которые для выполнения своих задач могут быть вызваны неким стандартным способом, при условии, что сервисы заранее ничего не знают о приложении, которое их вызовет, а приложение не знает, каким образом сервисы выполняют свою задачу.\r\nSOA также может рассматриваться как стиль архитектуры информационных систем, который позволяет создавать приложения, построенные путём комбинации слабосвязанных и взаимодействующих сервисов. Эти сервисы взаимодействуют на основе какого-либо строго определённого платформенно-независимого и языково-независимого интерфейса (например, WSDL). Определение интерфейса скрывает языково-зависимую реализацию сервиса.\r\nТаким образом, системы, основанные на SOA, могут быть независимы от технологий разработки и платформ (таких как Java, .NET и т. д.). К примеру, сервисы, написанные на C#, работающие на платформах .Net и сервисы на Java, работающие на платформах Java EE, могут быть с одинаковым успехом вызваны общим составным приложением. Приложения, работающие на одних платформах, могут вызывать сервисы, работающие на других платформах, что облегчает повторное использование компонентов.\r\nSOA может поддерживать интеграцию и консолидацию операций в составе сложных систем, однако SOA не определяет и не предоставляет методологий или фреймворков для документирования сервисов.\r\nЯзыки высокого уровня, такие как BPEL, или спецификации, такие как WS-CDL и WS-Coordination, расширяют концепцию сервиса, предоставляя метод оркестрации, для объединения мелких сервисов в более обширные бизнес-сервисы, которые, в свою очередь, могут быть включены в состав технологических процессов и бизнес-процессов, реализованных в виде составных приложений или порталов.\r\nИспользование компонентной архитектуры (SCA) для реализации SOA — это область текущих исследований.","materialsDescription":" <span style=\"font-weight: bold; \">Что такое сервис-ориентированная архитектура?</span>\r\nСервис-ориентированная архитектура (SOA) - это стиль архитектуры программного обеспечения, который поддерживает и распространяет компоненты приложения, которые включают в себя обнаружение, отображение данных, безопасность и многое другое. Сервис-ориентированная архитектура имеет две основные функции:\r\n<ol><li>Создание архитектурной модели, определяющей цели приложений и методов, которые помогут достичь этих целей.</li><li>Определение спецификаций реализации, связанные через WSDL (язык описания веб-сервисов) и SOAP (протокол простого доступа к объектам).</li></ol>\r\nПринципы сервис-ориентированной архитектуры состоят из девяти основных элементов:\r\n<ol><li>Стандартизированный договор на обслуживание, в котором определяются услуги, облегчающие для клиентских приложений понимание цели услуги.</li><li>Слабая связь - это способ соединения компонентов в системе или сети, чтобы компоненты могли зависеть друг от друга в наименьшей степени приемлемой. При изменении функциональности или настроек службы не происходит простоев или сбоев в работе приложения.</li><li>Сервисная абстракция скрывает логику того, что делает приложение. Он передает клиентскому приложению только то, что оно делает, а не то, как оно выполняет действие.</li><li>Повторное использование сервисов разделяет сервисы с целью повторного использования, насколько это возможно, чтобы избежать затрат ресурсов на создание одного и того же кода и конфигураций.</li><li>Сервисная автономия обеспечивает логику задачи или выполнения запроса в коде.</li><li>Служба безгражданства, при которой службы не скрывают информацию из одного состояния в другое в клиентском приложении.</li><li>Обнаружение службы через реестр служб.</li><li>Составляемость службы разбивает большие проблемы на более мелкие элементы, сегментируя службу на модули, делая ее более управляемой.</li><li>Функциональная совместимость услуг регулирует использование стандартов (например, XML) для обеспечения большей простоты использования и совместимости.</li></ol>\r\n<span style=\"font-weight: bold; \">Как работает сервис-ориентированная архитектура?</span>\r\nСервис-ориентированная архитектура (SOA) работает как поставщик компонентов сервисов приложений для других компонентов по сети. Сервис-ориентированная архитектура облегчает программным компонентам работу друг с другом в нескольких сетях.\r\nСервис-ориентированная архитектура реализована с помощью веб-сервисов (на основе WSDL и SOAP), чтобы быть более доступной по стандартным интернет-протоколам на независимых платформах и языках программирования.\r\nСервис-ориентированная архитектура имеет 3 основных цели, каждая из которых фокусируется на частях цикла приложений:\r\n<ol><li>Структурируйте процессы и программные компоненты как сервисы - упростив для разработчиков программного обеспечения последовательное создание приложений.</li><li>Предоставить способ публикации доступных сервисов (функциональность и требования ввода/вывода) - позволяя разработчикам легко включать их в приложения.</li><li>Контролировать использование этих сервисов в целях безопасности - главным образом вокруг компонентов в архитектуре и обеспечения безопасности соединений между этими компонентами.</li></ol>\r\nПрограммное обеспечение архитектуры микросервисов является в значительной степени обновленной реализацией сервис-ориентированной архитектуры (SOA). Компоненты программного обеспечения создаются как сервисы, которые используются через API-интерфейсы, обеспечивающие безопасность и лучшие практики, как в традиционных сервис-ориентированных архитектурах.\r\n<span style=\"font-weight: bold;\">Каковы преимущества сервис-ориентированной архитектуры?</span>\r\nОсновными преимуществами сервис-ориентированных архитектурных решений являются:\r\n<ul><li>Расширяемость - легко может расширяться или дополняться.</li><li>Возможность многократного использования - возможность повторного использования многоцелевой логики.</li><li>Ремонтопригодность - возможность поддерживать его в актуальном состоянии без необходимости переделки и повторного построения архитектуры с теми же конфигурациями.</li></ul>","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Service_Oriented_Architecture_and_Web_Services.png","alias":"servis-orientirovannaja-arkhitektura-i-web-servisy"},"403":{"id":403,"title":"Анализ и измерение качеством программного обеспечения","description":" Качество программного обеспечения измеряет, соответствует ли программное обеспечение его требованиям. Требования к программному обеспечению классифицируются как функциональные или нефункциональные.\r\nФункциональные требования определяют, что должно делать программное обеспечение. Они могут быть вычислениями, техническими деталями, манипулированием данными и их обработкой или любой другой специфической функцией, которая определяет, для чего предназначено приложение.\r\nНефункциональные требования определяют, как должна работать система. Также известные как «атрибуты качества», к нефункциональным требованиям относятся такие вещи, как аварийное восстановление, переносимость, конфиденциальность, безопасность, поддержка и удобство использования.\r\nОбратите внимание, что большинство факторов, определяющих качество программного обеспечения, относятся к категории нефункциональных требований. И хотя очевидно, что программное обеспечение делает то, для чего оно предназначено, это тот минимальный уровень, который можно ожидать от любого приложения.\r\nНиже приведены некоторые примеры тестовых метрик и методов измерения важных аспектов качества программного обеспечения. Эффективное измерение и тестирование качества программного обеспечения - это единственный способ максимизировать шансы на выпуск высококачественного программного обеспечения в современных динамичных средах разработки.\r\nВы можете измерить надежность, посчитав количество высокоприоритетных ошибок, обнаруженных в производстве. Вы также можете использовать нагрузочное тестирование, которое оценивает, насколько хорошо программное обеспечение функционирует в обычных условиях использования. Важно отметить, что «обычные условия использования» могут варьироваться от низких нагрузок до высоких нагрузок - дело в том, что такие среды ожидаются.\r\nНагрузочное тестирование также полезно для измерения эффективности работы. Стресс-тестирование - это важный вариант нагрузочного тестирования, который используется для определения максимальной работоспособности приложения.\r\nСтресс-тестирование проводится путем наполнения программного обеспечения запросами, значительно превышающими его обычные и ожидаемые модели использования, чтобы определить, насколько далеко система может быть передана до ее взлома. Благодаря стресс-тестированию вы получаете возможность восстановления программного обеспечения при его поломке - в идеале система, которая выходит из строя, должна иметь плавное восстановление.\r\nВы можете измерить безопасность, оценив, сколько времени потребуется для исправления уязвимостей программного обеспечения. Вы также можете проверить фактические инциденты безопасности из предыдущих версий программного обеспечения, включая информацию о том, была ли система взломана, и вызвали ли какие-либо нарушения время простоя для пользователей. Все предыдущие проблемы безопасности, конечно, должны быть решены в будущих выпусках.\r\nПодсчет количества строк кода является простой мерой удобства обслуживания - программное обеспечение с большим количеством строк кода сложнее поддерживать, а это означает, что изменения с большей вероятностью приведут к ошибкам.\r\nСуществует несколько подробных тестовых показателей, используемых для проверки сложности кода, таких как цикломатическая сложность, которая подсчитывает количество линейно независимых путей в исходном коде программы.\r\nВы можете проверить скорость доставки, посчитав количество выпусков программного обеспечения. Другой мерой является количество «историй» или требований пользователя, отправленных пользователю.\r\nВы можете протестировать графический интерфейс, чтобы убедиться, что он прост и не расстраивает конечных пользователей. Проблема заключается в том, что тестирование графического интерфейса пользователя является сложным и трудоемким процессом - существует множество возможных операций и последовательностей графического интерфейса, которые требуют тестирования в большинстве программ. А это значит, что на разработку тестовых случаев уходит много времени.\r\nСложность тестирования GUI конкурирует с целью быстрого выпуска программного обеспечения, что потребовало внедрения автоматизированного тестирования. Доступно несколько наборов тестов, которые полностью имитируют поведение пользователя.","materialsDescription":" <span style=\"font-weight: bold;\">Что такое метрики качества программного обеспечения?</span>\r\nСлово «метрика» относится к стандартам для измерений. Метрики качества программного обеспечения означают измерение атрибутов, относящихся к качеству программного обеспечения наряду с процессом его разработки.\r\nТермин «метрики качества программного обеспечения» иллюстрирует картину измерения качества программного обеспечения путем регистрации количества дефектов или пробелов в безопасности, присутствующих в программном обеспечении. Однако измерение качества не ограничивается подсчетом дефектов или уязвимостей, но также охватывает другие аспекты таких качеств, как ремонтопригодность, надежность, целостность, удобство использования, удовлетворенность клиентов и т. д.\r\n<span style=\"font-weight: bold;\">Для чего используются метрики качества программного обеспечения?</span>\r\n<ol><li>Определить и классифицировать элементы для лучшего понимания каждого процесса и атрибута.</li><li>Оценить каждый из этих процессов и сопоставить их с данными требованиями и спецификациями.</li><li>Прогнозировать и планировать следующий шаг с учетом требований к программному обеспечению и бизнесу.</li><li>Улучшить общее качество процесса и продукта, а затем и проекта.</li></ol>\r\n<span style=\"font-weight: bold;\">Метрики качества программного обеспечения: подкатегория метрик программного обеспечения</span>\r\nЭто в основном подкласс метрик программного обеспечения, который делает упор на качественные активы программного продукта, процесса и проекта. Метрика программного обеспечения представляет собой более широкую концепцию, которая в основном состоит из трех типов:\r\n<ul><li><span style=\"font-weight: bold;\">Метрики продукта:</span> включают в себя размер, дизайн, сложность, производительность и другие параметры, которые связаны с качеством продукта.</li><li><span style=\"font-weight: bold;\">Метрики процесса:</span> включают такие параметры, как длительность времени для обнаружения и устранения дефектов, время отклика для решения проблем и т. д.</li><li><span style=\"font-weight: bold;\">Метрики проекта:</span> могут включать в себя количество команд, разработчиков, стоимость и продолжительность проекта и т. д.</li></ul>\r\n<span style=\"font-weight: bold;\">Особенности хороших показателей качества программного обеспечения:</span>\r\n<ul><li>Измерения конкретного атрибута или атрибута большей важности.</li><li>Широкий спектр сценариев.</li><li>Не следует учитывать атрибуты, которые уже были измерены каким-либо другим показателем.</li><li>Надежная работа при любых условиях.</li><li>Должно быть легко и просто для понимания и работы.</li></ul>","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Software_Quality_Analysis_and_Measurement.png","alias":"analiz-i-izmerenie-kachestvom-programmnogo-obespechenija"},"405":{"id":405,"title":"Платформа корпоративных мобильных приложений","description":" Платформа для корпоративных мобильных приложений (англ. Mobile Enterprise Application Platform, сокр. MEAP) обеспечивает клиент-серверную среду исполнения и инструменты для разработки корпоративных мобильных приложений, обладающих высокой адаптивностью к различным типам устройств и имеющимся на них операционным системам, поддерживающих автономный режим работы.\r\nMEAP предназначена для того, чтобы упростить процесс разработки программных продуктов для мобильных сотрудников, использующих в работе различные типы мобильных устройств.\r\nВ отличие от автономных приложений, MEAP обеспечивает всесторонний, долгосрочный подход для развертывания мобильности. Основная особенность использования MEAP — кроссплатформенность приложений, создаваемых на её базе. К примеру, компания разработав конкретное приложение на базе платформы, может без лишних затрат развернуть его для любых мобильных устройств с различными операционными системами, без изменения бизнес логики.\r\nПлатформенные приложения лучше всего подходят компаниям, которые используют мобильные приложения в одной инфраструктуре, которая масштабируется под различное число мобильных сотрудников и доступна в онлайн и офлайн режимах.<br />Мобильные платформы написаны на языке высокого уровня и используют простые шаблоны, что позволяет упростить процесс и сократить сроки разработки мобильных приложений.","materialsDescription":" <span style=\"font-weight: bold; \">Что означает платформа мобильных приложений предприятия (MEAP)?</span>\r\nПлатформа корпоративных мобильных приложений (MEAP) - это комплексный набор услуг и продуктов, позволяющих разрабатывать мобильные приложения. Платформа мобильных приложений для предприятий может обеспечить долгосрочный подход, а также все связанные элементы при развертывании мобильности. Благодаря своим кроссплатформенным возможностям, платформа мобильных приложений для предприятий считается выгодной.\r\n<span style=\"font-weight: bold;\">Каковы преимущества MEAP?</span>\r\n<ul><li>Создавайте приложения и сложные формы для любого типа мобильного устройства и ОС без необходимости поддерживать отдельные наборы кода.</li><li>Создавайте индивидуальные приложения для определенных групп пользователей, предоставляя им именно то, что им нужно; обычно это совокупность доступа для чтения/записи к вашим системам, общедоступным веб-службам и функциям устройства, таким как камера, GPS, экран входа в систему и т.д.</li><li>Требуются базовые и ограниченные навыки кодирования, например HTML и CSS.</li><li>Позволяет высокую степень повторного использования кода и разработанных взаимодействий.</li><li>Предоставление возможности автономной работы для мобильных пользователей в зонах без Wi-Fi или сотовой связи.</li><li>После интеграции платформы в важные серверные системы создание новых приложений и форм можно выполнять за часы, а не за недели или месяцы.</li><li>MEAP можно запускать в облаке и приобретать по подписке.</li></ul>","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Mobile_Enterprise_Application_Platforms.png","alias":"platforma-korporativnykh-mobilnykh-prilozhenii"},"595":{"id":595,"title":"Программирование под iOS","description":"За последнее десятилетие разработка мобильных приложений стала одной из самых перспективных и прибыльных отраслей. Большое количество доступных мобильных приложений свидетельствует о том, что мы все больше и больше используем их для решения различных задач, управления повседневными делами, а также для отдыха и развлечений. Будь то Google Play Store или Apple's App Store, мы видим, как сотни разработчиков загружают и обновляют свои приложения в соответствии с различными требованиями клиентов.\r\nВ настоящее время в App Store насчитывается более 1,5 миллиона приложений. Во-первых, это просто. Во-вторых, процесс отправки в App Store является строгим, что позволяет пользователям получать высококачественные мобильные продукты. Наконец, Apple дала понять, что конфиденциальность пользователей является главной заботой компании.\r\nВ результате разработчики приложений вынуждены усердно работать в процессе разработки приложений для iOS и поставлять продукт, который так или иначе на голову выше.\r\nВладельцы бизнеса часто путаются в выборе правильного метода разработки приложений для своего бизнеса. Однако выбор разработки приложения для iOS может быть более выгодным для вашего бизнеса, чем любая другая платформа.","materialsDescription":" <span style=\"font-weight: bold; \">Что такое iOS?</span>\r\niOS (до 24 июня 2010 года — iPhone OS) — мобильная операционная система для смартфонов, электронных планшетов, носимых проигрывателей и некоторых других устройств, разрабатываемая и выпускаемая американской компанией Apple. Была выпущена в 2007 году; первоначально — для iPhone и iPod touch, позже — для таких устройств, как iPad. В 2014 году появилась поддержка автомобильных мультимедийных систем Apple CarPlay. В отличие от Android (Google), выпускается только для устройств, производимых фирмой Apple.\r\nВ iOS используется ядро XNU, основанное на микроядре Mach и содержащее программный код, разработанный компанией Apple, а также код из ОС NeXTSTEP и FreeBSD. Ядро iOS почти идентично ядру настольной операционной системы Apple macOS (ранее называвшейся OS X). Начиная с самой первой версии, iOS работает только на планшетных компьютерах и смартфонах с процессорами архитектуры ARM.\r\n<span style=\"font-weight: bold; \">Что такое iOS SDK?</span>\r\niOS SDK (ранее iPhone SDK) — комплект средств разработки для iOS, выпущенный в марте 2009 года корпорацией Apple. iOS SDK выпускается только для Mac OS X.\r\nРазработчики могут устанавливать любую цену, превышающую минимальную установленную, за их приложения, которые будут распространяться через App Store, из которой они будут получать 70%. Кроме того, они могут распространять своё приложение бесплатно, в этом случае они должны платить только членские взносы, которые составляют 99 долларов в год.\r\n<span style=\"font-weight: bold; \">Что такое Xcode?</span>\r\nXcode — интегрированная среда разработки (IDE) программного обеспечения для платформ macOS, iOS, watchOS и tvOS, разработанная корпорацией Apple. Первая версия выпущена в 2003 году. Стабильные версии распространяются бесплатно через Mac App Store. Зарегистрированные разработчики также имеют доступ к бета-сборкам через сайт Apple Developer.\r\n<span style=\"font-weight: bold; \">Каковы преимущества разработки приложений для iOS?</span>\r\n<ul><li>iOS это простой в использовании интерфейс. IPhone от Apple становится мечтой многих пользователей смартфонов, обеспечивая высокий уровень обслуживания клиентов и становится лидером на рынке, предлагая непревзойденные устройства. Вы можете легко привлечь своих пользователей Apple, если приложение будет создано на синхронизированной среде платформы Apple. Этот специальный гибкий пользовательский интерфейс с функциями приложения iOS может сделать ваше бизнес-приложение более привлекательным, повысить продажи и получить максимальную выгоду.</li><li>iOS имеет больше безопасности. Платформа iOS предлагает своим пользователям оставаться в безопасности от внешних угроз, что является лучшей частью и преимуществом этой платформы. Разрабатывая приложения для бизнеса, мы обеспечиваем мощную защиту от вредоносных программ, вирусов и других интернет-угроз для разработки бизнес-приложений. Приложения для iOS - это защищенные приложения, позволяющие легко обрабатывать транзакции, не тратя больше времени на тестирование различных устройств.</li><li> Для бизнеса на популярном рынке разработки приложений доступно несколько вариантов, потому что важно привлечь новых клиентов, чтобы увеличить продажи и расширить возможности своего бизнеса на мировом рынке. Интернет не является безопасным местом, поэтому благодаря хорошо разработанной компании-разработчику приложений для iPhone можно повысить их доступность и защитить информацию вашего клиента. Мобильное приложение для iOS всегда было привлекательным устройством для публики с постоянным признанием со стороны App Store, и бизнес может процветать на регулярной основе.</li><li> Пользователи iOS, как правило, счастливые пользователи. Эффективно разработанное приложение помогает продвигать ваш бренд или вашу организацию, повышая производительность с помощью прибыльных сервисов для охвата целевой аудитории. Приложение для iOS строит прочные отношения с клиентами, а также большую аудиторию для предоставления вашего продукта и решений для достижения их целей. Лучшее применение - сильные отношения с лучшим брендом в области бытовой электроники.</li><li> iOS-приложения - это инновации и новейшие технологии, используемые во всем мире, и это может помочь вашему бизнесу расширяться самым безопасным образом. С умной разработкой приложений, принятой во всем мире, вы можете преобразовать традиционные бизнес-процессы современным способом и найти клиентов из любой части мира.</li></ul>\r\n\r\n\r\n","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_iOS_Software_Development.png","alias":"programmirovanie-pod-ios"},"597":{"id":597,"title":"Программирование под Android","description":" Создание программного обеспечения на Android - это процесс, с помощью которого создаются новые приложения для устройств, работающих под управлением операционной системы Android. Все не-JVM языки, такие как Go, JavaScript, C, C++ или ассемблер, нуждаются в помощи кода языка JVM, возможно, с ограниченной поддержкой API. Некоторые языки/инструменты программирования допускают поддержку кросс-платформенных приложений, т.е. для Android и iOS. Поэтому инструменты сторонних производителей, среды разработки и языковая поддержка продолжали развиваться и расширяться с момента выпуска первоначального SDK в 2008 году. Кроме того, основные коммерческие предприятия, такие как Walmart, Amazon, Bank of America и т.д., рассчитывают на участие и продажу через мобильные устройства, разработка мобильных приложений переживает трансформацию.\r\nAndroid был создан Open Handset Alliance, который возглавляет Google. Платформа Android была смешанной. К перечисленным проблемам относятся ошибки, отсутствие документации, неадекватная инфраструктура контроля качества и отсутствие общедоступной системы отслеживания проблем. В декабре 2007 года основатель мобильного стартапа MergeLab Адам МакБет заявил: «Функциональность отсутствует, плохо документирована или просто не работает». Это явно не готово к прайм-тайм. " Несмотря на это, приложения для Android начали появляться через неделю после платформы. Первым общедоступным приложением была игра Snake.\r\n15 июля 2008 года команда разработчиков Android случайно отправила электронное письмо всем участникам конкурса разработчиков Android, объявив, что SDK был доступен в «приватная» зона загрузки. Письмо предназначалось для победителей первого раунда конкурса разработчиков Android. Открытие того, что Google предоставляет новые выпуски SDK для некоторых разработчиков и других.\r\n18 августа 2008 года была выпущена бета-версия Android 0.9 SDK. Этот выпуск представляет собой обновленный и расширенный API, улучшенные инструменты разработки и обновленный дизайн для домашнего экрана. Подробные инструкции по обновлению доступны для тех, кто уже работает с более ранним выпуском. 23 сентября 2008 года был выпущен Android 1.0 SDK (Release 1). Согласно примечаниям к выпуску, он включал «в основном исправления ошибок, хотя были добавлены некоторые небольшие функции». Это также включало несколько изменений API от версии 0.9. Несколько версий были выпущены с момента его разработки.\r\n5 декабря 2008 года Google анонсировал первый Android Dev Phone, устройство с разблокировкой SIM-карты и аппаратным разблокированием, предназначенное для опытных разработчиков. Это модифицированная версия телефона HTC Dream. При этом разработчики могут использовать выделенное разблокированное или неконтрактное устройство.\r\nПо состоянию на июль 2013 года для Android было разработано более миллиона приложений, и их было загружено более 25 миллиардов. Исследование, проведенное в июне 2011 года, показало, что более 67% разработчиков мобильных приложений используют платформу на момент публикации. Прогнозируется, что поставки смартфонов Android превысят 1,2 миллиарда устройств в 2018 году с долей рынка 85%.","materialsDescription":"<span style=\"font-weight: bold;\">Откуда взялся Android?</span>\r\nОн исходит от Google, который фактически приобрел Android в 2005 году (нет, Google не изобрел его). Поисковый гигант выполняет регулярные обновления наряду с ежегодным крупным обновлением.\r\nОперационная система основана на ядре Linux - если у вас есть друзья, которые работают в IT, вы, возможно, слышали об этом. Это структура на основе операционной системы GNU / Linux, которая представляет собой систему типа Unix (переносимая операционная система, многозадачная и многопользовательская). Ядро Linux является одним из наиболее ярких примеров свободного программного обеспечения.\r\n<span style=\"font-weight: bold;\">Почему Android выглядит по-разному на каждом телефоне?</span>\r\nAndroid не выглядит по-разному на каждом устройстве, но у него есть несколько разных версий. Android имеет открытый исходный код, что означает, что производители могут свободно настраивать программное обеспечение и создавать его самостоятельно.\r\nСамая «чистая» версия Android часто упоминается как «стандартная Android», и сообщество Android часто предпочитает ее: это оригинальное программное обеспечение, предназначенное Google.\r\nДругие пользовательские интерфейсы (UI) включают Samsung TouchWiz, Sony Xperia и Huawei Emotion. Посмотрите, как они все выглядят в нашем сравнении пользовательского интерфейса Android.\r\n<span style=\"font-weight: bold;\">Каковы преимущества Android?</span>\r\nВыбор. Например, если вы хотите iOS, у вас есть выбор iPhone, iPhone или iPhone. Если вы выберете Android, у вас есть множество отличных устройств, от дешевых и веселых телефонов до действительно впечатляющих флагманов. Эти флагманы зачастую дешевле, чем аналогичные устройства Apple.\r\nВыбор Android - это не только оборудование. Это обо всем остальном тоже. Android невероятно прост в настройке, как с точки зрения его внешнего вида, так и с точки зрения его работы, а различные магазины приложений не так жестко контролируются, как магазины его конкурентов, такие как Apple.\r\n<span style=\"font-weight: bold;\">Что с названиями конфет?</span>\r\nКаждая новая версия Android получает кодовое имя на основе последовательных букв алфавита. Самая последняя версия известна как Marshmallow, потому что это версия Android M. Предыдущие версии включали Lollipop, KitKat, Jelly Bean и Gingerbread.\r\n<span style=\"font-weight: bold;\">Что самое лучшее в Android?</span>\r\nМного вариантов. С Android у вас есть сотни гаджетов в вашем распоряжении, самый дешевый, самый дорогой и инновационный рынок. Android также невероятно настраиваемый, как по своим ролям, так и по внешнему виду. С этой ОС вы действительно сможете создать уникальный мобильный опыт.\r\n<span style=\"font-weight: bold;\">Что самое плохое в Android?</span>\r\nПолучать обновления. Во многих случаях производители, похоже, не заботятся о предоставлении обновлений программного обеспечения для устройств, которые они уже продали вам. Даже когда они предоставляют обновления, они не торопятся об этом. Вот почему некоторые рассматривают возможность рутинга: вы можете загрузить обновления самостоятельно и применить их, не дожидаясь, пока производитель дойдет до них.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Android_Software_Application.png","alias":"programmirovanie-pod-android"},"598":{"id":598,"title":"Разработка web-сайтов для мобильных устройств","description":" Сегодня практически ни одна компания не может эффективно вести свою деятельность, не имея собственного веб-сайта. Сайт — это не просто лицо компании, на которое должно быть приятно посмотреть, не атрибут ведения бизнеса, который неплохо иметь “для галочки”, а насущная необходимость. Если у компании есть собственный сайт, то она:\r\n<ul><li>облегчает потенциальным клиентам и партнерам доступ к информации о себе;</li><li>привлекает целевую аудитория из Интернета;</li><li>существенно увеличивает охват рынка;</li><li>повышает узнаваемость бренда;</li><li>облегчает коммуникацию как с партнерами, так и с целевой аудиторией;</li><li>улучшает обратную связь с клиентами;</li><li>повышает лояльность клиентов.</li></ul>\r\nОднако, главное преимущество владением веб-сайтом, конечно же, состоит в том, что он помогает существенно увеличить продажи, а, следовательно, и прибыль. В общем, сейчас наличие веб-сайта является чуть ли не обязательным условием успешного развития бизнеса.\r\nКомпьютеры, смартфоны, планшеты, прочие мобильные устройства и Интернет проникли во все сферы нашей жизни. Особенную популярность имеют разнообразные мобильные устройства, и именно поэтому ограничиваться версией сайта для ПК уже нельзя. веб-сайт версия для ПК плоха для мобильных устройств, а это, как можно догадаться, отрицательно сказывается на продажах и прибыли. Если сайтом некомфортно пользоваться, то потенциальный клиент не станет ломать себе голову, а просто воспользуется услугами конкурентов. Подавляющее большинство даже не будет пытаться что-то найти на сайте, если он не адаптирован под мобильные устройства.\r\nОтдельная мобильная версия сайта - это сайт, специально созданный для мобильных пользователей. Как правило, мобильная версия сайта размещается на выделенном поддомене.\r\nМобильная версия сайта, в большинстве случаев, это просто сильно урезанный вариант сайта для ПК. На мобильном сайте оставляют только те функции, которые, по мнению разработчиков, могут понадобиться тем пользователям, которые зайдут на сайт со смартфоном или планшетов.\r\nМобильная версия сайта хороша тем, что она не зависит от основной, легко поддается изменениям и правкам, быстро загружается, достаточно удобна для пользователей, а также имеет опцию переключения на основную версию сайта.","materialsDescription":" <span style=\"font-weight: bold;\">Что такое мобильный сайт?</span>\r\nМобильные устройства изменили наш образ жизни, ставя цифровой мир у нас под рукой 24 часа в сутки, где бы мы ни находились.\r\nЭто означает, что установление вашего мобильного присутствия сейчас важнее, чем когда-либо, поскольку у вас есть возможность поместить свой бизнес в карманы своих потребителей и создать более осмысленное взаимодействие со своими пользователями. Почти 80% людей используют смартфоны для поиска в Интернете, поэтому, если у вашего бизнеса нет мобильного веб-сайта или приложения, вы упускаете огромные возможности для рынка.\r\nСуществует два типа мобильных разработок - адаптивные мобильные сайты и приложения. Мы создаем простые в использовании, интуитивно понятные и отзывчивые мобильные приложения и веб-сайты, предназначенные для оптимизации на всех устройствах, чтобы вы опережали своих конкурентов.\r\nМобильный веб-сайт - это веб-сайт с гибким дизайном, который удобен для пользователей на нескольких устройствах и в веб-браузерах. Исследование, проведенное Google и Galaxy в июне 2015 года, показало, что 74% австралийцев полагаются на свои телефоны как минимум столько же, сколько на настольные компьютеры при поиске информации, идей или советов. Это когда адаптивный дизайн играет огромную роль.\r\n<span style=\"font-weight: bold;\">В чем польза от мобильного сайта?</span>\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Мобильный трафик</span></span>\r\nПоскольку в 2015 году мобильный трафик захватил десктопный трафик, все больше и больше людей пользуются интернетом только с мобильных телефонов. Это означает, что предприятиям теперь необходимо принять мобильный подход к своим онлайн-стратегиям.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Поисковые системы стремятся к лучшему UX</span></span>\r\nМобильные пользователи, как правило, плохо работают на десктопных веб-сайтах. Это то, что поисковые системы, такие как Google, поняли, и внедряют инициативы для улучшения работы мобильного Интернета. Например, Google выпустил обновление для мобильных устройств в 2015 году и переключает свой поисковый индекс на мобильные.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Конкурентное преимущество</span></span>\r\nВладельцы веб-сайтов теперь должны предоставить своим пользователям мобильных устройств убедительные возможности. Это то, что сейчас необходимо для достижения бизнес-целей и привлечения пользователей к конверсии. В результате быстрое внедрение мобильной стратегии является конкурентным преимуществом.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Mobile_Website_development.png","alias":"razrabotka-web-saitov-dlja-mobilnykh-ustroistv"},"603":{"id":603,"title":"Программирование под MacOS","description":" Ключ к отличной разработке приложений заключается в наличии прочной основы, в идеале заложенной в хорошую операционную систему, для начала, на которой ваше приложение будет стоять и запускать все свои операции. Долгое время Windows была доминирующей операционной системой девяностых.\r\nПочему вы должны использовать Mac OS в разработке приложений? Причиной стагнации этой системы является страх бренда обидеть своих корпоративных клиентов; поэтому каждое технологическое изменение должно вводиться болезненно медленно, чтобы его могли усвоить его клиенты.\r\nApple, с другой стороны, медленно подкралась и обогнала Windows и другие операционные системы прежде всего потому, что они не боятся совершать гигантские скачки. Их подход «это наш или высокий путь» к их операционной системе позволил им значительно улучшить свое программное обеспечение, чего другие операционные системы практически не могут достичь.\r\nПрограммное обеспечение MAC OS представляет собой двухслойную систему. Его впечатляющий графический интерфейс располагается поверх ядра UNIX, а UNIX славится своими впечатляющими функциями безопасности. UNIX делает практически невозможным установку троянца или вируса в систему, если пользователь не предоставляет ему root-доступ к системе, по сути вводя пароль администратора в систему.\r\nПрелесть встроенного брандмауэра MAC OS в том, что он работает «из коробки» и в то же время обладает высокой гибкостью. В то время как пользователи MAC в идеале должны сохранять бдительность в отношении внешних файлов и, следовательно, никогда не допускать их в систему, предоставляя им проход администратора, им не нужно специальное программное обеспечение для блокировки этих вирусов.\r\nИнтерфейс MAC OS прост, вы можете закрепить как можно больше приложений на панели в нижней части экрана, плюс они всегда доступны для вас. Кроме того, вы можете запускать несколько рабочих столов, использовать цепочку iCloud для расшифровки информации о вашей кредитной карте, обмениваться различными файлами по беспроводной сети через Airdrop и по-прежнему отслеживать операционную систему с помощью набора встроенных высококачественных утилит.\r\nСистема также имеет быстрое время возобновления запуска. Все это, по сути, стало возможным благодаря мощной стабильности MAC OS. Несмотря на то, что системная деградация ожидается с течением времени, как это имеет место практически со всеми операционными системами, этот показатель значительно снижается для продуктов MAC, а зависание и сбой не являются обычным явлением в повседневной жизни, как в случае с несколькими операционными системами.\r\nВпечатляющая надежность MAC в первую очередь объясняется тем, что операционная система была построена с нуля. Apple, по сути, контролирует производство своих программных и аппаратных продуктов от начала до конца, поэтому каждая часть системы разработана и протестирована для совместной работы.\r\nТе, кто жалуется на то, что Apple заставляет своих потребителей использовать свое проприетарное программное обеспечение, не могут быть обмануты. MAC OS автоматически распознает и хорошо работает с другими продуктами Apple, включая iPad, iPhone и т.д.","materialsDescription":" <span style=\"font-weight: bold; \">Что такое Mac OS X?</span>\r\nMac OS X – это операционная система, созданная Apple для компьютеров Mac (первая версия представлена в 2001 году), заменившая устаревшую на тот момент Mac OS 9.\r\nЭто POSIX-совместимая система, то есть все операции Unix можно производить и в ней. Построена на базе XNU-ядра с графическим интерфейсом Aqua.\r\nНачиная с версии 10.8 называется OS X.\r\n<span style=\"font-weight: bold;\">Каковы преимущества macOS?</span>\r\n<span style=\"font-style: italic;\">Меньше вирусных атак:</span>\r\nПоскольку macOS является второй наиболее используемой операционной системой и имеет меньшее количество активных пользователей, поэтому она также имеет меньше вирусных атак. Другой причиной безопасности вирусов являются отношения UNIX, которые более безопасны, чем ОС Windows.\r\n<span style=\"font-style: italic;\">Хорошая поддержка клиентов:</span>\r\nПользователи Mac получают хорошие отзывы от его службы поддержки по сравнению с другими операционными системами. У Apple есть опытные инженеры, которые помогают пользователю в решении проблем с их аппаратным и программным обеспечением.\r\n<span style=\"font-style: italic;\">Аналогичный графический интерфейс для всех продуктов:</span>\r\nMacOS имеет такой же графический интерфейс пользователя, как и другие продукты Apple, такие как iPhone и планшеты. Пользователи чувствуют себя комфортно в использовании macOS, если они отошли от других продуктов Apple.\r\n<span style=\"font-style: italic;\">Производительность и долгий срок службы:</span>\r\nКак Apple делает аппаратное и программное обеспечение, так и аппаратное взаимодействие очень эффективно и повышает производительность. Операционная система и оборудование работают отлично. Компьютер Apple имеет более длительный срок службы, чем другие компьютеры. Время автономной работы ноутбуков Mac также больше.\r\n<span style=\"font-style: italic;\">Приложения по умолчанию:</span>\r\nЕсли вы устанавливаете Windows, то она поставляется с предустановленными приложениями, которые замедляют работу вашего компьютера. Но это не относится к macOS, а поставляется с мощными приложениями, которые не влияют на производительность вашей системы. Некоторые из предустановленных приложений MacOS - iPhoto и iMovie.\r\n<span style=\"font-style: italic;\">Поддержка NTFS и FAT:</span>\r\nmacOS поддерживает форматы файловой системы Windows, включая NTFS и FAT.\r\n<span style=\"font-style: italic;\">Можно запустить Windows:</span>\r\nВы можете запустить операционную систему Windows, если у вас установлена macOS с помощью Bootcamp или программного обеспечения Parallels.\r\n<span style=\"font-weight: bold;\">Какие недостатки у macOS?</span>\r\n<span style=\"font-style: italic;\">Дорогие:</span>\r\nМинимальная стоимость компьютера Mac выше 1000 долларов. Вы можете получить хороший ПК с Windows за $ 1000 с большей спецификацией оборудования.\r\n<span style=\"font-style: italic;\">Меньше игр и программного обеспечения:</span>\r\nБольшинство разработчиков игр предпочитают делать игры для ОС Windows, потому что у них больше процентов пользователей. Пользователи Mac имеют меньше доступных игр. Кроме того, компьютеры Mac имеют низкую графическую возможность для запуска игр с высокой графикой. Существует некоторое программное обеспечение, которое доступно для Windows и недоступно для пользователей Mac, например Adobe Premiere Pro и т. д.\r\n<span style=\"font-style: italic;\">Нет настройки оборудования:</span>\r\nЕсли вы купите любой компьютер Mac/ноутбук, то вы не сможете изменить его аппаратные компоненты, такие как процессор, видеокарта и т. д. Для некоторых компьютеров Mac вы можете изменить аппаратное обеспечение и ОЗУ, но это не для всех компьютеров Mac. Также невозможно изменить другие аппаратные аксессуары, такие как внутренние части компьютера, единственный выбор - купить новый компьютер Mac. В каждой основной версии операционной системы вы должны менять свой компьютер, иначе 50% функций операционной системы не будут работать.\r\n<span style=\"font-style: italic;\">Windows не может прочитать файловую систему macOS:</span>\r\nmacOS может читать NTFS и FAT формат Windows, но Windows не может читать файловую систему macOS. Для этого вам нужно установить стороннее программное обеспечение в Windows. Некоторые другие программы, такие как сноски, имеют проблемы с совместимостью при перемещении файлов из macOS в Windows.\r\n<span style=\"font-style: italic;\">Меньше используемого оборудования:</span>\r\nНовая версия компьютера MacOS поддерживает меньше портов USB, и они также не поставляются с записывающим устройством CD/DVD.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_MacOS_Development.png","alias":"programmirovanie-pod-macos"},"605":{"id":605,"title":"Программирование на Java","description":" Java — строго типизированный объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Разработка ведётся сообществом, организованным через Java Community Process, язык и основные реализующие его технологии распространяются по лицензии GPL. Права на торговую марку принадлежат корпорации Oracle.\r\nПриложения Java обычно транслируются в специальный байт-код, поэтому они могут работать на любой компьютерной архитектуре с помощью виртуальной Java-машины. Дата официального выпуска — 23 мая 1995 года. На 2019 год Java — один из самых популярных языков программирования.\r\nПрограммы на Java транслируются в байт-код Java, выполняемый виртуальной машиной Java (JVM) — программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор.\r\nДостоинством подобного способа выполнения программ является полная независимость байт-кода от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина. Другой важной особенностью технологии Java является гибкая система безопасности, в рамках которой исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером), вызывают немедленное прерывание.\r\nЧасто к недостаткам концепции виртуальной машины относят снижение производительности. Ряд усовершенствований несколько увеличил скорость выполнения программ на Java:\r\n<ul><li>применение технологии трансляции байт-кода в машинный код непосредственно во время работы программы (JIT-технология) с возможностью сохранения версий класса в машинном коде,</li><li>обширное использование платформенно-ориентированного кода (native-код) в стандартных библиотеках,</li><li>аппаратные средства, обеспечивающие ускоренную обработку байт-кода (например, технология Jazelle, поддерживаемая некоторыми процессорами архитектуры ARM).</li></ul>\r\nПо данным сайта shootout.alioth.debian.org, для семи разных задач время выполнения на Java составляет в среднем в полтора-два раза больше, чем для C/C++, в некоторых случаях Java быстрее, а в отдельных случаях в 7 раз медленнее. С другой стороны, для большинства из них потребление памяти Java-машиной было в 10—30 раз больше, чем программой на C/C++. Также примечательно исследование, проведённое компанией Google, согласно которому отмечается существенно более низкая производительность и бо́льшее потребление памяти в тестовых примерах на Java в сравнении с аналогичными программами на C++.\r\nИдеи, заложенные в концепцию и различные реализации среды виртуальной машины Java, вдохновили множество энтузиастов на расширение перечня языков, которые могли бы быть использованы для создания программ, исполняемых на виртуальной машине. Эти идеи нашли также выражение в спецификации общеязыковой инфраструктуры CLI, заложенной в основу платформы .NET компанией Microsoft.","materialsDescription":" <span style=\"font-weight: bold; \">Что такое технология Java и каково ее применение?</span>\r\nJava представляет собой язык программирования и платформу вычислений, которая была впервые выпущена Sun Microsystems в 1995 г. Существует множество приложений и веб-сайтов, которые не работают при отсутствии установленной Java, и с каждым днем число таких веб-сайтов и приложений увеличивается. Java отличается быстротой, высоким уровнем защиты и надежностью. От портативных компьютеров до центров данных, от игровых консолей до суперкомпьютеров, используемых для научных разработок, от сотовых телефонов до сети Интернет — Java повсюду!\r\n<span style=\"font-weight: bold; \">Какова производительность Java?</span>\r\nПрограммы, написанные на Java, имеют репутацию более медленных и занимающих больше оперативной памяти, чем написанные на языке C. Тем не менее, скорость выполнения программ, написанных на языке Java, была существенно улучшена с выпуском в 1997—1998 годах так называемого JIT-компилятора в версии 1.1 в дополнение к другим особенностям языка для поддержки лучшего анализа кода (такие, как внутренние классы, класс StringBuffer, упрощённые логические вычисления и так далее). Кроме того, была произведена оптимизация виртуальной машины Java — с 2000 года для этого используется виртуальная машина HotSpot. По состоянию на февраль 2012 года, код Java 7 приблизительно в 1,8 раза медленнее кода, написанного на языке Си.\r\nНекоторые платформы предлагают аппаратную поддержку выполнения для Java. К примеру, микроконтроллеры, выполняющие код Java на аппаратном обеспечении вместо программной JVM, а также основанные на ARM процессоры, которые поддерживают выполнение байткода Java через опцию Jazelle.\r\n<span style=\"font-weight: bold; \">Каковы основные возможности Java?</span>\r\n<ul><li>Автоматическое управление памятью.</li><li>Расширенные возможности обработки исключительных ситуаций.</li><li>Богатый набор средств фильтрации ввода-вывода.</li><li>Набор стандартных коллекций: массив, список, стек и т. п.</li><li>Наличие простых средств создания сетевых приложений (в том числе с использованием протокола RMI).</li><li>Наличие классов, позволяющих выполнять HTTP-запросы и обрабатывать ответы.</li><li>Встроенные в язык средства создания многопоточных приложений, которые потом были портированы на многие языки (например Python).</li><li>Унифицированный доступ к базам данных: на уровне отдельных SQL-запросов — на основе JDBC, SQLJ; на уровне концепции объектов, обладающих способностью к хранению в базе данных — на основе Java Data Objects (англ.) и Java Persistence API.</li><li>Поддержка обобщений (начиная с версии 1.5).</li><li>Поддержка лямбд, замыканий, встроенные возможности функционального программирования</li></ul>","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Java_Development.png","alias":"programmirovanie-na-java"},"607":{"id":607,"title":"Программирование на C/C++","description":" C++ - это язык объектно-ориентированного программирования общего назначения (ООП), разработанный Бьярном Страуструпом и являющийся расширением языка Си. Следовательно, можно кодить на C++ в «стиле C» или «объектно-ориентированном стиле». В определенных сценариях на нем можно кодить любым способом и, таким образом, он является эффективным примером гибридного языка.\r\nС++ считается языком промежуточного уровня, так как он включает в себя функции языка высокого и низкого уровня. Первоначально язык назывался «C с классами», так как он имел все свойства языка C с дополнительным понятием «классы». Тем не менее, он был переименован в C++ в 1983 году.\r\nC ++ - один из самых популярных языков, в основном используемый с системным/прикладным программным обеспечением, драйверами, клиент-серверными приложениями и встроенным программным обеспечением.\r\nОсновным преимуществом C++ является коллекция предопределенных классов, представляющие собой типы данных, которые могут быть созданы несколько раз. Язык также облегчает объявление пользовательских классов. Классы могут дополнительно приспосабливать функции-члены для реализации определенной функциональности. Несколько объектов определенного класса могут быть определены для реализации функций в классе. Объекты могут быть определены как экземпляры, созданные во время выполнения. Эти классы также могут наследоваться другими новыми классами, которые по умолчанию принимают общедоступные и защищенные функции.\r\nC++ включает в себя несколько операторов, таких как сравнение, арифметика, битовые манипуляции и логические операторы. Одна из наиболее привлекательных особенностей C++ заключается в том, что он допускает перегрузку некоторых операторов, таких как сложение.\r\nНекоторые из основных концепций языка программирования C++ включают полиморфизм, виртуальные и дружественные функции, шаблоны, пространства имен и указатели.","materialsDescription":" <span style=\"font-weight: bold; \">FAQ Бьярна Страуструпа</span>\r\n<span style=\"font-weight: bold; \">C лучше, чем C++ для небольших проектов, верно?</span>\r\nНет, я думаю. Я никогда не видел проект, для которого C был лучше C++ по любой причине, кроме отсутствия хорошего компилятора C++.\r\n<span style=\"font-weight: bold; \">Является ли C подмножеством C++?</span>\r\nВ строгом математическом смысле, C не является подмножеством C++. Существуют программы, которые являются допустимым C, но не допустимым C++, и даже несколько способов написания кода, который имеет различное значение в C и C++. Тем не менее, C++ поддерживает все методы программирования, поддерживаемые C. Каждая C-программа может быть написана практически одинаково на C++ с одинаковой эффективностью времени выполнения и пространства. Нередко можно конвертировать десятки тысяч строк ANSI C в C++ в стиле C за несколько часов. Таким образом, C++ является настолько же надмножеством ANSI C, насколько ANSI C является надмножеством K&R C, и ISO C++ является надмножеством C++, как это было в 1985 году.\r\n<span style=\"font-weight: bold; \">В чем разница между C и C++?</span>\r\nC++ является прямым потомком C, который сохраняет почти все C как подмножество. C++ обеспечивает более строгую проверку типов, чем C, и напрямую поддерживает более широкий диапазон стилей программирования, чем C. C++ является «лучшим C» в том смысле, что он поддерживает стили программирования, выполненные с использованием C с лучшей проверкой типов и большей поддержкой нотации (без потери эффективности). В том же смысле ANSI C лучше, чем K&R C. Кроме того, C++ поддерживает абстракцию данных, объектно-ориентированное программирование и общее программирование.\r\nЯ никогда не видел программу, которая могла бы быть выражена лучше в C, чем в C++ (и я не думаю, что такая программа могла бы существовать - каждая конструкция в C имеет очевидный эквивалент C++). Тем не менее, все еще существует несколько сред, в которых поддержка C++ настолько слаба, что вместо нее есть преимущество.\r\n<span style=\"font-weight: bold; \">Вы действительно думаете, что C и C++ могут быть объединены в один язык?</span>\r\nЯ думаю, что было бы очень хорошо для сообщества C/C++, если бы они были. То есть, если бы несовместимости C/C++ систематически и полностью устранялись, и эта будущая эволюция была организована так, чтобы предотвратить возникновение новых несовместимостей. Возможно ли это, другой вопрос.\r\nМоя основная мысль заключается в том, что текущие несовместимости C/C++ - это «происшествия истории», которые не имеют никаких фундаментальных причин (хотя все они «выглядели как хорошая идея в то время» для некоторых компетентных и доброжелательных людей). Несовместимость C/C++ не дает никаких преимуществ сообществу в целом, создает серьезные проблемы для большой части сообщества C/C++ и может - с большим трудом - быть устранена.\r\nБолее подробное изложение моих взглядов на совместимость с C/C++ смотрите в серии статей, которые я написал об этом:\r\n<ul><li>B. Stroustrup: C and C++: Case Studies in Compatibility. The C/C++ Users Journal. September 2002.</li><li>B. Stroustrup: C and C++: A Case for Compatibility. The C/C++ Users Journal. August 2002.</li><li>B. Stroustrup: C and C++: Siblings. The C/C++ Users Journal. July 2002.</li><li>B. Stroustrup: Sibling rivalry: C and C++. AT&T Labs - Research Technical Report. TD-54MQZY. January 2002.</li></ul>\r\nЯ полагаю, что если устранить несовместимости (путем внесения изменений в C и C++), все равно будут сущности, называемые C и C++, но тогда C действительно будет определяться как подмножество C++.\r\n<span style=\"font-weight: bold; \">Почему вы сделали C++ (почти) совместимым с C?</span>\r\nЯ хотел, чтобы C++ был совместим с полным языком с достаточной производительностью и гибкостью даже для самых требовательных систем программирования. Я совершенно боялся создавать еще один симпатичный язык с непреднамеренными ограничениями.\r\nВ то время я считал C лучшим из доступных языков системного программирования. Тогда это было не так очевидно (в 1979 г.), как позже, но у меня были эксперты, такие как Деннис Ричи, Стив Джонсон, Сэнди Фрейзер, Грег Чессон, Даг Макилрой и Брайан Керниган, по которым я мог учиться и получать отзывы. Без их помощи и совета, а также без C, C++ был бы мертворожденным.\r\nВопреки повторным слухам, мне никогда не говорили, что я должен использовать C; и при этом я никогда не говорил, чтобы не использовать C. Фактически, первое руководство по C++ выросло из troff-источника руководства по C, которое дал мне Деннис. Многие новые языки были разработаны в лабораториях Bell; в «Исследованиях», по крайней мере, не было правил, усиливающих языковой фанатизм.\r\n<span style=\"font-weight: bold;\">Что вы думаете о C/C++?</span>\r\nНет, это не тот вопрос, который мне часто задают. В этом смысле, это единственный «поддельный FAQ» в этом FAQ. Тем не менее, это должен быть FAQ, потому что люди используют «C/C++», как если бы он имел в виду что-то конкретное, и как будто они знали, что это значит, что приводило к большим путаницам и страданиям. Люди должны спросить "Что такое C/C++?" а затем поразмыслив прекратить использовать термин. Это вредит.\r\nНет языка под названием "C/C++". Фраза обычно используется людьми, которые не имеют понятия о программировании (например, персонал отдела кадров и плохие менеджеры). В качестве альтернативы, его используют люди, которые просто не знают C++ (и часто тоже не знают C). При использовании программистами это обычно указывает на отношение «C++ - C с несколькими полезными и множеством бесполезных добавленных сложных функций». Зачастую это точка зрения людей, которые любят писать свои собственные строки и хеш-таблицы, мало знакомые со стандартной библиотекой, помимо printf и memcpy. Есть люди, которые придерживаются ограниченного подмножества C++ по вполне веским причинам, но они (насколько я заметил) не люди, которые говорят «C/C++».\r\nЯ использую C/C++ только в таких выражениях, как «C/C++ совместимость» и «C/C++ community».","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_C_C_Development.png","alias":"programmirovanie-na-cc"},"609":{"id":609,"title":".Net программирование","description":".NET Framework — программная платформа, выпущенная компанией Microsoft в 2002 году. Основой платформы является общеязыковая среда исполнения Common Language Runtime (CLR), которая подходит для разных языков программирования. Функциональные возможности CLR доступны в любых языках программирования, использующих эту среду.\r\nХотя .NET является патентованной технологией корпорации Microsoft и официально рассчитана на работу под операционными системами семейства Microsoft Windows, существуют независимые проекты (прежде всего это Mono и Portable.NET), позволяющие запускать программы .NET на некоторых других операционных системах. В настоящее время .NET Framework получает развитие в виде .NET Core, изначально предполагающей кроссплатформенную разработку и эксплуатацию.\r\nОсновной идеей при разработке .NET Framework являлось обеспечение свободы разработчика за счёт предоставления ему возможности создавать приложения различных типов, способные выполняться на различных типах устройств и в различных средах.\r\nВторым принципом стала ориентация на системы, работающие под управлением семейства операционных систем Microsoft Windows.\r\nПрограмма для .NET Framework, написанная на любом поддерживаемом языке программирования, сначала переводится компилятором в единый для .NET промежуточный байт-код Common Intermediate Language (CIL) (ранее назывался Microsoft Intermediate Language, MSIL). В терминах .NET получается сборка, англ. assembly. Затем код либо исполняется виртуальной машиной Common Language Runtime (CLR), либо транслируется утилитой NGen.exe в исполняемый код для конкретного целевого процессора. Использование виртуальной машины предпочтительно, так как избавляет разработчиков от необходимости заботиться об особенностях аппаратной части. В случае использования виртуальной машины CLR встроенный в неё JIT-компилятор «на лету» (just in time) преобразует промежуточный байт-код в машинные коды нужного процессора. Современная технология динамической компиляции позволяет достигнуть высокого уровня быстродействия. Виртуальная машина CLR также сама заботится о базовой безопасности, управлении памятью и системе исключений, избавляя разработчика от части работы.\r\nАрхитектура .NET Framework описана и опубликована в спецификации Common Language Infrastructure (CLI), разработанной Microsoft и утверждённой ISO и ECMA. В CLI описаны типы данных .NET, формат метаданных о структуре программы, система исполнения байт-кода и многое другое.\r\nОбъектные классы .NET, доступные для всех поддерживаемых языков программирования, содержатся в библиотеке Framework Class Library (FCL). В FCL входят классы Windows Forms, ADO.NET, ASP.NET, Language Integrated Query, Windows Presentation Foundation, Windows Communication Foundation и другие. Ядро FCL называется Base Class Library (BCL).","materialsDescription":"Когда Microsoft официально представила свою стратегию .NET в середине 2000 года, аналитики были озадачены тем, как компания справится с таким масштабным изменением платформы. Спустя два года они все еще задаются вопросом. Но .NET - это не пустяк, и это не несбыточная мечта.\r\n<span style=\"font-weight: bold;\">Что такое .NET?</span>\r\n.NET - это множество вещей, но в первую очередь это маркетинговый термин для набора продуктов и технологий, которые Microsoft создает для переноса персональных и корпоративных вычислений за пределы ПК и в распределенную интернет-среду. Таким образом, .NET - который первоначально назывался Windows Generation Services следующего поколения (NGWS) - также является платформой, которую Microsoft видит в качестве преемника Windows. Платформа .NET основана на Web-сервисах, которые, в свою очередь, определяются языком XML.\r\n<span style=\"font-weight: bold;\">Что такое XML?</span>\r\nXML - расширяемый язык разметки - это самоописательный язык определения данных. Его структура похожа на HTML, язык Интернета, но он гораздо более мощный, поскольку не ограничивается статическим списком языковых конструкций («тегов»), которые предоставляют авторы языка. Вместо этого XML расширяем и динамичен: программисты могут определять новые типы данных, используя XML, а затем описывать эти данные, чтобы другие знали, как их использовать.\r\n<span style=\"font-weight: bold;\">Что такое веб-сервисы?</span>\r\nВеб-сервисы - это функции, предоставляемые серверными приложениями. Это программируемые блоки, к которым другие приложения (и веб-службы) могут получить доступ через Интернет.\r\n<span style=\"font-weight: bold;\">Требуется ли .NET Windows?</span>\r\nТехнически нет, но реально да. Вполне возможно, что платформа .NET может быть перенесена на другие операционные системы, такие как Linux, FreeBSD, Macintosh или что-то еще. Однако .NET сегодня очень нуждается в Windows как на сервере, так и на клиенте. Можно сказать, что .NET и Windows имеют симбиотические отношения в будущем.\r\n<span style=\"font-weight: bold;\">.NET переносится на Linux?</span>\r\nДа. Компания под названием Ximian портирует основанные на стандартах части .NET на Linux, когда вы читаете это, и работа продвигается невероятно далеко. Этот проект, получивший кодовое название Mono, стремится привнести в Linux язык программирования C#, Common Language Runtime (CLR) и другие функции .NET.\r\nВ связи с этим Microsoft заключила контракт с Corel (создателями CorelDRAW и Word Perfect) на перенос .NET на FreeBSD.\r\n<span style=\"font-weight: bold;\">Разве .NET - это не просто другое имя для COM, COM+, Windows DNA или какой-либо другой предыдущей технологии Windows?</span>\r\nНа самом деле нет. Microsoft потратила много времени и усилий на разработку и продвижение набора технологий Windows, которые в разное время назывались OLE, COM, COM+ и Windows DNA (распределенная архитектура InterNet), но .NET - это не следующая итерация. Windows DNA, который был окончательным общим термином для этого набора технологий, был основан на концепции, в которой программные компоненты на основе Windows могут предоставлять свои услуги другим локальным и удаленным программным компонентам Windows. Но хотя это звучит очень похоже на .NET, Windows DNA в значительной степени основана на проприетарных технологиях Windows. Для сравнения .NET основан на открытых стандартах (XML и различных смежных технологиях), поэтому другим поставщикам будет намного проще принять платформу и написать совместимое программное обеспечение. Таким образом, в конечном итоге мы можем ожидать появления клиентов и серверов .NET на платформах, отличных от Windows.\r\n<span style=\"font-weight: bold;\">Так какие технологии являются частью .NET?</span>\r\n.NET состоит из нескольких связанных технологий, в том числе:\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">.NET Framework</span></span> - среда выполнения и набор стандартных служб, которые могут использовать приложения и службы с поддержкой .NET. .NET Framework, реализованный в виде библиотеки кода, включает в себя Common Language Runtime (CLR), среду выполнения .NET; ASP .NET, платформа веб-приложений; и ADO .NET, для доступа к хранилищу данных.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">.NET Compact Framework.</span></span> Подмножество .NET Framework, разработанное для карманных ПК, смартфонов Microsoft и других мобильных устройств на базе Windows CE .NET.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Потребительские сервисы MSN.</span></span> Microsoft будет использовать ориентированный на потребителя онлайн-сервис MSN для предоставления веб-сервисов частным лицам. Текущая версия MSN 8 включает службы аутентификации .NET Passport, электронную почту, адресную книгу, календарь и задачи и другие подобные службы.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">.NET Enterprise Servers</span></span> - обширный набор серверного программного обеспечения Microsoft, работающего на серверах Windows, включая сервер приложений, BizTalk Server, Exchange Server, сервер интеграции узлов, сервер Internet Security and Acceleration Server, SQL Server и многие другие. В настоящее время Microsoft поставляет много таких серверных продуктов, но все они в настоящее время основаны на Windows DNA, а не на .NET. Будущие серверные продукты - начиная с Windows .NET Server 2003, выход которого запланирован на апрель 2003 года, - фактически будут впервые основаны на технологиях .NET.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Visual Studio .NET</span></span> - среда разработки Microsoft .NET с поддержкой таких языков, как Visual Basic .NET, Visual C ++ .NET, Visual C# .NET и Visual J#, которые нацелены на .NET Framework. Другие поставщики могут добавлять другие языковые возможности в Visual Studio .NET, и этот пакет можно использовать для широкого спектра приложений и служб, включая веб-службы .NET, приложения Windows и веб-приложения. Обратите внимание, что Visual Studio .NET не требуется для создания приложений и служб .NET: разработчики могут загрузить .NET Framework бесплатно; Эта загрузка включает в себя компиляторы для Visual Basic .NET, Visual C ++ .NET и Visual C# .NET.\r\n<span style=\"font-weight: bold;\">Хорошо, в чем смысл? Как это делает мою жизнь лучше?</span>\r\n.NET обеспечивает лучшую экосистему ПК. То есть, упрощая жизнь для всех, кто связан с ПК, преимущества перекрестно опыляются. Вот как .NET облегчает жизнь различным группам:\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Программисты.</span></span> Поскольку разработчики теперь имеют согласованную, независимую от языка среду программирования, они могут быстрее создавать лучшие приложения и сервисы. А поскольку .NET включает в себя столь широкий спектр функциональных возможностей, эти приложения и службы могут быть подключены к внутренним службам через Интернет, предлагая более качественные и интересные функции.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">ИТ-администраторы.</span></span> Поскольку приложения и службы .NET избавляются от «ада DLL», обнаруженного в предыдущих приложениях Windows, их удивительно легко распространять и устанавливать.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Конечные пользователи.</span></span> По причинам, перечисленным выше, и многим другим, новое поколение приложений и служб .NET предоставит новые типы подключенных функций. Доступ к вашей электронной почте из любой точки мира. Оплачивайте товары онлайн, не вводя данные своей кредитной карты. Доступ к погоде, трафику, музыке и другой личной информации с различных устройств из любой точки мира. Будущее все связано, и .NET приведет нас туда.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Net_Development.png","alias":"net-programmirovanie"},"611":{"id":611,"title":"Программирование на ObjectiveC","description":" Objective-C — компилируемый объектно-ориентированный язык программирования, используемый корпорацией Apple, построенный на основе языка Си и парадигм Smalltalk. В частности, объектная модель построена в стиле Smalltalk — то есть объектам посылаются сообщения.\r\nЯзык Objective-C является надмножеством языка Си, поэтому Си-код полностью понятен компилятору Objective-C.\r\nКомпилятор Objective-C входит в GCC и доступен на большинстве основных платформ. Язык используется в первую очередь для Mac OS X (Cocoa) и GNUstep — реализаций объектно-ориентированного интерфейса OpenStep. Также язык используется для iOS (Cocoa Touch).\r\nObjective-C был изобретен в начале 1980-х годов как средство для добавления возможностей объектно-ориентированного программирования к C. Изобретатели, Брэд Кокс и Том Лав, полагали, что Smalltalk может предоставить инструменты, необходимые для действительно повторного использования. код и для создания сред разработки для разработчиков систем.\r\nКокс начал с написания препроцессора для C, который позволял включать код, похожий на Smalltalk, который затем преобразовывался в компилируемый C. Это превратилось в полностью объектно-ориентированное расширение C.\r\nObjective-C был в конечном итоге полностью определен и описан в книге «Объектно-ориентированное программирование: эволюционный подход».\r\nNeXT лицензировал Objective-C в 1988 году и разработал несколько инструментов на его основе. Эти инструменты в конечном итоге стали (после нескольких промежуточных шагов) средой разработки Cocoa, которая используется несколькими системами Apple: Mac OS X, iOS, Apple WatchOS.\r\nВот уже несколько лет приложения пишутся для одной из этих операционных систем Apple, которую нужно было написать (или скомпилировать, или запустить поверх) Objective-C. Эта ситуация меняется сейчас, когда Apple переводит свою платформу на Swift.\r\nВ дополнение к Cocoa Objective-C также используется в платформе GNUstep, которая может работать в среде Linux, Unix, BSD и Windows, и которая близко отражает Cocoa.","materialsDescription":"<span style=\"font-weight: bold; \">Что такое Objective-C?</span>\r\nObjective-C - это объектно-ориентированный язык программирования общего назначения, который добавляет обмен сообщениями в стиле Smalltalk к языку программирования C. Это основной язык программирования, используемый Apple для операционных систем OS X и iOS и их соответствующих API, Cocoa и Cocoa Touch. Этот справочник проведет вас через простой и практичный подход при изучении языка программирования Objective-C.\r\n<span style=\"font-weight: bold; \">Что такое ООП?</span>\r\nООП означает объектно-ориентированное программирование. Это метод программирования, который помогает управлять набором объектов в системе. С помощью различных языков программирования этот метод помогает разрабатывать несколько компьютерных программ и приложений.\r\n<span style=\"font-weight: bold; \">Из чего состоит программа Objective-C?</span>\r\nПрограмма objective-c в основном состоит из:\r\n<ul><li>команды препроцессора</li><li>интерфейса</li><li>реализации</li><li>метода</li><li>переменных</li><li>заявлений и выражений</li><li>комментариев</li></ul>","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_ObjectiveC_Development.png","alias":"programmirovanie-na-objectivec"},"613":{"id":613,"title":"Программирование на C#","description":" C#, C-sharp, си-шарп - язык программирования, сочетающий объектно-ориентированные и аспектно-ориентированные концепции. Разработан в 1998—2001 годах группой инженеров под руководством Андерсa Хейлсбергa в компании Microsoft как основной язык разработки приложений для платформы Microsoft .NET. Компилятор с C# входит в стандартную установку самой .NET, поэтому программы на нём можно создавать и компилировать даже без инструментальных средств вроде Visual Studio.\r\nC# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к С++ и Java. Язык имеет строгую статическую типизацию, поддерживает полиморфизм, перегрузку операторов, указатели на функции-члены классов, атрибуты, события, свойства, исключения, комментарии в формате XML. Переняв многое от своих предшественников — языков С++, Java, Delphi, Модула и Smalltalk — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем: так, C# не поддерживает множественное наследование классов (в отличие от C++).\r\nC# разрабатывался как язык программирования прикладного уровня для CLR и, как таковой, зависит, прежде всего, от возможностей самой CLR. Это касается, прежде всего, системы типов C#, которая отражает FCL. Присутствие или отсутствие тех или иных выразительных особенностей языка диктуется тем, может ли конкретная языковая особенность быть транслирована в соответствующие конструкции CLR. Так, с развитием CLR от версии 1.1 к 2.0 значительно обогатился и сам C#; подобного взаимодействия следует ожидать и в дальнейшем. (Однако эта закономерность была нарушена с выходом C# 3.0, представляющим собой расширения языка, не опирающиеся на расширения платформы .NET.) CLR предоставляет C#, как и всем другим .NET-ориентированным языкам, многие возможности, которых лишены «классические» языки программирования. Например, сборка мусора не реализована в самом C#, а производится CLR для программ, написанных на C# точно так же, как это делается для программ на VB.NET, J# и др.","materialsDescription":" <span style=\"font-weight: bold;\">Почему стоит изучать язык программирования C#?</span>\r\n<span style=\"font-weight: bold;\">Причина № 1. Язык программа C# развивается.</span>\r\nНовые языки программирования появляются ежегодно. А основные востребованные расширяются и прогрессируют. Поскольку язык программирования C# был создан и сопровождается компанией Microsoft этот технологический "бегемот" периодически делает импрувы с добавлением полезных функций в C#, и будьте уверены сделает еще много-много итераций... Также, на C# написаны уже миллиарды строк кода во всем мире, не только под Microsoft,поэтому работы предвидится достаточно всем желающим изучить язык программирования C#.\r\n<span style=\"font-weight: bold;\">Причина № 2. Ваше яркое будущее вместе с C#.</span>\r\nЭтот пункт плавно продолжает предыдущий. Согласно рейтингам отечественного DOU видно, что язык программирования C# в Украине на 3-м месте в 2018 г. среди языков программирования. А в мировых чартах на 4 месте по PYPL PopularitY of Programming Language - это рейтинг, использующий Google Trends.\r\n<span style=\"font-weight: bold;\">Причина № 3. Возможность большей прибыли.</span>\r\nКонечно данное утверждение следует оценивать относительно в сравнении. Сегодня любят говорить: - "рабочее время программиста стоит дороже, чем дополнительная память или более мощный процессор компьютера. Рекомендуется выбирать более современные инструменты, которые не слишком ломать мозги программисту."\r\nС другой стороны, когда говорят о C#, то всегда имеют в виду скорость и большие ценные серьезные проекты, даже Мега проекты. Скажем, на C# написано ядро ОС Linux, Unix, библиотеки, среда, интерпретаторы многих современных языков программирования. Мелочь, типа как под веб, на C# никто не кодит.\r\n<span style=\"font-weight: bold;\">Причина № 4. C# имеет огромный набор случаев использования.</span>\r\n<ul><li>Язык программирования C# преимущественно используется для создания корпоративного программного обеспечения, финансовых проектов, например для банков и бирж, в частности мобильных приложений, облачных сервисов.</li><li>C# по сравнению с Java легче взаимодействует с кодом программ, написанных на других языках. И именно на C# часто пишутся расширения для других языков программирования, используемых в качестве прослойки между библиотекой C# и языком, возможности которой под конкретные цели планируется расширять.</li><li>Довольно популярный blockchain на C#.</li><li> C# широко используется в разработке игр на Unity. Вы когда-нибудь слышали о Unity? Unity - популярный игровой движок. Это означает, что сотни тысяч игр, включая самые популярные создавались с помощью C#.</li><li>C# хорош для работы с железом, так называемый embedded. Спрашиваете, что такое Embedded технологии? Embedded system - специализированная компьютерная система или вычислительное устройство, предназначенное для выполнения ограниченного количества функций, из Википедии: светофоры, кассовые аппараты, торговые автоматы, телевизионные приставки, контрольно-измерительные приборы пр.</li><li>Популярный язык программирования C# одинаково хорош для IoT. Опять же, что такое IoT? IoT (Internet of Things) - это концепция всеобъемлющего интернета, подключение к интернету холодильников, кондиционеров, автомобилей и даже кроссовок с целью обеспечить своему владельцу больший комфорт, а с другой стороны увеличение прибыли их ритейлерам, расчета количества чего, сколько и когда нужно иметь в наличии на складах, получение определенной информации о человеке и его привычки, об окружающей среде.</li><li>Наука и ее прикладное применение, например, проведение сложных экспериментальных расчетов, криптография, распознавание образов тому подобное.</li></ul>\r\n<span style=\"font-weight: bold;\">Причина № 5. C# строго типизированный, значит им проще овладеть начинающим</span>\r\nЧто касается сравнения языков программирования, следует отметить, что язык программирования C# многоуровневый. Это означает, что он несколько похож на английский. Язык программирования C# имеет строгую статическую типизацию, поддерживает полиморфизм, перегрузку операторов, указатели на функции-члены классов, атрибуты, события, свойства, исключения, комментарии в формате XML. Переняв многое от своих предшественников - языков С++, Delphi, Модула, Smalltalk - в С#, опираясь на практику их использования, умышленно исключили некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем в вышеперечисленных языках программирования.\r\nСинтаксис довольно минималистичный - с ручным управлением памятью. Многим указанное обстоятельство неудобно, однако слежение за правильностью функций, понимание передачи аргументов тесно связано с изучением языка программирования C#.\r\nПоскольку синтаксис C# близок к C, C++ и Java, то, свободно владея C#, впоследствии можно изучить и их на одном дыхании.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_C_Development.png","alias":"programmirovanie-na-c"},"617":{"id":617,"title":"Программирование в Joomla","description":" Joomla! — система управления содержимым (CMS), написанная на языках PHP и JavaScript, использующая в качестве хранилища базы данных СУБД MySQL или другие стандартные промышленные реляционные СУБД. Является свободным программным обеспечением, распространяемым под лицензией GNU GPL.\r\nНазвание «Joomla!» фонетически идентично слову «Jumla», которое в переводе с языка суахили означает «все вместе» или «единое целое», что отражает подход разработчиков и сообщества к развитию системы.\r\nCMS Joomla! включает в себя минимальный набор инструментов при начальной установке, который дополняется по мере необходимости. Это снижает загромождение административной панели ненужными элементами, а также снижает нагрузку на сервер и экономит место на хостинге.\r\nJoomla! позволяет отображать интерфейс фронтальной и административной части на любом языке. Каталог расширений содержит множество языковых пакетов, которые устанавливаются штатными средствами администрирования. Доступны пакеты русского, украинского, белорусского и ещё некоторых языков постсоветского пространства.","materialsDescription":" <span style=\"font-weight: bold;\">Что такое Joomla?</span>\r\nJoomla был в сети с 2005 года и приобрел огромное количество пользователей; более 50 миллионов загрузок в соответствии с www.joomla.org. Это делает эту CMS (систему управления контентом) второй по популярности после WordPress.\r\n<span style=\"font-weight: bold;\">Каковы основные особенности Joomla?</span>\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Отзывчивость. </span></span>Отзывчивость является обязательным условием для любого современного веб-сайта. Вы, как и почти любой другой пользователь Интернета сегодня, ожидаете, что веб-сайт изящно масштабируется под любое разрешение экрана, и это то, что Joomla полностью способна сделать.\r\nМобильные устройства, настольные компьютеры, планшеты - ваш сайт не будет выглядеть «сломанным» ни на одном из них.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Многоязычность.</span></span> Вы работаете на неанглийском рынке? Без проблем. Локализация движка Joomla на ваш язык проще, чем у большинства его конкурентов в мире CMS.\r\nВ Joomla есть почти 70 языковых пакетов, которые находятся всего в нескольких кликах от установки и использования.\r\nДаже если в используемой теме есть слова, которые нельзя перевести с языковым пакетом, остальные можно перевести с помощью инструмента переопределения языка. Это здорово, потому что в некоторых других популярных CMS вам нужно перейти на ваш сервер и работать непосредственно с файлами темы.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Легко обновляемая.</span></span> Joomla - один из наиболее часто обновляемых движков, и это хорошо, потому что команда разработчиков Joomla каждый раз приносит нам новые функции и новые полезные функции.\r\nЧто еще лучше, вы можете применить обновление в два-три клика из вашей панели администратора. Я не могу подчеркнуть этот момент достаточно!\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Хорошо поддерживаемая.</span></span> Joomla - это платформа с открытым исходным кодом, которая позволяет любому желающему внести свой вклад на добровольной основе.\r\nНедостатком является то, что вы не можете войти в чат или позвонить кому-нибудь из Joomla, чтобы получить бесплатную консультацию для своего сайта.\r\nК счастью, команда Joomla разработала очень подробную документацию Joomla. Если вы более социальный тип, вам понравится форум пользователей Joomla.\r\n<span style=\"font-weight: bold;\">Что выделяет Joomla?</span>\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Joomla Media Manager</span></span>\r\nJoomla Media Manager - это инструмент, который позволяет вам управлять вашими мультимедийными файлами в панели администратора Joomla. Media Manager в Joomla - один из самых интуитивно понятных и простых в использовании среди подобных инструментов.\r\nВ отличие от других систем CMS, вы можете легко создавать новые папки на вашем сервере и загружать туда файлы. Это потребует перехода на FTP или Cpanel в большинстве других CMS.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Joomla Contact Manager</span></span>\r\nJoomla хорошо подготовлена к тому, чтобы стать корпоративным сайтом с многочисленными пользователями с разными ролями и возможностями. Диспетчер контактов Joomla позволяет создавать пользователей в разных отделах и категориях.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Joomla Content Management</span></span>\r\nНесмотря на то, что я слышал, что клиенты говорят, что Joomla имеет более длительную кривую обучения, по сравнению с WordPress, это того стоит, потому что с Joomla появляется большая гибкость и возможности комбинирования контента.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Расширения Joomla (8000+)</span></span>\r\nJoomla имеет одну из самых мощных баз расширений среди платформ CMS и электронной коммерции.<br />Вы можете найти плагин или модуль, чтобы сделать почти все. Что примечательно в расширениях Joomla - многие замечательные плагины и модули бесплатны, в то время как большинство платных поставляются с бесплатной облегченной версией, и есть возможность перейти на премиум-версию, когда вы решите это сделать.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Редактирование интерфейса</span></span>\r\nЯ оставил его до самого конца гида, так как он мой любимый. Это то, что меня беспокоит в WordPress, и то, что воодушевляет меня при работе с Joomla - нет необходимости заходить в панель администратора, чтобы редактировать какую-то часть контента.\r\nЕсли вы включили внешнее редактирование своего сайта, рядом с любым модулем будет шестеренка, и, нажав на нее, вы сможете вносить изменения на ходу. Это волнение в этом шумном мире, в котором мы живем.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Joomla_Development.png","alias":"programmirovanie-v-joomla"},"619":{"id":619,"title":"Программирование в Drupal","description":" Drupal - это программное обеспечение для управления контентом. Оно используется для создания многих веб-сайтов и приложений, которые вы используете каждый день. Drupal обладает отличными стандартными функциями, такими как простое создание контента, надежная производительность и отличная безопасность. Но что выделяет Drupal из всех, так это его гибкость; модульность является одним из основных принципов. Его инструменты помогают вам создавать универсальный, структурированный контент, необходимый динамическому веб-интерфейсу.\r\nЭто также отличный выбор для создания интегрированных цифровых платформ. Вы можете расширить его с любым, или многими, тысячами дополнений. Модули расширяют функциональность Drupal. Темы позволяют настроить презентацию вашего контента. Дистрибутивы - это упакованные пакеты Drupal, которые вы можете использовать в качестве стартовых комплектов. Смешивайте и подбирайте эти компоненты, чтобы усилить основные способности Drupal. Или интегрируйте Drupal с внешними сервисами и другими приложениями в вашей инфраструктуре. Никакое другое программное обеспечение для управления контентом не является таким мощным и масштабируемым.\r\nПроект Drupal - это программное обеспечение с открытым исходным кодом. Любой может скачать, использовать, работать и делиться этим с другими. Он основан на таких принципах, как сотрудничество, глобализм и инновации. Он распространяется в соответствии с условиями GNU General Public License (GPL). Там нет лицензионных сборов, никогда. Drupal всегда будет бесплатным.","materialsDescription":" <span style=\"font-weight: bold; \">Что может сделать Drupal? И почему он отличается от других CMS?</span>\r\nСуществует множество причин, по которым Drupal входит в тройку наиболее часто используемых CMS, и почему тонны сложных систем от малого до большого размера сделали это своим выбором. Вот такие:\r\n<ul><li><span style=\"font-weight: bold; \">Надежность.</span> Drupal входит в тройку самых популярных систем управления контентом в мире. У него давняя история. Хотя Drupal находится в стадии разработки, он был стабильным на этом пути. У нас есть Drupal 7 сейчас, в то время как Drupal 8 будет выпущен. Но вы можете быть уверены, что вы будете поддерживать предыдущую версию Drupal как минимум 5 лет. Между тем ресурсы останутся там для товаров.</li><li><span style=\"font-weight: bold; \">Доступные ресурсы.</span> Почти все, что вы хотите сделать с системой, было предварительно создано и сделано абсолютно хорошо другими людьми. Другие хорошие новости - почти все самые полезные модули (дополнения Drupal) добавлены в сообщество Drupal. Это неоценимо, потому что во многих CMS вам приходится платить за важные функции. Как пользователь, вы очень выиграли от чьих-то усилий и опыта.</li><li><span style=\"font-weight: bold; \">Огромное преданное сообщество.</span> Сообщество Drupal является большим, динамичным и хорошо функционирует с 2001 года. Будучи новичком или старшим разработчиком, Drupal.org является обязательным ресурсом, на котором вы можете найти учебные материалы, будущие новости или попросить поддержки у участников и специалисты.</li><li><span style=\"font-weight: bold; \">Надежный и удобный.</span> Будьте уверены, что исходный код для создания ваших сайтов на Drupal был точно написан и разработан экспертами Drupal. Если у вас есть намерение выполнять более сложную и сложную работу, вам будет легко и удобно модифицировать систему. Это дает пользователям большое преимущество перед другими CMS.</li><li><span style=\"font-weight: bold; \">Гибкость.</span> Не случайно Drupal считается самой гибкой CMS. Мы всегда думали, что если у вас есть представление о каких-либо функциях, содержимом, вы, безусловно, можете создать его с помощью Drupal. Шутки в сторону. Вы можете создать любой контент на сайте. Вы можете настроить все на свой вкус. Вы можете создать любой тип сайта, который вы хотите.</li><li><span style=\"font-weight: bold; \">Масштабируемость.</span> Под масштабируемостью мы подразумеваем, что вы можете расширить свое ядро Drupal на более высокий уровень с помощью множества дополнительных модулей Drupal. Что хорошо в модулях Drupal, так это то, что они прекрасно интегрируются с ядром Drupal. Они также абсолютно эффективно соединяются с модулями. Это независимо от того, что многие модули совершенно разные. Это связано с естественной структурой и встроенной системой Drupal. Таким образом, это расширяет возможности расширения вашего сайта Drupal. Это также основная сила Drupal по сравнению с другими CMS. Между тем, Drupal является открытым исходным кодом. Итак, предположим, что модули, которых вы хотите, не существуют, вы можете создать один, отредактировать существующий модуль или нанять кого-нибудь для выполнения этой работы.</li><li><span style=\"font-weight: bold; \">Безопасность.</span> Drupal был тщательно проверен строгими правилами безопасности экспертами и участниками Drupal. Его встроенная безопасность сильна. Drupal заблокирует любой установленный каталог, предоставляя важные данные, файлы конфигурации, к которым нет прямого доступа. Неудивительно, что многие крупные сайты с чрезвычайной безопасностью используют Drupal, а именно - whitehouse.org, commerce.gov, weforum.org,...</li></ul>\r\n<span style=\"font-weight: bold; \">Каковы виды использования Drupal?</span>\r\nКак уже говорилось, благодаря своей гибкости и расширяемости, Drupal не ограничен каким-либо видом. Просмотрите эти списки, чтобы увидеть широкий спектр возможностей, которые может создать Drupal:\r\n<ul><li>Персональные или корпоративные сайты</li><li>Сайты портала сообщества</li><li>Интранет/Корпоративные сайты</li><li>Блоги, арт, портфолио, музыка, мультимедийные сайты</li><li>Форумы</li><li>Международные сайты (сайты с несколькими языками)</li><li>Сайты электронной коммерции</li><li>Каталоги ресурсов</li><li>Социальные сети</li></ul>","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Drupal_Development__1_.png","alias":"programmirovanie-v-drupal"},"621":{"id":621,"title":"Программирование на WordPress","description":"","materialsDescription":"","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_WordPress.png","alias":"programmirovanie-na-wordpress"},"623":{"id":623,"title":"Программирование под Magento","description":"Magento - платформа электронной коммерции с открытым исходным кодом, написанная на PHP. Это одна из самых популярных открытых систем электронной коммерции в сети. Это программное обеспечение создано с использованием Zend Framework. Исходный код Magento распространяется в рамках Open Source Initiative (OSI), одобренной Open Software License (OSL) v3.0, которая аналогична AGPL, но не совместима с GPL.\r\nПрограммное обеспечение было первоначально разработано Varien, Inc, американской частной компанией со штаб-квартирой в Калвер-Сити, штат Калифорния, при содействии добровольцев.\r\nНа этой платформе создано более 100 000 интернет-магазинов. Код платформы был загружен более 2,5 миллионов раз, и в 2019 году через системы на основе Magento было продано товаров на сумму 155 миллиардов долларов. Два года назад на долю Magento приходилось около 30% общей доли рынка.\r\nVarien опубликовала первый выпуск программного обеспечения для общего доступа 31 марта 2008 года. Рой Рубин, бывший генеральный директор Varien, позже продал долю компании eBay, которая в итоге полностью приобрела, а затем продала компанию Permira; Позже Пермира продала его в Adobe.\r\n17 ноября 2015 года был выпущен Magento 2.0. Среди изменений, внесенных в V2, можно отметить следующие: уменьшенные проблемы с блокировкой таблиц, улучшенное кэширование страниц, масштабируемость корпоративного уровня, встроенные расширенные фрагменты для структурированных данных, новая структура файлов с более легкой настройкой, предварительная обработка CSS с использованием LESS & CSS URL resolver, повышение производительности и более структурированная кодовая база. Magento использует систему управления реляционными базами данных MySQL или MariaDB, язык программирования PHP и элементы Zend Framework. Он применяет соглашения объектно-ориентированного программирования и архитектуры модель-представление-контроллер. Magento также использует модель сущность-атрибут-значение для хранения данных. Кроме того, Magento 2 представил шаблон Model-View-ViewModel в своем внешнем коде с помощью библиотеки JavaScript Knockout.js.","materialsDescription":" <span style=\"font-weight: bold;\">Что такое Magento? В чем выгода выбора платформы с открытым исходным кодом?</span>\r\nMagento - это платформа электронной коммерции с открытым исходным кодом, которая позволяет владельцам онлайн-бизнеса контролировать свой интернет-магазин и добавлять мощные и гибкие инструменты для маркетинга, управления каталогами и оптимизации поисковых систем.\r\nПлатформа с открытым исходным кодом предлагает гораздо больше инноваций, настройки, качества, поддержки и гибкости при очень низких затратах. Это позволяет пользователям совместно использовать и получать доступ к платформе, добавлять богатые функции в соответствии с потребностями, тем самым делая изменения более эффективными и легкими.\r\n<span style=\"font-weight: bold;\">Как мой сайт Magento может быть в курсе последних тенденций и направлений деятельности в области мобильных устройств?</span>\r\nЗа последние несколько лет адаптивный дизайн, приложения для конкретных устройств привели к значительным изменениям в мире бизнеса. Последняя версия Magento включает адаптивный шаблон и предлагает отличные функции, которые отвечают потребностям мобильного мира как для бизнеса B2B, так и для бизнеса B2C.\r\n<span style=\"font-weight: bold;\">Что должно быть включено в мою стратегию электронной коммерции Magento?</span>\r\nПрежде чем вы планируете начать свой проект Magento, очень важно записать бизнес-цели вашего сайта. Это поможет вам измерить успех. Закончив с этим, вы можете планировать оставшиеся стратегии, которые включают целевую аудиторию, персонализацию, контент-план, мобильную стратегию, сторонние дополнения и службы поддержки, которые вам потребуются для поддержания работы вашего сайта.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Magento_Development.png","alias":"programmirovanie-pod-magento"},"625":{"id":625,"title":"Программирование в Typo3","description":" TYPO3 (тайпо три) — система управления сайтами (CMS/CMF) с открытым исходным кодом и свободной лицензией. Является гибкой расширяемой системой с большим количеством модулей и функций.\r\nНаписана на PHP, для хранения данных использует любую реляционную базу данных, поддерживаемую TYPO3 DBAL, включая MySQL, Oracle Database, PostgreSQL и другие. Работает на таких серверах, как Apache или IIS, и на большинстве операционных систем, таких как Linux, Microsoft Windows, FreeBSD, Mac OS X и OS/2.\r\nСистема создана Каспером Скорхёем и распространяется бесплатно под лицензией GNU GPL.\r\nСтруктура сайта в TYPO3 представлена деревом страниц. На каждой странице могут быть размещены элементы содержимого — небольшие блоки информации: текст, текст + изображение, изображение, таблица, чистый html, плагин и др. TYPO3 основана на шаблонах. Существуют готовые шаблоны для TYPO3, однако в основном шаблоны строятся заново на специальном конфигурационном языке TypoScript. Несмотря на использование script в названии, TypoScript не является процедурным языком. Он используется для конфигурирования и отображения сайта. TypoScript является альтернативой другим конфигурационным языкам, таким как ini- или conf-файлы, XML или JSON.\r\nTYPO3 имеет два режима работы: frontend и backend. Frontend — это «лицо» сайта, то, каким он виден посетителям. Backend — это интерфейс для администраторов и редакторов сайта. Кроме того, поддерживается режим frontend-редактирования, позволяющий редакторам вносить правки непосредственно при просмотре «лица» сайта.\r\nTYPO3 работает более чем на 500 тыс. сайтах, включая сайты Epson Corporation, Philips, Schwarzkopf, UNICEF, Konica Minolta, Cisco. TYPO3 используется на сайтах десятков европейских банков, сотен международных организаций и крупных компаний, уделяющих значительное внимание безопасности своих интернет-систем. В России TYPO3 используют ВЦИОМ, РГМУ, сервер органов государственной власти Республики Бурятия, Республики Дагестан, банк «Финсервис», группа компаний «Инталев», ОАО «Хакасэнерго» и другие организации.","materialsDescription":" <span style=\"font-weight: bold; \">Какой официальный сайт TYPO3?</span>\r\nhttps://typo3.org/ :: TYPO3 - профессиональная, гибкая система управления контентом. TYPO3 CMS - это система управления корпоративным контентом с открытым исходным кодом, имеющая большое глобальное сообщество и поддерживаемая примерно 900 членами Ассоциации TYPO3.\r\n<span style=\"font-weight: bold; \">Откуда появилось название TYPO3?</span>\r\nСоздатель TYPO3 Kasper Skårhøj помнит это примерно так:\r\nЕще в конце 1990-х годов, работая над первой версией своей CMS, он искал название для нового программного обеспечения. В то время ему нравилось название «фристайл», но оно вызывало некоторые проблемы из-за чрезмерной ассоциации с некоторыми видами деятельности, продуктами и товарными знаками. Так что вопрос названия пришлось отложить на второй план из-за отсутствия хорошей идеи.\r\nОднажды вечером в пятницу, когда он часами работал в офисе один, Каспер невольно набрал ошибку в командной строке своего Linux-сервера и случайно удалил целую неделю работы. Он вспоминает, что чувствуешь холод по телу, когда понимаешь, что случилось что-то ужасное. Он медленно встал, прошел через всю комнату и сел на диван, смотря через офис на ноутбук на своем столе.\r\nНекоторое время он был неподвижим, просто смотря в комнату. После того, как первоначальный шок утих, он вернулся, сел и начал воссоздавать потерянный код. Это прошло на удивление быстро, так как в голове, основные моменты были полностью проработаны. И именно во время этого выброса адреналина и удовлетворения, что еще не все потеряно, он начал рассматривать этот инцидент в перспективе. Переписывание программного кода шло гладко и чисто, что заставляло его задуматься, насколько иронично было бы, если бы опечатка закончивалась улучшением продукта! Именно эта мысль впервые натукнула на выражение «опечатка» («typo») как возможное имя. Это казалось особенно подходящим, потому что\r\n<ul><li>"typo", как и в типографии ("печатник"), связано с макетом и контентом,</li><li>"typo", как и при опечатке, теперь у него была странная доля в истории продукта.</li></ul>\r\nУ новорожденного ребенка теперь было имя.\r\nПервоначально были TYPO версии 1, 2 и 2.5. Но успешная версия 3, которая была более менее брендовой по умолчанию, в конце названия продукта добавила «3». С момента запуска «TYPO3 version 4», TYPO3 остается названием продукта для всех будущих версий. Итак, TYPO3 это бренд ... и TYPO3 это будет развивать.\r\n<span style=\"font-weight: bold; \">Что такое TYPO3?</span>\r\nTYPO3 (тайпо три) — система управления сайтами (CMS/CMF) с открытым исходным кодом и свободной лицензией. Является гибкой расширяемой системой с большим количеством модулей и функций. Написана на PHP, для хранения данных использует любую реляционную базу данных, поддерживаемую TYPO3 DBAL, включая MySQL, Oracle Database, PostgreSQL и другие. Работает на таких серверах, как Apache или IIS, и на большинстве операционных систем, таких как Linux, Microsoft Windows, FreeBSD, Mac OS X и OS/2.\r\n<span style=\"font-weight: bold; \">Зачем использовать TYPO3?</span>\r\nПотому что TYPO3 - это CMS для вас! TYPO3 - это система управления корпоративным контентом. Если вам нужно создавать, управлять и выводить какой-либо цифровой контент, то TYPO3 - подходящий инструмент для вас. Вы можете начать с малого сайта и быстро расти. Ваши бизнес потребности и экономическое обоснование могут измениться, но вам не придется менять систему управления контентом (CMS), так как TYPO3 адаптируется к вашим запросам.\r\n<span style=\"font-weight: bold;\">Какие системные требования?</span>\r\n<ul><li>Operating System: Linux, Windows or Mac, or common cloud infrastructure setups</li><li>Webserver: Apache httpd, Nginx, Microsoft IIS, Caddy Server</li><li>PHP: PHP >= 7.2</li><li>Database: PostgreSQL //Microsoft SQL Server //MariaDB(>= 10.2) //MySQL(>= 5) //SQLite</li><li>Hardware: RAM >= 256 MB</li><li>Supported Browsers: Chrome (latest) //Firefox (latest) //Safari (latest) //Edge (latest) //Internet Explorer (>= 11)</li></ul>","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Typo3_Development.png","alias":"programmirovanie-v-typo3"},"627":{"id":627,"title":"CSS разработка","description":" CSS — формальный язык описания внешнего вида документа, написанного с использованием языка разметки.\r\nПреимущественно используется как средство описания, оформления внешнего вида веб-страниц, написанных с помощью языков разметки HTML и XHTML, но может также применяться к любым XML-документам, например, к SVG или XUL. \r\nCSS используется создателями веб-страниц для задания цветов, шрифтов, расположения отдельных блоков и других аспектов представления внешнего вида этих веб-страниц. Основной целью разработки CSS являлось разделение описания логической структуры веб-страницы (которое производится с помощью HTML или других языков разметки) от описания внешнего вида этой веб-страницы (которое теперь производится с помощью формального языка CSS). Такое разделение может увеличить доступность документа, предоставить большую гибкость и возможность управления его представлением, а также уменьшить сложность и повторяемость в структурном содержимом. Кроме того, CSS позволяет представлять один и тот же документ в различных стилях или методах вывода, таких как экранное представление, печатное представление, чтение голосом (специальным голосовым браузером или программой чтения с экрана), или при выводе устройствами, использующими шрифт Брайля.\r\nДо появления CSS оформление веб-страниц осуществлялось исключительно средствами HTML, непосредственно внутри содержимого документа. Однако с появлением CSS стало возможным принципиальное разделение содержания и представления документа. За счёт этого нововведения стало возможным лёгкое применение единого стиля оформления для массы схожих документов, а также быстрое изменение этого оформления.","materialsDescription":" <span style=\"font-weight: bold; \">Что лучше: простой HTML или HTML с CSS?</span>\r\nМногие разработчики сайтов задаются вопросом, зачем нужен CSS, если можно использовать простой HTML. Скорее всего, они только познают разработку сайта и имеют ряд пробелов в знаниях. Суть в том, что HTML применяется для составления структуры содержимого страницы. А CSS позволяет отформатировать это содержимое, сделать его более привлекательным для пользователей.\r\nКогда был создан World Wide Web, разработчики применяли только один язык — HTML. Его использовали как средство вывода структурированного текста. У автора в распоряжении был скудный функционал. Максимум, что можно было сделать – обозначить заголовок, выделить параграф. Тегов тоже было мало.\r\nВ связи с развитием интернета базу тегов языка HTML расширили, чтобы позволить корректировать внешний вид документов. При этом структура оставалась неизменной.\r\nСтали распространяться теги структурирования, например <table>. Именно их чаще выбирали для оформления страниц вместо самой структуры. Некоторые браузеры предлагали собственные теги, воспроизвести которые могли только они.\r\nТаким образом, пользователи часто натыкались на сообщение: «Чтобы просмотреть страницу, вам необходимо воспользоваться браузером ХХХ».\r\nЧтобы исправить сложившуюся ситуацию и создать единую базу тегов для форматирования был создан CSS. Он позволил отказаться от привязки тегов к браузерам.\r\nИспользовать HTML с CSS удобнее, чем простой HTML. CSS предоставляет следующие преимущества:\r\n<ul><li>Проработанный до мелочей дизайн.</li><li>С помощью единой таблицы можно управлять различными документами.</li><li>Можно настроить варианты отображения страницы для разных устройств: экран компьютера, экран смартфона и т.д.</li></ul>\r\n<span style=\"font-weight: bold;\">Продвижение сайта с помощью CSS</span>\r\nПоявление и развитие CSS позволило сделать разработку веб-ресурсов более эффективной и результативной. Теперь управлять дизайном, корректировать его намного легче и удобнее. Также с помощью CSS удалось сократить код страниц, их размер. Это положительно сказалось на скорости загрузки, индексирование тоже стало проходить быстрее. Применение адаптивного подхода позволило сделать рывок в сфере мобильных версий интернет-ресурсов.\r\nДля улучшения продвижения сайта специалисты рекомендуют выносить таблицы стилей CSS в отдельный документ, чтобы не увеличивать объем кода. Можно составить один или несколько таких файлов.\r\nРанее поисковики не умели читать таблицы стилей, что открывало возможность использовать их в черном SEO, например, для создания невидимых текстов. Сейчас лучше отказаться от использования CSS не по назначению.\r\nCSS обладает рядом преимуществ и позволяет улучшить сайт, сделать его более привлекательным для посетителей. Однако важно правильно прописать все элементы.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_CSS_Development.png","alias":"css-razrabotka"},"629":{"id":629,"title":"Программирование на PHP","description":" PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста»; первоначально Personal Home Page Tools — «Инструменты для создания персональных веб-страниц») — скриптовый язык общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков, применяющихся для создания динамических веб-сайтов.\r\nЯзык и его интерпретатор (Zend Engine) разрабатываются группой энтузиастов в рамках проекта с открытым кодом. Проект распространяется под собственной лицензией, несовместимой с GNU GPL.\r\nВ области веб-программирования, в частности серверной части, PHP — один из популярных сценарных языков (наряду с JSP, Perl и языками, используемыми в ASP.NET).\r\nПопулярность в области построения веб-сайтов определяется наличием большого набора встроенных средств и дополнительных модулей для разработки веб-приложений. Основные из них:\r\n<ul><li>автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;</li><li>взаимодействие с большим количеством различных систем управления базами данных через дополнительные модули (MySQL, MySQLi, SQLite, PostgreSQL, Oracle (OCI8), Oracle, Microsoft SQL Server, Sybase, ODBC, mSQL, IBM DB2, Cloudscape и Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB++, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird / InterBase, Paradox File Access, MaxDB, Интерфейс PDO), Redis;</li><li>автоматизированная отправка HTTP-заголовков;</li><li>работа с HTTP-авторизацией;</li><li>работа с cookies и сессиями;</li><li>работа с локальными и удалёнными файлами, сокетами;</li><li>обработка файлов, загружаемых на сервер;</li><li>работа с XForms.</li></ul>\r\nВ настоящее время PHP используется сотнями тысяч разработчиков. Согласно рейтингу корпорации TIOBE, базирующемся на данных поисковых систем, в мае 2016 года PHP находился на 6 месте среди языков программирования. К крупнейшим сайтам, использующим PHP, относятся Facebook, Wikipedia и др.\r\nВходит в LAMP — распространённый набор программного обеспечения для создания и хостинга веб-сайтов (Linux, Apache, MySQL, PHP).\r\nЯзык автоматически поддерживает HTTP Cookies, в соответствии с стандартами Netscape. Это позволяет проводить установку и чтение небольших сегментов данных на стороне клиента. Работа с Cookies организована посредством сеансов (сессий). У сессий есть срок действия (после его истечения, данные удаляются), в сессиях можно хранить и редактировать разные типы данных, в том числе сериализованные - пропущенные через serialize( процесс происходит автоматически), PHP-объекты.","materialsDescription":" <span style=\"font-weight: bold; \">Что такое PHP?</span>\r\nPHP расшифровывается как Hypertext Preprocessor. Это серверный язык сценариев с открытым исходным кодом, который широко используется для веб-разработки. Он поддерживает множество баз данных, таких как MySQL, Oracle, Sybase, Solid, PostgreSQL, универсальный ODBC и т.д.\r\n<span style=\"font-weight: bold; \">Что такое PEAR в PHP?</span>\r\nPEAR - это фреймворк и репозиторий для повторно используемых PHP-компонентов. PEAR расшифровывается как PHP Extension и Application Repository. Он содержит все типы фрагментов кода PHP и библиотек. Он также предоставляет интерфейс командной строки для автоматической установки «пакетов».\r\n<span style=\"font-weight: bold; \">Кто является автором PHP?</span>\r\nРасмус Лердорф.\r\n<span style=\"font-weight: bold; \">Какое ранее назывался PHP?</span>\r\nСтарое имя PHP было Personal Home Page.\r\n<span style=\"font-weight: bold;\">Объясните разницу между статическими и динамическими сайтами?</span>\r\nНа статических сайтах содержимое не может быть изменено после запуска скрипта. Вы не можете ничего изменить на сайте. Это предопределено.\r\nНа динамических веб-сайтах содержимое скрипта может быть изменено во время выполнения. Его содержимое обновляется каждый раз, когда пользователь посещает или перезагружается. Google, Yahoo и каждая поисковая система - пример динамичного веб-сайта.\r\n<span style=\"font-weight: bold;\">Как называется движок сценариев в PHP?</span>\r\nСкриптовый движок, поддерживающий PHP, называется Zend Engine 2.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_PHP_Development.png","alias":"programmirovanie-na-php"},"631":{"id":631,"title":"CakePHP разработка","description":"CakePHP - это веб-фреймворк с открытым исходным кодом. Он следует подходу модель-представление-контроллер (MVC) и написан на PHP, смоделирован по принципам Ruby on Rails и распространяется под лицензией MIT.\r\nCakePHP использует хорошо известные концепции разработки программного обеспечения и шаблоны проектирования программного обеспечения, такие как соглашение о конфигурации, модель-представление-контроллер, активная запись, сопоставление данных ассоциации и фронт-контроллер.\r\nCakePHP начал свою работу в апреле 2005 года, когда польский программист Михал Татаринович написал минимальную версию быстрой разработки приложений на PHP, назвав ее Cake. Он опубликовал фреймворк под лицензией MIT и открыл его для интернет-сообщества разработчиков. В декабре 2005 года Л. Мастерс и Дж. Дж. Вудворт основали Фонд программного обеспечения Cake для продвижения разработки, связанной с CakePHP. Версия 1.0 была выпущена в мае 2006 года.\r\nОдним из вдохновителей проекта был Ruby on Rails, использующий многие его концепции. Сообщество с тех пор выросло и породило несколько подпроектов.\r\nВ октябре 2009 года руководитель проекта Вудворт и разработчик Н. Абель покинули проект, чтобы сосредоточиться на своих собственных проектах, в том числе на веб-платформе Lithium (ранее входившей в проект CakePHP). Оставшаяся команда разработчиков продолжала сосредотачиваться на исходной дорожной карте, которая была ранее определена.","materialsDescription":" <span style=\"font-weight: bold;\">Что такое CakePHP? Почему это полезно?</span>\r\nCakePHP - это бесплатная среда быстрой разработки с открытым исходным кодом для PHP. Это фундаментальная основа для разработчиков для создания веб-приложений.\r\nCakePHP имеет активную команду разработчиков, а также сообщество, приносящее огромную ценность для работы. Использование CakePHP позволяет не только изобретать велосипед, но и позволяет предположить, что ядро вашего приложения хорошо изучено и постоянно улучшается.\r\nНиже приведен краткий список функций, которые вам понравятся при использовании CakePHP:\r\n<ul><li>Активное, дружелюбное сообщество</li><li>Гибкое лицензирование</li><li>Подходит с вариантами 4, а также 5 PHP</li><li>Интегрированный CRUD для взаимодействия с базой данных</li><li>Строительные леса</li><li>Генерация кода</li><li>Архитектура MVC</li><li>Диспетчер запросов с чистыми, настроенными URL-адресами и маршрутами</li><li>Комплексная проверка</li><li>Быстрый, а также адаптируемый шаблон (фреймворк PHP, с помощниками)</li><li>Ищите помощников для AJAX, JavaScript, HTML Forms, а также многое другое</li><li>Электронная почта, файлы cookie, безопасность, сеанс, а также компоненты обработки запросов</li><li>Гибкий ACL</li><li>Очистка данных</li><li>Гибкое кеширование</li><li>Локализация</li><li>Работает с любого вида веб-сайта каталогов, практически без установки Apache</li></ul>","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_CakePHP_Development.png","alias":"cakephp-razrabotka"},"635":{"id":635,"title":"Программирование на Python","description":" Python (МФА: [ˈpʌɪθ(ə)n]; в русском языке распространено название питон) — высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций.\r\nPython поддерживает структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное программирование. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений, высокоуровневые структуры данных. Поддерживается разбиение программ на модули, которые, в свою очередь, могут объединяться в пакеты.\r\nЭталонной реализацией Python является интерпретатор CPython, поддерживающий большинство активно используемых платформ. Он распространяется под свободной лицензией Python Software Foundation License, позволяющей использовать его без ограничений в любых приложениях, включая проприетарные. Есть реализация интерпретатора для JVM с возможностью компиляции, CLR, LLVM, другие независимые реализации. Проект PyPy использует JIT-компиляцию, которая значительно увеличивает скорость выполнения Python-программ.\r\nPython — активно развивающийся язык программирования, новые версии с добавлением/изменением языковых свойств выходят примерно раз в два с половиной года. Язык не подвергался официальной стандартизации, роль стандарта де-факто выполняет CPython, разрабатываемый под контролем автора языка. В настоящий момент Python занимает третье место в рейтинге TIOBE с показателем 8,5 %. Аналитики отмечают, что это самый высокий балл Python за все время его присутствия в рейтинге.\r\nНазвание языка произошло вовсе не от названия семейства пресмыкающихся. Автор назвал язык в честь популярного британского комедийного телешоу 1970-х «Летающий цирк Монти Пайтона». Впрочем, всё равно название языка чаще связывают именно со змеёй, нежели с передачей — пиктограммы файлов в KDE или в Microsoft Windows и даже эмблема на сайте python.org (до выхода версии 2.5) изображают змеиные головы. Важная цель разработчиков Python — создавать его забавным для использования. Это отражено в его названии, которое пришло из Монти Пайтона. Также это отражено в иногда игривом подходе к обучающим программам и справочным материалам, таким как примеры использования, которые используют понятия ветчины (spam) и яиц вместо стандартных foo и bar.","materialsDescription":" <span style=\"font-weight: bold; \">Что такое Python?</span>\r\nPython - это интерпретируемый, интерактивный, объектно-ориентированный язык программирования. Он включает в себя модули, исключения, динамическую типизацию, динамические типы данных очень высокого уровня и классы. Python сочетает в себе замечательную мощь с очень четким синтаксисом. Он имеет интерфейсы ко многим системным вызовам и библиотекам, а также к различным оконным системам и расширяем в C или C++. Он также может использоваться в качестве языка расширения для приложений, которым требуется программируемый интерфейс. Наконец, Python является переносимым: он работает во многих вариантах Unix, на Mac и в Windows 2000 и более поздних версиях.\r\n<span style=\"font-weight: bold; \">Что такое Python Software Foundation?</span>\r\nPython Software Foundation является независимой некоммерческой организацией, которая обладает авторскими правами на Python версии 2.1 и новее. Миссия PSF - продвигать технологию с открытым исходным кодом, связанную с языком программирования Python, и пропагандировать использование Python. Домашняя страница PSF находится по адресу <link https://www.python.org/psf/.>https://www.python.org/psf/.</link>\r\n<span style=\"font-weight: bold; \">Существуют ли авторские ограничения на использование Python?</span>\r\nС исходным кодом вы можете делать все, что захотите, если вы оставляете авторские права и отображаете эти авторские права в любой документации о Python, которую вы создаете. Если вы соблюдаете правила авторского права, то можно использовать Python для коммерческого использования, продавать копии Python в исходном или двоичном виде (модифицированные или неизмененные) или продавать продукты, которые включают Python в той или иной форме. Конечно, мы все еще хотели бы знать обо всем коммерческом использовании Python.\r\n<span style=\"font-weight: bold;\">Чем хорош Python?</span>\r\nPython - это высокоуровневый язык программирования общего назначения, который можно применять ко многим различным классам задач.\r\nЯзык поставляется с большой стандартной библиотекой, которая охватывает такие области, как обработка строк (регулярные выражения, Unicode, вычисление различий между файлами), интернет-протоколы (HTTP, FTP, SMTP, XML-RPC, программирование POP, IMAP, CGI), разработка программного обеспечения (модульное тестирование, ведение журнала, профилирование, анализ кода Python) и интерфейсы операционной системы (системные вызовы, файловые системы, сокеты TCP/IP). Посмотрите на содержание стандартной библиотеки Python, чтобы понять, что доступно. Широкий выбор сторонних расширений также доступны. Обратитесь к индексу пакетов Python, чтобы найти интересующие вас пакеты.\r\n\r\n","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Python_Development.png","alias":"programmirovanie-na-python"},"637":{"id":637,"title":"eCommerce разработка","description":" Электронная коммерция - это онлайн-транзакция покупки и продажи продуктов через веб-сайты и мобильные приложения в Интернете. Примеры бизнеса электронной коммерции включают в себя цепочку поставок, перевод средств, банковский и электронный обмен данными (EDI) и другие. Электронные транзакции осуществляются через множество программных платформ электронной коммерции и приложений электронной коммерции, которые интегрированы с онлайн-сайтами с помощью разработчиков электронной коммерции. Приложения электронной коммерции связаны с платежными шлюзами для плавного перевода кредита от одного предприятия другому.\r\nРазработчик eCommerce играет очень важную роль в разработке приложений электронной коммерции и веб-сервисов для реализации возможностей онлайн-продаж и маркетинга во всех сферах бизнеса. Такие разработчики, как правило, являются веб-разработчиками с дополнительным знакомством с инструментами и платформами электронной коммерции, обычно используемыми в онлайн-бизнесе. HTML, CSS, JavaScript, Python, PHP, Ruby on Rail и связанные с ними технологии являются фундаментальными компонентами навыков разработчика электронной коммерции. В дополнение к этим навыкам, знание программных платформ электронной коммерции и интеграции API очень важно для хорошего резюме разработчика электронной коммерции.\r\nХороший сайт электронной коммерции должен быть профессионально выглядящим, с отличными функциями и интуитивно понятным интерфейсом для оформления заказа. Это возможно только с помощью профессиональных разработчиков электронной коммерции. Вам нужно оценить многое, прежде чем вы решите нанять разработчиков электронной коммерции, такие как бэкэнд-технологии вашего сайта, тип электронной коммерции, сфера бизнеса, тип базы данных и многие другие. После того, как вы определились со всеми этими вещами, вам нужно сопоставить резюме веб-разработчика eCommerce, которое находится на рассмотрении, с этими факторами, чтобы найти хорошего разработчика eCommerce.","materialsDescription":"<span style=\"font-weight: bold;\">Почему владельцам бизнеса важно создавать сайт электронной коммерции?</span>\r\nСегодня у людей очень мало времени для покупки предметов, посещая физические магазины. Они предпочитают просматривать свои мобильные устройства или ПК и делать покупки в Интернете. Наличие сайта электронной коммерции для вашего бизнеса поможет вам охватить эту рыночную базу и информировать ваших клиентов обо всех ваших последних продуктах и услугах.\r\n<span style=\"font-weight: bold;\">Как я могу выбрать лучшую платформу для своего бизнес-сайта электронной коммерции?</span>\r\nПрежде чем приступить к разработке веб-сайтов для электронной коммерции, рассмотрите несколько основных принципов, которые могут помочь выбрать лучшую платформу. Всегда учитывайте предметы, которые вы продаете. Некоторые платформы электронной коммерции могут управлять отслеживанием запасов и несколькими вариантами продуктов, а другие - нет. Рассмотрите варианты дизайна, платежные шлюзы, безопасность сайта, интеграцию с другими инструментами, функции и цены перед финализацией на платформе.\r\n<span style=\"font-weight: bold;\">Как мне продвигать свой сайт электронной коммерции?</span>\r\nСуществуют различные способы сделать это, и первое, что нужно сделать, это продвинуть сайт для всех клиентов. Это поможет увеличить вашу клиентскую базу. Адрес вашего сайта должен присутствовать в каждой рекламе, в которую инвестирует ваша компания. Зарегистрируйтесь в поисковых системах и оптимизируйте ваш сайт, так как это повлияет на посещаемость вашего сайта.\r\n<span style=\"font-weight: bold;\">Какие важные вещи могут превратить браузеры в покупателей?</span>\r\nСоздайте свой сайт, чтобы он был более ориентирован на продажи, а не на маркетинг. Позвольте вашим посетителям сразу увидеть ваши продукты, а не прятать их за рекламой. Сделайте страницу, которая читает условия и положения, поскольку она предложит профессиональный вид. Укажите свои контактные данные и объясните политику возврата, безопасность, методы шифрования и способы оплаты.\r\n<span style=\"font-weight: bold;\">Как создать впечатляющий сайт?</span>\r\nКрасота сайта заключается в том, как он работает и насколько он удобен для пользователя. Убедитесь, что ваш сайт быстрый, простой в использовании, профессиональный и привлекательный. Кроме того, убедитесь, что вы можете выполнить заказы очень быстро без каких-либо задержек. Если вы не можете предложить услугу, убедитесь, что ваш клиент проинформирован об этом по электронной почте.\r\n<span style=\"font-weight: bold;\">Какие риски безопасности связаны с сайтами электронной коммерции?</span>\r\nВладельцы сайтов электронной коммерции должны всегда помнить о трех аспектах безопасности - конфиденциальности, целостности и доступности. Владельцы бизнеса должны разработать хорошую стратегию, которая поможет обеспечить безопасность сайта и транзакций. Чтобы хакеры не получили доступ к важным конфиденциальным данным, включите методы шифрования для любых транзакций данных.\r\n<span style=\"font-weight: bold;\">Есть ли ограничения на размер моего продукта или базы данных клиентов?</span>\r\nНет, как таковых ограничений по размеру нет. Самым большим преимуществом наличия интернет-магазина является то, что вы можете добавлять неограниченное количество товаров и каталогов, и в то же время вы можете расширять свою клиентскую базу по мере необходимости.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_eCommerce_development.png","alias":"ecommerce-razrabotka"},"639":{"id":639,"title":"HTML разработка","description":" HTML (от англ. HyperText Markup Language — «язык гипертекстовой разметки») — стандартизированный язык разметки документов во Всемирной паутине. Большинство веб-страниц содержат описание разметки на языке HTML (или XHTML). Язык HTML интерпретируется браузерами; полученный в результате интерпретации форматированный текст отображается на экране монитора компьютера или мобильного устройства.\r\nЯзык HTML до 5-й версии определялся как приложение SGML (стандартного обобщённого языка разметки по стандарту ISO 8879). Спецификации HTML5 формулируются в терминах DOM (объектной модели документа).\r\nЯзык XHTML является более строгим вариантом HTML, он следует синтаксису XML и является приложением языка XML в области разметки гипертекста.\r\nВо всемирной паутине HTML-страницы, как правило, передаются браузерам от сервера по протоколам HTTP или HTTPS, в виде простого текста или с использованием шифрования.\r\nЯзык гипертекстовой разметки HTML был разработан британским учёным Тимом Бернерсом-Ли приблизительно в 1986—1991 годах в стенах ЦЕРНа в Женеве в Швейцарии. HTML создавался как язык для обмена научной и технической документацией, пригодный для использования людьми, не являющимися специалистами в области вёрстки. HTML успешно справлялся с проблемой сложности SGML путём определения небольшого набора структурных и семантических элементов — дескрипторов. Дескрипторы также часто называют «тегами». С помощью HTML можно легко создать относительно простой, но красиво оформленный документ. Помимо упрощения структуры документа, в HTML внесена поддержка гипертекста. Мультимедийные возможности были добавлены позже.\r\nПервым общедоступным описанием HTML был документ «Теги HTML», впервые упомянутый в Интернете Тимом Бернерсом-Ли в конце 1991 года,. В нём описываются 18 элементов, составляющих первоначальный, относительно простой дизайн HTML. За исключением тега гиперссылки, на них сильно повлиял SGMLguid, внутренний формат документации, основанный на стандартном обобщенном языке разметки (SGML), в CERN. Одиннадцать из этих элементов всё ещё существуют в HTML 4.\r\nИзначально язык HTML был задуман и создан как средство структурирования и форматирования документов без их привязки к средствам воспроизведения (отображения). В идеале, текст с разметкой HTML должен был без стилистических и структурных искажений воспроизводиться на оборудовании с различной технической оснащённостью (цветной экран современного компьютера, монохромный экран органайзера, ограниченный по размерам экран мобильного телефона или устройства и программы голосового воспроизведения текстов). Однако современное применение HTML очень далеко от его изначальной задачи. Например, тег <table> предназначен для создания в документах таблиц, но иногда используется и для оформления размещения элементов на странице. С течением времени основная идея платформонезависимости языка HTML была принесена в жертву современным потребностям в мультимедийном и графическом оформлении. ","materialsDescription":" <span style=\"font-weight: bold;\">Что такое HTML5?</span>\r\nHTML5 содержит мощные возможности для веб-приложений с более мощным взаимодействием, поддержкой видео, графикой, большим количеством стилей и полным набором API-интерфейсов. HTML5 адаптируется к любому устройству, будь то настольный компьютер, мобильный телефон, планшет или телевизор. HTML5 - это открытая платформа, разработанная на условиях лицензионного отчисления.\r\nЛюди используют термин HTML5 двумя способами:\r\n<ul><li>обращаются к набору технологий, которые вместе образуют будущую открытую веб-платформу. Эти технологии включают спецификацию HTML5, CSS3, SVG, MathML, Geolocation, XmlHttpRequest, Context 2D, веб-шрифты (WOFF) и другие. Граница этого набора технологий является неформальной и меняется со временем;</li><li>ссылаются на спецификацию HTML5, которая, конечно же, также является частью открытой веб-платформы.</li></ul>\r\nХотя было бы замечательно, если бы люди использовали один термин для обозначения спецификации и другой термин для обозначения набора спецификаций, на практике люди используют этот термин в обоих направлениях.\r\n<span style=\"font-weight: bold;\">Многие лидеры мысли называют HTML5 будущим Интернета. Почему HTML5 вызывает это волнение?</span>\r\nСуществует огромный спрос на открытые стандарты, которые позволяют создавать богатые интернет-приложения. Просмотр видео, поиск ближайшего ресторана, доступ к электронным письмам в автономном режиме - это лишь некоторые из мощных новых возможностей, предоставляемых набором спецификаций, разрабатываемых в W3C.\r\nВ частности, одним из аспектов, который интересует W3C, является предоставление людям возможности комбинировать различные технологии. W3C обеспечивает не только совместимую поддержку в программном обеспечении единой спецификации, но и совместимость между спецификациями.\r\nНесмотря на то, что HTML5 все еще является черновиком, поставщики браузеров разворачивают функции и вызывают большой интерес в ИТ-индустрии. Этот опыт, в свою очередь, позволяет W3C пересматривать свои проекты. Таким образом, окончательный стандарт может прозрачно информировать разработчиков, где им необходимо уделять пристальное внимание вопросам безопасности и конфиденциальности.\r\n<span style=\"font-weight: bold;\">Когда я могу использовать HTML5?</span>\r\nЛюди уже могут использовать части платформы, которые взаимодействуют, но миссия W3C - глобальная совместимость, чтобы гарантировать, что сеть доступна для всех. Не все элементы полностью реализованы, и некоторые из них предоставляют встроенные механизмы восстановления, такие как <video> или <input>. Сегодня можно использовать HTML5, зная существующие ограничения и обеспечивая надлежащие запасные варианты.\r\n<span style=\"font-weight: bold;\">Какие веб-браузеры поддерживают HTML5?</span>\r\nW3C поощряет внедрение и тестирование задолго до того, как спецификация становится стандартом, чтобы два человека могли читать спецификацию независимо и писать совместимое программное обеспечение. Первые пользователи предоставляют разработчикам и W3C чрезвычайно ценную обратную связь, поскольку они помогают определить, где существуют проблемы совместимости.\r\n<span style=\"font-weight: bold;\">Считаете ли вы, что преимущества HTML5, такие как его нейтральность, богатая графика, отсутствие необходимости в подключаемых модулях, перевешивают угрозу безопасности, которую он несет?</span>\r\nСейчас, когда прошло уже третье десятилетие, Интернет превратился из сети документов в грозную платформу для сетевых приложений, которая позволяет нам обмениваться информацией и услугами через Интернет. В этой среде с высокой степенью связи важно, чтобы мощные веб-приложения были разработаны с учетом потребностей пользователей в конфиденциальности и безопасности. Риски, связанные с современными веб-приложениями, знакомы сообществу HTML5.\r\nHTML5 и соответствующие спецификации разрабатываются в процессе открытых стандартов W3C. Этот процесс позволяет экспертную оценку функций наряду с их последствиями для безопасности и конфиденциальности. Богатая функциональность, которая раньше была доступна только через фирменные плагины, теперь задокументирована в открытой спецификации, которую могут просмотреть и улучшить все эксперты. Мы рады видеть, что спецификации HTML5 подлежат тщательному публичному рассмотрению, поскольку это помогает сделать Интернет более безопасной средой.\r\nНекоторые проблемы безопасности не ограничиваются HTML5. W3C и IETF тесно сотрудничают, чтобы определить технологии и расширения протокола для смягчения некоторых проблем (таких как подделка межсайтовых запросов и межсайтовый скриптинг).\r\n<span style=\"font-weight: bold;\">Будет ли HTML6?</span>\r\nВ настоящее время в HTML6 не ведется никакой работы, но запросы функций, которые не планируется обрабатывать в HTML5, доступны по адресу HTML.next.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_HTML_Development.png","alias":"html-razrabotka"},"641":{"id":641,"title":"XML разработка","description":"","materialsDescription":"","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_XML_Development.png","alias":"xml-razrabotka"},"643":{"id":643,"title":"Программирование на AJAX","description":" AJAX (от англ. Asynchronous Javascript and XML — «асинхронный JavaScript и XML») — подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате, при обновлении данных веб-страница не перезагружается полностью, и веб-приложения становятся быстрее и удобнее. По-русски иногда произносится транслитом как «аякс» (по аналогии с мифологическим именем), но у аббревиатуры AJAX нет устоявшегося аналога на кириллице.\r\nAJAX — не самостоятельная технология, а концепция использования нескольких смежных технологий. AJAX базируется на двух основных принципах:\r\n<ul><li>использование технологии динамического обращения к серверу «на лету», без перезагрузки всей страницы полностью, например с использованием XMLHttpRequest (основной объект);</li><li>через динамическое создание дочерних фреймов;</li><li>через динамическое создание тега <script>;</li><li>через динамическое создание тега <img>, как это реализовано в Google Analytics;</li><li>использование DHTML для динамического изменения содержания страницы.</li></ul>\r\nДействия с интерфейсом преобразуются в операции с элементами DOM (англ. Document Object Model), с помощью которых обрабатываются данные, доступные пользователю, в результате чего представление их изменяется. Здесь же производится обработка перемещений и щелчков мышью, а также нажатий клавиш. Каскадные таблицы стилей, или CSS (англ. Cascading Style Sheets), обеспечивают согласованный внешний вид элементов приложения и упрощают обращение к DOM-объектам. Объект XMLHttpRequest (или подобные механизмы) используется для асинхронного взаимодействия с сервером, обработки запросов пользователя и загрузки в процессе работы необходимых данных.\r\nТри из этих четырёх технологий — CSS, DOM и JavaScript — составляют DHTML (англ. Dynamic HTML). По мнению некоторых специалистов (книг), средства DHTML, появившиеся в 1997 году, подавали большие надежды, но так и не оправдали их.\r\nВ качестве формата передачи данных могут использоваться фрагменты простого текста, HTML-кода, JSON или XML.","materialsDescription":" <span style=\"font-weight: bold; \">Что такое AJAX?</span>\r\nAJAX - это аббревиатура, которая расшифровывается как асинхронный JavaScript и XML, и описывает набор методов разработки, используемых для создания веб-сайтов и веб-приложений. По словам веб-разработчика и инструктора WordPress по Skillcrush Энн Каскарано, лучший способ понять AJAX - начать с определения его конкретной цели в процессе веб-разработки. Основная функция AJAX заключается в асинхронном обновлении веб-содержимого («A» в AJAX), то есть веб-браузеру пользователя не требуется перезагружать всю веб-страницу, когда требуется изменить только небольшую часть содержимого на странице.\r\nОдним из наиболее распространенных примеров асинхронного обновления является функция Google Suggest Google. Когда вы вводите поисковый запрос в строку поиска Google, и веб-сайт Google автоматически начинает предлагать варианты автозаполнения при вводе текста, это AJAX в действии. Содержимое на странице изменяется (в этом случае параметры автозаполнения в строке поиска) без необходимости вручную обновлять страницу (что делает использование Google Suggest непрактичным). Такие функции, как Google Suggest, являются фундаментальной частью современного просмотра веб-страниц, что указывает на важность AJAX в веб-разработке. В дополнение к Google Suggest Кашкарано говорит, что AJAX обычно используется для обновления таких функций, как строки состояния и уведомлений, онлайн-формы, разделы комментариев, а также опросы и опросы. Но что именно представляют собой «J» и «X» в AJAX и как они делают возможным асинхронное обновление?<br />JavaScript и XML\r\nКак упоминалось выше, буква «J» в AJAX обозначает JavaScript. JavaScript является типом языка сценариев - языков программирования, используемых для автоматизации процессов веб-сайта, поэтому веб-разработчикам не нужно индивидуально программировать каждый экземпляр процесса, который появляется на странице. В случае JavaScript он используется специально для создания, добавления и управления динамическим контентом веб-сайта. Другими словами, после того, как языки разметки, такие как HTML и CSS, используются для создания и отображения статических веб-функций (заголовки, шрифты, абзацы и т. Д.), Затем JavaScript используется для управления функциями, которые требуют обновления в реальном времени, пока посетитель просматривает страницу. (например, интерактивные карты, анимированная графика, прокрутка видео, музыкальные автоматы и т. д.). Поскольку JavaScript занимается обновлением содержимого страницы, не требуя от зрителей перезагрузки целых страниц вручную, он является критически важным компонентом для асинхронного обновления AJAX.\r\n«X» в AJAX - это XML (расширяемый язык разметки). Как следует из названия, XML является языком разметки, что означает, что он принадлежит к тому же семейству, что и языки, такие как HTML и CSS. Языки разметки - это языки кодирования, используемые для аннотирования частей веб-документа, которые предназначены для того, чтобы дать веб-браузерам инструкции о том, как понимать, обрабатывать и отображать веб-страницу, по сравнению с фактическим текстом, предназначенным для отображения на странице. В то время как HTML и CSS сосредоточены на указании способа отображения содержимого страницы (абзацы, заголовки, шрифты, цвета и т. Д.), XML используется для передачи данных, хранящихся на странице, в браузеры, которые ее просматривают. Отдельные компьютерные системы часто несовместимы друг с другом и не могут понимать или взаимодействовать с данными, отформатированными другой системой. XML позволяет разработчикам обойти это препятствие, сохраняя данные в текстовом формате между тегами XML. Делая это, XML предлагает способ хранения, перемещения и обмена данными, которые не зависят от конкретной программной или аппаратной системы (что крайне важно для Интернета, где данные должны быть доступны и понятны для всех программных и аппаратных платформ). ). RSS-каналы - подписные веб-каналы, позволяющие пользователям получать доступ к контенту из блогов и источников новостей по мере их обновления в режиме реального времени, - построены с использованием XML и являются примером практических возможностей языка для обмена данными. Но как XML сочетается с JavaScript для формирования AJAX?\r\n<span style=\"font-weight: bold; \">Как работает AJAX?</span>\r\nСогласно Cascarano, JavaScript и XML объединяются, чтобы обеспечить асинхронное обновление посредством использования объекта, называемого объектом XMLHttpRequest. Когда пользователь посещает веб-страницу, предназначенную для использования AJAX, и происходит предписанное событие (пользователь загружает страницу, нажимает кнопку, заполняет форму и т.д.) JavaScript создает объект XMLHttpRequest, который затем передает данные в XML формат между веб-браузером (программа, используемая для просмотра веб-сайта) и веб-сервером (программное или аппаратное обеспечение, на котором хранятся данные веб-сайта). Объект XMLHttpRequest отправляет запрос на обновленные данные страницы на веб-сервер, сервер обрабатывает запрос, ответ создается на стороне сервера и отправляется обратно в браузер, который затем использует JavaScript для обработки ответа и отображения его на экране как обновленный контент.\r\nНапомним: JavaScript автоматизирует процесс обновления, запрос на обновленное содержимое отформатирован в XML, чтобы сделать его понятным для всех, и JavaScript снова включается, чтобы обновить релевантный контент для пользователя, просматривающего страницу. Каскарано отмечает, что метод AJAX игнорирует посторонние данные страницы и обрабатывает только запросы на обновленную информацию и саму обновленную информацию. Это действительно основа эффективности AJAX, делающая веб-сайты и приложения, использующие AJAX, более быстрыми и более отзывчивыми для пользователей.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_AJAX_Development.png","alias":"programmirovanie-na-ajax"},"645":{"id":645,"title":"Программирование на JavaScript","description":" JavaScript — мультипарадигменный язык программирования, поддерживающий объектно-ориентированный, императивный и функциональный стили. Является реализацией языка ECMAScript (стандарт ECMA-262).\r\nJavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам.\r\nОсновные архитектурные черты: динамическая типизация, слабая типизация, автоматическое управление памятью, прототипное программирование, функции как объекты первого класса.\r\nНа JavaScript оказали влияние многие языки, при разработке была цель сделать язык похожим на Java, но при этом лёгким для использования непрограммистами. Языком JavaScript не владеет какая-либо компания или организация, что отличает его от ряда языков программирования, используемых в веб-разработке.\r\nНазвание «JavaScript» является зарегистрированным товарным знаком компании Oracle Corporation в США.\r\nJavaScript является объектно-ориентированным языком, но используемое в языке прототипирование обуславливает отличия в работе с объектами по сравнению с традиционными класс-ориентированными языками. Кроме того, JavaScript имеет ряд свойств, присущих функциональным языкам — функции как объекты первого класса, объекты как списки, карринг, анонимные функции, замыкания — что придаёт языку дополнительную гибкость.\r\nНесмотря на схожий с Си синтаксис, JavaScript по сравнению с языком Си имеет коренные отличия:\r\n<ul><li>объекты с возможностью интроспекции;</li><li>функции как объекты первого класса;</li><li>автоматическое приведение типов;</li><li>автоматическая сборка мусора;</li><li>анонимные функции.</li></ul>\r\nВ языке отсутствуют такие полезные вещи, как:\r\n<ul><li>стандартная библиотека: в частности, отсутствует интерфейс программирования приложений по работе с файловой системой, управлению потоками ввода-вывода, базовых типов для бинарных данных;</li><li>стандартные интерфейсы к веб-серверам и базам данных;</li><li>система управления пакетами, которая бы отслеживала зависимости и автоматически устанавливала их.</li></ul>","materialsDescription":" <span style=\"font-weight: bold; \">Что такое JavaScript?</span>\r\nJavaScript - это язык сценариев как на стороне клиента, так и на стороне сервера, который может быть вставлен в HTML-страницы и понятен веб-браузерам. JavaScript также является объектно-ориентированным языком программирования.\r\n<span style=\"font-weight: bold; \">Каковы различия между Java и JavaScript?</span>\r\nJava - полный язык программирования. В отличие от JavaScript, это программа, которая может быть введена на HTML-страницах. Эти два языка вовсе не являются взаимозависимыми и предназначены для разных целей. Java - это объектно-ориентированное программирование (OOPS) или языки структурированного программирования, такие как C++ или C, тогда как JavaScript - это клиентский язык сценариев.\r\n<span style=\"font-weight: bold; \">Должен ли я купить JavaScript?</span>\r\nНет - покупать нечего. Интерпретатор JavaScript включен во все основные интернет-браузеры - так что, пока у вас есть интернет-браузер, все готово. Исходные файлы JavaScript пишутся с использованием обычного текстового редактора, такого как Notepad.\r\n<span style=\"font-weight: bold; \">Что такое JScript?</span>\r\nJScript - это версия Microsoft Netscape для JavaScript. Каждый поставщик Интернет-браузеров создает свою собственную версию того, что в совокупности известно как JavaScript, однако последние версии этих браузеров переходят на стандарт ECMA Script.\r\n<span style=\"font-weight: bold; \">Кто владеет JavaScript?</span>\r\nECMA управляет стандартными функциями JavaScript - однако каждый поставщик пишет код для своих собственных версий JavaScript.\r\n<span style=\"font-weight: bold;\">Каковы особенности JavaScript?</span>\r\n<ul><li>JavaScript - это легкий интерпретируемый язык программирования.</li><li>JavaScript предназначен для создания сетевых приложений.</li><li>JavaScript дополняет и интегрируется с Java.</li><li>JavaScript дополняет и интегрируется с HTML.</li><li>JavaScript открыт и кроссплатформенен.</li></ul>","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_JavaScript_development.png","alias":"programmirovanie-na-javascript"},"649":{"id":649,"title":"QA - обеспечение качеством","description":"Обеспечение качества (также используется термин «управление качеством»; англ. Quality Assurance, QA) — это процесс или результат формирования требуемых свойств и характеристик продукции по мере её создания, а также — поддержание этих характеристик при хранении, транспортировании и эксплуатации продукции.\r\nОбеспечение качества определено в стандарте ISO 9000:2005 «Системы менеджмента качества. Основные положения и словарь» как «часть менеджмента качества, направленная на создание уверенности в том, что требования к качеству будут выполнены».\r\nМенеджмент качества в этом же стандарте представлен как «скоординированная деятельность по руководству и управлению организацией применительно к качеству», а в примечании сказано, что он «обычно включает разработку политики и целей в области качества, планирование качества, управление качеством, обеспечение качества и улучшение качества».\r\nЧтобы ответить на вопрос что такое обеспечение качества, нужно сначала вспомнить, что такое качество продукции, которое представлено как «совокупность свойств и характеристик, уровень или вариант которых формируется при создании продукции с целью удовлетворения существующих потребностей». Здесь, кроме определения качества продукции как совокупности свойств и характеристик, фактически уже говорится и об обеспечении качества, как о формировании требуемых свойств и характеристик продукции для удовлетворения существующих потребностей.\r\nПонимание обеспечения качества как формирования свойств и характеристик подтверждается в словаре, где сказано: обеспечить — значит создать все необходимые условия для осуществления чего-либо, гарантировать что-либо. А формировать означает придавать чему-либо законченность, определённость.\r\nОтсюда, а также учитывая, что обеспечение качества понимается не только как процесс, но и как результат, определение обеспечения качества представлено так, как в первом из приведенных выше определений.\r\nВ этом определении дан ответ на вопрос, что такое обеспечение качества и с формальной точки зрения этого было бы достаточно. Но здесь нет ответа на следующий напрашивающийся вопрос, как обеспечивается качество, какие для этого нужны мероприятия, о которых говорилось в стандарте ИСО 8402. Поэтому, для более полного определения обеспечения качества целесообразно добавлять к данному определению принцип обеспечения качества продукции. ","materialsDescription":" <span style=\"font-weight: bold;\">Что такое обеспечение качества программного обеспечения?</span>\r\nОбеспечение качества программного обеспечения определяется действиями, которые контролируют, измеряют, оценивают и проверяют процессы, используемые для создания программного обеспечения.\r\n<span style=\"font-weight: bold;\">Каждой программе требуется тестер?</span>\r\nНесомненно. Тестирование на качество имеет первостепенное значение для успеха любого программного продукта. Без надлежащего контроля качества шансы на успех значительно уменьшаются.\r\n<span style=\"font-weight: bold;\">Что такое план тестирования?</span>\r\nПлан тестирования - это документ, в котором подробно описывается подход к тестированию программного продукта. Планы тестирования предоставляют необходимые рекомендации для любого тестировщика или группы тестирования и гарантируют, что каждый аспект функциональности программного обеспечения протестирован.\r\n<span style=\"font-weight: bold;\">Как мне может помочь юзабилити-тестирование?</span>\r\nЮзабилити-тестирование измеряет простоту использования программного приложения. Как таковая, она является неотъемлемой частью качества программного обеспечения. Даже самый интересный и продаваемый программный продукт пострадает в популярности, если он покажет громоздкое удобство использования.\r\n<span style=\"font-weight: bold;\">Почему в программном обеспечении есть ошибки?</span>\r\nПрограммное обеспечение создано людьми, а люди совершают ошибки. Кроме того, даже простые программные приложения обычно включают значительное количество рабочих частей или блоков, каждая из которых состоит из множества строк сложного компьютерного кода. Отдельные единицы не всегда хорошо интегрируются, и в результате создаются ошибки.\r\n<span style=\"font-weight: bold;\">Как тестируются сайты?</span>\r\nВеб-сайты тестируются профессиональными тестировщиками программного обеспечения, которые оценивают функциональность и системную совместимость веб-сайта и сравнивают то, что они видят, с тем, что они ожидают увидеть. Сложные веб-сайты могут быть протестированы с использованием средств автоматизации, которые уменьшают будущие усилия по ручному тестированию.\r\n<span style=\"font-weight: bold;\">Что такое качество программного обеспечения?</span>\r\nКачество программного обеспечения - это соответствие программного обеспечения его требованиям.\r\n<span style=\"font-weight: bold;\">Что такое регрессионное тестирование?</span>\r\nРегрессионное тестирование - это цикл обеспечения качества, при котором ошибки, обнаруженные во время предыдущего обзора обеспечения качества, «регрессируются», чтобы гарантировать, что\r\n<ul><li>а) они были исправлены разработчиками,</li><li>b) в результате исправлений не было создано никаких новых ошибок.</li></ul>\r\n<span style=\"font-weight: bold;\">Кто такой бета-тестер?</span>\r\nБета-тестер - это тот, кто тестирует бета-версию программного приложения. Они могут быть профессиональными тестировщиками или членами целевой аудитории программного обеспечения.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Quality_assurance.png","alias":"qa-obespechenie-kachestvom"},"651":{"id":651,"title":"Тестирование интерфейса","description":"<span style=\"font-weight: bold; \">Графический интерфейс пользователя (Graphical user interface, GUI) – </span>разновидность пользовательского интерфейса, в котором элементы интерфейса (меню, кнопки, значки, списки ит.п.), представленные пользователю на дисплее, исполнены в виде графических изображений.\r\nВ программной инженерии <span style=\"font-weight: bold; \">тестирование графического интерфейса -</span> это процесс тестирования на предмет его спецификаций. Обычно это делается с помощью различных тестовых процедур. Чтобы создать набор примеров, разработчики тестов пытаются охватить все функциональные возможности системы и полностью использовать сам графический интерфейс.\r\nФункциональное тестирование пользовательского интерфейса может проводиться различными методами - как вручную при непосредственном участии оператора, так и при помощи различного инструментария, автоматизирующего выполнение тестовых примеров. \r\n<span style=\"font-weight: bold; \">Ручное тестирование</span> пользовательского интерфейса проводится тестировщиком-оператором, который руководствуется в своей работе описанием тестовых примеров в виде набора сценариев. Каждый сценарий включает в себя перечисление последовательности действий, которые должен выполнить оператор, и описание важных для анализа результатов тестирования ответных реакций системы, отражаемых в пользовательском интерфейсе. \r\nЕстественный способ автоматизации тестирования пользовательского интерфейса - <span style=\"font-weight: bold;\">использование программных инструментов,</span> эмулирующих поведение тестировщика-оператора при ручном тестировании пользовательского интерфейса.\r\nТакие инструменты используют в качестве входной информации сценарии тестовых примеров, записанные на некотором формальном языке, операторы которого соответствуют действиям пользователя - вводу команд, перемещению курсора, активизации пунктов меню и других интерфейсных элементов.\r\nПри выполнении автоматизированного теста инструмент тестирования имитирует действия пользователя, описанные в сценарии, и анализирует интерфейсную реакцию системы. \r\n<span style=\"color: rgb(97, 97, 97); \"><span style=\"font-weight: bold; \">Тестирование интерфейса пользователя обычно включает в себя следующие виды:</span> </span>\r\n<ul><li><span style=\"color: rgb(97, 97, 97); \">Модульное тестирование: тестирование функциональности каждой отдельной операции. </span></li><li><span style=\"color: rgb(97, 97, 97); \">Функциональное тестирование: тестирование функциональности более широких сценариев, связанных с созданием тестового примера, валидацией, регрессией и т. д. </span></li><li><span style=\"color: rgb(97, 97, 97); \">Нагрузочное тестирование: проверка работоспособности под нагрузкой, в основном с использованием функциональных тестовых примеров. </span></li><li><span style=\"color: rgb(97, 97, 97); \">Тестирование безопасности: тестирование механизма безопасности включает в себя тестирование на проникновение, а также проверку контроля доступа, шифрование и т. д. </span></li><li><span style=\"color: rgb(97, 97, 97); \">Тестирование рабочего процесса: это делается для того, чтобы обработка рабочего процесса движком интерфейса соответствовала ожиданиям.</span></li></ul>\r\n\r\n","materialsDescription":"<h1 class=\"align-center\"> <span style=\"font-weight: bold;\">Что такое тестирование интерфейса?</span></h1>\r\nТестирование интерфейса определяется как тип тестирования программного обеспечения, который проверяет правильность связи между двумя различными программными системами.\r\nСоединение, которое объединяет два компонента, называется интерфейсом. Этот интерфейс в компьютерном мире может быть чем угодно, например, API, веб-сервисами и т. д. Тестирование этих подключаемых сервисов или интерфейса называется Тестированием интерфейса.\r\nИнтерфейс на самом деле представляет собой программное обеспечение, которое состоит из наборов команд, сообщений и других атрибутов, которые обеспечивают связь между устройством и пользователем.\r\n<h1 class=\"align-center\"><span style=\"font-weight: bold;\">Какие существуют виды тестирования интерфейса?</span></h1>\r\nВо время тестирования интерфейса на интерфейсе выполняются различные типы тестирования, которые могут включать:\r\n<ul><li><span style=\"font-weight: bold;\">Рабочий процесс:</span> он гарантирует, что механизм интерфейса обрабатывает ваши стандартные рабочие процессы, как и ожидалось.</li><li><span style=\"font-weight: bold;\">Крайние случаи</span> - неожиданные значения: это учитывается, когда тестирование включает дату, месяц и день в обратном порядке.</li><li><span style=\"font-weight: bold;\">Тестирование производительности, нагрузки и сети:</span> для интерфейса с большим объемом может потребоваться больше нагрузочного тестирования, чем для интерфейса с низким объемом, в зависимости от механизма интерфейса и инфраструктуры подключения.</li><li><span style=\"font-weight: bold;\">Отдельные системы:</span> это включает в себя тестирование каждой системы в отдельности. Например, биллинговая система и система управления запасами для розничного магазина должны работать отдельно.</li></ul>\r\n<h1 class=\"align-center\"><span style=\"font-weight: bold;\">Что такое стратегия тестирования интерфейса?</span></h1>\r\nЧтобы протестировать интерфейс с общими тестами независимо от реализации, вы можете использовать абстрактный тестовый пример, а затем создать конкретные экземпляры тестового примера для каждой реализации интерфейса.\r\n<ul><li>Базовый или абстрактный контрольный пример выполняет независимые от реализации тесты.</li><li>В то время как конкретные тесты позаботятся о создании объекта для тестирования и выполнения любых специфичных для реализации тестов.</li></ul>","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Interface_Testing.png","alias":"testirovanie-interfeisa"},"665":{"id":665,"title":"Разработка пользовательского интерфейса","description":" Разработка пользовательского интерфейса (UI) - это разработка пользовательских интерфейсов для машин и программного обеспечения, таких как компьютеры, бытовые приборы, мобильные устройства и другие электронные устройства, с акцентом на максимальные удобства использования и работы с пользователем. Цель дизайна пользовательского интерфейса - сделать взаимодействие с пользователем максимально простым и эффективным с точки зрения достижения целей пользователя (дизайн, ориентированный на пользователя).\r\nХороший дизайн пользовательского интерфейса облегчает выполнение поставленной задачи, не привлекая ненужного внимания к себе. Графический дизайн и типографика используются для поддержки его юзабилити, влияя на то, как пользователь выполняет определенные взаимодействия и улучшая эстетическую привлекательность дизайна. Эстетика дизайна может улучшить или ослабить способность пользователей использовать функции интерфейса. Процесс проектирования должен сбалансировать технические функциональные возможности и визуальные элементы (например, ментальную модель), чтобы создать систему, которая не только работает, но также может использоваться и адаптироваться к меняющимся потребностям пользователя.\r\nДизайн интерфейса участвует в широком спектре проектов от компьютерных систем до автомобилей, коммерческих самолетов. Все эти проекты включают в себя почти все те же базовые человеческие взаимодействия, но также требуют некоторых уникальных навыков и знаний. В результате дизайнеры, как правило, специализируются на определенных типах проектов и имеют навыки, основанные на их опыте, будь то разработка программного обеспечения, исследования пользователей, веб-дизайн или промышленный дизайн.","materialsDescription":"<span style=\"font-weight: bold;\">Что такое графический интерфейс пользователя?</span>\r\nГрафический интерфейс пользователя, разработанный в конце 1970-х годов исследовательской лабораторией Xerox Palo Alto и коммерчески развернутый в операционных системах Apple Macintosh и Microsoft Windows, был разработан как ответ на проблему неэффективного использования в ранних текстовых интерфейсах командной строки. для среднего пользователя.\r\nГрафические пользовательские интерфейсы стали бы стандартом ориентированного на пользователя дизайна в программном прикладном программировании, предоставляя пользователям возможность интуитивно управлять компьютерами и другими электронными устройствами посредством прямого манипулирования графическими значками, такими как кнопки, полосы прокрутки, окна, вкладки, меню, курсоры и указательное устройство мыши. Многие современные графические пользовательские интерфейсы имеют функции сенсорного экрана и взаимодействия голосовых команд.\r\n<span style=\"font-weight: bold;\">Как работает графический интерфейс пользователя?</span>\r\nПринципы построения графического пользовательского интерфейса соответствуют шаблону программного обеспечения модель-взгляд-контроллер, который отделяет внутренние представления информации от способа представления информации пользователю, что приводит к платформе, на которой пользователям показывают, какие функции возможны, а не требуют ввод командных кодов. Пользователи взаимодействуют с информацией, управляя визуальными виджетами, которые предназначены для ответа в соответствии с типом данных, которые они содержат, и поддерживают действия, необходимые для выполнения задачи пользователя.\r\nВнешний вид или «оболочка» операционной системы или прикладного программного обеспечения может быть изменена по желанию, поскольку графические пользовательские интерфейсы не зависят от функций приложения. Приложения обычно реализуют свои собственные уникальные элементы отображения графического интерфейса пользователя в дополнение к элементам графического интерфейса пользователя, уже присутствующим в существующей операционной системе. Типичный графический пользовательский интерфейс также включает в себя стандартные форматы для представления графики и текста, что позволяет обмениваться данными между приложениями, работающими под общим программным обеспечением для проектирования графического пользовательского интерфейса.\r\nТестирование графического пользовательского интерфейса относится к систематическому процессу генерации тестовых случаев для оценки функциональности системы и ее элементов дизайна. Инструменты тестирования графического пользовательского интерфейса, которые являются либо ручными, либо автоматическими и обычно реализуются сторонними операторами, доступны под различными лицензиями и поддерживаются различными платформами. Популярные примеры: Tricentis Tosca, Squish GUI Tester, Унифицированное функциональное тестирование (UFT), Maveryx, Appium и eggPlant Functional.\r\n<span style=\"font-weight: bold;\">Примеры графического интерфейса пользователя</span>\r\nSketchpad, который считается первой программой графического автоматизированного проектирования, был разработан в 1962 году Иваном Сазерлендом во время его обучения в Массачусетском технологическом институте и состоял из светового пера, который позволял пользователям создавать и управлять объектами на инженерных чертежах в режиме реального времени с согласованным графика.\r\nСовременные операционные системы и графические пользовательские интерфейсы встроены почти во все интерактивные приложения, такие как банкоматы, кассы самообслуживания, самостоятельная покупка авиабилетов и регистрация, видеоигры, смартфоны и настольные компьютеры. Некоторые популярные современные примеры графического пользовательского интерфейса включают Microsoft Windows, macOS, Ubuntu Unity и GNOME Shell для настольных сред, а также Android, iOS от Apple, ОС BlackBerry, Windows 10 Mobile, Palm OS-WebOS и ОС Firefox для смартфонов.\r\n<span style=\"font-weight: bold;\">Преимущества графического интерфейса пользователя</span>\r\nПреимущество графического пользовательского интерфейса заключается в значительном улучшении удобства использования для среднего человека. Функции графического пользовательского интерфейса используют знакомые метафоры, такие как перетаскивание для передачи файлов, и используют знакомые значки, такие как мусорное ведро для удаленных файлов, создавая среду, в которой компьютерные операции интуитивно понятны и легко осваиваются без каких-либо предыдущая практика или знание вычислительной техники или языков. Приложения с графическим пользовательским интерфейсом являются информативными, обратная связь обычно незамедлительна, а визуальные подсказки поощряют и направляют обнаружение.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_User_Interface_Development.png","alias":"razrabotka-polzovatelskogo-interfeisa"},"685":{"id":685,"title":"Администрирование баз данных","description":" Администрирование данных — управление информационными ресурсами, включая планирование базы данных, разработку и внедрение стандартов, определение ограничений и процедур, а также концептуальное и логическое проектирование баз данных.\r\nАдминистратор данных отвечает за корпоративные информационные ресурсы, включая и некомпьютеризированные данные. На практике это часто связано с управлением данными, которые являются совместно используемым ресурсом для различных пользователей и прикладных программ данной организации. В разных организациях количество сотрудников, выполняющих функции АД, может отличаться и обычно определяется размерами самой организации. Основная обязанность АД состоит в обмене консультациями и советами со старшими менеджерами, а также в слежении за тем, чтобы применение технологий баз данных продолжало соответствовать корпоративным целям. Должность АД обычно принадлежит отделу информационных систем организации. В одних случаях администрирование данных может представлять собой отдельную функциональную задачу, а в других — совмещаться с администрированием базы данных.\r\nВ настоящее время при обдумывании стратегии планирования информационной системы все больший акцент делается на важности АД. Организации все в большей и большей степени склонны уделять внимание значению данных, используемых или собранных в их информационной системе, как средству достижения более высокой конкурентоспособности. В результате возникает обязательное требование слияния стратегии построения информационных систем с бизнес-стратегиями организации. Это позволяет создать организацию с более гибкой структурой, способную адаптироваться к резким изменениям, имеющую более творческую и инновационную внутреннюю среду, обеспечивающую эффективную перестройку бизнес-процессов в случае необходимости. Упомянутый перенос акцентов означает, что АД во все большей мере должен понимать идеологию развития не только информационных систем, но и бизнес-процессов, и играть ключевую роль в разработке стратегии развития информационной системы, поддерживая её соответствие деловым стратегиям организации. Это изменение мышления отражает происшедшее в недавнем прошлом драматическое изменение в назначении компьютерных систем: от исходного использования компьютеров для более эффективного управления некоторыми аспектами бизнес-процессов, через последующее повышение эффективности бизнес-процессов, до поддержки и обеспечения изменчивости и инновационности организаций.","materialsDescription":" <span style=\"font-weight: bold;\">Каковы задачи администрирования данных?</span>\r\nНиже перечислены основные задачи администрирования данных:\r\n<ul><li>Выбор подходящих инструментов разработки.</li><li>Помощь в разработке корпоративных стратегий построения информационной системы, развития информационных технологий и бизнес-стратегий.</li><li>Предварительная оценка осуществимости и планирование процесса создания базы данных.</li><li>Разработка корпоративной модели данных.</li><li>Определение требований организации к используемым данным.</li><li>Определение стандартов сбора данных и выбор формата их представления.</li><li>Оценка объёмов данных и вероятности их роста.</li><li>Определение способов и интенсивности использования данных.</li><li>Определение правил доступа к данным и мер безопасности, соответствующих правовым нормам и внутренним требованиям организации.</li><li>Концептуальное и логическое проектирование базы данных.</li><li>Взаимодействие с АБД и разработчиками приложений с целью обеспечения соответствия создаваемых приложений всем существующим требованиям.</li><li>Обучение пользователей — изучение существующих стандартов обработки данных и юридической ответственности за их некорректное применение.</li><li>Постоянная модернизация используемых информационных систем и технологий по мере развития бизнес-процессов.</li><li>Обеспечение полноты всей требуемой документации, включая корпоративную модель, стандарты, ограничения, процедуры, использование словаря данных, а также элементы управления работой конечных пользователей.</li><li>Поддержка словаря данных организации.</li><li>Взаимодействие с конечными пользователями для определения новых требований и разрешения проблем, связанных с доступом к данным и недостаточной производительностью их обработки.</li></ul>","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Database_Administration.png","alias":"administrirovanie-baz-dannykh"},"689":{"id":689,"title":"Администрирование Amazon Web Services","description":" Amazon Web Services (AWS) — коммерческое публичное облако, поддерживаемое и развиваемое компанией Amazon с 2006 года. Предоставляет подписчикам услуги как по инфраструктурной модели (виртуальные серверы, ресурсы хранения), так и платформенного уровня (облачные базы данных, облачное связующее программное обеспечение, облачные бессерверные вычисления, средства разработки). В значительной степени (наряду с Google Cloud Platform) повлияло на формирование концепции облачных вычислений в целом, и определило основные направления развития публичной модели развёртывания. Длительное время было крупнейшим в мире по выручке публичным облаком, во второй половине 2010-х годов уступив по этому показателю Azure от Microsoft, при этом сохраняя доминирование в сегментах инфраструктурных и платформенных услуг. По состоянию на 2017 год годовая выручка от услуг AWS превысила $20 млрд, что составило около 11,5 % доходов Amazon.\r\nОблако размещено в нескольких географически разнесённых центрах обработки данных, объединяемых в группы по географической близости, называемые «регионами», внутри региона реализуется несколько «зон доступности» (англ. availablility zone), внутри которых обеспечивается высокая доступность размещённых сервисов; по состоянию на 2019 год действуют 60 зон доступности в 20 регионах. Подписчики могут выбирать регион и зону доступности, а также предоставляется возможность организовывать репликацию данных и перенос приложений между зонами доступности.\r\nСамый крупный регион — Северная Виргиния (6 зон доступности), также на востоке США действует зона Огайо; на западе США функционируют два региона (Северная Калифорния и Орегон, по 3 зоны доступности). В Западной Европе действуют 5 регионов (Франкфурт, Ирландия, Лондон, Париж, Стокгольм, все — по 3 зоны доступности), 5 регионов — в Азиатско-Тихоокеанском регионе (четырёхзонный в Токио, трёхзонные в Сиднее и Сингапуре, двухзонные в Сеуле и Мумбае, локальный однозонный в Осаке), 2 региона в Китае (трёхзонный в Нинся и двухзонный в Пекине), а также двухзонный регион в Канаде и трёхзонный регион в Сан-Паулу. Отдельная пара регионов — так называемый GovCloud, — трёхзонные регионы на Западе и Востоке США, предназначенные только для подписчиков из американского госсектора.\r\nКлючевая инфраструктурная услуга — служба аренды виртуальных серверов EC2. Подписчикам предоставляются виртуальные машины, работающие на гипервизоре Xen (анонсирован переход на собственный вариант KVM), доступен выбор различных по вычислительной мощности машин, а также машин с доступом к специализированному оборудованию (видеокартам для GPGPU, программируемым вентильным матрицам). EC2 тесно интегрирована с другими инфраструктрными услугами облака, прежде всего — Elastic File System, обеспечивающим присоединяемую к виртуальным машинам файловую систему, Elastic Block Store (EBS), предоставляющим присоединяемые к виртуальным машинам тома как блочные устройства, и S3, обеспечивающим облачное файловое хранилище большого объёма.\r\nСреди прочих инфраструктурных услуг — Route 53 (управляемый облачный DNS), VPC (средство создания в рамках изолированной VPN группы облачных сервисов), Elastic Load Balancing (балансировщик трафика между виртуальными машинами), служба Glacier обеспечивает долговременное («холодное») хранение данных, а CloudFront — сеть доставки контента. Ряд услуг обеспечивают автоматизированное управление инфраструктурой, размещаемой в AWS, среди таковых — CloudFormation, OpsWorks, CloudWatch.\r\nВ облаке широко представлены облачные СУБД различных категорий. Среди доступных NoSQL-систем — Amazon SimpleDB, DynamoDB, резидентная СУБД ElastiCache, графовая СУБД Neptune. В рамках услуг Amazon Relational Database Service (RDS) подписчики могут развёртывать облачные базы под управлением популярных реляционных СУБД — MySQL, Oracle Database, Microsoft SQL Server и PostgreSQL, при этом также доступна масштабируемая реляционная СУБД Amazon Aurora, совместимая с MySQL и PostgreSQL. Аналитическая массово-параллельная реляционная СУБД ParAccel, адаптированная для облачной инфраструктуры, предоставляется под торговой маркой Amazon Redshift.\r\nСлужба Amazon Athena позволяет проводить анализ данных в Amazon S3, используя стандартный SQL, притом для её работы не требуется выделенных вычислительных мощностей, а подписчики оплачивают только за считанные в рамках выполненных запросов данные. Служба Elastic MapReduce позволяет подписчикам создавать Hadoop-кластеры, оснащённые соответствующей экосистемой продуктов класса «больших данных» (в том числе Spark, Hive, HBase, Presto). Инструмент QuickSight предоставляет подписчикам возможности визуального анализа данных, размещённых в службах AWS. Amazon Elasticsearch Service обеспечивает облачный доступ к стеку из поисковой системы Elasticsearch и Kibana. Служба Amazon Machine Learning обеспечивает подписчикам доступ к инструментарию машинного обучения.\r\nСреди услуг класса связующего программного обеспечения — брокер сообщений Amazon Kinesis (близок по возможностям Apache Kafka), служба очередей SQS и служба уведомлений SNS.\r\nСредство развёртывания приложений в парадигме бессерверных вычислений — AWS Lambda; Elastic Kubernetes Service предоставляет возможность развёртывания приложений в контейнерной инфраструктуре под управлением Kubernetes.","materialsDescription":" <span style=\"font-weight: bold;\">Что такое Amazon Web Services (AWS)?</span>\r\nС помощью веб-служб Amazon (AWS) организации могут гибко развертывать пространство хранения и вычислительные мощности в центрах обработки данных Amazon, не прибегая к поддержке собственного оборудования.\r\nБольшим преимуществом является то, что инфраструктура охватывает все аспекты облачных вычислений. Будь то обмен видео, фотографии с высоким разрешением, данные для печати или текстовые документы, AWS может предоставлять ИТ-ресурсы по запросу через Интернет по цене за использование. Сервис существует с 2006 года как дочерняя компания Amazon Inc. Идея возникла из обширного опыта работы с Amazon.com и собственной потребности в платформах для веб-сервисов в облаке.\r\n<span style=\"font-weight: bold;\">Что такое облачные вычисления?</span>\r\nОблачные вычисления - это сервис, который предоставляет вам доступ к ресурсам, управляемым экспертами. Платформа в облаке обеспечивает инфраструктуру (например, вычислительную мощность, пространство для хранения), которую не нужно устанавливать и настраивать в отличие от оборудования, которое вы приобрели самостоятельно. Облачные вычисления платят только за используемые ресурсы. Например, интернет-магазин может увеличить свои вычислительные мощности в рождественском бизнесе и меньше бронировать в «слабые» месяцы.\r\nДоступ осуществляется через Интернет или VPN. После первоначальной настройки нет никаких текущих инвестиционных затрат, но есть такие ресурсы, как Виртуальные серверы, базы данных или службы хранения оплачиваются только после их использования.\r\n<span style=\"font-weight: bold;\">Где мои данные на Amazon AWS?</span>\r\nВ настоящее время в разных регионах мира существует восемь центров обработки данных Amazon (Регионы AWS). Для каждого ресурса Amazon AWS только клиент может решить, где его использовать или хранить. Немецкие клиенты обычно используют дата-центр в Ирландии, который регулируется европейским законодательством.\r\n<span style=\"font-weight: bold;\">Насколько безопасны мои данные на Amazon AWS?</span>\r\nДанные о клиентах хранятся в высокозащищенной инфраструктуре. Меры безопасности включают, но не ограничиваются:\r\n<ul><li>Защитой от DDos-атак (распределенный отказ в обслуживании)</li><li>Защитой от грубых атак на аккаунты AWS</li><li>Безопасным доступом: варианты доступа сделаны через SSL.</li><li>Брандмауэром: (выходом и доступом к данным AWS можно контролировать).</li><li>Хранением зашифрованных данных: Данные могут быть зашифрованы с помощью Advanced Encryption Standard (AES) 256.</li><li>Сертификатами. Регулярная проверка безопасности независимыми сертификатами, которые прошли AWS.</li></ul>\r\nКаждый центр обработки данных Amazon (регион AWS) состоит как минимум из одной зоны доступности. Зоны доступности - это автономные подсайты, которые были разработаны для изоляции от неисправностей в других зонах доступности (независимые источники питания и данных).<br />Определенные ресурсы AWS, такие как Службы баз данных (RDS) или службы хранилищ (S3) автоматически реплицируют ваши данные в регионе AWS в различные зоны доступности.\r\nAmazon AWS имеет соответствующие сертификаты, такие как ISO27001, и внедрил комплексную концепцию безопасности для работы своего центра обработки данных.\r\n<span style=\"font-weight: bold;\">Должен ли я беспокоиться об оборудовании в Amazon AWS?</span>\r\nНет, все ресурсы Amazon AWS виртуализированы. Только Amazon заботится о замене и обновлении оборудования.\r\nКак правило, вы не получите ничего от неисправного оборудования, поскольку Amazon заменяет неисправные носители и поскольку ваши данные хранятся многократно с избыточностью, обычно проблем также не возникает.\r\nКстати, если выбранные вами ресурсы не обеспечивают достаточную производительность, вы можете легко получить больше ресурсов процессора от ресурсов всего несколькими щелчками мыши. Вам не нужно устанавливать ничего нового, просто перезагрузите виртуальную машину или экземпляр виртуальной базы данных.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Amazon_Web_Services.png","alias":"administrirovanie-amazon-web-services"},"693":{"id":693,"title":"Администрирование Linux","description":" Linux - это операционная система или ядро, созданное Линусом Торвальдсом с другими участниками. Впервые система была выпущена 17 сентября 1991 года. Основным преимуществом Linux является то, что он распространяется по лицензии с открытым исходным кодом, что позволяет программистам использовать ядро Linux для разработки собственных пользовательских операционных систем. Большая часть кода Linux написана на языке программирования Си.\r\nОдними из самых популярных операционных систем, использующих Linux в качестве ядра, являются Debian, Knoppix, Ubuntu и Fedora. Тем не менее, список на этом не заканчивается, поскольку существуют тысячи операционных систем на базе Linux, которые предлагают пользователям различные функции.\r\nСистемное администрирование стало надежным критерием для организации и института, который требует прочной основы ИТ. Следовательно, потребность в эффективных администраторах Linux является требованием времени. Профиль работы может меняться от каждой организации, поскольку к роли могут быть добавлены обязанности и обязанности. Основная роль системного администратора Linux заключается в управлении такими операциями, как установка, наблюдение за программным и аппаратным обеспечением и резервное копирование. А также иметь хорошую способность описать глубокое понимание технических знаний. Даже у профессионалов уровня новичка есть большие возможности для должности системного администратора с ежегодной средней зарплатой около INR 3 Lacs, увеличение зарплаты с увеличением опыта работы.","materialsDescription":" <span style=\"font-weight: bold;\">Что такое Linux?</span>\r\nLinux - это ядро операционных систем, которые выглядят и работают так же или лучше, чем знаменитая операционная система от AT&T Bell Labs. Линус Торвальдс и сплоченная команда добровольных хакеров со всего Интернета писали (и продолжают писать) Linux с нуля. Он обладает всеми функциями современной, полноценной операционной системы: настоящая многозадачность, потоки, виртуальная память, разделяемые библиотеки, загрузка по требованию, общие, исполняемые файлы копирования при записи, правильное управление памятью, загружаемые модули драйверов устройств, видеокадр буферизация и TCP/IP сети.\r\nБольшинство людей, однако, называют ядро операционной системы, системное программное обеспечение и прикладное программное обеспечение вместе, как «Linux», и это соглашение также используется в этом FAQ.\r\nLinux изначально был написан для компьютеров на базе 386/486/586, используя аппаратные средства семейства процессоров 80386 для реализации своих функций. Сейчас есть много портов для других аппаратных платформ.\r\nСуществуют также дистрибутивы Linux специально для мобильных и портативных платформ. Спецификация API и комплект разработчика для интеллектуального микропроцессора Crusoe, разработанного корпорацией Transmeta, находятся по адресу <link http://www.transmeta.com/.>http://www.transmeta.com/.</link> Ядро Linux распространяется под общедоступной лицензией GNU.\r\n<span style=\"font-weight: bold;\">Какое оборудование поддерживается?</span>\r\nДля минимальной установки Linux требуется машина, для которой существует порт, не менее 2 МБ ОЗУ. Но чтобы сделать что-либо даже удаленно полезное, требуется больше оперативной памяти и дискового пространства.\r\nПроцессоры Intel, совместимые с ПК, требуют процессора 80386 для запуска стандартного ядра Linux. Linux, включая графический интерфейс X Window System, работает на большинстве современных ноутбуков.\r\n<span style=\"font-weight: bold;\">Каковы обязанности администратора Linux?</span>\r\nСистемное администрирование стало надежным критерием для организации и института, который требует прочной основы ИТ. Следовательно, потребность в эффективных администраторах Linux является требованием времени. Профиль работы может меняться от каждой организации, поскольку к роли могут быть добавлены обязанности и обязанности. Ниже приведены некоторые обязанности администратора Linux:\r\n<ul><li>Поддерживать все интернет-запросы, включая DNS, RADIUS, Apache, MySQL, PHP.</li><li>Регулярное резервное копирование данных, создание новых хранимых процедур и создание резервных копий - одна из обязанностей.</li><li>Анализ всех журналов ошибок и их исправление, а также обеспечение отличной поддержки клиентов для веб-хостинга, интернет-провайдеров и клиентов локальной сети по устранению неисправностей усиливают проблемы с поддержкой.</li><li>Постоянное общение с персоналом, поставщиками и клиентами профессионально и профессионально должно быть одной из его характеристик.</li><li>Усовершенствование, поддержка и создание инструментов для среды Linux и ее пользователей.</li><li>Обнаружение и решение проблем с обслуживанием, начиная от аварийного восстановления до проблем входа в систему.</li><li>Установка необходимых систем и средств безопасности. Работа с инженером сети передачи данных и другим персоналом/отделами для анализа требований к оборудованию и выработки рекомендаций по приобретению.</li><li>Устранение неполадок, когда проблема возникает на сервере.</li></ul>","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Linux_Administration.png","alias":"administrirovanie-linux"},"695":{"id":695,"title":"Windows server администрирование","description":"","materialsDescription":"","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Windows_Server_Administration.png","alias":"windows-server-administrirovanie"},"703":{"id":703,"title":"Администрирование сайта","description":" Существование сайта и его полноценная работа невозможны без ряда регулярных мероприятий по его поддержке, а именно наполнению сайта новым контентом, редактированию существующих материалов и своевременному обновлению необходимых компонентов и модулей, защите от сетевых атак, резервному копированию данных. Весь комплекс подобных работ — это ничто иное как администрирование сайта.\r\nАдминистрирование сайта должно осуществляться на постоянной основе, ведь посетителям интересен «живой» ресурс, содержащий актуальную информацию и выполняющий все заявленные функции. В задачи администратора сайта может входить его информационная и техническая поддержка, а также не требующие кардинальных изменений дизайна или функциональности сайта работы по модернизации.\r\nКак правило, администрирование сайта выполняется непосредственно силами его владельца. Для этой цели либо нанимается специальный сотрудник, либо же обучается какой-либо из существующих сотрудников. При этом если сайт выполнен на CMS (система управления контентом), то администрирование сайта обычно не требует знаний в сфере веб-дизайна и веб-программирования.\r\nВпрочем, даже использование CMS на сайте не дает основания полагать, что администрированием можно пренебречь или же возложить его на плечи одного из сотрудником компании-владельца сайта как дополнительные к основным обязанности. На самом деле, в администрировании сайтов, как и в любом другом деле, нужен тщательно продуманный подход.\r\nКак часто нужно обновлять контент сайта? Чем именно следует наполнять сайт? Как обновить ядро CMS? Как сделать резервную копию данных? На эти и многие другие подобные вопросы предстоит ответить перед тем, как начинать администрирование сайта. И если после рассмотрения таких вопросов становится ясно, что своими силами администрировать сайт не получится, лучше не терять время, а обратиться за услугой профессионального администрирования сайтов.\r\nВ студиях веб-дизайна или иных компаниях, специализирующихся на оказании услуг в сфере веб-дизайна, услуга администрирования сайтов может именоваться поддержкой сайтов или сопровождением сайтов. В большинстве случаев эти понятия тождественны, правда, условия оказания подобных услуг всегда индивидуальны и сильно зависят и от возможностей исполнителей, и от особенностей администрируемого сайта.\r\nТак, при рассмотрении вопроса администрирования сайта учитываются тип сайта и его тематика, интересы целевой аудитории, технические особенности реализации сайта. После анализа сайта обычно составляется план администрирования сайта, в соответствии с которым распределяются усилия специалистов. В зависимости от тарифа на администрирование (поддержку) сайта рассчитывается необходимое количество часов работы тех или иных специалистов.","materialsDescription":" <span style=\"font-weight: bold; \">Чем занимается администратор сайта?</span>\r\nАдминистраторы веб-сайтов, также известные как веб-мастера, веб-разработчики или сетевые и системные администраторы, несут ответственность за все аспекты поддержания содержимого веб-сайта и дизайна свежими, резервными и полностью функциональными. Обычно они работают в тесном контакте с клиентами, чтобы убедиться, что они понимают, как они хотят, чтобы их сайты выглядели и работали. В зависимости от их конкретной роли, они также могут нести ответственность за правильное функционирование локальных сетей. Следующая таблица содержит обзор образования, перспектив работы и средней заработной платы в этой области.\r\n<span style=\"font-weight: bold;\">Кто такой администратор сайта?</span>\r\nХоть иногда и требуется создавать веб-сайты, главная обязанность администраторов - поддерживать, резервировать и обновлять существующие веб-сайты для организаций. Веб-администратор несет ответственность за простоту понимания и эффективность пользовательского интерфейса сайта. Он должен убедиться, что все веб-сайты работают безопасно и с оптимальной скоростью. Утверждение содержания и ссылок на сайте может быть частью его должностного задания, и он будет нести ответственность за оценку аналитики каждого веб-сайта, например отзывов пользователей и трафика.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Website_Administration.png","alias":"administrirovanie-saita"},"707":{"id":707,"title":"Управление проектом разработки ПО","description":" Управление разработкой программного обеспечения (англ. Software project management) — особый вид управления проектами, в рамках которого происходит планирование, отслеживание и контроль за проектами по разработке программного обеспечения. Ключевым моментом в управлении проектом по разработке программного обеспечения является правильный выбор метода разработки.\r\nПроцесс управления проектом по разработке программного обеспечения включает в себя другие, более специфицированные процессы, направленные на принятие тех или иных бизнес-решений. Многие из них могут применяться к другим видам проектов. Например:\r\n<ul><li>Управление рисками начинается с составления технико-экономического обоснования, включающего в себя расчет возможных доходов и расходов проекта и список возможных неуправляемых рисков, а также план действий в случае их наступления. Важным моментом в управлении рисками проекта по разработке программного обеспечения является постоянный мониторинг текущих рисков на протяжении всего проекта.</li><li>Управление требованиями, включающее в себя анализ требований, является важной частью процесса управлением разработкой программного обеспечения. Посредством анализа требований бизнес-аналитики и разработчики программного обеспечения выявляют потребности и требования заказчика, предъявляемые к конечному программному обеспечению.</li><li>Конфигурационное управление в рамках управления программным проектом в общем заключается в управлении версиями, определении правил именования переменных, функций, классов и т. д. в исходном коде и документации, а также определении соглашений об архивировании программного обеспечения.</li><li>Управление изменениями проекта по разработке программного обеспечения ориентировано на анализ влияния изменений свойств и функций конечного программного обеспечения в процессе реализации проекта. Управление изменениями тесно связано с управлением требованиями, так как бизнес-аналитики и разработчики программного обеспечения, выявив изменения в потребностях и требованиях заказчика, способны перестроить или улучшить дальнейшую реализацию проекта. Однако каждое изменение или нововведение способно так или иначе повлиять на сроки проекта или его бюджет, поэтому очень важно провести предварительную оценку рисков.</li></ul>\r\nВ целом к управлению разработкой программного обеспечения, имеющим много заимствований из управления проектами, можно применять методики из традиционного управления. Однако в силу уникальности отрасли опыт профессионалов, накопленный в материальном производстве и изложенный например в стандарте PMI PMBOK, мало способствует успеху в управлении проектом по созданию программного обеспечения. По поводу того, какими знаниями и навыками должен обладать управляющий проектом по разработке программного обеспечения, существует много мнений. Например, известный американский ученый в области компьютерных наук Джон Рейнольдс писал:\r\n<blockquote><span style=\"font-style: italic;\">Некоторые утверждают, что можно управлять созданием программного обеспечения, не имея никаких навыков в программировании. Такая уверенность, кажется, возникает в результате ошибочного мнения о том, что создание программного обеспечения является одной из форм производства. Но производство является созданием повторяющихся идентичных объектов, в то время как производство программного обеспечения является созданием уникальных объектов, то есть, это одна из форм творчества. Таким образом, производство программного обеспечения сродни издательскому делу — управляющий разработкой программного обеспечения, не умеющий программировать, подобен редактору газеты, который не умеет писать.</span></blockquote>","materialsDescription":"<span style=\"font-weight: bold;\">Что такое программный проект?</span>\r\nПроект разработки программного обеспечения - это сложное мероприятие, осуществляемое двумя или более лицами в рамках временных, бюджетных и кадровых ресурсов, которые создают новый или улучшенный компьютерный код, который добавляет значительную деловую ценность новому или существующему бизнес-процессу.\r\n<span style=\"font-weight: bold; \">Что делает менеджер проекта разработки программного обеспечения?</span>\r\nМенеджер программных проектов - это самый важный человек в команде, который берет на себя общую ответственность за управление программными проектами и играет важную роль в успешном завершении проектов. Руководитель проекта сталкивается со многими трудными ситуациями, чтобы выполнить эти работы.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Software_Development_Project_Managements.png","alias":"upravlenie-proektom-razrabotki-po"},"718":{"id":718,"title":"ИТ консалтинг","description":" ИТ-консалтинг (англ. IT-consulting) — консалтинг в сфере информационных технологий (ИТ). Является одним из многочисленных направлений консалтинга (консалтинговых услуг).\r\nИТ-консалтинг — проектно-ориентированная деятельность, связанная с информационной поддержкой бизнес-процессов, позволяющая дать независимую экспертную оценку эффективности использования информационных технологий.\r\nНа сегодняшний день большинство компаний использует ИТ в управлении своим бизнесом. Информационные технологии позволяют делать бизнес более наглядным, более управляемым, более прогнозируемым.\r\nИТ-консалтинг — это услуга, которую предлагают ИТ-компании (как правило, в вопросах комплексных проектов), а также независимые эксперты в том или ином направлении IT (обычно в узком спектре, например, защита от DDOS атак).\r\nУслуга по предоставлению ИТ-консалтинга, как правило, включает следующие пункты:\r\n<ul><li>Оптимизация затрат на внедрение информационных технологий, ИТ-решений в рамках компании</li><li>Повышение эффективности бизнес-процессов компании</li><li>Повышение управляемости, прозрачности деятельности организации за счет создания единой инфраструктуры (ИТ-инфраструктуры)</li><li>Внедрение систем уровня предприятия (ERP, CRM, Business Intelligence, Groupware-системы, NIS-системы)</li><li>ИТ-аудит (оценка уровня автоматизации)</li></ul>","materialsDescription":"<span style=\"font-weight: bold; \">Что такое ИТ-консалтинг?</span>\r\nИТ-консалтинг — деятельность, направленная на поддержку всевозможных рабочих процессов на предприятии, осуществляемых с использованием современных технологий. Проще говоря, это специализированные консультации в сфере компьютерного оборудования и программного обеспечения. Они позволяют предприятию выяснить эффективность использования информационных технологий, получить весомые преимущества при работе с клиентами, а также значительно увеличить прибыль.\r\n<span style=\"font-weight: bold; \">Из чего состоит ИТ-консалтинг?</span>\r\nИТ-консалтинг решает массу важных вопросов. А именно:\r\n<ul><li>Определяет уровень, а также эффективность технического обслуживания ПК.</li><li>Повышает продуктивность предприятия.</li><li>Повышает управляемость и обеспечивает прозрачность деятельности предприятия на всех уровнях.</li><li>Определяет уровень защиты данных.</li><li>Проверяет и повышает эффективность коммуникаций предприятия.</li><li>Оценивает продуктивность ИТ-специалистов предприятия.</li><li>Определяет эффективность установленного ПО, при необходимости предлагает меры по модернизации.</li></ul>\r\n<span style=\"font-weight: bold;\">Какие преимущества несет в себе ИТ-консалтинг?</span>\r\nПреимущества консалтинга по информационным технологиям компании:\r\n<ul><li>Значительное сокращение сроков реализации и снижение стоимости проекта в результате объединения широкого спектра знаний о предметной области и новейших технологиях.</li><li>Быстрый рост квалификации персонала Заказчика за счет обучения во время проведения совместных работ.</li><li>Возможность планирования затрат, сроков, рисков и результата работ.</li><li>Поэтапное, по мере получения результатов, вложение средств.</li><li>Возможность внесения необходимых оперативных изменений и корректировок в процессе выполнения работ.</li><li> Создание системы, которую легко и просто внедрить.</li><li>Эффективный контроль выполнения работ за счет формализации и материализации результатов.</li><li>Снижение рисков в результате оптимизации взаимоотношений Заказчика и фирм - подрядчиков. </li></ul>\r\n\r\n","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_IT_Consulting.png","alias":"it-konsalting"},"731":{"id":731,"title":"Управление ИТ проектом","description":" Управление ИТ-проектами - это процесс планирования, организации и определения ответственности за достижение конкретных целей организации в области информационных технологий (ИТ).\r\nУправление ИТ-проектами включает надзор за проектами разработки программного обеспечения, установки оборудования, модернизации сетей, развертывания облачных вычислений и виртуализации, проектов бизнес-аналитики и управления данными, а также внедрения ИТ-услуг.\r\nВ дополнение к обычным проблемам, которые могут привести к сбою проекта, факторы, которые могут негативно повлиять на успех ИТ-проекта, включают достижения в области технологий во время выполнения проекта, изменения инфраструктуры, которые влияют на безопасность и управление данными, и неизвестные зависимые отношения между оборудованием, программным обеспечением, сетевой инфраструктурой и данными. ИТ-проекты могут также уступить штрафу за первое использование, представляющее собой общий риск, который организация принимает на себя при внедрении новой технологии в первый раз. Поскольку эта технология ранее не применялась и не использовалась в организации, могут возникнуть сложности, которые повлияют на вероятность успеха проекта.","materialsDescription":"<span style=\"font-weight: bold;\">Что такое проект?</span>\r\nПроект - это инициатива создания уникального продукта или услуги. Проект имеет определенную дату начала и определенную дату окончания. Дата начала представляет, когда проект будет запущен. Дата окончания указывает, когда проект будет завершен.\r\nПроект не является повторяющейся деятельностью; скорее, это отдельное усилие, чтобы произвести что-то новое.\r\n<span style=\"font-weight: bold;\">Что такое управление ИТ-проектами?</span>\r\nУправление ИТ-проектами - это сбор и применение навыков, знаний, процессов и действий для достижения конкретной цели, которая может принимать форму ИТ-продукта или услуги.\r\nУправление проектами - это интегрированный процесс применения 5 основных процессов и связанных с ними действий на протяжении всего жизненного цикла проекта: инициирование, планирование, выполнение, мониторинг и контроль, закрытие.\r\n<span style=\"font-weight: bold;\">Что такое методология управления проектами?</span>\r\nМетодология управления проектом - это общий подход (система), который будет применяться для достижения целей проекта.\r\n<span style=\"font-weight: bold;\">Каковы характеристики проекта?</span>\r\nПроект имеет три характеристики:\r\n<ul><li>Временная природа (не является продолжающейся и имеет определенную дату начала и окончания.)</li><li>Уникальный результат (Создает новый уникальный продукт или услугу, которая не существует.)</li><li>Прогрессивность (Действия следуют последовательности или шаблону и прогрессируют с течением времени.)</li></ul>\r\n<span style=\"font-weight: bold;\">Кто несет ответственность за проект?</span>\r\nРуководитель проекта несет прямую ответственность за результаты проекта. Он/она должен использовать необходимые навыки, знания и инструменты для достижения целей проекта. На ранних этапах проекта менеджер проекта, работающий с командой проекта, должен иметь возможность:\r\n<ul><li>Определить цели и задачи проекта</li><li>Определить предположения и ограничения</li><li>Определить и проверить описание продукта</li><li>Определить требования проекта</li><li>Определить результаты проекта</li><li>Оценить и контролировать распределение ресурсов проекта </li></ul>","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_IT_Project_Management.png","alias":"upravlenie-it-proektom"},"733":{"id":733,"title":"Техническая поддержка","description":" Техническая поддержка или техподдержка — понятие, обобщающее собой и охватывающее множество услуг, посредством которых предприятия и организации обеспечивают помощь пользователям технологичных продуктов и услуг, например, таких, как мобильные и стационарные телефоны, телевизоры, компьютеры, программное обеспечение, а также других электронных и механических товаров и услуг.\r\nВ целом, техническая поддержка служит попыткам помочь конкретным пользователям решать возникающие конкретные проблемы с продуктом и его использованием, нежели задачи, связанные с обучением, индивидуальной настройкой или другими услугами поддержки.\r\nБольшинство компаний предлагают техническую поддержку к продуктам, которые они предоставляют и продают, и делают это либо бесплатно, либо за дополнительную плату. Техническая поддержка предоставляется, как правило, по телефону, через интернет, по электронной почте, через онлайн-сервисы поддержки на веб-сайте или через инструменты, посредством которых пользователи могут зарегистрировать заявку или создать инцидент и затем проследить их судьбу — историю состояний/этапов её или его решения. Большие организации часто имеют собственную, внутреннюю службу технической поддержки, которая помогает персоналу решать возникающие проблемы, носящие технический характер. Также хорошим источником бесплатной технической поддержки является интернет, где опытные пользователи на различных форумах и сайтах могут что-нибудь посоветовать или помочь в решении или поделиться своим опытом решения таких же или похожих проблем. Кроме того, некоторые компании предоставляют премиальную техническую поддержку за дополнительную плату.\r\nГоворя о технической поддержке, могут иметь в виду и т. н. helpdesk — досл. с англ. «стол помощи», и service desk — досл. с англ. «стол услуги» и поддержку продукта или услуги, и поддержку клиента, и систему работы с инцидентами, заявками и проблемами (траблами). ","materialsDescription":"<span style=\"font-weight: bold;\">Каковы концепции технической поддержки как услуги?</span>\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Поддержка по вызову (Call out)</span></span>\r\nЭтот тип технической поддержки — достаточно общий для всей индустрии услуг. Он также известен как IT-поддержка «Временем и материалами» («Time and Materials» (T&M)). Концепция такого рода поддержки состоит в том, что клиенты платят за материалы, которые будут использованы при оказании технической поддержки, а также — техническому специалисту (за его время, которое он тратит на помощь, за знания и умения, которые он при этом применяет и т. п.).\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Техподдержка на определённый срок</span></span>\r\nТехподдержка на определённый срок — это концепция обеспечения поддержкой на определённый срок (количество времени поддержки, часов, дней, лет) по заранее определённой цене.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Управляемые услуги</span></span>\r\nКонцепция «управляемых услуг» предполагает, что компании будет предоставлен список заранее определённых услуг на постоянной основе по заранее определённой цене. В этот список могут быть включены такие услуги, как:\r\n<ul><li>круглосуточный мониторинг,</li><li>круглосуточно-работающие «информационные службы» или «Help Desk»/Service Desk,</li><li>помощь, оказываемую «на месте» возникновения проблемы, подразумевающую выход технического специалиста, в том случае, когда удалённо проблема не может быть решена,</li><li>дополнительные услуги, например, резервное копирование и предоставление резервных каналов связи, аварийное восстановление, и др.</li></ul>\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Краудсорсинг как модель организации технической поддержки</span></span>\r\nМногие компании и организации, например, такие как Apple и Mozilla предоставляют дискуссионные площадки в интернете пользователям своих продуктов; организация таких форумов позволяет компаниям сократить свои расходы на осуществление технической поддержки[4] без потери выгоды, получаемой от обратной связи. Кроме того, в интернете много независимых веб-сайтов, посвящённых обсуждениям пользователями продуктов и услуг.\r\n<span style=\"font-style: italic;\"><span style=\"font-weight: bold;\">Методология организации службы технической поддержки</span></span>\r\nСлужба технической поддержки на каждом предприятии может быть построена разнообразными способами (имеется в виду реализации процессов поддержки). Существует несколько моделей службы поддержки, например: централизованная, локальная, виртуальная — с единым телефонным центром и т. д. Служба технической поддержки может быть организована как в целях обслужить внешних клиентов (аутсорсинг обслуживания компьютеров и т. п.), так и внутренних (подразделение ИТ-департамента на крупных предприятиях).\r\nВ описании концепции ITIL, построенной на процессном подходе, Service Desk является единой точкой контакта для пользователей ИТ-Услуг. Это исключение сделано ввиду большой важности подразделения техподдержки и при внедрении практическом использовании современных ИТ-подходов и методик.\r\nПравильно организованная техподдержка (Service Desk) всегда начинается с регистрации всех обращений конечных пользователей, служит единой точкой для общения пользователя с ИТ-службой. Наиболее популярные решения по практической организации техподдержки часто строятся на базе Call-center (простые пользователи иногда их даже отождествляют). Он является начальной точкой контактов конечных пользователей со службой техподдержки и служит источником информации об их фактической удовлетворенности уровнем сервиса, что дополняет информацию о технических параметрах качества обслуживания компании-клиента (внешнего или внутреннего).\r\nНа больших предприятиях или в крупных компаниях-аутсорсерах служба технической поддержки часто организована по следующему многоуровневому принципу:\r\n<ul><li>Пользователь — обращается с вопросом в службу поддержки по телефону или с помощью электронной заявки (электронная почта, или специальные сервисы подачи заявок).</li><li>Оператор (1-я линия поддержки, Call-center) — регистрирует обращение, при возможности помогает пользователю самостоятельно, либо эскалирует (передаёт и контролирует выполнение) заявку на вторую линию поддержки.</li><li>Вторая линия поддержки — получает заявки от первой линии, работает по ним, при необходимости привлекая к решению проблемы специалистов из смежных отделов (например, системные администраторы, поддержка POS-терминалов, поддержка специального ПО, поддержка специального оборудования, администраторы биллинговой системы и т. д.).</li></ul>","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Technical_Support.png","alias":"tekhnicheskaja-podderzhka"},"735":{"id":735,"title":"Инсталляция и конфигурирование","description":" Инсталляция и конфигурирование - это процессы подготовки системы или программы к выполнению. Поскольку процесс варьируется для каждой программы и каждого компьютера, программы (включая операционные системы) часто поставляются с установщиком, специализированной программой, отвечающей за выполнение всего, что необходимо для их установки. Конфигурация - это расположение функциональных блоков в соответствии с их характером, количеством и основными характеристиками. Часто конфигурация относится к выбору оборудования, программного обеспечения, прошивки, настроек и документации. Конфигурация влияет на функцию и производительность системы.\r\nБольшинство программ поставляются для продажи и распространения в сжатом (упакованном, см.: Архив) виде. Для нормальной работы они должны быть распакованы, а необходимые данные правильно размещены на компьютере, учитывая различия между компьютерами и настройками пользователя. В процессе установки выполняются различные тесты на соответствие заданным требованиям, а компьютер необходимым образом конфигурируется (настраивается) для хранения файлов и данных, необходимых для правильной работы программы.\r\nУстановка, как правило, включает в себя размещение всех необходимых программе файлов в соответствующих местах файловой системы, а также модификацию и создание конфигурационных файлов. Пакетные менеджеры также выполняют при установке контроль зависимостей, проверяя, есть ли в системе необходимые для работы данной программы пакеты, а в случае успешной установки регистрируя новый пакет в списке доступных.\r\nТак как данный процесс является различным для каждой программы и компьютера, то многие программы (включая сами операционные системы) поставляются вместе с универсальным или специальным установщиком — программой, которая автоматизирует большую часть работы, необходимой для их установки. ","materialsDescription":"<span style=\"font-weight: bold;\">Что означает "установка"?</span>\r\nУстановка - это процесс подготовки оборудования и/или программного обеспечения к использованию. Очевидно, что разные системы требуют разных типов установок. В то время как некоторые установки просты и понятны и могут выполняться непрофессионалами, другие являются более сложными и трудоемкими и могут потребовать привлечения специалистов.\r\n<span style=\"font-weight: bold; \">Что означает "конфигурация"?</span>\r\nСпособ установки системы или ассортимент компонентов, составляющих систему. Конфигурация может относиться либо к аппаратному или программному обеспечению, либо к сочетанию того и другого. Например, типичная конфигурация для ПК состоит из 32 МБ (мегабайт) основной памяти, дисковода гибких дисков, жесткого диска, модема, привода CD-ROM, монитора VGA и операционной системы Windows.\r\nМногие программные продукты требуют, чтобы компьютер имел определенную минимальную конфигурацию. Например, для программного обеспечения может потребоваться монитор с графическим дисплеем и видеоадаптер, определенный микропроцессор и минимальный объем основной памяти.\r\nКогда вы устанавливаете новое устройство или программу, вам иногда нужно настроить его, что означает установку различных переключателей и перемычек (для аппаратного обеспечения) и определение значений параметров (для программного обеспечения). Например, устройству или программе может потребоваться узнать, какой тип видеоадаптера у вас есть и какой тип принтера подключен к компьютеру. Благодаря новым технологиям, таким как plug-and-play, большая часть этой конфигурации выполняется автоматически.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Installation_and_configuration.png","alias":"installjacija-i-konfigurirovanie"},"737":{"id":737,"title":"Тестирование ИТ системы","description":" Тестирование системы будет проведено тестированием на полную комплексную систему оценки соответствия системы с ее установленными требованиями.\r\nВ качестве входных данных для тестирования системы используются все интегрированные компоненты, прошедшие интеграционное тестирование. Целью интеграционного тестирования является обнаружение любых несоответствий между модулями, которые объединены вместе (так называемые сборки). Тестирование системы стремится обнаружить дефекты как внутри «интер-сборок», а также в рамках системы в целом. Фактический результатом является поведение производства или наблюдается, когда компонент или система тестируются.\r\nСистемное тестирование выполняется на всей системе в контексте спецификаций функциональных требований (FRS) или спецификации системных требований (SRS), или обоих. Система тестирования тесты не только дизайн, но и поведение и даже верили ожидания заказчика. Он также предназначен для тестирования до и за пределами, определенных в спецификации (требованиях) программного или аппаратного обеспечения.\r\nТестирование программного обеспечения - это расследование, проведенное для предоставления заинтересованным лицам информации о качестве программного продукта или услуги при испытании. Тестирование программного обеспечения может также обеспечить объективное, независимое представление программного обеспечения, чтобы позволить бизнесу оценить и понять риски, связанные с реализацией программного обеспечения. Данное тестирование включает выполнение программного либо системного компонента для оценки одного или нескольких свойств, представляющих интерес. В целом, эти свойства указывают на степень, в которой тестируемый компонент или система удовлетворяет требованиям, которые определяют его проектирование и разработку, правильно реагирует на все виды входных данных, выполняет свои функции в течение приемлемого времени, достаточно пригоден для использования, может быть установлен и работать в запланированных условиях и достичь общего результата, которого желают заинтересованные стороны. Поскольку число возможных тестов даже для простых программных компонентов практически бесконечно, все тесты программного обеспечения используют некоторую стратегию для выбора тестов, которые выполнимы для доступного времени и ресурсов.\r\nТестирование мобильных устройств гарантирует качество мобильных устройств, таких как мобильные телефоны, КПК и т. д. Тестирование будет проводиться как на аппаратном, так и на программном обеспечении. И с точки зрения различных процедур, тестирование включает в себя R&D тестирование, заводские испытания и сертификационные испытания. Тестирование мобильных устройств включает в себя набор действий от мониторинга и устранения неполадок мобильных приложений, контента и сервисов на реальных телефонах. Тестирование включает в себя проверку и проверку аппаратных устройств и программных приложений.","materialsDescription":" <span style=\"font-weight: bold;\">Что такое системное тестирование?</span>\r\nСистемное тестирование - это тестирование законченного и полностью интегрированного программного продукта. Обычно программное обеспечение является лишь одним из элементов более крупной компьютерной системы. В конечном счете, программное обеспечение взаимодействует с другими программно-аппаратными системами. Системное тестирование на самом деле представляет собой серию различных тестов, единственной целью которых является использование всей компьютерной системы.\r\nДве категории тестирования программного обеспечения:\r\n<ul><li>Тестирование черного ящика;</li><li>Тестирование белого ящика.</li></ul>\r\nСистемный тест подпадает под категорию «черный ящик» тестирования программного обеспечения.\r\nТестирование белого ящика - это тестирование внутренней работы или кода программного приложения. Напротив, черный ящик или системное тестирование - это наоборот. Системный тест включает внешнюю работу программного обеспечения с точки зрения пользователя.\r\n<span style=\"font-weight: bold;\">Что проверяется в Системном тестировании?</span>\r\nСистемное тестирование включает в себя тестирование программного кода для следующего:\r\n<ul><li>Тестирование полностью интегрированных приложений, включая внешние периферийные устройства, чтобы проверить, как компоненты взаимодействуют друг с другом и с системой в целом. Это также называется сквозным сценарием тестирования.</li><li>Проверка тщательного тестирования каждого входа в приложении, чтобы проверить желаемые результаты.</li><li>Тестирование опыта пользователя с приложением.</li></ul>\r\nЭто очень простое описание того, что участвует в тестировании системы. Вам необходимо создать подробные контрольные примеры и наборы тестов, которые тестируют каждый аспект приложения с точки зрения извне, не глядя на реальный исходный код.\r\n<span style=\"font-weight: bold;\">Какие типы системного тестирования следует использовать тестерам?</span>\r\nСуществует более 50 различных типов системного тестирования. Конкретные типы, используемые тестером, зависят от нескольких переменных. Эти переменные включают в себя:\r\n<ul><li><span style=\"font-weight: bold;\">На кого работает тестер.</span> Это является основным фактором при определении типов тестирования системы, которые тестер будет использовать. Методы, используемые крупными компаниями, отличаются от методов, используемых средними и малыми компаниями.</li><li><span style=\"font-weight: bold;\">Время, доступное для тестирования.</span> В конечном итоге можно использовать все 50 типов тестирования. Время - это то, что ограничивает нас в использовании только тех типов, которые наиболее актуальны для программного проекта.</li><li><span style=\"font-weight: bold;\">Ресурсы, доступные для тестировщика.</span> Конечно, у некоторых тестировщиков не будет необходимых ресурсов для проведения тестирования. Например, если вы являетесь тестировщиком, работающим в крупной фирме по разработке программного обеспечения, у вас, скорее всего, будет дорогое программное обеспечение для автоматического тестирования, недоступное для других.</li><li><span style=\"font-weight: bold;\">Обучение тестировщика программного обеспечения</span> - для каждого типа тестирования программного обеспечения существует определенная кривая обучения. Чтобы использовать часть программного обеспечения, тестировщик должен научиться его использовать.</li><li><span style=\"font-weight: bold;\">Бюджет тестирования</span> - деньги становятся фактором не только для небольших компаний и отдельных разработчиков программного обеспечения, но и для крупных компаний.</li></ul>","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_IT_System_testing.png","alias":"testirovanie-it-sistemy"},"739":{"id":739,"title":"Услуги по внедрению и интеграции","description":" Число разнообразных решений, имплементированных у заказчиков, сегодня достаточно велико. Зачастую подсистемы казалось бы единого ИТ-ландшафта между собой либо слабо связаны, либо взаимодействие между ними налажено в режиме передачи файлов и данных по почте или «из рук в руки».\r\nЗападные ИТ-вендоры, следуя определённому тренду, предлагают заказчику законченные и унифицированные решения. Подобные блоки подсистем решают определённую задачу и образуют обособленные центры ИТ, которые тоже требуют взаимной интеграции инфраструктур. Это, как ни странно, еще более сложная задача, так как законченное решение не позволяет глубоко проникнуть внутрь и получить доступ к требуемым информационным или управляющим подсистемам.\r\nТем не менее, объединение и сопряжение информационных потоков может существенно упростить бизнес-процессы и привести к росту эффективности взаимодействия как внутри компании, так и вовне (с клиентами и партнерами).\r\nСама по себе задача интеграции важна для бизнеса, так как предоставляет качественно новый уровень сервисов. Это особенно важно для компаний, где ИТ является непосредственным инструментом достижения бизнес-целей. Но не менее важно сделать интеграцию оптимально в свете минимизации не только затрат на закупку оборудования и софта, но и сохранения предыдущих инвестиций в ИТ. ","materialsDescription":"<span style=\"font-weight: bold;\">Основные виды внедрения и интеграции, предлагаемые компаниями в качестве услуг:</span>\r\n<ul><li>Проектирование ИТ-архитектуры интеграционных решений в области аналитики, автоматизации и мониторинга бизнес-процессов;</li><li>Разработка и интеграция подсистемы сетевой инфраструктуры, включая масштабируемое телекоммуникационное оборудование, серверное оборудование и рабочие станции;</li><li>Определение единой платформы и разрабатка решения для интеграции корпоративных приложений, данных и бизнес-процессов;</li><li>Внедрение и сопровождение комплексных интеграционных решений в области управления предприятием (ERP-системы);</li><li>Внедрение и сопровождение интеграционных решений в области учета и анализа продаж и взаимоотношений с клиентами (СRM-системы);</li><li>Внедрение и сопровождение интеграционных решений в области бухгалтерского учета и финансового анализа;</li><li>Внедрение, тестирование и развитие решений по обеспечению информационной безопасности бизнеса..</li></ul>\r\n\r\n","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Deployment_and_Integration_Services.png","alias":"uslugi-po-vnedreniju-i-integracii"},"806":{"id":806,"title":"Инструменты функционального тестирования","description":" Функциональное тестирование является частью разработки продукта, когда программное обеспечение тестируется на соответствие требованиям. Функциональное тестирование может быть ручным или автоматическим. Программное обеспечение для функционального тестирования обычно подает некоторый вход, чтобы можно было оценить выход, чтобы увидеть, как работает программное обеспечение.\r\nФункциональное тестирование – один из видов тестирования, направленного на проверку соответствий функциональных требований ПО к его реальным характеристикам. Основной задачей функционального тестирования является подтверждение того, что разрабатываемый программный продукт обладает всем функционалом, требуемым заказчиком.\r\nВ зависимости от цели, функциональное тестирование может проводиться:\r\n<ul><li>На основе функциональных требований, указанных в спецификации требований. При этом для тестирования создаются тестовые случаи (testcases), составление которых учитывает приоритетность функций ПО, которые необходимо покрыть тестами. Таким образом мы можем убедиться в том, что все функции разрабатываемого продукта работают корректно при различных типах входных данных, их комбинаций, количества и т.д.</li><li>На основе бизнес-процессов, которые должно обеспечить приложение. В этом случае, нас интересует не так работоспособность отдельных функций ПО, как корректность выполняемых операций, с точки зрения сценариев использования системы. Таким образом, тестирование в данном случае будет основываться на вариантах использования системы (usecases).</li></ul>\r\nОписанные выше аспекты реализуются с помощью следующих видов и уровней тестирования:\r\n<ul><li>Модульное (компонентное).</li><li>Интеграционное.</li><li>Системное.</li><li>Регрессионное.</li><li>Приемочное.</li></ul>\r\nИ много других видов, которые обеспечивают полноценное и всеохватывающее тестирования функциональных требований к ПО.\r\nВыбор правильного инструмента функционального тестирования в проектах имеет ключевое значение. Высококвалифицированные профессионалы по тестированию постоянно обновляют набор используемых инструментов, а также разрабатывают свои собственные.","materialsDescription":" <span style=\"font-weight: bold;\">Что такое функциональное тестирование?</span>\r\nФункциональное тестирование - это сегмент тестирования безопасности. Механизмы безопасности системы проверяются в рабочих условиях на корректную работу.\r\nФункциональное тестирование проверяет, что конечный пользователь получает то, что он хочет от приложения. Это включает тестирование, чтобы убедиться, что задачи или шаги, необходимые для завершения функциональности, работают хорошо. Функциональное тестирование включает в себя тестирование функциональных требований согласно спецификации.\r\n<span style=\"font-weight: bold;\">Каковы различия между системным и функциональным тестированием?</span>\r\nСистемное тестирование имеет такие классификации, как функциональное и нефункциональное тестирование. Следовательно, функциональное тестирование является частью системного тестирования.\r\nСистемное тестирование позволяет тестерам тестировать типичный конечный продукт. Каждый модуль, интерфейс и каждая минутная деталь должны быть проверены при тестировании системы.\r\nФункциональное тестирование направлено на тестирование функциональности тестируемого продукта. Эти функции включают объем, нагрузку, нагрузку, безопасность, масштабируемость, производительность и т.д. Аппаратное и программное обеспечение не связано с функциональным тестированием.\r\nФункциональное тестирование включает в себя тестирование функциональных требований согласно спецификации. С другой стороны, тестирование системы включает тестирование системы в целом. Это может включать тестирование правильной установки и удаление приложения. Тестирование системы тестирует все внутренние и внешние компоненты, которые составляют систему.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_functional_testing_tools.png","alias":"instrumenty-funkcionalnogo-testirovanija"},"808":{"id":808,"title":"Системы отслеживания ошибок","description":" Система отслеживания ошибок (англ. bug tracking system) — прикладная программа, разработанная с целью помочь разработчикам программного обеспечения (программистам, тестировщикам и др.) учитывать и контролировать ошибки (баги), найденные в программах, а также следить за процессом устранения этих ошибок.\r\nГлавный компонент такой системы — база данных, содержащая сведения об обнаруженных ошибках. Эти сведения могут включать в себя:\r\n<ul><li>кто сообщил о проблеме;</li><li>дата и время, когда была обнаружена проблема;</li><li>серьёзность(критичность) проблемы;</li><li>описание неправильного поведения программы;</li><li>кто занимается устранением (разрешением) проблемы;</li><li>состояние ошибки.</li></ul>\r\nТипичная система отслеживания ошибок использует концепцию «жизненного цикла» ошибки, который отслеживается по состоянию, в котором находится ошибка. Система может предоставлять администратору возможность настроить, какие пользователи могут просматривать и редактировать ошибки в зависимости от их состояния, переводить их в другое состояние или удалять.\r\nВ корпоративной среде, система отслеживания ошибок может использоваться для получения отчётов, показывающих продуктивность программистов при исправлении ошибок. Однако, часто такой подход не даёт достаточно точных результатов, из-за того что разные ошибки имеют различную степень серьёзности и сложности. При этом серьёзность проблемы не имеет прямого отношения к сложности устранения ошибки.","materialsDescription":" <span style=\"font-weight: bold;\">Что означает "система отслеживания ошибок"?</span>\r\nОтслеживание ошибок - это процесс, используемый персоналом по обеспечению качества и программистами для отслеживания проблем и решений программного обеспечения. Система отслеживания ошибок обычно используется для хранения информации об обнаруженных ошибках. Этот тип системы отслеживания проблем обеспечивает четкий централизованный обзор запросов на разработку и их соответствующих состояний.\r\nОтслеживание ошибок позволяет пользователям вводить отчеты об ошибках непосредственно в систему, которая регистрирует и отслеживает их. Добросовестное использование системы отслеживания ошибок обеспечивает запись эффективности команды разработчиков программного обеспечения. Локальные системы отслеживания ошибок часто используются командами специалистов по поддержке приложений для отслеживания проблем, сообщаемых разработчикам программного обеспечения.\r\nСистемы отслеживания ошибок включают в себя базу данных, которая отслеживает факты, относящиеся к каждой ошибке. Эти факты могут включать время сообщения об ошибке, ее серьезность, неправильное поведение программы, подробности о том, как воссоздать ошибку, кто сообщил об ошибке и что программисты сделали, чтобы исправить ее. Системы отслеживания ошибок связаны с жизненным циклом ошибки, который отслеживается через статус, присвоенный каждой ошибке. Это позволяет администраторам устанавливать разрешения на основе состояния ошибки, перемещать ошибки в другие состояния или удалять их.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon-bug-tracking-systems.png","alias":"sistemy-otslezhivanija-oshibok"},"842":{"id":842,"title":"Разработка чат-ботов","description":" Виртуальный собеседник, программа-собеседник, чат-бот (англ. chatbot) — компьютерная программа, имитирующая речевое поведение человека при общении с одним или несколькими собеседниками. Чат-бот ведет коммуникацию от лица компании или бренда с целью упростить онлайн-общение (предоставить актуальную информацию в наиболее оперативные сроки), используется как альтернатива переписки по электронной почте или звонку представителю компании.\r\nДанное виртуальным собеседникам определение не совсем точно. Дело в том, что цели конкретных диалогов между людьми различаются. Можно просто «поболтать», а можно обсудить важную проблему. Реализация последнего типа диалога представляет дополнительную проблему: научить программу мыслить. Поэтому функциональность большинства современных программ ограничивается возможностью ведения незатейливой беседы.\r\nПрограммы, способные понимать отдельные высказывания пользователя, образуют класс программ с естественно-языковым интерфейсом. Например, вопросно-ответная система.\r\nСоздание виртуальных собеседников граничит с проблемой общего искусственного интеллекта, то есть единой системы (программы, машины), моделирующей интеллектуальную деятельность человека.\r\nВиртуальные собеседники работают с «живым» языком. Обработка естественного языка, особенного разговорного стиля, — острая проблема искусственного интеллекта. И конечно, современные программы-собеседники — лишь попытки имитировать разумный диалог с машиной.\r\nКак любая интеллектуальная система, виртуальный собеседник имеет базу знаний. В простейшем случае она представляет собой наборы возможных вопросов пользователя и соответствующих им ответов. Наиболее распространённые методы выбора ответа в этом случае следующие:\r\n<ul><li>Реакция на ключевые слова: Данный метод был использован в Элизе. Например, если фраза пользователя содержала слова «отец», «мать», «сын» и другие, Элиза могла ответить: «Расскажите больше о вашей семье».</li><li>Совпадение фразы: Имеется в виду похожесть фразы пользователя с теми, что содержатся в базе знаний. Может учитываться также порядок слов.</li><li>Совпадение контекста: Часто в руководствах к программам-собеседникам просят не использовать фразы, насыщенные местоимениями, типа: «А что это такое?» Для корректного ответа некоторые программы могут проанализировать предыдущие фразы пользователя и выбрать подходящий ответ.</li></ul>\r\nСвоеобразной мини-проблемой являются идентификация форм слова и синонимов. ","materialsDescription":" На рынке появились новые инструменты, предназначенные для упрощения взаимодействия между людьми и компьютерами: чат-боты или виртуальные помощники. В банковской сфере чат-боты и виртуальные помощники являются одними из новейших инструментов в отрасли, предназначенных для упрощения взаимодействия между людьми и компьютерами.\r\n<span style=\"font-weight: bold; \">Что такое чат-бот?</span>\r\nChatbot - это программное обеспечение искусственного интеллекта (AI), которое может имитировать разговор (или чат) с пользователем на естественном языке через приложения для обмена сообщениями, веб-сайты, мобильные приложения или по телефону.\r\n<span style=\"font-weight: bold; \">Почему чат-боты важны?</span>\r\nЧат-бот часто описывается как одно из самых передовых и многообещающих выражений взаимодействия людей и машин. Однако с технологической точки зрения чат-бот представляет собой естественную эволюцию системы вопросов-ответов, в которой используется обработка естественного языка (NLP). Формулировка ответов на вопросы на естественном языке является одним из наиболее типичных примеров обработки естественного языка, применяемой в приложениях конечного пользователя различных предприятий.\r\n<span style=\"font-weight: bold;\">Как работает чат-бот?</span>\r\nВ основе чата есть две разные задачи:\r\n<ol><li><span style=\"font-weight: bold;\">анализ пользовательских запросов</span></li><li><span style=\"font-weight: bold;\">ответная реакция<br /></span></li></ol>\r\nАнализ пользовательских запросов: это первая задача, которую выполняет чат-бот. Он анализирует запрос пользователя, чтобы определить его намерение и извлечь соответствующие объекты.\r\nВозможность определить намерение пользователя и извлечь данные и соответствующие объекты, содержащиеся в запросе пользователя, является первым условием и наиболее важным шагом в ядре чат-бота: если вы не сможете правильно понять запрос пользователя, вы не сможете дать правильный ответ.<br />Ответная реакция: после определения намерения пользователя чат-бот должен предоставить наиболее подходящий ответ на запрос пользователя. Ответ может быть:\r\n<ul><li>общий и предопределенный текст;</li><li>текст, полученный из базы знаний, который содержит разные ответы;</li><li>контекстуализированная часть информации, основанная на данных, предоставленных пользователем;</li><li>данные, хранящиеся в корпоративных системах;</li><li>результат действия, которое чат-бот выполнил, взаимодействуя с одним или несколькими серверными приложениями;</li><li>неоднозначный вопрос, который помогает чат-боту правильно понять запрос пользователя.</li></ul>\r\n<span style=\"font-weight: bold;\">Чем выгодны чат-боты?</span>\r\nПриложения Chatbot оптимизируют взаимодействие между людьми и службами, повышая качество обслуживания клиентов. В то же время они предлагают компаниям новые возможности для улучшения процесса взаимодействия с клиентами и повышения операционной эффективности за счет снижения типичных затрат на обслуживание клиентов.\r\nЧтобы быть успешным, решение для чат-ботов должно быть в состоянии эффективно выполнять обе эти задачи. Поддержка человека играет здесь ключевую роль: независимо от типа подхода и платформы, вмешательство человека имеет решающее значение при настройке, обучении и оптимизации системы чат-ботов.\r\n<span style=\"font-weight: bold;\">Какое приложение чат-бота подойдет вам?</span>\r\nСуществуют разные подходы и инструменты, которые вы можете использовать для разработки чат-бота. В зависимости от варианта использования, к которому вы хотите обратиться, некоторые технологии чат-бота являются более подходящими, чем другие. Для достижения желаемых результатов наилучшим вариантом может быть сочетание различных форм ИИ, таких как обработка естественного языка, машинное обучение и семантическое понимание.","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Chatbot_Development.png","alias":"razrabotka-chat-botov"},"844":{"id":844,"title":"Доступ к данным","description":"","materialsDescription":"C ","iconURL":"https://roi4cio.com/fileadmin/user_upload/icon_Data_access.png","alias":"dostup-k-dannym"}},"companyUrl":"https://yourserveradmin.com/","countryCodes":["DEU","USA"],"certifications":[],"isSeller":true,"isSupplier":true,"isVendor":false,"presenterCodeLng":"","seo":{"title":"YOURSERVERADMIN","keywords":"","description":"YourServerAdmin - Управление сервером, консалтинг/аутсорсинг DevOps, решения для частного облака, разработка программного обеспечения на заказ","og:title":"YOURSERVERADMIN","og:description":"YourServerAdmin - Управление сервером, консалтинг/аутсорсинг DevOps, решения для частного облака, разработка программного обеспечения на заказ","og:image":"https://roi4cio.com/uploads/roi/company/small_1.png"},"eventUrl":"","vendorPartners":[],"supplierPartners":[],"vendoredProducts":[],"suppliedProducts":[],"partnershipProgramme":null}},"aliases":{},"links":{},"meta":{},"loading":false,"error":null},"implementations":{"implementationsByAlias":{},"aliases":{},"links":{},"meta":{},"loading":false,"error":null},"agreements":{"agreementById":{},"ids":{},"links":{},"meta":{},"loading":false,"error":null},"comparison":{"loading":false,"error":false,"templatesById":{},"comparisonByTemplateId":{},"products":[],"selectedTemplateId":null},"presentation":{"type":null,"company":{},"products":[],"partners":[],"formData":{},"dataLoading":false,"dataError":false,"loading":false,"error":false},"catalogsGlobal":{"subMenuItemTitle":""}}