αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžšαžΈαž€αžšαžΆαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ

αž˜αž“αž»αžŸαŸ’αžŸαž˜αŸ’αž“αžΆαž€αŸ‹αž“αŸ…αžαŸ‚αž‡αžΆαž’αŸ’αž“αž€αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ 1000 αžαŸ’αž„αŸƒαŸ” αž‚αžΆαžαŸ‹αžšαž€αžƒαžΎαž‰αž€αžΆαžšαž–αž·αžαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈ 10000 αžαŸ’αž„αŸƒαž“αŸƒαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαŸ”

αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αžΆαžšαžŠαž€αžŸαŸ’αžšαž„αŸ‹αž–αžΈ Oyama Masutatsu αžŠαŸ‚αž›αžŸαž„αŸ’αžαŸαž”αž…αŸ†αžŽαž»αž…αž“αŸƒαž’αžαŸ’αžαž”αž‘αž”αžΆαž“αž™αŸ‰αžΆαž„αž›αŸ’αž’αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αž€αŸ’αž›αžΆαž™αž‡αžΆαž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžŠαŸαž’αžŸαŸ’αž…αžΆαžšαŸ’αž™ αž…αžΌαžšαž–αŸ’αž™αžΆαž™αžΆαž˜αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž’αžΆαžαŸŒαž€αŸ†αž”αžΆαŸ†αž„αž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αŸ” αž…αŸ†αžŽαžΆαž™αž–αŸαž›αž…αŸ’αžšαžΎαž“αž˜αŸ‰αŸ„αž„αž“αŸ…αž€αŸ’αžαžΆαžšαž…αž»αž… αž αžΎαž™αž€αž»αŸ†αžαŸ’αž›αžΆαž…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž’αŸ’αž“αž€αž“αžΉαž„αžšαžΈαž€αž…αž˜αŸ’αžšαžΎαž“αž‡αžΆαž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαŸ”

αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž‚αž˜αŸ’αžšαŸ„αž„αž…αŸ†αž“αž½αž“ 7 αžŠαŸ‚αž›αž’αžΆαž…αž‡αž½αž™αž’αŸ’αž“αž€αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαŸ” αžšαžΈαž€αžšαžΆαž™αž€αŸ’αž“αž»αž„αž€αžΆαžšαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž‡αž„αŸ‹αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ - αž”αŸ’αžšαžΎαž’αŸ’αžœαžΈαž€αŸαžŠαŸ„αž™αžŠαŸ‚αž›αž”αŸαŸ‡αžŠαžΌαž„αž’αŸ’αž“αž€αž…αž„αŸ‹αž”αžΆαž“αŸ”

(αž”αž‰αŸ’αž‡αžΈαž€αžΆαžšαž„αžΆαžšαž”αžŽαŸ’αžαž»αŸ‡αž”αžŽαŸ’αžαžΆαž›αž–αžΈαž˜αž»αž“αŸ– ៑) 8 αž‚αž˜αŸ’αžšαŸ„αž„αž’αž”αŸ‹αžšαŸ† 2) αž”αž‰αŸ’αž‡αžΈαž‚αž˜αŸ’αžšαŸ„αž„αž˜αž½αž™αž‘αŸ€αžαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž’αž“αž»αžœαžαŸ’αž)

αž‚αž˜αŸ’αžšαŸ„αž„αž‘αžΈ 1: Pacman

αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžšαžΈαž€αžšαžΆαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ

αž”αž„αŸ’αž€αžΎαžαž€αŸ†αžŽαŸ‚αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž“αŸƒ Pacman αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžœαž·αž’αžΈαžŠαŸαž›αŸ’αž’αž˜αž½αž™αžŠαžΎαž˜αŸ’αž”αžΈαž‘αž‘αž½αž›αž”αžΆαž“αž‚αŸ†αž“αž·αžαž’αŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž αŸ’αž‚αŸαž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„ αž“αž·αž„αž™αž›αŸ‹αž–αžΈαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αŸ” αž”αŸ’αžšαžΎαž€αŸ’αžšαž”αžαŸαžŽαŸ’αžŒ JavaScript, αž”αŸ’αžšαžαž·αž€αž˜αŸ’αž˜ ឬ Vue αŸ”

