
- •Що виносяться на державний іспит в 2014 р. (спеціалісти спеціальності «інформатика»)
- •1. Програмування, системне програмування
- •Системнепрограмування
- •1. Мови програмування та їх класифiкацiя.
- •2. Системнепрограмування
- •2. Типи даних, скалярні та структурованi типи. Оператори; оператор присвоєння, структурнi оператори. Засоби вводу-виводу.
- •3. Структуризація програм та даних. Підпрограми, функцiї.
- •4. Динамічні структури даних. Списки, стеки, черги. Дерева, бінарні дерева. Дерева пошуку.
- •5. Поняття про функцiональне програмування, структурне програмування, об'єктно-орiєнтоване програмування.
- •6. Інструментальні засоби розробки інформаційних технологій, case-технології
- •2. Системнепрограмування
- •7. Cучасні технології програмування та тенденції їх розвитку.
- •2. Системнепрограмування
- •8. Об’єктно-орієнтоване програмування. Мова Java.
- •2. Системнепрограмування
- •9. Поняття мовного процесора. Типи мовних процесорів. Основні фази мовного процесора.
- •2. Системнепрограмування
- •10. Скінченні автомати. Методика побудови лексичного аналізатора на основі скінченного автомата.
- •2. Системнепрограмування
- •11. Синтаксичний аналіз та породжувальні граматики. Виведення в граматиці, дерево виведення. Лівостороння та правостороння стратегії виведення.
- •2. Системнепрограмування
- •12. Ll(k)-граматики. Перевірка ll(1)-умови. Побудова ll(1)-таблиці для управління синтаксичним ll(1)-аналізатором.
- •2. Системнепрограмування
- •13. Методи денотацiйної та операційної семантики. Метод семантичних підпрограм. Атрибутний метод визначення семантики програм. Семантичний терм програми.
- •2. Системнепрограмування
- •14. Машинно-орієнтовані мови програмування. Асемблери. Структура асемблера, перегляди тексту програми та відповідні бази даних.
- •2. Інформаційні технології
- •1. Уніфікована мова моделювання uml. Діаграми прецедентів
- •2. Використання діаграм послідовностей та діаграм класів при проектуванні програмних систем.
- •3. Патерни проектування
- •Класифікації патернів:
- •4. Платформа .Net Framework.
- •5. Сервісно-орієнтована архітектура
- •6. Огляд технологій j2ee. Технологія Java rmi.
- •8. Патерн Model-View-Controller у Web-проектах.
- •9. Патерн (принцип) ioc&di та його підтримка у фреймворку Spring
- •10. Проблема валідації даних у Web-проектах. Підтримка ajax.
- •3. Інформаційні мережі
- •1. Інформаційна глобальна мережа internet (написано много, выбрать главное)
- •Internet надає такі основні види послуг:
- •2. Система доменних імен глобальної мережі internet.
- •3. Система електронної пошти глобальної мережі internet.
- •4. Системи інтерактивних комунікацій глобальноїмережі internet (на прикладі Skype, icq).
- •5. Системи електронних спільнот глобальної мережі internet (на прикладі Facebook, Twiter).
- •6. Поняття універсального вказівника ресурсу. Основні типи ресурсів.
- •7. Мережі tcp/ip.Стек протоколів tcp/ip: топологічні особливості, функції рівнів.
- •8. Поняття раутінгу в мережах tcp/ip. (аккуратно, перевод через гугл транслейт!!!)
- •9. Технології, що забезпечують відмовостійкість мереж tcp/ip. (ответ не очень)
- •10.Класифікація комп’ютерних мереж.
- •11. Системи захисту інформації в глобальній мережі internet (на прикладі pgp).
- •4. Математична логіка та теорія алгоритмів, теорія програмування
- •9. Основні поняття програмування, відношення між ними. Основні програмні поняття Розвиток основних понять програмування
- •Композиції
- •11. Методи подання синтаксису мов програмування.
- •4.8.1. Нормальні форми Бекуса–Наура
- •4.8.2. Модифіковані нормальні форми Бекуса–Наура
- •4.8.3. Синтаксичні діаграми
- •Визначення основних понять формальних мов
- •4.3. Операції над формальними мовами
- •13. Неперервні відображення.Теореми про найменшу нерухому точку (Кнастер-Тарський-Кліні); теорема про неперервність оператора нерухомої точки.
- •14. Методи формальної семантики мов програмування (композиційна, натуральна, денотаційна, аксіоматична).
- •5. Штучний інтелект
6. Огляд технологій j2ee. Технологія Java rmi.
Java Platform, Enterprise Edition, скорочено Java EE (до версії 5.0 — Java 2 Enterprise Edition або J2EE) — обчислювальна корпоративна платформа Java. Платформа надає API та виконавче середовище для розробки і виконання корпоративного програмного забезпечення, включаючи мережеві та веб сервіси, та інші масштабовані, розподілені застосунки. Java EE розширює стандартну платформу Java (Java SE - Java Standart Edition)[1].
J2EE є промисловою технологією і в основному використовується в високопродуктивних проектах, в яких необхідна надійність, масштабованість, гнучкість.
Компанія Oracle, яка придбала Sun (фірму, що створила Java), активно просуває Java EE у зв'язці з своїми технологіями, зокрема з СУБД Oracle.
Java EE включає в себе стандарти наступних технологій:
Веб-сервіс
Сервлет (javax.servlet и javax.servlet.http)
Java Server Pages
Enterprise JavaBean (javax.ejb.*)
J2EE Connector
Java Message Service (javax.jms.*)
Інтерфейс для обробки XML
Java Authorization Contract for Containers
JavaServer Faces (javax.faces.component.html)
Java Persistence API (javax.persistence)
Сервер застосунків J2EE — це реалізація системи згідно з специфікацією J2EE, яка забезпечує роботу модулів з логікою конкретної програми. Включає в себе щонайменше такі сервіси[Джерело?]:
EJB-контейнер, який підтримує автоматичну синхронізацію Java об'єктів з базою даних (CMP — container managed persistence, BMP — bean managed persistence);
JMS — сервіс доставки повідомлень між компонентами і серверами;
керування ресурсами (доступ до СКБД, файлової системи і т. д.);
безпека і захист даних;
підтримка транзакцій (в том числі і розподілених). Див. Java Transaction API.
веб-сервер і сервлет-сервер;
підтримка веб-сервісів.
JSF
RMI (англ. Remote Method Invocation) - програмний інтерфейс виклику віддалених методів у мові Java.
Розподілена об'єктна модель, що описує, яким чином здійснюється виклик віддалених методів, що працюють на іншій віртуальній машині Java. При доступі до об'єктів на іншому комп'ютері, можна викликати методи цього об'єкту. Необхідно тільки доставити параметри методу на інший комп'ютер, повідомити об'єкт про необхідність виконання методу, а потім передати назад значення (якщо метод не void). Механізм RMI дає можливість організувати виконання всіх цих операцій.
У термінах RMI об'єкт, який викликає віддалений метод, називається клієнтським об'єктом, а віддалений об'єкт - серверним об'єктом. Комп'ютери виступають у ролі клієнта і сервера тільки для конкретного виклику. Цілком можливо, що при виконанні наступної операції ці комп'ютери поміняються ролями, тобто сервер може сам стати клієнтом при зверненні до об'єкту на іншому комп'ютері. При виклику методу віддаленого об'єкту, насправді викликається звичайний Java метод, інкапсульований у спеціальному об'єкті-заглушці (stub), який є представником серверного об'єкту. Заглушка знаходиться на клієнтському комп'ютері, а не на сервері. Вона упаковує параметри віддаленого методу у блок байтів. Кожен параметр кодується за допомогою алгоритму, що забезпечує незалежність від апаратного забезпечення. Наприклад, числа завжди передаються в порядку, при якому спочатку передається старший байт (big-endian). При цьому об'єкти піддаються серіалізації. Процес кодування параметрів називається розгортанням параметрів (parameter marshaling). Основна мета розгортання параметрів - перетворення їх у формат, придатний для передачі параметрів від однієї віртуальної машини до іншої.
7. Web-технології Java Servlet та JSP
Платформа J2EE пропонує модель багаторівневого розподіленого програми, можливість повторного використання компонентів, інтегрований обмін даними на основі XML, уніфіковану модель безпеки і гнучке управління транзакціями. Засновані на компонентах J2EE-рішення більше не прив'язані до продукції та API якого-небудь одного виробника. Виробники і користувачі мають свободу вибору продуктів і компонентів, які найбільш повно задовольняють їхні ділові та технологічні вимоги. У J2EE пропонується широкий спектр інтерфейсів API для уніфікованого доступу до сервісів (служб) та програм, реалізованих сторонніми організаціями.
Взаємодія з клієнтом:
JSP (Java Server Pages).
Java сервлети.
Web-служби.
Бізнес-логіка:
Enterprise Java Beans (EJB). Специфікація EJB є серцевиною
платформи J2EE).
Базові служби (інтерфейси API):
JNDI
JTS
JPA
JTA
JDBC
RMI
та інші
Більшість програмних систем - це інструментальні засоби, які використовуються у виробничій діяльності. Розробники ПС повинні бути переконані, що їх продукт дійсно допоможе людям, а не буде “баластом”, що тільки нав'язується начальством. Тому розробнику перш ніж безпосередньо братись за реалізацію ПС, треба спочатку зрозуміти ділову сферу. Реальним кроком для цього є ділове моделювання (або бізнес-моделювання, моделювання виробничої діяльності організації чи підприємства).
Користувач уводить URL у браузері. Згідно з даними у конфігурацій-ному файлі (на сервері) за URL визначається відповідний сервлет (його керуванням опікується серверний контейнер сервлетів).
Контейнер завантажує клас сервлета, створює екземпляр об'єкта-сервлета (створюється максимум один екземпляр у програмному додатку – singleton) та ініціалізує сервлет шляхом виклику метода init().
Контейнером створюються об'єкти HttpServletRequest (у ньому інкап-сулюється запит, що надійшов від Web-клієнта) та HttpServletResponse (“інкапсульва-
на форма” відповіді).
Контейнером викликається метод service() сервлету з параметрами-об'єктами HttpServletRequest і HttpServletResponse. Звичайно, реалізація цього методу може містити звернення до інших об'єктів, у тому числі таких, що надають доступ до БД.
Розробка java-класів сервлетів здійснюється за рахонок успадкування від одного з двох Java-класів :
GenericServlet (підтримка універсальних сервлетів);
HttpServlet (підтримка Http-сервлетів; цей клас, зокрема, містить додаткові методи doGet, doPost, doPut тощо для обробки Http-запитів Get, Post, Put тощо).
Деякі переваги Web-технології сервлетів:
незалежність від платформи (бо в основі Java-код);
повний доступ до всіх API Java, включаючи API доступу до БД, зокрема, JDBC;
наявність потужної промислово-інструментальної підтримки технології сервлетів, зокрема, наявність контейнерів сервлетів у найбільш розповсюджених Web-серверах чи серверах додатків.
Елементи JSP:
директиви: include, page, taglib;
елементи скриптів (у них міститься java-код, який вставлятиметься у сервлет, створюваний з JSP-сторінки): декларації, вирази, скриптлети;
дії: jsp:useBean, jsp:getProperty, jsp:setProperty, jsp:forward, jsp:include, jsp:plugin.
Заздалегідь визначені змінні (вони створюються контейнером та можуть істотно полегшувати розробку проектів):
request, response, out, session, application, config, pageContext, page.
Основні підходи до реалізації Web-проектів на основі JSP
1. Створення проекту як набору HTML-дескрипторів і JSP-скриптлетів.
Іноді, особливо для великих проектів, важко у таких сторінках відокремити бізнес-логіку від “візуальної логіки” (представлення – View), а отже суттєво ускладнюється супровід та можлива модифікація проекту.
2. Делегування функцій компонентам bean (на основі використання тегу jsp:useBean). (Архітектура Model 1.)
Значна частина Java-коду переміщується з JSP-документів у компоненти bean , тому проекти, створені за таким принципом, стають більш життєздатними.
Компоненти bean виступають посередниками у взаємодії JSP з бізнес-об'єктами, а отже зміни в останніх менше впливають на сторінки JSP.
Усе ж файли JSP не тільки представляють уміст web-сторінок (View), але, як і раніше, відповідають за їх динамічну генерацію – залишається формула
JSP = представлення (View) + логіка.
(Не завжди можна відокремити задачі
для дизайнера від задач для програміста).
3. Використання сервлетів, JSP і компонентів bean для реалізації архітектури "модель- представлення-контролер" (MVC — Model -View -Controller). (Архітектура Model 2.)