«Транспортная наука и инновации», посвященная Посланию Президента РК Н.А. Назарбаева
«Нҧрлы жол - путь в будущее»
Материалы XXXIX Республиканской научно-практической конференции студентов
115
ПАЙДАЛАНҒАН ҼДЕБИЕТТЕР ТІЗІМІ
1. Веллинг, Люк, Томсон, Лора. Разработка Web приложений с помощью PHP и
MySQL. Пер. с англ. –М.: Издательский дом ―Вильямс‖, 2005. -800с.
2. Дронов В.А. PHP, MySQL и Dreamweaver MX 2004. Разработка интерактивных
Web сайтов. СПб.: БХВ Петербург, 2005. -448с.
3. Мидхра М. Dreamweaver MX. Пер. с англ. А.В. Бурасова –М.: АСТ:Астрель,
2005. -390с.
4. К.ДЖ.Дейт «Введение в системы баз данных». Москва – Санк-Петербург-Киев,
2005.
5. Карпова Т. Базы данных.- Санк-Петербург, 2001
6. Гагарина Н.Л. Разработка информационной системы банка/ сборник статей
―Информационные системы в экономике‖. - Алматы: Экономика, 1997 г. - с.75-87.
VISUAL STUDIO ОРТАСЫНДА LINQ ТЕХНОЛОГИЯСЫН ҚОЛДАНУ
Тұрғынова А.Б. – студент (Алматы қ., ҚазҰУ)
Кӛпбосын Л.С. студент (Алматы қ., ҚазҰУ)
.NET 3.5 ортасының басты жаңалықтарының бірі – LINQ (Language Integrated Query
— интеграцияланған сҧраныстар тілі) болды. Ол C# тіліндегі қолдануға ыңғайлы ортадан
шықпай, сҧраныс жасауға мҥмкіндік берді. LINQ тілінің кілттік сҿздері SQL сҧраныс
ҿрнектеріне ҿте ҧқсайды. Бҧл сҧраныс ҿрнектері фильтірлеуде, сҧрыптауда, топтауда
жҽне мҽліметтерді қайта қҧруда қолданылады. Осы ҿрнектерді ҽр тҥрлі мҽліметтер тҥріне
қолданып, LINQ кеңейтілуін аламыз. Мысалы:
LINQ to Objects — жадыдағы объектер мен коллекцияға сҧраныс жасайтын LINQ
қарапайым формасы;
LINQ to DataSet дҽл осы жҧмысты DataSet жадындағы объектілермен орындайды.
Сырттан алынатын мҽліметтерге сҧраныс жасайтын LINQ формасының ерекше екі
тҥрі бар:
LINQ to SQL мҽліметтерді пайдалануға арнайы рҧқсат сҧрамай SQL Server
мҽліметтер қорына сҧраныс жасайды;
LINQ to XML .NET ортасында XML файлдарына рҧқсат беретін арнайы
кластарсыз-ақ XML файлдарын оқи алады.
LINQ тілі ҿзінің қолайлығымен бағдарлама қҧрастырушыларына бағдарламаның
жоспарланған деректемелерін кодтауға азырақ, керісінше, бизнес-логикаға кҿбірек уақыт
жҧмсауға мҥмкіндік береді. Тҽжірибесі бар программа қҧрастырушысы мҽліметтермен
жҧмыс жасайтын код бҿлігін(айнымалыларды, операцияларды) бірнеше рет қайта
жазбастан, LINQ тілінде жағдайдан шығудың оңай шешімін табады.
Осыған дейін барлық мҽліметтер типімен жасалған мҥмкіндіктерді LINQ-де оңай
жасауға болады. LINQ - .NET ортасының тамаша, ҽрі маңызды қосымшасы. Кластарды
таңдап алу ҥшін LINQ SQL-дің синтаксистеріне ҧқсас сҿздерді қолданады.
Енді LINQ-де жҧмыс жасаған шынымен де ыңғайлы екеніне кҿз жеткізейік.
Бізге Student деген объектілер жиынтығы берілсін, жҽне біз олардың ішінен ҥлгерімі
ең жақсы 5 студенттің аты жҿнін экранға шығаруымыз керек. LINQ-ді қолданбай біз
келесі 1.1-листингте кҿрсетілгендей нҽтиже алар едік.
1.1-листинг: Қарапайым ҽдіспен есептеу
public
void
KarapaimAdis()
Student
[] students ={
«Транспортная наука и инновации», посвященная Посланию Президента РК Н.А. Назарбаева
«Нҧрлы жол - путь в будущее»
Материалы XXXIX Республиканской научно-практической конференции студентов
116
new
Student
{FIO=
"Жандосова
Назерке"
,
Faculty=
"Механика-математика
факультеті"
, GPA=3.95},
new
Student
{FIO=
"Nursultan
Aidana"
,
Faculty=
"Физика
факультеті"
,
GPA=3.87},
new
Student
{FIO=
"Olzhasova
Guldana"
,
Faculty=
"Химия
факультеті"
,
GPA=3.94},
new
Student
{FIO=
"Zhaksylyk Ansar"
, Faculty=
"Химия факультеті"
, GPA=3.6},
new
Student
{FIO=
"Omirzak
Maksat"
,Faculty=
"Физика
факультеті"
,
GPA=3.33},
new
Student
{FIO=
"Temirbolat
Bauyrzhan"
,
Faculty=
"Механика-математика
факультеті"
, GPA=3.65};
Student
[] students1 =
new
Student
[5];
Array
.Sort(students, (item1, item2) =>
{
return
Comparer
<
double
>.Default.Compare(item2.GPA, item1.GPA);
Array
.Copy(students, students1, 5);
foreach
(
Student
s
in
students1)
label1.Text += s.FIO.ToString() +
"\n"
;
Осы есептің шешімін біз LINQ арқылы 1.2-листингте кҿрсетілгендей, сҧранысты
ҽлдеқайда жеңілдетуімізге болады.
1.2-листинг: Мҽліметтерді таңдауда LINQ қолдану
public
void
LinqAdisi()
{
// код фрагменті
var
students1 =
from
s
in
students
orderby
s.GPA
descending
select
new
{s.FIO,
s.GPA};
// нҽтижені шығарамыз
int
count = 0;
StringBuilder
result =
new
StringBuilder
();
foreach
(
var
p
in
students1)
{
label2.Text += p.FIO.ToString() +
"\n"
;
if
(++count == 5)
{
break
;}
Бҧл ҽлдеқайда қолайлы, ҽрі кҿзге жағымды ҽдіс болып табылады. Сіздер қалың етіп
боялған SQL сҧраныстарын кҿруіңізге болады. Біз Student объектілерін GPA қасиетіне сай
кему ретімен орналастырамыз, кейін Select арқылы FIO жҽне GPA қасиеттерінің мҽндерін
аламыз. Бҧны LINQ-де сҧраныс синтаксисі деп атайды, кҿптеген бағдарлама қҧрушылар
да, LINQ-ді ҥйренген соң, осы сҧранысты ыңғайлы деп есептейді. Мҧндай сҧраныс
Product-тың ҽрбір объектісі ҥшін массивте орын бҿледі, ал бізге массивтің тек бес
элементі керек болғандықтан, соларды ғана қара экранға шығарамыз. Егер біз LINQ-дің
бҧл қарапайым сҧранысынан бас тартсақ, LINQ-дің басқа да мҥмкіндіктерін пайдаланып,
бағдарлама кодын барынша қысқарта аламыз. Қарапайым сҧраныстың орнына нҥктелік
нотация сҧранысын қолданып кҿрейік. 1.3-листингте нҥктелік нотация сҧранысын Student
объектілеріне қолданылуы кҿрсетілген:
1.3-листинг. LINQ-де нҥктелік нотация сҧранысының орындалуы
public
void
LinqAdisi()
{
//код фрагменті
var
students1 = students.OrderByDescending(e => e.GPA)
.Take(5)
«Транспортная наука и инновации», посвященная Посланию Президента РК Н.А. Назарбаева
«Нҧрлы жол - путь в будущее»
Материалы XXXIX Республиканской научно-практической конференции студентов
117
.Select(e =>
new
{e.FIO,
e.GPA});
// нҽтижені шығарамыз
foreach
(
var
p
in
students1)
{label2.Text += p.FIO.ToString() +
"\n"
;
Бҧл сҧраныс синтаксисі біз қолданып жҥрген стандартқа сай еместігін кҿріп
отырмыз, сонда да бҧл LINQ-дің кеңейтілуі болып табылады. Осы қолданылған нҥктелік
нотация ҽдісіне қарасақ, барлық орындалатын сҧраныстар қысқартылған тҥрде беріліп, ҽр
синтаксис алдына нҥкте қою арқылы тізбектеліп қҧрылған. Тҿменде 1-суретте осы
программа нҽтижесі кҿрсетілген.
1-сурет. Программа нҽтижесі
Кҿріп отырғандай программа нҽтижелері бірдей болғанымен, LINQ-дің біраз
артықшылықтары бар:
1.
Бастапқы берілген жҽне сҧранысқа жіберілген массив ҿзгертідмейді, тек сҧраныс
жасалады, яғни бастапқы кодты ҿзгертілмеген кҥйде келесі басқа сҧраныстарға қолдансақ
болады;
2.
Қосымша айнымалылардың жоқтығы, бҧл жадыда айнымалыларға кҿп орын
бҿлінбейтігін білдіреді;
3.
Программаны қҧру мен оны жҥзеге асыруға уақыттың аз жҧмсалуы.
Жоғарыда айтқандай біз шешімін табуда массивті қолданатын бҥкіл есепті LINQ-де
жеңіл жолмен шығаруға болады. Келесі есепте біз алдыңғы мысалды қолданамыз.
Тапсырма бойынша, LINQ-дің GroupBy(), Sum(), Count() ҽдістерін қолданып, берілген
Student қатарларынан Faculty бойынша студенттерді топтарға бҿліп, ҽр топтың орташа
GPA балын есептеу керек.
1.4-листинг. LINQ-дің қосымша ҽдістерін қолдану
public
void
OrtashaGPA()
{
//код фрагменті
var
result =
from
s
in
students
group
s
by
s.Faculty;
foreach
(
var
t
in
result)
{label1.Text+=t.Key.ToString()+
": "
;
double
d = t.Sum(e => e.GPA)/t.Count();
label1.Text += d.ToString() +
"\n"
;
foreach
(
var
k
in
t)
{label1.Text += k.FIO +
" "
+ k.GPA.ToString()+
"\n"
;
label1.Text +=
"\n"
;
«Транспортная наука и инновации», посвященная Посланию Президента РК Н.А. Назарбаева
«Нҧрлы жол - путь в будущее»
Материалы XXXIX Республиканской научно-практической конференции студентов
118
2-сурет. Программа нҽтижесі
LINQ қолданылуының бҧдан басқа да нҧсқаларын кҿре аласыздар, бірақ ол ҥнемі бір
қалыпта қолданылады. Тҥрлендірулердің бір тҥрі LINQ to Objects болып табылады жҽне
бҧл тҥрлендірудің мысалын біз жоғарыда кҿрсеттік. LINQ to Objects-ті қолданып, C#
объектілерінің кез келгеніне сҧраныс жасауға болады. Келесі тҥрлендіру- бҧл LINQ to
XML. LINQ to XML – бҧл XML қҧжаттағы мҽліметтерді ҿңдеу мен сҧраныс жасаудағы ең
ыңғайлы жҽне қуатты таптырмас қҧрал. Паралельді LINQ(Parallel LINQ, PLINQ) бҧл
LINQ сҧраныстарын бір мезетте бірнеше процессор немесе ядрода жҥзеге асыратын LINQ
to Object нҧсқасының кеңейтілген тҥрі болып табылады.
Бізді қызықтыратын ең ерекше нҧсқасы болып LINQ to Entities болып табылады. Ол
Entity Framework-тен алынатын мҽліметтерге LINQ сҧраныстарын жасауға мҥмкіндік
береді. Framework ADO.NET платформасында ҥлкен орын алатын Microsoft-тың ORM
фреймуоркы болып табылады. ORM C# объектілерінің кҿмегімен реляционды
ақпараттармен жҧмыс жасауға мҥмкіндік береді. Біз осы механизді пайдаланып
мҽліметтер қорында сақталынатын мҽліметтерге қол жеткізе аламыз.
Бҧл нҧсқалардан басқа LINQ-де біз IEnumerable интерфейсінен шыққан
IQueryable интерфейсін де қолданамыз. IQueryable интерфейсі белгілі мҽліметтер
қорынан алынған сҧраныс нҽтижелерін бейнелеуде қолданылады, бірақ оны ҥнемі
нҽтижені кҿрсетуде қолданудың қажеті жоқ.
Тағы да бір LINQ-дің артықшылығы – бір сҧраныс бірнеше мҽліметтер типіне
қолданыла беретіндігінде(объектілерге, XML жҽне мҽліметтер қорына, т.б.).
ПАЙДАЛАНҒАН ҼДЕБИЕТТЕР ТІЗІМІ
1.
LINQ. Язык интегрированных запросов в C# 2008 для профессионалов (Джозеф C.
Раттц-мл., 2008)
2.
Язык программирования С# 2008 и платформа .NET 3.5 (Эндрю Троелсен, 2010)
3.
Программирование на платформе Microsoft .NET Framework(Джеффри Рихтер,
2002)
«Транспортная наука и инновации», посвященная Посланию Президента РК Н.А. Назарбаева
«Нҧрлы жол - путь в будущее»
Материалы XXXIX Республиканской научно-практической конференции студентов
119
КОМПЬЮТЕРНАЯ ПОДДЕРЖКА КОММЕРЧЕСКОЙ ДЕЯТЕЛЬНОСТИ
ФИРМЫ (РАБОТА БИБЛИОТЕКИ ДЛЯ СЛАБОВИДЯЩИХ)
Искакова А.К. (г. Алматы, КазАТК)
Кожахметов М.М. (г. Алматы, КазАТК)
В эпоху информатизации принципиально изменился облик библиотеки, ее роль как
социального института в обществе. Исследуя эволюционное развитие библиотек, мы
можем, используя опыт прошлого, прогнозировать, совершенствовать работу библиотек в
зависимости от требований времени.
В зависимости от исторического, общественного, научного развития государства,
библиотека как общественный институт является учреждением, облик которого,
содержание работы и ее масштабы постоянно изменяются.
Основными и неизменными функциями библиотеки являются: сбор и хранение
документов (рукописных, печатных и т.д.), обеспечение доступа к фондам или функция
обслуживания (постепенный переход от почти полной закрытости своих фондов к
всеобщей доступности).
Библиотека в каждую историческую эпоху выполняет, наряду с неизменными
исходными функциями, целый ряд иных задач. Изменения в характере и масштабах их
выполнения влекут за собой появление новых типов библиотек.
На определенном этапе общественного развития, не смотря на то, что библиотеки
на протяжении многих веков служили науке, образованию и культуре, возникают такие
типы библиотек, которые определяют современную библиотечную систему практически
любого государства - это публичные библиотеки, библиотеки, обслуживающие широкие
слои населения; научные библиотеки; национальные библиотеки; специальные
библиотеки.
Компьютерная техника - это необходимый современный инструмент, который
помогает решать абсолютно любые производственные задачи. Как и любой другой
инструмент, компьютерная техника требует своевременного сервисного обслуживания.
Не следует ждать того момента, когда потребуется срочный ремонт. Необходимо
заблаговременно производить техническое обслуживание и модернизацию рабочего
инструмента.
Аудиоконтент, как способ восприятия информации — один из важнейших, но в то
же самое время, его роль в нашей жизни теряется в силу приобретенных людьми навыков
сканирования текста.
Известно, что большую часть информации люди, работающие в Интернете,
получают через тексты. Да, сейчас набирает обороты видеоконтент, но все равно – буквы,
знаки и символы правят бал. Чаще всего именно с ними мы имеем дело, и вот интересная
закономерность — в результате чтения сайтов, у людей уже выработался такой стиль
работы с текстом, как сканирование. Мы привычно пробегаем глазами по тексту, вырывая
кусочки ключевых фраз и заголовки.
В связи с таким стилем чтения - форматирование текста приобретает очень важное
значение. Иначе - грозит опасность вообще потерять сканирующего по диагонали
читателя. При таком беглом просмотре, не всегда вникая в содержание текста, выдается на
гора свое мнение и считается, что текст прочитан и общение состоялось.
Текст — это всего лишь знаки и символы, помогающие на самом деле
ВЕРБАЛИЗОВАТЬ его. Но в современном информационном обществе, в силу обилия
текстов и их значимости не только для людей, но и для поисковиков, в силу
загруженности нашего разума текстовой информацией, аудио и его важность в жизни
человека очень нивелируется. Взгляд на аудио раскрыт с точки зрения человека и с
учетом его психологии, занятого работой в Интернете.
«Транспортная наука и инновации», посвященная Посланию Президента РК Н.А. Назарбаева
«Нҧрлы жол - путь в будущее»
Материалы XXXIX Республиканской научно-практической конференции студентов
120
Создание аудио книг в формате Daisy
DAISY - цифровая говорящая книга (digitaltalkingbook) для слепых. Эта книга
имеет особенности формата, используемого практически во всѐм мире для "говорящих"
книг.
В 90-е годы XX века со всей остротой встал вопрос о необходимости нового
формата аудиокниг для незрячих. Уже тогда было совершенно очевидно, что дни
аудиокассет сочтены. С другой стороны, коммерческие форматы не вполне подходили для
"говорящих" книг. В частности, нужен был формат, обеспечивающий возможность
удобной разметки и навигации по книге. Кроме того, возникла серьѐзная проблема
необходимости защиты аудиокниг от нелегального копирования.
В качестве нового стандарта "говорящей" книги был предложен формат,
получивший название DAISY.
Слово DAISY - это акроним. Он расшифровывается как Digital Accessible
Information System (Цифровая доступная информационная система).
Современная версия стандарта DAISY подразумевает следующие возможности:
– высокая степень сжатия аудиофайлов. На одном компакт-диске можно уместить
до 90 часов - звук;
– гибкая навигация. Формат DAISY предусматривает шесть уровней навигации,
плюс навигация по страницам, абзацам, предложениям и фразам. Это значит, что незрячий
человек, работающий с книгой в формате DAISY, может легко найти нужную главу,
нужный раздел или страницу.
– сочетание и синхронизация различных способов представления материала. Книга
в формате DAISY может содержать как обычный текст, так и аудиодорожку, иллюстрации
и видеоряд. Например, учебник, начитанный диктором, может сопровождаться полным
или частичным текстовым вариантом.
Sigtuna DAR 3 - Новый проект (синхронизированная книга)
Чтобы создать новый проект, выберите пункт меню File> New или нажмите кнопку
"Новый проект" на панели инструментов. Когда появится диалоговое окно "Создать
новый проект", выберите значок "Синхронная книга" и нажмите "OK". На рисунке 1
показано вход в систему Sigtuna DAR 3.
Рисунок 1 – Вход в систему Sigtuna DAR 3
Появится диалоговое окно "Выберите место назначения проекта". Введите
название книги, затем нажмите кнопку "Выбрать путь".
Когда вы открываете диалоговое окно "Выберите или создайте новую папку",
пункт назначения по умолчанию может быть папка Sigtuna DAR 3 - в папке Program Files
или выбранной папке раньше. Убедитесь, что Вы правильно выбрали место назначения
проекта на жестком диске. На рисунке 2 показано создание папки для нового проекта.
«Транспортная наука и инновации», посвященная Посланию Президента РК Н.А. Назарбаева
«Нҧрлы жол - путь в будущее»
Материалы XXXIX Республиканской научно-практической конференции студентов
121
Рисунок 2 – Создание папки для нового проекта
После выбора жесткого диска, на котором будет храниться проект, нажмите
кнопку "Новая папка", которая находится в левом нижнем углу диалогового окна и
поместить папку проекта непосредственно на диске "Новая папка", который только что
был создан будет подсвечена, и вы можете ввести в название книги. После нажатия
кнопки "OK", вернуться в диалоговое окно "Выберите место назначения проекта".
Выберите "OK" снова.
При создании новой папки нельзя оставлять пробелов между словами в имени
папки. Вы можете использовать подчеркивания или писать слитно, например,
"We_Believe_in_DAISY" или "WeBelieveInDaisy, как показано на рисунке 3.
Рисунок 3 – Нельзя оставлять пробелов между словами
Для того, чтобы организовать и управлять своими проектами более легко, вы
можете создать папку на жестком диске для хранения всех ваших папок DAISY проекта.
Это может быть просто называется DAISY_Projects.
После нажатия на кнопку "OK", "Создать новый Daisy 2,02 Проект" отображается
диалоговое окно. Есть два основных направления в этом диалоговом окне: "Документы,
добавленные" слева, и "Текущий файл MDF" на правой части диалогового окна. Нажмите
кнопку "Добавить", который находится в левом нижнем углу. Как показано на рисунке 4.
Рисунок 4 – Кнопка добавить
|