αž’αŸ’αž“αž€β€‹αž“αžΉαž„β€‹αžšαŸ€αž“:

  • αžšαž”αŸ€αž”αžŠαŸ‚αž›αž’αžΆαžαž»αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈ
  • αžšαž”αŸ€αž”αž€αŸ†αžŽαžαŸ‹αžαžΆαž…αž»αž…αž˜αž½αž™αžŽαžΆ
  • αžšαž”αŸ€αž”αž€αŸ†αžŽαžαŸ‹αž–αŸαž›αžœαŸαž›αžΆαž“αŸƒαž€αžΆαžšαž”αŸ‰αŸ‡αž‘αž„αŸ’αž‚αž·αž…
  • αž’αŸ’αž“αž€αž’αžΆαž…αž‘αŸ…αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αž αž“αž·αž„αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž…αž›αž“αžΆαžαŸ’αž˜αŸ„αž…

αž’αŸ’αž“αž€αž“αžΉαž„αžƒαžΎαž‰αž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαž‚αž˜αŸ’αžšαŸ„αž„αž“αŸαŸ‡αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„ GitHub

"αž˜αŸαž’αŸ’αžœαžΎαžαž»αžŸαž…αŸ’αžšαžΎαž“αž‡αžΆαž„αž’αŸ’αž“αž€αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž–αŸ’αž™αžΆαž™αžΆαž˜"


αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž– - β€‹β€‹αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“ αž’αŸαžŒαžΈαžŸαž»αž“αžαžΎαž“αžšαžŽαžΆαž‡αžΆαž’αŸ’αž“αž€αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™ αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž“αž·αž„αž€αžΆαžšαžœαž·αž“αž·αž…αŸ’αž†αŸαž™αž“αŸƒαž€αžΆαžšαž•αŸ’αž‘αž»αž€αž―αž€αžŸαžΆαžš Vivaldi.

αž‚αž˜αŸ’αžšαŸ„αž„αž‘αžΈ 2αŸ– αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹

αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžšαžΈαž€αžšαžΆαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ

αž‚αž˜αŸ’αžšαŸ„αž„ αž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„ GitHub

αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αŸ’αžšαž—αŸαž‘ CRUD αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž“αžΉαž„αž”αž„αŸ’αžšαŸ€αž“αž’αŸ’αž“αž€αž–αžΈαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‚αŸ’αžšαžΉαŸ‡αž“αŸƒαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαŸ” αžœαžΆαž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž‡αžΆαž–αž·αžŸαŸαžŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžαŸ’αž˜αžΈαŸ”

αž’αŸ’αž“αž€β€‹αž“αžΉαž„β€‹αžšαŸ€αž“:

  • αžαžΎαž’αŸ’αžœαžΈαž‡αžΆαž•αŸ’αž›αžΌαžœ
  • αžšαž”αŸ€αž”αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž‘αž˜αŸ’αžšαž„αŸ‹αž”αž‰αŸ’αž…αžΌαž›αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž“αž·αž„αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αžΆαž“αž”αž‰αŸ’αž…αžΌαž›
  • αžšαž”αŸ€αž”αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ - αž”αž„αŸ’αž€αžΎαž αž’αžΆαž“ αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž– αž“αž·αž„αž›αž»αž”αžŸαž€αž˜αŸ’αž˜αž—αžΆαž–

αž‚αž˜αŸ’αžšαŸ„αž„αž‘αžΈαŸ£αŸ– αž–αž·αž“αž·αžαŸ’αž™αž’αžΆαž€αžΆαžŸαž’αžΆαžαž»αž“αŸ…αž‘αžΈαžαžΆαŸ†αž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžšαžΈαž€αžšαžΆαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ
αž‚αž˜αŸ’αžšαŸ„αž„ αž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„ GitHub

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αžŸαžΌαž˜αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž’αžΆαž€αžΆαžŸαž’αžΆαžαž»αŸ” αž‚αž˜αŸ’αžšαŸ„αž„αž“αŸαŸ‡αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž…αž”αŸ‹αžŠαŸ„αž™αž”αŸ’αžšαžΎ Swift αŸ”

