АУСистем хийцгээе. Хичээл 1

Php хэлийг ашиглан веб сайт хийх ажил шинээр эхэлж байгаа хүмүүст ойлгомж муутай санагдах нь элбэг тохиолдоно. C# NET, Visual Studio зэрэг дээд түвшингийн хэлний фреймворк ашиглан хэрэглэгчийн компьютерт суулган ажилладаг программ зохиож байсан хүмүүст веб сайт боловсруулах ажил эхлээд их төвөгтэй мэт санагдана. Учир нь Php, MySql ашиглан сайт хийхийн тулд та сервер болон хэрэглэгчийн талын бүх зүйлээ өөрөө хийх хэрэгтэй болдог. Ийм хэмжээний ажлыг кодлон веб сайт боловсруулна гэвэл мэдээжээр их хугацаа орох нь ойлгомжтой. Тэгвэл сайтыг хэрхэн хурдан боловсруулах вэ? гэсэн асуулт гарч ирдэг. Энд л Php фреймворк, Агуулгын удирдах систем буюу CMS (Content management system) гэсэн ойлголт гарч ирдэг.

Ямарч программ боловсруулах ажилд өгөгдлийн сантай ажиллах, системд нэвтрэх, тексттэй ажиллах, тохиргоонуудыг хийх гээд ижилхэн ажиллагаанууд байнга давтагдаж байдаг. Ийм ерөнхий ажиллагаануудыг хийх сангуудыг үүсгээд тэдгээрийг ашиглах боломжийг бүрдүүлсэн классуудын санг Php фреймворк гэдэг. Жишээ нь Yii, Sympony, Codeigniter, Zend гэх мэтээр олон тооны фреймворкууд бий. Эдгээрийг сайт хийх хэв гээд ойлгоход болно. Php фреймворкууд бол сайт хийх бэлдэц.

Фреймворкуудын зэрэгцээ сервертээ суулгаад шууд бэлэн сайт үүсгэх боломжтой пакетууд байдаг бөгөөд эдгээрийг Агуулгын удирдах систем буюу CMS (Content management system) гэдэг. Өргөн дэлгэрсэн АУС -үүдэд Joomla, Wordpress, Drupal зэргийг дурдаж болно.
Php хэл нээлттэй кодтой учраас фреймворк, АУ системийн аль алинг хэрэглэгч өөрийн хүссэн байдлаар өргөжүүлэх боломжтой байдаг давуу талтай.
АУС -үүд өөрийн гэсэн баазын бүтэц, хуудсыг үзүүлэх хэв /теймплейт/ зэргийг стандарт хэлбэрээр шууд ашиглах боломжийг бүрдүүлсэн байхад фреймворкууд сайтыг боловсруулах анхан шатны бэлдэц маягаар байдгаараа ялгаатай. Эндээс Фреймворк бол үндсэн функцуудыг агуулсан программын сангууд харин АУС -үүд нь сайтын бэлэн систем гээд ойлгоход болно. Энэ хоёрыг бүр тусдаа зүйлүүд гэж ойлгох хэрэггүй. АУС -үүд өөрийн гэсэн фреймворк дээр л үндэслэн хийгдэнэ. АУС -үүдийг хийхдээ өргөн ашигладаг аль нэгэн фреймворкийг ашигласан ч болно эсхүл зохиогчид өөрсдийн бичсэн фреймворкийг ашиглаж ч болдог.

Бид энэхүү цуврал хичээлээр хэдийгээр жижигхэн боловч бүрэн ажиллагаатай АУС-ийг өөрөө боловсруулахыг авч үзэх болно. Хичээлийн явцад та MySQL бааз үүсгэх, обьект, тогтмолууд, файл оруулах, сессионтой ажиллах гээд Php хэрэгслүүдтэй танилцана. Үүнээс гадна программын логикоос харуулах хэсгийг хэрхэн салгах, илүү аюулгүй PHP кодыг бичих зэргээр өөрийн системийг үүсгэхэд хэрэгтэй зүйлүүдийг мэдэх болно.

Тайлбар:
Хичээлийн матераилуудыг үзэхийн тулд танд PHP , MySQL сервер модулийг суулгасан Apache веб сервер хэрэгтэй болно. Өөрийн комьютерыг веб сервер болгох тухай Компьютерт локал веб сервер суулгах хичээлээс үзээрэй.

