Angular фреймворк

Сүүлийн жилүүдэд Angular, React, Vue гэх мэт Javascript сангуудын хөгжлөөр интернет програмчлалд динамик ажиллагаагтай сайт боловсруулах шинэ давалгаа үүссэн. Энэ нийтлэлээр Angular гэж юу вэ, юунд хэрэгтэй, ямар асуудлыг шийдэхэд бидэнд туслахыг тодруулъя. Angular бол Google компани боловсруулсан нээлттэй эх код бүхий JavaScript сан буюу фреймворк. Angular фреймворкийг ашиглан Single page application / нэг хуудас програм/ гэж нэрлэдэг динамик програмыг бүтээдэг. Энгийнээр хэлбэл Single page application гэдэг нь интернет дэх ердийн сайт боловч сайт ердөө нэг л хуудсаас бүрдэнэ. Энэ бол техникийн талаасаа ойлголт. Single page application хэрхэн ажилладаг, ердийн сайтуудаас ямар давуу талтайг Angular -ын албан ёсны веб сайтаас https://angular.io харж болно.

Сайтын ажиллагааг харвал хуудас хоорондын шилжилт ямар нэгэн дахин ачаалалтгүйгээр шууд шилжиж байгаа. Юуны ачаар ийм үр дүнд хүрч байна вэ гэвэл сайтын бүх код манай хөтөч дээр локал байдлаар байрлаж байгаад оршино. Гэхдээ бүх агуулга бидний хандсан URL -аас хамааран JavaScript -ээр динамикаар бүрдэж байгаа. Ингэснээр бид өөр өөр хуудсуудыг нэг сайт дээрээс хараад байгаа мэт сэтгэгдэл төрүүлнэ.
Энэ аргачлал стандарт аргачлалаас юугаар ялгаатай вэ гэвэл бид серверт илүү хүсэлтийг явуулахгүйд оршиж байгаа. Стандарт аргачлалд бид шинэ хуудаст шилжих хэрэгтэй болбол сонирхож буй цэсээ сонгоход шинэ URL бүрдүүлээд түүнийг серверт илгээн сервер талд шинэ хуудсын генерац /бүрдүүлэлт/ хийгдэн HTML хуудсыг хэрэглэгчид буцаадаг. Харин SPA -ны хувьд серверээс ямар нэгэн HTML хуудсыг авахгүй түүнийг JavaScript -ээр динамикаар бүрдүүлэн харуулдаг. Ингэснээр SPA серверт хүсэлт илгээх технологиос хамаагүй хурдан ажилладаг тул орчин үед сайт бүтээх ажиллагаанд маш хурдацтай тархах болсон. Ийм төрлийн програмыг амархан, хөнгөн зохион, дэмжлэг үзүүлэхэд Angular фреймворк бидэнд туслана.
Хувилбарын хувьд Google компани эхлээд Angular JS 1 -ийг зохиосон бөгөөд энэ хувилбар нилээд өргөн дэлгэрч түүн дээр олон сайтууд бичигдсэн. Харин 2016 онд Google компани өмнөх хувилбараасаа өөр хэл дээр, өөр паттернууд ашиглан бичигдсэн бүрэн шинэчлэгдсэн Angular JS 2 хувилбарыг танилцуулсан. Энд хувилбарын зөрчил бий болсон учраас эдгээрийн синхронизац хийх үүднээс Angular4 хувилбарыг гарган зүгээр Angular гэж нэрлэсэн. 2017 оны 11-р сард Google компани Angular5 хувилбарыг гаргасан бөгөөд хагас жил бүрд дараагийн шинэчилсэн хувилбарыг гаргахаар болсон. Түүнээс хойш фреймворкийг хөгжүүлснээрAngular8 хувилбар гараад байгаа. Ерөнхийдөө Angular JS 2 болон Angular4 ба түүнээс дээшхи хувилбаруудын API хооронд бараг ялгаа байхгүй ч хувилбар хоорондын өөрчлөлтийг албан ёсны сайтаас харж болно.

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

  Нээгдсэн тоо: 5355 Нийтийн