αž”αž“αŸ’αžαŸ‚αž˜αž–αžΈαž›αžΎαž€αžΆαžšαž‘αž‘αž½αž›αž”αžΆαž“αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αž’αŸ’αž“αž€αž“αžΉαž„αžšαŸ€αž“αŸ–

  • αžšαž”αŸ€αž”αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™ API
  • αžšαž”αŸ€αž”αž”αŸ’αžšαžΎαž‘αžΈαžαžΆαŸ†αž„αž—αžΌαž˜αž·αžŸαžΆαžŸαŸ’αžαŸ’αžš
  • αž’αŸ’αžœαžΎαž±αŸ’αž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž˜αžΆαž“αž—αžΆαž–αžŸαŸ’αžœαžΆαž αžΆαž”αŸ‹αž‡αžΆαž„αž˜αž»αž“αžŠαŸ„αž™αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž”αž‰αŸ’αž…αžΌαž›αž’αžαŸ’αžαž”αž‘αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž“αŸ„αŸ‡ αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž“αžΉαž„αž’αžΆαž…αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž‘αžΈαžαžΆαŸ†αž„αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸ αžŠαžΎαž˜αŸ’αž”αžΈαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž’αžΆαž€αžΆαžŸαž’αžΆαžαž»αž“αŸ…αž€αŸ’αž“αž»αž„αž‘αžΈαžαžΆαŸ†αž„αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αŸ”

αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž€αžΆαžš API αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž‘αž‘αž½αž›αž”αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž’αžΆαž€αžΆαžŸαž’αžΆαžαž» αžŸαžΌαž˜αž”αŸ’αžšαžΎ OpenWeather APIαŸ” αž–αŸαžαŸŒαž˜αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž’αŸ†αž–αžΈ OpenWeather API αž“αŸ…αž‘αžΈαž“αŸαŸ‡.

αž‚αž˜αŸ’αžšαŸ„αž„αž‘αžΈ αŸ€αŸ– αž”αž„αŸ’αž’αž½αž…αž‡αž‡αŸ‚αž€

αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžšαžΈαž€αžšαžΆαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ
αž”αž„αŸ’αž’αž½αž…αž‡αž‡αŸ‚αž€αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαž€αž˜αŸ’αž˜αž—αžΆαž– αž”αžΎαž€αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž‘αžΆαŸ†αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž»αž€αžšαž€αžαžΆαž˜αž’αŸŠαžΈαž“αž’αžΊαžŽαž·αžαž–αžΈαžš

αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž•αŸ’αž‘αžΆαŸ†αž„αž‡αž‡αŸ‚αž€αž‚αžΊαž‡αžΆαžœαž·αž’αžΈαžŠαŸαž›αŸ’αž’αž₯αžαžαŸ’αž…αŸ„αŸ‡αžŠαžΎαž˜αŸ’αž”αžΈαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™αžšαž“αŸ’αž’αŸ” αž‡αž˜αŸ’αžšαžΎαžŸαž“αŸƒαž‡αž„αŸ‹αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆαž‚αžΊαž’αŸ†αžŽαžΆαžŸαŸ‹αŸ” αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ Node.js αž‚αžΊαž›αŸ’αž’αž₯αžαžαŸ’αž…αŸ„αŸ‡αŸ”

αž’αŸ’αž“αž€αž“αžΉαž„αžšαŸ€αž“αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžšαž“αŸ’αž’αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž“αž·αž„αžšαž”αŸ€αž”αž’αž“αž»αžœαžαŸ’αžαž–αž½αž€αžœαžΆαŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž’αžαŸ’αžαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž…αž˜αŸ’αž”αž„αž“αŸƒαž‚αž˜αŸ’αžšαŸ„αž„αž“αŸαŸ‡αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž‡αžΆαž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ Laravel αžŠαŸ‚αž›αž…αž„αŸ‹αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™ sockets αžŸαžΌαž˜αž’αžΆαž“αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ† αž’αžαŸ’αžαž”αž‘