Манай АУС-ийн гүйцэтгэх үүрэг.

Эхний ээлжинд бидний хийх АУС-ийн юу хийхийг нарийн тодорхойлсон байх хэрэгтэй. Манай АУС дараах ажиллагааг хийх болно.
Хэрэглэгчийн хэсэг

  • Сүүлийн 5 материалыг үзүүлэх нүүр хуудас
  • Бүх материалын жагсаалтыг үзүүлэх хуудас
  • Сонгосон материалыг үзүүлэх хуудас

Серверийн хэсэг

  • Админ нэвтрэх болон гарах
  • Бүх материалуудын жагсаалт
  • Шинэ материал нэмэх
  • Материалыг засварлах
  • Материалыг устгах

Материал бүр өөрийн толгой, товч агуулга, агуулга, нийтэлсэн огноотой байна.

Ажлын төлөвлөгөө

  1. Өгөгдлийн баазыг үүсгэх
  2. articles хүснэгтийг үүгэх
  3. Тохиргооны файлыг үүсгэх
  4. Article классыг хийх
  5. Хэрэглэгч талын скриптийг хийх. index.php
  6. Сервер талын скриптийг хийх. admin.php
  7. Хэрэглэгч талын теймплейт үүсгэх
  8. Сервер талын теймплейт үүсгэх
  9. Системийн хэвийн хүснэгт, логог үүсгэх

Системийн хийх үйлдлүүд, ажлын төлөвлөгөөг гаргасан болохоор ажилдаа орцгооё. Эхлээд сайтын агуулгыг хадгалах өгөгдлийн баазыг MySQL дээр үүсгэе. Өгөгдлийн баазыг үүсгэхдээ веб серверийн терминал болон phpMyAdmin утилитын алийн ч ашиглаж болно.

Веб серверийн терминалыг ашиглах

mysql клиент программыг ачааллах.

Үүнийг XAMPP Сontrol Panel -г ашиглан хэрхэн хийхийг үзүүлье. Та өөр сервер суулгасан байсан ч нэг их зөрөхгүй. Компьютерт локал веб сервер суулгах хичээлийг үзэн локал серверийг суулгасан бол таны компьютерт XAMPP суусан байх ёстой. XAMPP Сontrol Panel -г нээгээд Shell товчийг дарна.

Санамж:
Shell товчийг эхлээд дарахад терминал ажиллуулах .bat файл үүсгэх эсэхийг асууж болно. Та зөвшөөрсөн хариу өгөхөд л болно.
Нээгдсэн терминалын цонхонд

mysql -u username -p

командыг бичин өгөөд Enter товчийг дарахад Таныг нууц үгээ оруулахыг шаардана. MySQL серверт хандах нууц үгээ оруулна.
username - MySQL серверт өгөгдлийн бааз үүсгэх эрх бүхий хэрэглэгчийн нэр. Локал компьютер дээр ажиллаж байгаа бол хэрэглэгчийн нэрээр root -г ашиглаж болно. Локал компьютерт MySQL сервер суухдаа өгөгдлийн сангийн бүрэн эрхтэй root хэрэглэгчийг пасспортгүйгээр нээн өгдөг. Аюулгүй байдлаа бодвол өгөгдлийн баазыг удирдахдаа өөр нэртэй хэрэглэгч үүсгэж байх нь илүү.   

Өгөгдлийн баазыг үүсгэх.

Эхний алхам зөв хийгдсэн бол mysql> гэсэн промт гарч ирнэ.

create database cms;

командыг өгөөд Enter дарна. Бааз үүсгэсэн тухай мэдээлэл гарч ирнэ.

mysql клиент программаас гарах.

mysql> промтын араас exit командыг өгөөд Enter дарна. Одоо терминалын цонхыг хааж болно.

Одоо бидний системийн агуулгыг хадгалах хоосон бааз үүссэн.

phpMyAdmin утилитыг ашиглах

Өгөгдөл хадгалах баазыг MySQL серверийн phpMyAdmin утилитыг ашиглан хийх боломжтой. Үүний тулд хөтөчийн хаягийн мөрөнд http://localhost/xampp/ гэж бичин ороод PhpMyAdmin цэсээр орно. Таны веб сервер ажиллаж байх ёстойг анхаарна уу. Өөрөөр хэлбэл XAMPP Сontrol Panel дээр Apache болон MySQL серверүүд ажилласан байх хэрэгтэй. PhpMyAdmin хуудасны Databases таб руу ороод гарч ирэх дэлгэц дээр