Сайн тайлбартай программын код бичих бол программ зохиох соёлоос гадна кодыг ойлгомжтой болгох үндсэн арга. Иймд та программчлалын хэлийг үзэж эхлэх үеэсээ тайлбарыг ашиглаж сурахыг хичээгээрэй. Эхлэн суралцаж байхад том хэмжээний код бараг бичдэггүй болохоор тайлбарыг нэг их анзаардаггүйгээс болоод кодод тайлбар хийхгүй бичээд сурах гээд байх муу талтай. Энэ бол маш буруу барил гэдгийг танд сануулъя. Та том хэмжээний ажил гүйцэтгэх үедээ голдуу багаар ажиллах тул таны кодыг бусад хамтран ажиллагсад ойлгох шаардлага гарч болохыг санах хэрэгтэй. Том хэмжээний кодод тайлбар хийхгүй бол хэсэг хугацааны дараа та өөрөө ч ойлгохгүй байдал үүсч болохыг сануулъя. За ингээд хичээлээ эхлэе.

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

RxJs сангийн хүрээнд буфер гэж юу болох талаар энэ хичээлээр авч үзье. Буфер гэдгийг утгуудыг түр зуур хадгалах сав буюу орон зайг гэж ойлгоорой.

buffer, bufferTime арга

Практик жишээгээр ухагдхууныг ойлгох нь амархан байдаг учраас шууд

Rx.Observable.interval(500)
    .buffer(Rx.Observable.interval(2000))
    .take(3)
    .subscribe(createSubscribe('buffer'));

кодыг авч үзье. Хөтөч дээр хуудсаа нээвэл консолд

үр дүнг үзүүлнэ. Код юу хийж байгааг авч үзье.

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

JavaScript бол обьект хандлагатай хэл. Нөхцөл ба циклийн үйлдлүүд гээд хэлний үндсэн бүтцээс бусад бараг бүх боломжууд ямар нэгэн байдлаар обьектыг ашиглан хийгдэнэ. Зарим нэгэн тодорхой шийдлүүдийг жишээ нь HTML, XML гэх мэтийн хуудасны боловсруулалтыг хуудасны обьектын моделыг шууд ашиглах замаар хийдэг бол зарим зорилгод жишээ нь ердийн мөрийн өгөгдлүүдийг String обьектыг ашиглах гэх мэтээр. Обьект энэ бол өгөгдлийн хүнд төрөл. Гэсэн хэдий ч энэ ойлголтыг сайн ойлгохгүйгээр Javascript -ын хүч чадлыг гаргах боломжгүй. Энэ хичээлээр бид JavaScript -ын өгөгдлийн төрлийн нэг болох хэрэглэгчийн обьектын талаар авч үзнэ.

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

react 16 гаас дээш хувилбарт бий болсон кодод үүссэн алдаануудыг илүү эвтэйхэн боловсруулахад зориулагдсан ErrorBoundary амьдралын шинэ циклийн талаар судлая. ErrorBoundary аргыг туршихын тулд төслийн src хавтас ErrorBoundary хавтаст үүсгээд

import React from 'react'

export default class ErrorBoundary extends React.Component {
  state = {
    hasError: false
  }

  componentDidCatch(error, info) {
    this.setState({ hasError: true })
  }

  render() {
    if (this.state.hasError) {
      return <h2 style={{ color: 'red' }}>Алдаа гарлаа</h2>
    }
    return this.props.children
  }
}

код бүхий шинэ ErrorBoundary компонентийг үүсгэе.

Үйл явдал /event/ тодорхой үйлдэл хийгдсэн талаар системд мэдэгддэг. Хэрвээ бид энэхүү үйлдлийг ажиглах хэрэгтэй бол яг энд…

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

 

Манай төсөл олон хуудсуудтай болон тэдгээрийн хооронд динамикаар шилжилт хийж байгаа ч тухайн үед шилжилт хийгдсэн хуудаст тохирох…

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

 

Зочин (Visitor) паттерн классуудыг өөрчлөхгүйгээр тэдгээрийн обьектуудын үйлдлийг тодорхойлох боломжийг олгоно. Зочин хэвийг ашиглахдаа классуудын хоёр ангилалыг тодорхойлно.…

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

 

Лямбда-илэрхийлэл нь нэргүй аргын хураангуй бичилтийг илэрхийлнэ. Лямбда-илэрхийлэл утга буцаадаг, буцаасан утгыг өөр аргын…

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

Хоёр тойрог гадна талаараа шүргэлцсэн. Нэг тойргийн шүргэгч нь нөгөө тойргийнхоо төвийг дайран гарсан. Шүргэлтийн цэгээс хоёрдахь тойргийн төв хүртэлх зай нь энэ тойргийн радиусаас 3 дахин урт. Нэгдүгээр тойргийн урт хоёрдугаар тойргийн уртаас хэд дахин их вэ?

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

 

тэгшитгэлийг бод.

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

 

бол илэрхийллийн утгыг ол.

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