αž‚αž˜αŸ’αžšαŸ„αž„αž‘αžΈ αŸ₯αŸ– GitLab CI

αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžšαžΈαž€αžšαžΆαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ

αž”αŸ’αžšαž—αž–

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžαŸ’αž˜αžΈαž€αŸ’αž“αž»αž„αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‡αžΆαž”αž“αŸ’αžαž”αž“αŸ’αž‘αžΆαž”αŸ‹ (CI) αžŸαžΌαž˜αž›αŸαž„αž‡αžΆαž˜αž½αž™ GitLab CI αŸ” αžšαŸ€αž”αž…αŸ†αž”αžšαž·αžŸαŸ’αžαžΆαž“αž˜αž½αž™αž…αŸ†αž“αž½αž“ αž αžΎαž™αž–αŸ’αž™αžΆαž™αžΆαž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ” αžœαžΆβ€‹αž˜αž·αž“β€‹αž˜αŸ‚αž“β€‹αž‡αžΆβ€‹αž‚αž˜αŸ’αžšαŸ„αž„β€‹αž–αž·αž”αžΆαž€β€‹αžαŸ’αž›αžΆαŸ†αž„β€‹αž“αŸ„αŸ‡β€‹αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αžαŸ’αž‰αž»αŸ†β€‹αž”αŸ’αžšαžΆαž€αžŠβ€‹αžαžΆβ€‹αž’αŸ’αž“αž€β€‹αž“αžΉαž„β€‹αžšαŸ€αž“β€‹αž”αžΆαž“β€‹αž…αŸ’αžšαžΎαž“β€‹αž–αžΈβ€‹αžœαžΆαŸ” αž€αŸ’αžšαž»αž˜αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž‡αžΆαž…αŸ’αžšαžΎαž“αž₯αž‘αžΌαžœαž“αŸαŸ‡αž€αŸ†αž–αž»αž„αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ CI αŸ” αžŠαžΉαž„αž–αžΈαžšαž”αŸ€αž”αž”αŸ’αžšαžΎαžœαžΆαž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαŸ”

αž’αŸ’αž“αž€β€‹αž“αžΉαž„β€‹αžšαŸ€αž“:

  • តើ GitLab CI αž‡αžΆαž’αŸ’αžœαžΈ?
  • αžšαž”αŸ€αž”αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ .gitlab-ci.ymlαžŠαŸ‚αž›αž”αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ GitLab αž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎ
  • αžšαž”αŸ€αž”αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž‘αŸ…αž”αžšαž·αž™αžΆαž€αžΆαžŸαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ”

αž‚αž˜αŸ’αžšαŸ„αž„αž‘αžΈ αŸ¦αŸ– αž’αŸ’αž“αž€αžœαž·αž—αžΆαž‚αž‚αŸαž αž‘αŸ†αž–αŸαžš

αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžšαžΈαž€αžšαžΆαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ

αž”αž„αŸ’αž€αžΎαž scraper αžŠαŸ‚αž›αžœαž·αž—αžΆαž‚αž’αžαŸ’αžαž“αŸαž™αž“αŸƒαž‚αŸαž αž‘αŸ†αž–αŸαžš αž“αž·αž„αž”αž„αŸ’αž€αžΎαžαž€αžΆαžšαžœαžΆαž™αžαž˜αŸ’αž›αŸƒαžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž’αŸ’αž“αž€αž’αžΆαž…αž–αž·αž“αž·αžαŸ’αž™αžšαž€αžŸαŸ’αž›αžΆαž€ alt αžŠαŸ‚αž›αž”αžΆαžαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αžšαžΌαž”αž—αžΆαž–αŸ” αž¬αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžαžΆαžαžΎαž‘αŸ†αž–αŸαžšαž˜αžΆαž“αžŸαŸ’αž›αžΆαž€αž˜αŸαžαžΆ SEO αŸ” scraper αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαŸ”