үүсгэх баазын нэрээ /cms/ өгөөд хоёрдахь жагсаалтаас utf8_unicode_ci -г сонгоод Create товчийг дарна. Таны үүсгэн өгсөн бааз хуудасны зүүн багананд байрлах сервер дээрх баазуудын нэрсийн жагсаалтанд орж ирнэ. phpMyAdmin утилитыг ашиглан баазтай холбоотой олон тооны тохиргоонуудыг хийх боломжтой.
Бид сайтын агуулгыг хадгалах баазыг үүсгэлээ. Баазын нэрийг cms гэж өгсөн. Та өөр нэр сонгож болох ч цаашид бичигдэх кодуудад үүнийгээ тооцох хэрэгтэйг санаж байгаарай. Дараагийн хичээлээс бид баазад хүснэгт үүсгэн өөрсдийн агуулгыг удирдах системээ хийх болно.

Мэдээлэл таалагдсан бол найзуудтайгаа хуваалцаарай.

  Нээгдсэн тоо: 1967 Төлбөртэй

Өвлөх (Inheritance) гэдэг нь "эцэг" хэмээн нэрлэгдэх байгаа классаас шинэ классыг үүсгэх боломжийг бүрдүүлдэг обьект хандалтат программчлалын үндсэн механизмуудын нэг юм. Энэхүү механизмыг ашиглан өөр классаас үүсгэсэн классыг дэд класс гэж нэрлэдэг. Ийм холбоосыг "эцэг", "хүүхэд" гэсэн ойлголтоор голдуу тайлбарладаг. "Хүүхэд" класс нь "эцэг" -ээс үүсэн түүний шинж болон аргуудыг өвлөн авна. Дэд класст эцэг классаас ("эцэг" классыг бас супер класс гэж нэрлэдэг) өвлөгдөн ирсэн боломжуудыг ихэнх тохиолдолд шинэ боломжуудаар өргөжүүлэн өгдөг.

  Нээгдсэн тоо: 3923 Төлбөртэй

Cookie гэж юу болох, түүнийг үүсгэх, унших, устгах талаар Cookie-тэй ажиллах хичээлд үзсэн. Энэ хичээлээр Php -гийн Cookie ойлголтын талаар арай дэлгэрүүлэн авч үзье. Сервер хэрэглэгчээс POST эсхүл GET аргын алингаар нь ч бай өгөгдөл хүлээн авсан байлаа ч тэр хэрэглэгчийн талаар юу ч мэдэхгүй. Өөрөөр хэлбэл сервер өгөгдөл хүлээн аваад боловсруулаад үр дүнг бидэнд буцаана. Бид серверт шинээр эсхүл дахин шаардлагыг илгээхэд тэр бидний талаар юуг ч санахгүй тул таныг шинэ хэрэглэгч эсхүл үгүй гэдгийг мэддэггүй. Энэ нь хэн нэгэн сохор хөгжимчин гудамжинд тоглолт хийгээд зогсож байхад өнгөрч яваа хүн түүний хандивын хайрцагт мөнгө хийгээд дараа нь буцахдаа дахин хийхтэй төстэй зүйл. Хөгжимчин мөнгө хийсэн хүн түрүүнд нь өгсөн хүн үү эсхүл өөр хүн байв уу гэдгийг мэдэхгүй шүү дээ.

  Нээгдсэн тоо: 4031 Төлбөртэй

Обьект хандалтат программчлалын үндсэн ойлголт бол класс болон обьект байдаг. Обьект хандалтат программчлалын талаар олон зүйлийг бичиж болох хэдий ч класс обьектын талаарх ойлголтыг сайн авсан байхад бүх зүйлүүд ойлгомжтой болоод ирэх болно. Багахан хэмжээний эсхүл нэг зохиогчтой программд энэхүү технологийг ашиглах нь илүүц мэт санагдаж болох ч та Php хэлийг эзэмшин программ зохиох гэж байгаа бол ОХП -ийг заавал ойлгон авсан байх хэрэгтэй. Класс обьектыг тодорхойлж байдаг учраас классын тодорхойлолтоос эхлэе. Хичээлийн жишээнүүдийг шууд туршаад үр дүнг хараад явбал илүү ойлгомжтой. Жишээг туршихын тулд та компьютераа локал сервер болгосон байх хэрэгтэй.

  Нээгдсэн тоо: 2731 Төлбөртэй