αž’αŸ’αž“αž€β€‹αž“αžΉαž„β€‹αžšαŸ€αž“:

  • តើ scraper αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž™αŸ‰αžΆαž„αžŠαžΌαž…αž˜αŸ’αžαŸαž…?
  • αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαžαž§αž”αž€αžšαžŽαŸαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸ DOM
  • αžšαž”αŸ€αž”αžŸαžšαžŸαŸαžšαž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™
  • αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αž·αž“αž…αž„αŸ‹αžˆαž”αŸ‹αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αž‘αŸ αž”αž„αŸ’αž€αžΎαžαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαŸ” αž’αŸ’αž“αž€αž€αŸαž’αžΆαž…αž”αž„αŸ’αž€αžΎαžαžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž“αŸ…αž›αžΎαž‚αŸαž αž‘αŸ†αž–αŸαžšαž“αžΈαž˜αž½αž™αŸ—αžŠαŸ‚αž›αž’αŸ’αž“αž€αž–αž·αž“αž·αžαŸ’αž™αž•αž„αžŠαŸ‚αžšαŸ”

αž‚αž˜αŸ’αžšαŸ„αž„αž‘αžΈ 7αŸ– αž˜αž“αŸ„αžŸαž‰αŸ’αž…αŸαžαž“αžΆαž›αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž•αŸ’αžŸαž–αŸ’αžœαž•αŸ’αžŸαžΆαž™αžŸαž„αŸ’αž‚αž˜

αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžšαžΈαž€αžšαžΆαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ

αž”αŸ’αžšαž—αž–

αž€αžΆαžšαžšαž€αžƒαžΎαž‰αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž“αŸ…αž›αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž•αŸ’αžŸαž–αŸ’αžœαž•αŸ’αžŸαžΆαž™αžŸαž„αŸ’αž‚αž˜αž‚αžΊαž‡αžΆαžœαž·αž’αžΈαžŠαŸαž›αŸ’αž’αž˜αž½αž™αžŠαžΎαž˜αŸ’αž”αžΈαžŽαŸ‚αž“αžΆαŸ†αž’αŸ†αž–αžΈαž€αžΆαžšαžšαŸ€αž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αŸ”

αž’αŸ’αž“αž€αž’αžΆαž…αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ„αž™αž€αžΆαžšαžœαž·αž—αžΆαž‚αž›αžΎαž”αžŽαŸ’αžαžΆαž‰αžŸαž„αŸ’αž‚αž˜αžαŸ‚αž˜αž½αž™αŸ” αž˜αž“αž»αžŸαŸ’αžŸαž‚αŸ’αžšαž”αŸ‹αžšαžΌαž”αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™ Twitter αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αžΆαž“αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαž‡αžΆαž˜αž½αž™αž€αžΆαžšαžšαŸ€αž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžšαž½αž…αž αžΎαž™ αžŸαžΌαž˜αž–αŸ’αž™αžΆαž™αžΆαž˜αž”αŸ’αžšαž˜αžΌαž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αžΈαž”αžŽαŸ’αžαžΆαž‰αžŸαž„αŸ’αž‚αž˜αž•αŸ’αžŸαŸαž„αŸ— αž αžΎαž™αž”αž‰αŸ’αž…αžΌαž›αžœαžΆαž…αžΌαž›αž‚αŸ’αž“αžΆαŸ”

αž’αŸ’αž“αž€β€‹αž“αžΉαž„β€‹αžšαŸ€αž“:

  • αžαžΎαž€αžΆαžšαžšαŸ€αž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž‚αžΊαž‡αžΆαž’αŸ’αžœαžΈ

αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžšαžΈαž€αžšαžΆαž™αŸ”

αž€αžΆαžšαž”αž€αž”αŸ’αžšαŸ‚: Diana Sheremyeva

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