Файлтай ажиллах

Файл нь мэдээлэл хадгалагч дээрх нэр бүхий хэсэг. Файлтай ажиллахын тулд эхлээд түүнийг нээх хэрэгтэй. Энэ зорилгод ихэнхдээ fopen() функцыг ашигладаг. Функц нь нээх файлын нэр болон нээлтийн горимыг заасан тусгай тэмдэгтүүдийг оролтын параметр болгон авна. Эхний параметрын хувьд хэрвээ заагдсан нэртэй файл байхгүй бол функц нь алдаа өгнө. Функцээс source төрлийн утгатай файлын дискрипторийг (файлыг нээхэд олгогдсон дугаар) буцаана. Файлыг нээх ажиллагаа бүтэлгүй болсон тохиолдолд FALSE утгыг буцаана. Хоёрдугаар параметр нь файл нээх горимыг заах бөгөөд доорх утгуудыг авна.

Кодийн сайжруулалт /рефакторинг/ хичээлээр програмийн кодоо react -ийн зарчимд нийцүүлэн компонентод салгасан.…

Нээгдсэн тоо : 8

 

Хадгалагч (Memento) хэв обьектын дотоод төлвийг түүний гадна гаргаж дараа нь хайрцаглалтын зарчмыг зөрчихгүйгээр обьектыг сэргээх боломжийг олгодог.

Нээгдсэн тоо : 18

 

Делегаттай нэргүй арга нягт холбоотой. Нэргүй аргуудыг делегатийн хувийг үүсгэхэд ашигладаг.
Нэргүй аргуудын тодорхойлолт delegate түлхүүр үгээр…

Нээгдсэн тоо : 16

 

Математикт харилцан урвуу тоонууд гэж бий. Ямар нэгэн тооны урвуу тоог олохдоо тухайн тоог сөрөг нэг зэрэг дэвшүүлээд…

Нээгдсэн тоо : 28

 

Төсөлд react-router-dom санг оруулан чиглүүлэгчдийг бүртгүүлэн тохируулсан Санг суулган тохируулах хичээлээр бид хуудас…

Нээгдсэн тоо : 28

 

Хуваах нь нэг тоо нөгөө тоонд хэдэн удаа агуулагдаж буй тодорхойлох арифметикийн үйлдэл.
Хуваалтыг нэг бус удаа…

Нээгдсэн тоо : 28

 

Зуучлагч (Mediator) нь олон тооны обьектууд бие биетэйгээ холбоос үүсгэхгүйгээр харилцан ажиллах боломжийг хангах загварчлалын хэв юм. Ингэснээр…

Нээгдсэн тоо : 26

 

Делегатууд хичээлд ухагдхууны талаар дэлгэрэнгүй үзсэн ч жишээнүүд делегатийн хүчийг бүрэн харуулж чадахааргүй байсан.…

Нээгдсэн тоо : 38

 

react програмд олон хуудас үүсгэн удирдахын тулд react -ийн бүрэлдхүүнд ордоггүй ч түүнтэй нягт холбоотой ажилладаг нэмэлт пакетийг…

Нээгдсэн тоо : 44

 
Энэ долоо хоногт

функц өгөгдөв.

  1. f(x) функцын x0=5 абсцисстай M цэгт татсан шүргэгч шулууны тэгшитгэл
  2. f(x) функцын график, дээрх шүргэгч шулуун болон координатын тэнхлэгүүдээр хүрээлэгдсэн дүрсийн талбай  
  3. f(x) функцын графикийг M цэгт шүргэх, төв нь OX (абсцисс) тэнхлэг дээр орших тойргийн тэгшитгэл

Нээгдсэн тоо : 2767

 

илэрхийллийн a=36,7 тэнцүү байх утгыг ол.

Нээгдсэн тоо : 657

 

a ба b нь 3x2-x-1=0 тэгшитгэлийн шийдүүдтэй тэнцүү бол илэрхийллийн утгыг ол.

Нээгдсэн тоо : 693