en
Feedback
ToCode

ToCode

Open in Telegram

ื˜ื™ืคื™ื ืงืฆืจื™ื ืœืžืชื›ื ืชื™ื ืžืืช ื™ื ื•ืŸ ืคืจืง

Show more
1 419
Subscribers
-124 hours
No data7 days
-230 days
Posts Archive
ToCode
1 419
# ืžื›ืฉื•ืœื™ื ืœืขื‘ื•ื“ืช ืฆื•ื•ืช ืจืฉื™ืžื” ื—ืœืงื™ืช ืฉืœ ื“ื‘ืจื™ื ืฉื’ื•ืจืžื™ื ืœืฆื•ื•ืช ืฉืœื›ื ืœื ืœืขื‘ื•ื“ ืžืกืคื™ืง ื˜ื•ื‘ ื™ื—ื“: 1. ื™ืขื“ ืœื ื‘ืจื•ืจ ืื• ืœื ื‘ืจื•ืจ ืžืกืคื™ืง 2. ื›ืœืœื™ ื”ืชื ื”ื’ื•ืช ืœื ื‘ืจื•ืจื™ื ืื• ืœื ื‘ืจื•ืจื™ื ืžืกืคื™ืง 3. ืชื—ืจื•ืช ืœื ื‘ืจื™ืื”, ืžื“ื™ื“ืช ื”ื™ืฉื’ื™ื ืื™ืฉื™ื™ื ื‘ืžืงื•ื ืงื‘ื•ืฆืชื™ื™ื (ืœื“ื•ื’ืžื” ืฆื•ื•ืช ืฉืžื•ื“ื“ ืœื›ืœ ืžืชื›ื ืช ื›ืžื” ื‘ืื’ื™ื ื”ื•ื ืกื’ืจ ื‘ื™ื•ื, ื•ื›ืš ืžืขื•ื“ื“ ืื ืฉื™ื "ืœืกื’ื•ืจ" ื‘ืื’ื™ื ืžื”ืจ ืขืœ ื—ืฉื‘ื•ืŸ ื‘ืื’ื™ื ืื—ืจื™ื ืฉื ื•ืฆืจื™ื) 4. ื—ื•ืกืจ ื‘ื™ื˜ื—ื•ืŸ, ื›ืฉื›ืœ ืื—ื“ ื—ื•ืฉืฉ ืขืœ ื”ืžืงื•ื ืฉืœื• 5. ื›ืฉืžื ื”ืœื™ื ืื• ืžื•ื‘ื™ืœื™ื ื˜ื›ื ื™ื™ื ืœื ืžื•ื›ื ื™ื ืœืงื—ืช ืื—ืจื™ื•ืช ืขืœ ื”ื—ืœื˜ื•ืช (ืœื“ื•ื’ืžื” ืžื•ื‘ื™ืœื” ื˜ื›ื ื™ืช ืฉืชืชืืžืฅ ืœืงื‘ืœ ื”ืกื›ืžื” ืฉืœ ื›ืœ ื”ืฆื•ื•ืช ืœืคื ื™ ืฉืชื—ืœื™ื˜ ืขืœ ืฉื™ื˜ืช ืขื‘ื•ื“ื” ื—ื“ืฉื”). ืชื™ืงื•ืŸ ื”ืžื›ืฉื•ืœื™ื ื”ืืœื” ื™ืขื–ื•ืจ ื”ืจื‘ื” ื™ื•ืชืจ ืžืืฉืจ ืขื•ื“ ืืคืœื™ืงืฆื™ื™ืช ืชืงืฉื•ืจืช ืืจื’ื•ื ื™ืช, ืœื ืžืฉื ื” ื›ืžื” ื˜ืจื ื“ื™ืช.

ToCode
1 419
# ื˜ื™ืค ื’ื™ื˜: ืื™ืš ืœืื—ื“ ืžืกืคืจ ืžืื’ืจื™ื ืœืžื•ื ื•ืจื™ืคื• ืื—ื“ ื”ื“ื‘ืจื™ื ื”ืื”ื•ื‘ื™ื ืขืœื™ื™ ื‘ื’ื™ื˜ ื”ื•ื ืฉืืคืฉืจ ืชืžื™ื“ ืœืฉื ื•ืช ืืช ื“ืขืชืš. ื‘ื“ื•ื’ืžื” ื”ื™ื•ื ื‘ื•ืื• ื ืจืื” ืžื” ืขื•ืฉื™ื ื›ืฉื™ืฉ ืœื ื• ืžืกืคืจ ืคืจื•ื™ืงื˜ื™ื ืฉืฉืžื•ืจื™ื ื‘ืžืกืคืจ ืžืื’ืจื™ื, ื•ืื ื—ื ื• ืจื•ืฆื™ื ืœื—ื‘ืจ ืื•ืชื ืœืžื•ื ื•ืจื™ืคื• ืื—ื“ ื›ืš ืฉื›ืœ ืคืจื•ื™ืงื˜ ื™ืฉื‘ ื‘ืชื™ืงื™ื” ืžืฉืœื• ื‘ืžื•ื ื•ืจื™ืคื•. ## ืžื” ืœื ื›ื“ืื™ ืœืขืฉื•ืช ื ืคืชื— ืชื™ืงื™ื” ื—ื“ืฉื” ื•ื ืฉื›ืคืœ ืœืชื•ื›ื” ืฉื ื™ ืคืจื•ื™ืงื˜ื™ื ื‘ืฉื‘ื™ืœ ื”ื“ื•ื’ืžื”:
$ git clone https://github.com/sindresorhus/awesome.git

$ git clone https://github.com/ossu/computer-science.git
ืขื›ืฉื™ื• ื ื™ืฆื•ืจ ืชื™ืงื™ื™ืช monorepo ื—ื“ืฉื”:
$ mdkir monorepo
ื•ื‘ืชื•ื›ื” ื ื™ืฆื•ืจ ืืช ื”ืžื•ื ื•ืจื™ืคื• ืฉืœื ื• ื‘ืชื•ืจ ืžืื’ืจ ื’ื™ื˜:
$ cd monorepo
$ git init .
ืขื›ืฉื™ื• ืื ื—ื ื• ื™ื›ื•ืœื™ื ืคืฉื•ื˜ ืœื”ืขืชื™ืง ืืช ื”ืงื‘ืฆื™ื ืžื›ืœ ืื—ื“ ืžืฉื ื™ ื”ืžืื’ืจื™ื ื•ืœื™ืฆื•ืจ ืงื•ืžื™ื˜ ืจืืฉื•ืŸ ื‘ืžื•ื ื•ืจื™ืคื•. ื–ื” ื™ืขื‘ื•ื“:
$ cp -R ../awesome .
$ rm -rf ./awesome/.git

$ cp -R ../computer-science .
$ rm -rf ./computer-science/.git

$ git add .
$ git commit -m 'initial monorepo commit'
ืื‘ืœ ื”ื‘ืขื™ื” ื”ื™ื ืฉืื ื—ื ื• ืžืื‘ื“ื™ื ืืช ื›ืœ ื”ื”ื™ืกื˜ื•ืจื™ื” ืฉืœ ืฉื ื™ ื”ืžืื’ืจื™ื. ## ืื™ืš ืœืื—ื“ ื•ืœืฉืžื•ืจ ืืช ื”ื”ื™ืกื˜ื•ืจื™ื” ืคื™ืชืจื•ืŸ ื˜ื•ื‘ ื™ื•ืชืจ ื™ืฉืชืžืฉ ื‘ื›ืœื™ ืฉื ืงืจื filter-repo ื•ื‘ืžื ื’ื ื•ืŸ ื” merge ืฉืœ ื’ื™ื˜. ื ืžื—ืง ืืช ืชื™ืงื™ื™ืช monorepo ืฉื™ืฆืจื ื• ื•ื ื™ืฆื•ืจ ื—ื“ืฉื” ื‘ืžืงื•ืžื”:
$ rm -rf monorepo
$ mkdir monorepo
ืขื›ืฉื™ื• ืฆืขื“ ืจืืฉื•ืŸ ื”ื•ื ืœื”ื›ื™ืŸ ืืช ืฉื ื™ ื”ืžืื’ืจื™ื ืฉืื ื—ื ื• ืจื•ืฆื™ื ืœืฉืœื‘. ื›ืจื’ืข ื”ืงื‘ืฆื™ื ื‘ื›ืœ ืื—ื“ ืžื”ื ื ืžืฆืื™ื ื‘ืชื™ืงื™ื” ื”ืจืืฉื™ืช ืฉืœื•, ื•ื”ื”ื™ืกื˜ื•ืจื™ื” ืฉืžื•ืจื” ืœืคื™ ื”ื ืชื™ื‘ ื”ืจืืฉื™. ืื ื—ื ื• ืจื•ืฆื™ื ืœืขืฉื•ืช ื›ืื™ืœื• ืžืื– ื•ืžืขื•ืœื ื›ืœ ืžืื’ืจ ืฉืžืจ ืืช ื›ืœ ื”ืงื‘ืฆื™ื ืฉืœื• ื‘ืชื•ืš ืชืช-ืชื™ืงื™ื” ืฉืฉืžื” ื›ืฉื ื”ืžืื’ืจ. ืื—ืจื™ ื”ืชืงื ืช filter-repo ืื ื™ ื ื›ื ืก ืœืžืื’ืจ ื”ืจืืฉื•ืŸ ื•ืžืคืขื™ืœ ื‘ืชื•ื›ื• ืืช ื”ื›ืœื™:
$ cd ../awesome
$ git filter-repo --to-subdirectory-filter awesome
ื–ื” ื™ื•ืฆืจ ืชื™ืงื™ื” ื—ื“ืฉื” ื‘ืฉื awesome, ืฉื ืืช ื›ืœ ื”ืงื‘ืฆื™ื ืฉืœ ื”ืคืจื•ื™ืงื˜ ื‘ืชื•ืš ืื•ืชื” ืชื™ืงื™ื” ื•ืžืฉื ื” ืืช ื”ื”ื™ืกื˜ื•ืจื™ื” ื›ื“ื™ ืฉื”ื›ืœ ื™ืจืื” ื›ืื™ืœื• ืžืื– ื•ืžืขื•ืœื ื”ืžืื’ืจ ื”ื™ื” ืžื•ืจื›ื‘ ืžืชื™ืงื™ื” ื‘ืฉื awesome ื•ื‘ืชื•ื›ื” ื›ืœ ื”ืงื‘ืฆื™ื. ืืช ืื•ืชื• ื“ื‘ืจ ืื ื™ ืขื•ืฉื” ืขืœ ื”ืžืื’ืจ ื”ืฉื ื™:
$ cd ../computer-science
$ git filter-repo --to-subdirectory-filter computer-science
ื•ืขื›ืฉื™ื• ืื ื™ ืžืžืฉื™ืš ืœ monorepo ื›ื“ื™ ืœืื—ื“ ืืช ืฉื ื™ื”ื. ื”ื˜ืจื™ืง ื”ื•ื ืฉื‘ื’ืœืœ ืฉื›ืœ ืคืจื•ื™ืงื˜ ืžื ื•ื”ืœ ื‘ืชื™ืงื™ื” ืžืฉืœื•, ืื ื™ ื™ื›ื•ืœ ืœื”ื•ืกื™ืฃ ื›ืœ ืื—ื“ ืžื”ื ื‘ืชื•ืจ remote ืœ monorepo, ื•ืื– ืœื”ืคืขื™ืœ merge:
$ cd ../monorepo
$ git init .
$ git remote add awesome ../awesome
$ git remote add computer-science ../computer-science
$ git fetch --all

$ git merge --allow-unrelated-histories awesome/main
$ git merge --allow-unrelated-histories computer-science/master
ื•ื–ื” ื›ืœ ื”ืกื™ืคื•ืจ. ืขื›ืฉื™ื• ื‘ monorepo ื™ืฉ ืืช ืฉืชื™ ืชืชื™ ื”ืชื™ืงื™ื•ืช awesome ื• computer-science, ืืช ื›ืœ ื”ืงื•ืžื™ื˜ื™ื ืฉืœ ืฉื ื™ ื”ืคืจื•ื™ืงื˜ื™ื, ื•ืื ื™ ื™ื›ื•ืœ ืœื”ืคืขื™ืœ log ืขืœ ื›ืœ ืื—ืช ืžืชืชื™ ื”ืชื™ืงื™ื•ืช ื›ื“ื™ ืœืจืื•ืช ืจืง ืืช ื”ืงื•ืžื™ื˜ื™ื ืžืื•ืชื• ืคืจื•ื™ืงื˜.

ToCode
1 419
# ื”ืจื’ืข ืฉื›ื•ืœื ืขื•ื–ื‘ื™ื ื”ืžืฉื™ืžื” ื”ืชื›ื ื•ืชื™ืช ื”ืจืืฉื•ื ื” ื‘ืงื•ืจืกืจื” ื—ื“ืจ ื›ื•ืฉืจ, ื—ื•ื“ืฉื™ื™ื ืื—ืจื™ ื”ืจื™ืฉื•ื ื‘ืœื•ื’, ืื—ืจื™ ื”ืฉืžื•ื ื” ืคื•ืกื˜ื™ื ื”ืจืืฉื•ื ื™ื ืชื•ืืจ ืจืืฉื•ืŸ, ืื—ืจื™ ื”ืžื‘ื—ื ื™ื ืฉืœ ืฉื ื” ื ืคื™ืชื•ื— ืžื•ืฆืจ ืชื•ื›ื ื”, ืื—ืจื™ ืฉื”ื•ื ื‘ืื•ื•ื™ืจ ื•ืืฃ ืื—ื“ ืœื ื ืจืฉื ื”ืจื’ืข ืฉื›ื•ืœื ืขื•ื–ื‘ื™ื ื”ื•ื ื—ืœืง ืžื”ืžืกืœื•ืœ. ื”ื•ื ื—ื™ื™ื‘ ืœื”ื’ื™ืข ื›ื™ ืจื•ื‘ ื”ืื ืฉื™ื ืœื ืžืกื™ื™ืžื™ื ืืช ื”ืžืกืœื•ืœ ืฉื‘ื• ื‘ื—ืจืช ืœืœื›ืช, ื•ื”ื•ื ื‘ื“ื™ื•ืง ืžื” ืฉื”ื•ืคืš ืืช ื”ืžืกืœื•ืœ ืœื›ื–ื” ืฉืจืฆื™ืช ืœืœื›ืช ื‘ื•. ื”ืจื’ืข ืฉื›ื•ืœื ืขื•ื–ื‘ื™ื ื”ื•ื ื”ืจื’ืข ืœืฆืœื•ืœ ืคื ื™ืžื” ื•ืœื”ื‘ื™ืŸ ืžื” ืขืฉื• ืืœื” ืฉื›ืŸ ื ืฉืืจื• ื•ืื™ืš ืœืขืฉื•ืช ื›ืžื•ื”ื. ื•ื›ืŸ ื”ืจื’ืข ืฉื›ื•ืœื ืขื•ื–ื‘ื™ื ื”ื•ื ื”ืกื™ืžืŸ ื”ืจืืฉื•ืŸ ืฉืืชื” ื‘ื›ื™ื•ื•ืŸ ื”ื ื›ื•ืŸ.

ToCode
1 419
# ืžื™ ืžืชืืžืฅ ื™ื•ืชืจ? ืื ืื ื™ ื•ื™ื•ืกื™ื™ืŸ ื‘ื•ืœื˜ ื ืฆื ืœืชื—ืจื•ืช ืจื™ืฆื”, ื“ื™ ื‘ืจื•ืจ ืžื™ ื™ื”ื™ื” ื”ืžื ืฆื—, ื•ืžื™ ื™ื”ื™ื” ื–ื” ืฉื™ืชืืžืฅ ื™ื•ืชืจ (ืจืžื–: ื–ื” ืœื ืื•ืชื• ืื—ื“). ื”ืขื‘ื•ื“ื” ื”ืงืฉื” ื”ื™ื ืœื ื‘ื™ื•ื ื”ืชื—ืจื•ืช, ืื• ื‘ืœื™ืœื” ื”ืœื‘ืŸ ืฉืœืคื ื™ ื”ื“ืžื•. ื•ื›ืŸ ื‘ืจื•ืจ ืฉืžืืžืฅ ื ื•ืชืŸ ื”ืจื’ืฉื” ื˜ื•ื‘ื” ื•ืœื™ืœื•ืช ืœื‘ื ื™ื ืœืคื ื™ ื“ืžื• ืžื’ื‘ืฉื™ื ืืช ื”ืฆื•ื•ืช. ืื‘ืœ ืื ืžื” ืฉืžืขื ื™ื™ืŸ ืื•ืชื ื• ื–ื” ื‘ื ื™ื” ืžื”ื™ืจื” ืฉืœ ืžืขืจื›ื•ืช ืขื“ื™ืฃ ืœื”ืฉืงื™ืข ื‘ืชืฉืชื™ื•ืช. ืืฆืœ ืืฆื ื™ื ืืœื” ืฉืจื™ืจื™ื ื—ื–ืงื™ื ื™ื•ืชืจ; ืื ื—ื ื• ื ืชืืžืฅ ืœื‘ื ื•ืช ืงื•ื“ ื™ื•ืชืจ ืคืฉื•ื˜, ืจื›ื™ื‘ื™ ืชืฉืชื™ืช ื™ืฆื™ื‘ื™ื, ื‘ื“ื™ืงื•ืช ืืžื™ื ื•ืช, ื•ื›ืœ ืฉืืจ ื”ื“ื‘ืจื™ื ืฉื”ื•ืคื›ื™ื ืืช ื”ืคื™ืชื•ื— ืœืžืงืฆื•ืขื™. ืžืขืจื›ื•ืช ืืžื™ืชื™ื•ืช ืœื ื ื‘ื ื•ืช ื‘ืœื™ืœื” ืœื‘ืŸ ืื• ืืคื™ืœื• ื‘ืกื•ืคืฉื‘ื•ืข.

ToCode
1 419
# ื˜ื™ืค ืจื™ื™ืœืก: ืฉืชื™ ื“ืจื›ื™ื ืœื™ืฆื•ืจ ืคื—ื•ืช ืžื™ื’ืจืฆื™ื•ืช ืื—ื“ ื”ื“ื‘ืจื™ื ื”ืจืืฉื•ื ื™ื ืฉืื ื—ื ื• ืœื•ืžื“ื™ื ื‘ืขื‘ื•ื“ื” ืขื ืจื™ื™ืœืก ื”ื•ื ืœื™ืฆื•ืจ ืžื™ื’ืจืฆื™ื•ืช. ืžื™ื’ืจืฆื™ื” ื”ื™ื ื‘ืขืฆื ืงื•ื“ ืฉืžืฉื ื” ืžืฉื”ื• ื‘ื‘ืกื™ืก ื”ื ืชื•ื ื™ื, ืœืžืฉืœ ื™ื•ืฆืจ ื˜ื‘ืœื” ืื• ืžืฉื ื” ืขืžื•ื“ื•ืช ื‘ื˜ื‘ืœื”. ื”ื ื” ื“ื•ื’ืžื” ืœืงื•ื“ ืฉืœ ืžื™ื’ืจืฆื™ื”:
class CreateProducts < ActiveRecord::Migration
  def change
    create_table :products do |t|
      t.string :name
      t.text :description
 
      t.timestamps
    end
  end
end
ืฉื•ืจืช ื”ืคืงื•ื“ื” ืฉืœ ืจื™ื™ืœืก ืžืืคืฉืจืช ืœื”ืจื™ืฅ ืžื™ื’ืจืฆื™ื•ืช ืขื ื”ืคืงื•ื“ื”:
$ ./bin/rails db:migrate
ืœื”ืจืฆืช ืžื™ื’ืจืฆื™ื” ื™ืฉ ืžืกืคืจ ื”ืฉืœื›ื•ืช: 1. ืงื•ื“ื ื›ืœ ืžื™ื’ืจืฆื™ื” ืžืฉื ื” ืžืฉื”ื• ื‘ื‘ืกื™ืก ื”ื ืชื•ื ื™ื. ื‘ืฉื‘ื™ืœ ื–ื” ื›ืชื‘ื ื• ืื•ืชื”. 2. ื‘ื ื•ืกืฃ, ืจื™ื™ืœืก ืฉื•ืžืจ ื‘ื‘ืกื™ืก ื”ื ืชื•ื ื™ื ืืช ื”ืžื–ื”ื” ืฉืœ ื”ืžื™ื’ืจืฆื™ื” ื”ืื—ืจื•ื ื” ืฉื”ื•ื ื”ืจื™ืฅ, ื›ื“ื™ ืฉื”ื•ื ื™ื™ื“ืข ืœื”ืจื™ืฅ ืจืง ืžื™ื’ืจืฆื™ื•ืช ื—ื“ืฉื•ืช ื›ืœ ื”ืคืขืœื” ืฉืœ db:migrate. 3. ื‘ื ื•ืกืฃ, ืจื™ื™ืœืก ืฉื•ืžืจ ืงื•ื‘ืฅ ื‘ืฉื db/schema.rb ืฉื‘ื• ื”ื•ื ืžื—ื–ื™ืง ืืช ืดื”ืชื•ืฆืื•ืชืด ืฉืœ ื›ืœ ื”ืžื™ื’ืจืฆื™ื•ืช, ื›ืœื•ืžืจ ืกื•ื’ ืฉืœ ืชืžื•ื ื” ืฉืœ ื‘ืกื™ืก ื”ื ืชื•ื ื™ื. ืœื›ืŸ ืื ื”ืจืฆื ื• ืžื™ื’ืจืฆื™ื” ืฉื™ืฉ ื‘ื” ื˜ืขื•ืช ืœื ื™ืขื–ื•ืจ ืœื ื• ืœื—ื–ื•ืจ ืœืงื•ื‘ืฅ, ืœืขื“ื›ืŸ ืื•ืชื• ื•ืื– ืœื”ืคืขื™ืœ ืฉื•ื‘ db:migrate. ืจื™ื™ืœืก ืœื ื™ืจื™ืฅ ืืช ื”ืงื•ื‘ืฅ ื”ื–ื” ืฉื•ื‘ ื›ื™ ื‘ื‘ืกื™ืก ื”ื ืชื•ื ื™ื ืžืกื•ืžืŸ ืœื• ืฉื”ืงื•ื‘ืฅ ื›ื‘ืจ ื”ื•ืจืฅ. ืชื•ืฆืื” ืขืฆื•ื‘ื” ืฉืœ ื”ื”ืชื ื”ื’ื•ืช ื”ื–ืืช ื™ื›ื•ืœื” ืœื”ื™ื•ืช ืชื™ืงื™ื™ืช ืžื™ื’ืจืฆื™ื•ืช ืขืžื•ืกื”, ืืคื™ืœื• ื‘ืคืจื•ื™ืงื˜ื™ื ื—ื“ืฉื™ื ืื• ืฉืขื•ื“ ืœื ืขืœื• ืœืคืจื•ื“ืงืฉืŸ. ื–ื” ืงื•ืจื” ื›ื™ ืžืชื›ื ืชื™ื ืœื ื™ื•ื“ืขื™ื ืื™ืš ืœื‘ื˜ืœ ืžื™ื’ืจืฆื™ื” ืฉื”ืจื™ืฆื• ื•ืœื›ืŸ ื™ื•ืฆืจื™ื ืžื™ื’ืจืฆื™ื•ืช ื—ื“ืฉื•ืช ืขื ื”ืชื™ืงื•ื ื™ื. ื‘ื“ื•ื’ืžื” ืฉื”ื“ื‘ืงืชื™ ืงื•ื“ื, ืื ืื ื™ ืžื’ืœื” ื‘ื–ืžืŸ ืคื™ืชื•ื— ืฉื—ืกืจื” ืœื™ ืขืžื•ื“ื” ื‘ื˜ื‘ืœืช ื”ืžื•ืฆืจื™ื ืื—ืจื™ ืฉื›ื‘ืจ ื”ืจืฆืชื™ db:migrate ืื ื™ ืขืœื•ืœ ืœื”ื™ื‘ื”ืœ ื•ืœื™ืฆื•ืจ ืžื™ื’ืจืฆื™ื” ื—ื“ืฉื” ืฉืชื•ืกื™ืฃ ืืช ื”ืขืžื•ื“ื”. ืฉื ื™ ืจืขื™ื•ื ื•ืช ื™ื•ืชืจ ื˜ื•ื‘ื™ื ืฉื™ืขื–ืจื• ืœื›ื ืœืฉืžื•ืจ ืืช ืชื™ืงื™ื™ืช ื”ืžื™ื’ืจืฆื™ื•ืช ืงื˜ื ื” ืœืคื—ื•ืช ื›ืฉื”ืคืจื•ื™ืงื˜ ื‘ืชื—ื™ืœืช ื”ื“ืจืš- 1. ื”ื›ื™ ืงืœ ืื ื–ื• ืžื™ื’ืจืฆื™ื” ื™ื—ืกื™ืช ืขื“ื›ื ื™ืช ืœื”ืคืขื™ืœ:
$ ./bin/rails db:rollback
ื”ืคืงื•ื“ื” ื”ื–ืืช ืžื‘ื˜ืœืช ืืช ื”ืจืฆืช ื”ืžื™ื’ืจืฆื™ื” ื”ืื—ืจื•ื ื”, ื•ืื– ืืคืฉืจ ืœืฉื ื•ืช ืืช ื”ืงื•ื“ ืฉืœื” ื•ืœื”ืคืขื™ืœ db:migrate ืžื—ื“ืฉ. 2. ืื ืฆืจื™ืš ืœืฉื ื•ืช ืžืฉื”ื• ืจื•ื—ื‘ื™ ื‘ื”ืจื‘ื” ื˜ื‘ืœืื•ืช ืื• ื”ืจื‘ื” ืงื‘ืฆื™ ืžื™ื’ืจืฆื™ื”, ืืคืฉืจ ืœืœื›ืช ื‘ื›ื™ื•ื•ืŸ ืื—ืจ ื•ืคืฉื•ื˜ ืœื–ืจื•ืง ืืช ื›ืœ ื‘ืกื™ืก ื”ื ืชื•ื ื™ื. ื›ืœ ืขื•ื“ ืœื ืขืœื™ื ื• ืœืคืจื•ื“ืงืฉืŸ ื•ืžืžื™ืœื ืื ื—ื ื• ื‘ืคื™ืชื•ื— ื ื•ื›ืœ ืœื”ืคืขื™ืœ:
$ ./bin/rails db:drop
ืœืฉื ื•ืช ืืช ื›ืœ ืงื‘ืฆื™ ื”ืžื™ื’ืจืฆื™ื” ืฉื™ืชืื™ืžื• ืœืžื” ืฉืื ื—ื ื• ืฆืจื™ื›ื™ื ื•ืื– ืœื”ืคืขื™ืœ ืžื—ื“ืฉ:
$ ./bin/rails db:migrate
$ ./bin/rails db:seed
ืฉื™ืžื• ืœื‘ ืฉื”ืคืขืœืช db:migrate ืžืขื“ื›ื ืช ืืช ื”ืงื•ื‘ืฅ db/schema.rb, ื•ืงื•ื‘ืฅ ื–ื” ืžืฉืคื™ืข ืขืœ ื”ืคืงื•ื“ื” db:reset. ืœื›ืŸ ืื™ืŸ ื˜ืขื ืœืฉื ื•ืช ืงื•ื‘ืฅ ืžื™ื’ืจืฆื™ื” ื•ืœื”ืคืขื™ืœ ืื—ืจื™ ื–ื” ./bin/rails db:reset. ืคืขื•ืœื” ื›ื–ืืช ืคืฉื•ื˜ ืชื™ืฆื•ืจ ืืช ื‘ืกื™ืก ื”ื ืชื•ื ื™ื ืžื—ื“ืฉ ื‘ืื•ืชื• ืžื‘ื ื” ืฉื”ื•ื ื”ื™ื” ืงื•ื“ื. ืื—ืจื™ ืฉืžืฉื ื™ื ืงื•ื‘ืฅ ืžื™ื’ืจืฆื™ื” ื—ื™ื™ื‘ื™ื ืœื”ืคืขื™ืœ ืžื—ื“ืฉ db:migrate ื›ื“ื™ ืœืฉื ื•ืช ื’ื ืืช db/schema.rb. ื‘ืขื‘ื•ื“ื” ืขื db:rollback ื• db:drop ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœื‘ื ื•ืช ื›ืžืขื˜ ืืช ื›ืœ ื”ื’ื™ืจืกื” ื”ืจืืฉื•ื ื” ืฉืœ ื”ืคืจื•ื™ืงื˜ ืขื ืชื™ืงื™ื™ืช ืžื™ื’ืจืฆื™ื•ืช ื™ื—ืกื™ืช ืงื˜ื ื”. ืื—ืจื™ ื”ืขืœื™ื™ื” ืœืคืจื•ื“ืงืฉืŸ ื”ื—ื™ื™ื ื”ื•ืคื›ื™ื ื™ื•ืชืจ ืžืกื•ื‘ื›ื™ื ื•ื›ืžื•ื‘ืŸ ืฉืœื ื›ื“ืื™ ืœืฉื ื•ืช ืงื‘ืฆื™ migration ืฉื›ื‘ืจ ื”ืจืฆืชื ืขืœ ื‘ืกื™ืก ื”ื ืชื•ื ื™ื ื”ืืžื™ืชื™.

ToCode
1 419
# ืื™ืš ืœื–ื”ื•ืช ืคืขืœื™ื ื‘ื˜ืงืกื˜ ืขื nltk ื• Python ื‘ืฉืคืช ืคื™ื™ืชื•ืŸ ืกืคืจื™ื™ืช nltk ื›ื•ืœืœืช ืื™ื ืกื•ืฃ ื™ื›ื•ืœื•ืช ืœืขื‘ื•ื“ื” ืขื ื˜ืงืกื˜ื™ื ื•ืœื›ืŸ ื›ืฉืจืฆื™ืชื™ ืœืงื—ืช ื˜ืงืกื˜ ื•ืœืžืฆื•ื ื‘ื• ืืช ื”ืคืขืœื™ื ื–ื• ื”ื™ืชื” ื ืงื•ื“ืช ื”ื”ืชื—ืœื”. ื”ื ื” ืžื” ืฉื™ืฆื- ## ื”ืชืงื ืช ื”ื›ืœื™ื ื‘ืฉื‘ื™ืœ ืœื”ืชื—ื™ืœ ืœืขื‘ื•ื“ ืขื nltk ืื ื—ื ื• ืฆืจื™ื›ื™ื ืจืง ืœื”ืชืงื™ืŸ ืืช ื”ืกืคืจื™ื”:
pip install nltk
ื”ื‘ืขื™ื” ืขื nltk ื”ื™ื ืฉื”ืžื•ื“ื•ืœ ืœื ื›ื•ืœืœ ื”ืจื‘ื” ืงื‘ืฆื™ data ืฉื”ื•ื ืฆืจื™ืš ื‘ืฉื‘ื™ืœ ืœืขื‘ื•ื“, ืœื›ืŸ ืื—ืจื™ ืฉื ื›ืชื•ื‘ ืืช ื”ืชื•ื›ื ื™ืช ื•ื ื ืกื” ืœื”ืคืขื™ืœ ื ืงื‘ืœ ื›ืœ ืžื™ื ื™ ื”ื•ื“ืขื•ืช ื›ืžื•:
LookupError:                                                                                                                                                                          [11/35]
**********************************************************************
  Resource averaged_perceptron_tagger not found.
  Please use the NLTK Downloader to obtain the resource:

  >>> import nltk
  >>> nltk.download('averaged_perceptron_tagger')

  For more information see: https://www.nltk.org/data.html

  Attempted to load taggers/averaged_perceptron_tagger/averaged_perceptron_tagger.pickle
ื›ืฉื–ื” ืงื•ืจื” ืื ื—ื ื• ื›ื•ืชื‘ื™ื ืžืฉื•ืจืช ื”ืคืงื•ื“ื” python ื ื›ื ืกื™ื ืœ repl ื•ื›ื•ืชื‘ื™ื ืืช ืฉืชื™ ื”ืคืงื•ื“ื•ืช ืฉื”ื•ื ื”ืฆื™ืข, ื‘ื”ื•ื“ืขื” ืฉื”ื“ื‘ืงืชื™ ื–ื”:
import nltk
nltk.download('averaged_perceptron_tagger')
ื–ื” ื™ืงืจื” ื›ืžื” ืคืขืžื™ื ืขื ืงื‘ืฆื™ื ืฉื•ื ื™ื ืื‘ืœ ื‘ืกื•ืฃ ื”ืชื•ื›ื ื™ืช ืชืจื•ืฅ. ## ื•ืขื›ืฉื™ื• ืœืงื•ื“ ืื•ืงื™ื™ ืื– ืื ื—ื ื• ื™ื•ื“ืขื™ื ืžื” ืฆืจื™ืš ืœืขืฉื•ืช ื‘ืฉื‘ื™ืœ ืœื”ืชื—ื™ืœ ืœืขื‘ื•ื“ ืขื›ืฉื™ื• ื‘ื•ืื• ื ืจืื” ืื™ืš nltk ืขื•ื–ืจืช ืœื ื• ืœืžืฆื•ื ืคืขืœื™ื ื‘ื˜ืงืกื˜. ืื ื™ ืžืฉืชืžืฉ ื‘ 3 ืจื›ื™ื‘ื™ื ืฉืœ nltk: 1. ื”ืจื›ื™ื‘ word_tokenize ืฉืœื•ืงื— ื˜ืงืกื˜ ื•ืžืคืจืง ืื•ืชื• ืœืžื™ืœื™ื. 2. ื”ืจื›ื™ื‘ pos_tag ืฉืœื•ืงื— ืจืฉื™ืžื” ืฉืœ ืžื™ืœื™ื ื•ืžืกืžืŸ ืœื ื• ืžื” ื”ืชืคืงื™ื“ ืฉืœ ื›ืœ ืžื™ืœื”. 3. ื”ืจื›ื™ื‘ WordNetLemmatizer ืฉืœื•ืงื— ืžื™ืœื” ื•ืžื—ื–ื™ืจ ืืช ืฆื•ืจืช ื”ื‘ืกื™ืก ืฉืœื”. ืื ื—ื ื• ื ืฉืชืžืฉ ื‘ื• ื›ื“ื™ ืœืงื‘ืœ ืืช ืฆื•ืจืช ื”ื‘ืกื™ืก ืฉืœ ื”ืคื•ืขืœ (ื‘ืœื™ ื”ื˜ื™ื”). ืžื‘ื—ื™ื ืช ืกื™ืžื•ื ื™ื ื”ืคื•ื ืงืฆื™ื” pos_tag ืœื•ืงื—ืช ืจืฉื™ืžื” ืฉืœ ืžื™ืœื™ื ื•ืžื—ื–ื™ืจื” ืจืฉื™ืžื” ืฉืœ Tuples. ื”ืคืจื™ื˜ ื”ืจืืฉื•ืŸ ื‘ tuple ื”ื•ื ื”ืžื™ืœื”, ื•ื”ืคืจื™ื˜ ื”ืฉื ื™ ื”ื•ื ื”ืชืคืงื™ื“ ืฉืœื” ื‘ืžืฉืคื˜. ื”ืชืคืงื™ื“ื™ื ืฉืžืชื—ื™ืœื™ื ื‘ V ืžืฆื™ื™ื ื™ื ืคืขืœื™ื. ืงื•ื“? ืงื‘ืœื•:
from nltk.tokenize import word_tokenize
from nltk import pos_tag
from nltk.stem.wordnet import WordNetLemmatizer
import re

lemmatizer = WordNetLemmatizer()

text =word_tokenize("To Sherlock Holmes she is always the woman. I have seldom heard him mention her under any other name. In his eyes she eclipses and predominates the whole of her sex. It was not that he felt any emotion akin to love for Irene Adler. All emotions, and that one particularly, were abhorrent to his cold, precise but admirably balanced mind. He was, I take it, the most perfect reasoning and observing machine that the world has seen, but as a lover he would have placed himself in a false position. He never spoke of the softer passions, save with a gibe and a sneer. They were admirable things for the observerโ€šร„รฎexcellent for drawing the veil from menโ€šร„รดs motives and actions. But for the trained reasoner to admit such intrusions into his own delicate and finely adjusted temperament was to introduce a distracting factor which might throw a doubt upon all his mental results. Grit in a sensitive instrument, or a crack in one of his own high-power lenses, would not be more disturbing than a strong emotion in a nature such as his. And yet there was but one woman to him, and that woman was the late Irene Adler, of dubious and questionable memory.")

tokens_tag = pos_tag(text)
only_verbs = set([lemmatizer.lemmatize(w[0], 'v') for w in tokens_tag if w[1].startswith('V') and re.search(r'^\w+$', w[0])])
print("Verbs:", only_verbs)
ื•ื”ืชื•ืฆืื”:
After Token: {'adjust', 'predominate', 'have', 'take', 'see', 'observe', 'eclipse', 'save', 'place', 'seldom', 'speak', 'mention', 'balance', 'felt', 'love', 'be', 'admit', 'draw', 'introduce', 'throw'}
ืกืš ื”ื›ืœ ืขื‘ื•ื“ื” ืœื ืจืขื”, ื—ื•ืฅ ืž seldom ืฉืœื ื‘ืจื•ืจ ืื™ืš ื”ืกืชื ืŸ ืœืฉื.

ToCode
1 419
# ื”ื ื“ืกืช ื™ืชืจ ื”ื ื“ืกืช ื™ืชืจ, ืื• ื‘ืฉืžื” ื”ืœื•ืขื–ื™ Over Engineering, ืชืžื™ื“ ืชืงืจื” ื›ืฉืื ื—ื ื• ื›ื•ืชื‘ื™ื ืžืขืจื›ืช ื‘ื˜ื›ื ื•ืœื•ื’ื™ื” ืฉืื ื—ื ื• ืœื ืžื›ื™ืจื™ื ืžืกืคื™ืง. ื–ื” ืคืฉื•ื˜ ื›ื™ ืœื•ืงื— ื›ืžื” ื ื™ืกื™ื•ื ื•ืช ืขื“ ืฉืžื‘ื™ื ื™ื ืžื” ื”ื“ืจืš ื”ื›ื™ ืžื“ื•ื™ืงืช ืœื”ื’ื™ืข ืœืคื™ืชืจื•ืŸ, ื•ื‘ื˜ื›ื ื•ืœื•ื’ื™ื” ืฉื ืื—ื ื• ืœื ืžืกืคื™ืง ืžื›ื™ืจื™ื ืื ื—ื ื• ื ืžืฆืื™ื ื‘ื ื™ืกื™ื•ืŸ ื”ืจืืฉื•ืŸ. ื•ื›ื›ื” ืื ื—ื ื• ืžืงื‘ืœื™ื ืืชืจื™ื ืฉื›ืชื•ื‘ื™ื ื‘ืจื™ืืงื˜, ื›ืฉ HTML ืคืฉื•ื˜ ืขื ืงืฆืช JavaScript ื”ื™ื” ืžืกืคื™ืง ื˜ื•ื‘; ืžืขืจื›ื•ืช ืขื ืŸ ืฉื”ื™ื• ืขื•ื‘ื“ื•ืช ื”ืจื‘ื” ื™ื•ืชืจ ื˜ื•ื‘ ืขืœ VPS ืคืฉื•ื˜ ืื• ืงื•ื“ ืขื ื›ืœ ื›ืš ื”ืจื‘ื” Design Patterns ืฉืืคืฉืจ ื”ื™ื” ืœื›ืชื•ื‘ ืžืžื ื• ืกืคืจ. ื”ื‘ืขื™ื” ืขื Over Engineering ื”ื™ื ืฉื”ืขืœื•ืช ืžืžืฉื™ื›ื” ืœืœื•ื•ืช ืื•ืชื ื• ื‘ื›ืœ ืฉืœื‘ ื‘ื“ืจืš. ื–ื” ืœื ืฉืคืขื ืื—ืช ื‘ื”ืชื—ืœื” ื”ืฉืงืขืชื™ ื™ื•ืชืจ ืžื“ื™ ื•ื‘ื ื™ืชื™ ืคื™ืชืจื•ืŸ ืžืชื•ื—ื›ื ื•ืขื›ืฉื™ื• ื”ืจื•ื•ื—ืชื™ ื•ื›ืœ ืคื™ืชื•ื— ืขืชื™ื“ื™ ื™ื”ื™ื” ื™ื•ืชืจ ืงืœ, ืืœื ืžืžืฉ ืœื”ื™ืคืš - ื”ืฉืงืขืชื™ ื‘ื”ืชื—ืœื” ื‘ื‘ื ื™ื™ืช ืคื™ืชืจื•ืŸ ื™ื•ืชืจ ืžื“ื™ ืžืชื•ื—ื›ื, ื•ืขื›ืฉื™ื•: 1. ื”ืจื‘ื” ื™ื•ืชืจ ืงืฉื” ืœื™ ืœืฉื ื•ืช ืืช ื”ืงื•ื“, ื‘ืœื™ ืœืฉื‘ื•ืจ ืืช ื”ืชื‘ื ื™ืช ื”ืžืชื•ื—ื›ืžืช ืฉื‘ื ื™ืชื™ ื‘ื”ืชื—ืœื”. 2. ืื ื™ ืฆืจื™ืš ืœื”ืฉืงื™ืข ื”ืจื‘ื” ื™ื•ืชืจ ื–ืžืŸ ื‘ืฉื™ื“ืจื•ื’ ืชืœื•ื™ื•ืช ืื• ืขื“ื›ื•ื ื™ื ืื—ืจื™ื, ืจืง ื›ื“ื™ ืœืขืžื•ื“ ื‘ืงืฆื‘ ืฉืœ ื›ืœ ื”ืกืคืจื™ื•ืช ืฉื”ื›ื ืกืชื™. 3. ืžืชื›ื ืชื™ื ื—ื“ืฉื™ื ืฉื™ื™ื›ื ืกื• ืœืคืจื•ื™ืงื˜ ื™ืฆื˜ืจื›ื• ืœืขื‘ื•ืจ ืžืกืข ื™ื™ืกื•ืจื™ื ืขื“ ืฉื™ืฆืœื™ื—ื• ืœืชืจื•ื ืงื•ื“, ื›ื™ ืงืฉื” ืžืื•ื“ ืœื”ื‘ื™ืŸ ืืช ื”ืคื™ืชืจื•ืŸ ื”ืžื”ื•ื ื“ืก ืœื”ืคืœื™ื ืฉื‘ื ื™ืชื™. 4. ื‘ื ื™ื™ืช ืคื™ืชืจื•ืŸ ืžืชื•ื—ื›ื ืฉืœื ืœืฆื•ืจืš, ื‘ื˜ื›ื ื•ืœื•ื’ื™ื” ืฉืื ื™ ืœื ืžืกืคื™ืง ืžื›ื™ืจ, ืžื™ื™ืฆืจืช ื™ื•ืชืจ ื‘ืื’ื™ื ืžื•ื–ืจื™ื, ืฉื™ืžืฉื™ื›ื• ืœืœื•ื•ืช ืื•ืชื™ ืœื ืฆื—. ืฉืชื™ ื“ื•ื’ืžืื•ืช ื›ืืŸ ืžื˜ื•ืงื•ื“ - ื›ืžื• ืฉืื•ืœื™ ืืชื ื™ื•ื“ืขื™ื ื”ืืชืจ ื”ื–ื” ื‘ื ื•ื™ ื‘ืจื™ืืงื˜ ืขื React Router ื›ื“ื™ ืœืชืช ื—ื•ื•ื™ืช Single Page Application. ื–ื” ื”ื™ื” ื ืจืื” ื›ืžื• ืจืขื™ื•ืŸ ื˜ื•ื‘ ืœืคื ื™ 5 ืฉื ื™ื ื›ืฉืœื ื™ื“ืขืชื™ ื”ืจื‘ื” ืขืœ ื‘ื ื™ื™ืช ืืชืจื™ื, ืื‘ืœ ื”ื™ื•ื ืื ื™ ื›ื‘ืจ ื™ื•ื“ืข ืœืจืื•ืช ืฉื–ื• ื”ื™ืชื” ื”ื ื“ืกืช ื™ืชืจ. ื‘ื™ืžื™ื ืืœื” ืื ื™ ืขื•ื‘ื“ ืขืœ ื’ื™ืจืกื” ื—ื“ืฉื” ืฉืœ ื”ืืชืจ, ืคืฉื•ื˜ื” ื‘ื”ืจื‘ื” ื•ื‘ืœื™ ืคืจื™ื™ืžื•ื•ืจืงื™ื, ืฉื ื•ืชื ืช ื—ื•ื•ื™ื” ื˜ื•ื‘ื” ื™ื•ืชืจ ื•ืชื—ื–ื•ืงื” ื”ืจื‘ื” ื™ื•ืชืจ ืงืœื”. ื“ื•ื’ืžื” ืฉื ื™ื” ื”ื™ื ื”ื‘ื•ื˜ ื˜ืœื’ืจื ืฉื›ืชื‘ืชื™ ืคืขื ื‘ืืœื™ืงืกื™ืจ, ื•ืœื ืžื–ืžืŸ ื”ื—ืœืคืชื™ ื‘ื›ืžื” ืขืฉืจื•ืช ืฉื•ืจื•ืช ืคื™ื™ืชื•ืŸ. ืงื•ื“ ื”ืคื™ื™ืชื•ืŸ ืžืฆืœื™ื— ืœืขืฉื•ืช ื‘ื“ื™ื•ืง ืืช ืื•ืชื• ื“ื‘ืจ ืฉื”ืืœื™ืงืกื™ืจ ืขืฉื”, ื•ื‘ื–ื›ื•ืช ื”ืงื•ื“ ื”ืคืฉื•ื˜ ื™ื•ืชืจ ืื ื™ ื™ื›ื•ืœ ืœื”ืคืขื™ืœ ืื•ืชื• ื‘ Github Action ื•ืœื ืฆืจื™ืš ืœื“ืื•ื’ ืœืฉืจืช, ืžืขืจื›ืช ื”ืคืขืœื” ื•ื’ื™ืจืกื” ืฉืœ ืืœื™ืงืกื™ืจ. ืื•ืชื” ื—ื•ื•ื™ื” ืขื ื”ืจื‘ื” ืคื—ื•ืช ืชื—ื–ื•ืงื”. ืื™ ืืคืฉืจ ืœื‘ืจื•ื— ืžื”ื ื“ืกืช ื™ืชืจ ื‘ืชื—ื™ืœืช ื”ืคืจื•ื™ืงื˜. ืืคืฉืจ ื•ืจืฆื•ื™ ืœื”ื ื“ืก ืืช ื”ื“ืจืš ืœืคื™ืชืจื•ืŸ ืคืฉื•ื˜ ื™ื•ืชืจ ื›ื›ืœ ืฉืœื•ืžื“ื™ื ื™ื•ืชืจ ืขืœ ื”ื‘ืขื™ื” ื•ื”ื˜ื›ื ื•ืœื•ื’ื™ื”.

ToCode
1 419
# ืจืง ืคื•ืกื˜ื™ื ื˜ื•ื‘ื™ื ืื ื™ ื—ื•ืœื ืœืคืขืžื™ื ืœื›ืชื•ื‘ ืจืง ืคื•ืกื˜ื™ื ื˜ื•ื‘ื™ื. ืฉื›ืœ ืคื•ืกื˜ ื™ื”ื™ื” ืคืฆืฆื” ื•ื™ืงื‘ืœ ืืœืคื™ ืฉื™ืชื•ืคื™ื, ืฉื›ืœ ืžื™ ืฉืงื•ืจื ืื• ืงื•ืจืืช ืื•ืชื• ืคืชืื•ื ื™ืจื’ื™ืฉ ืžื•ืืจ ื•ืžืœื ืžื•ื˜ื™ื‘ืฆื™ื”. ื•ืžื” ื‘ืขืฆื ื”ื‘ืขื™ื”? ื”ืจื™ ืœื›ืชื•ื‘ ืคื•ืกื˜ ื˜ื•ื‘ ื•ืœื›ืชื•ื‘ ืคื•ืกื˜ ืจืข ืœื•ืงื— ื‘ื“ื™ื•ืง ืื•ืชื• ื–ืžืŸ. ืื ืžืžื™ืœื ืื ื™ ื™ื•ืฉื‘ ืœื›ืชื•ื‘ ื›ืœ ื™ื•ื, ืœื ืขื“ื™ืฃ ืœื›ืชื•ื‘ ืจืง ืืช ื”ื˜ื•ื‘ื™ื? ื‘ืฉื‘ื™ืœ ืžื” ืœื‘ื–ื‘ื– ื–ืžืŸ ืขืœ ืคื•ืกื˜ ืฉืืฃ ืื—ื“ ืœื ื™ืงืจื? ื›ืฉืื ื—ื ื• ื—ื•ืฉื‘ื™ื ืขืœ ื”ืฆืœื—ื•ืช ืื ื™ ื‘ื˜ื•ื— ืฉืœื›ืœ ืื—ื“ ื™ืฉ ืžื˜ืจื•ืช ืฉื•ื ื•ืช- ืื•ืœื™ ืืช ืจื•ืฆื” ืœืคืชื— ื›ืœื™ ืขื‘ื•ื“ื” ื•ืชื”ืœื™ื›ื™ ืขื‘ื•ื“ื” ื˜ื•ื‘ื™ื ื™ื•ืชืจ ืœืฆื•ื•ืช, ื›ื“ื™ ืœื”ืคืกื™ืง ืœื›ื‘ื•ืช ืฉืจื™ืคื•ืช ื›ืœ ื”ื™ื•ื; ืื•ืœื™ ืืชื” ืจื•ืฆื” ืœืžืฆื•ื ืขื‘ื•ื“ื” ื—ื“ืฉื” ื‘ืžืฉื›ื•ืจืช ื’ื‘ื•ื”ื” ื™ื•ืชืจ ื•ื‘ืชื ืื™ื ื™ื•ืชืจ ื˜ื•ื‘ื™ื; ืื•ืœื™ ืืช ื—ื•ืœืžืช ืฉืคืจื•ื™ืงื˜ ื”ืฆื“ ืฉื‘ื ื™ืช ื™ืชื—ื™ืœ ืœื”ื›ื ื™ืก ื›ืกืฃ ื•ืชื•ื›ืœื™ ืœืขื–ื•ื‘ ืืช ื”ืขื‘ื•ื“ื” ื•ืœื”ืฉืงื™ืข ืจืง ื‘ื•. ื›ืœ ืื—ื“ ืžื”ื—ืœื•ืžื•ืช ื”ืืœื” ื“ื•ืจืฉ ื”ืฉืงืขื” ื•ืžื•ื˜ื™ื‘ืฆื™ื” ื•ื–ืžืŸ ื•ื™ื•ืชืจ ืžื”ื›ืœ ื”ืจื‘ื” ื–ืžืŸ ืžื™ื•ืชืจ. ื”ืจื‘ื” ื–ืžืŸ ืฉื‘ื• ืชื›ืชื‘ื™ ื›ืœื™ื ืฉืืฃ ืื—ื“ ื‘ืฆื•ื•ืช ืœื ื™ืจืฆื” ืœื”ืฉืชืžืฉ, ื•ืชื—ื˜ืคื™ ืขืœ ื”ืจืืฉ ื›ื™ ืขื“ื™ืฃ ืœื”ืฉืงื™ืข ืืช ื”ื–ืžืŸ ื‘ืœืชืงืŸ ื‘ืื’ื™ื. ื”ืจื‘ื” ื–ืžืŸ ืฉื‘ื• ืชืœืžื“ ื•ืชืชื›ื•ื ืŸ ืœืจืื™ื•ื ื•ืช ื•ื‘ืกื•ืฃ ืœื ืชืชืงื‘ืœ ื•ืชืฆื˜ืจืš ืœืœืžื•ื“ ื ื•ืฉืื™ื ื—ื“ืฉื™ื ืœืงืจืืช ื”ืจืื™ื•ืŸ ื”ื‘ื. ื”ืจื‘ื” ื–ืžืŸ ืฉื™ื•ืฉืงืข ื‘ืคืจื•ื™ืงื˜ ื”ืฆื“ ืฉืชืฆื˜ืจื›ื™ ืœื–ืจื•ืง ืขื“ ืฉืชื’ื™ืขื™ ื‘ืกื•ืฃ ืœืจืขื™ื•ืŸ ืฉื›ืŸ ื™ืฆืœื™ื—. ืงืœ ืœืจืื•ืช ืœืžื” ืื ื—ื ื• ืžืชืคืชื™ื ืœื”ืคืกื™ืง ืœืœื›ืช ืœืจืื™ื•ื ื•ืช ื›ื™ "ืื ื™ ืœื ืžืชืงื‘ืœ ืœืฉื•ื ืžืงื•ื"; ืœื”ืคืกื™ืง ืœื›ืชื•ื‘ ื›ืœื™ื ื›ื™ "ืืฃ ืื—ื“ ืคื” ืœื ื‘ืืžืช ืจื•ืฆื” ืœืฉืคืจ"; ืœื”ืคืกื™ืง ืœื‘ื ื•ืช ืคืจื•ื™ืงื˜ื™ ืฆื“ ื›ื™ "ืื ื™ ืœื ืžืกืคื™ืง ื˜ื•ื‘ื” ื‘ืฉื‘ื™ืœ ืœื‘ื ื•ืช ืžืฉื”ื• ืจืฆื™ื ื™" ืื• ืœื”ืคืกื™ืง ืœื›ืชื•ื‘ ื›ื™ "ืื ื™ ืœื ื›ื•ืชื‘ ืžืกืคื™ืง ื˜ื•ื‘". ื›ื‘ื ื™ ืื“ื ืื ื—ื ื• ืจื•ืฆื™ื ืœื”ืฉืชื™ื™ืš, ืจื•ืฆื™ื ืœืงื‘ืœ ืžืฉื•ื‘ ื—ื™ื•ื‘ื™, ืจื•ืฆื™ื ืœื”ืฆืœื™ื—. ื”ืชื—ื•ืฉื” ื”ื›ื™ ื˜ื‘ืขื™ืช ื‘ืขื•ืœื ื”ื™ื ืœื”ืคืกื™ืง ื›ื™ ื–ื” ืคืฉื•ื˜ ืœื ื”ื•ืœืš. ื•ืœืžืจื•ืช ืฉื‘ื™ื•ื ืจื’ื™ืœ ืื ื™ ืชืžื™ื“ ื‘ืขื“ ืœื”ืงืฉื™ื‘ ืœืจื’ืฉื•ืช, ื‘ืกื™ืคื•ืจ ื”ื–ื” ื”ืจื’ืฉ ืœื ืขื•ื–ืจ. ื‘ืžืงื•ื ื–ื”, ืฉื•ื•ื” ืœื ืกื•ืช ืœื”ื•ืกื™ืฃ ืืช ื”ืžื™ืœื” "ืขื“ื™ื™ืŸ": - ืื ื™ ืขื“ื™ื™ืŸ ืœื ื›ื•ืชื‘ ืžืกืคื™ืง ื˜ื•ื‘, ื•ื–ื” ื‘ืกื“ืจ ืœื”ืžืฉื™ืš ืœืขืฉื•ืช ื“ื‘ืจื™ื ืฉืื ื™ ืขื“ื™ื™ืŸ ืœื ืžืกืคื™ืง ื˜ื•ื‘ ื‘ื”ื. - ืื ื™ ืขื“ื™ื™ืŸ ืœื ืขื•ื‘ืจ ืจืื™ื•ื ื•ืช, ื•ื–ื” ื‘ืกื“ืจ ืœื”ืžืฉื™ืš ืœื”ืชื›ื•ื ืŸ ื•ืœืœื›ืช ื’ื ืื ื‘ืกื•ืฃ ืœื ืื—ืœื™ืฃ ืขื‘ื•ื“ื”. ืœืœื™ืžื•ื“ ืขืฆืžื• ื’ื ื™ืฉ ืขืจืš. - ืื ื™ ืขื“ื™ื™ืŸ ืœื ืžืกืคื™ืง ื˜ื•ื‘ื” ื‘ืฉื‘ื™ืœ ืœื‘ื ื•ืช ื•ืœืฉื•ื•ืง ืคืจื•ื™ืงื˜ ืฆื“ ืจืฆื™ื ื™. ื•ื–ื” ื‘ืกื“ืจ ืœื”ืžืฉื™ืš ืœื›ืชื•ื‘ ืคืจื•ื™ืงื˜ื™ ืฆื“ ื’ื ืื ื”ื ืœืขื•ืœื ืœื ื™ืจื•ื•ื™ื—ื• ื›ืกืฃ. ื”ืขื‘ื•ื“ื” ืขืœื™ื”ื ืžืขืฉื™ืจื” ืื•ืชื™ ื•ืžืฉืžื—ืช ืื•ืชื™. - ืื ื™ ืขื“ื™ื™ืŸ ืœื ื”ืฆืœื—ืชื™ ืœื”ื˜ืžื™ืข ืืช ืชื”ืœื™ื›ื™ ื”ืขื‘ื•ื“ื” ืฉืจืฆื™ืชื™ ื‘ืฆื•ื•ืช, ื•ื–ื” ื‘ืกื“ืจ ืœื”ืžืฉื™ืš ืœื ืกื•ืช ื’ื ืื ื”ื‘ื•ืก ืœื ืื•ื”ื‘ ืืช ื–ื”. ืื ื™ ืžืขื“ื™ืฃ ืœื”ื™ื•ืช ื”ื‘ืŸ ืื“ื ืฉืฉื•ืืฃ ืœืžืฆื•ื™ื ื•ืช ืžืืฉืจ ืขื•ื“ ื‘ื•ืจื’ ื‘ืžืขืจื›ืช. "ืจืง ืคื•ืกื˜ื™ื ื˜ื•ื‘ื™ื" ื–ื” ื—ืœื•ื ื™ืคื”, ืื‘ืœ ืœื ื™ืขื“ ืžืขื ื™ื™ืŸ ื‘ืžื™ื•ื—ื“. ื›ืฉื”ื›ืœ ืžืฆืœื™ื— ื–ื” ื‘ืกืš ื”ื›ืœ ืื•ืžืจ ืฉืืชื” ืœื ืžื ืกื” ื“ื‘ืจื™ื ืžืกืคื™ืง ืžืขื ื™ื™ื ื™ื.

ToCode
1 419
# ื”ื”ื‘ื“ืœ ื‘ื™ืŸ ื”"ืžื”" ืœ"ืื™ืš" ื›ืžืชื›ื ืชื™ื ืื ื—ื ื• ืชืžื™ื“ ืžืžื”ืจื™ื ืœื‘ื ื•ืช ืืช ื”ื“ื‘ืจ ื”ื’ื“ื•ืœ ื”ื‘ื ื•ื›ืžืขื˜ ืชืžื™ื“ ืžื—ืคืฉื™ื ืืช ื”"ืื™ืš" - ืื™ืš ืœื”ื•ืกื™ืฃ OAuth ืœื™ื™ืฉื•ื ืฉืœื™? ืื™ืš ืœื”ืขืชื™ืง ืงื‘ืฆื™ื ืžื‘ืจืื ืฅ ืื—ื“ ืœืฉื ื™? ืื™ืš ืœื”ืชื—ื‘ืจ ืœื‘ืกื™ืก ื ืชื•ื ื™ื ื•ืœื”ืจื™ืฅ ืฉืื™ืœืชื”. ืžื” ืฉืžืคืชื” ื‘"ืื™ืš" ื–ื” ืฉืืคืฉืจ ืœืงื‘ืœ ืชืฉื•ื‘ื” ืงืฆืจื” ื•ื‘ืกื•ืคื” ืœื”ืจื’ื™ืฉ ืฉื”ืชืงื“ืžื ื•: ื”ื•ืกืคื ื• ืžื ื’ื ื•ืŸ ื–ื™ื”ื•ื™ ืžืฉืชืžืฉื™ื ืœื™ื™ืฉื•ื, ืกื™ื“ืจื ื• ืืช ื”ื‘ืจืื ืฆ'ื™ื, ืงื™ื‘ืœื ื• ืชืฉื•ื‘ื” ืžื‘ืกื™ืก ื”ื ืชื•ื ื™ื. ืœ"ืžื”" ืื™ืŸ ืืช ื”ืงืกื ื”ื–ื”. ื•ืขื“ื™ื™ืŸ ืงืฉื” ืœื”ืชืขืœื ืžื”ื—ืฉื™ื‘ื•ืช ืฉืœ "ืžื”" - ืžื” ื–ื” ื‘ืขืฆื OAuth ื•ื”ืื ืื ื™ ื‘ื›ืœืœ ืฆืจื™ืš ืื•ืชื•? ืื™ื–ื” Grant Types ืงื™ื™ืžื™ื? ื•ืื™ื–ื” ืžื”ื ืื ื™ ืฆืจื™ืš? ืžื” ื–ื” ื‘ืจืื ืฅ ื•ืžื” ื–ื” ื‘ื›ืœืœ ืื•ืžืจ ืœื”ืขืชื™ืง ืงื•ื‘ืฅ ืžื‘ืจืื ืฅ ืื—ื“ ืœืฉื ื™? ืื™ื–ื” ื‘ืกื™ืก ื ืชื•ื ื™ื ื™ืขื‘ื•ื“ ื”ื›ื™ ื˜ื•ื‘ ืขื ื”ืžืขืจื›ืช ืฉืœื™ ื•ืขื ืขื•ืœื ื”ืชื•ื›ืŸ ืฉืื ื™ ืฆืจื™ืš ืœืฉืžื•ืจ? ืœ"ืžื”" ืื™ืŸ ืชืฉื•ื‘ื” ืงืœื”, ืื‘ืœ ื”ื™ื›ืจื•ืช ื˜ื•ื‘ื” ืขื ื”"ืžื”" ื™ื›ื•ืœื” ืœื—ืกื•ืš ื”ืจื‘ื” ืขื‘ื•ื“ื” ืžื™ื•ืชืจืช ื•ืฆืจื•ืช ื‘ืขืชื™ื“, ื•ื‘ื ื•ืกืฃ ื”ื™ื ื”ืžืคืชื— ืฉืขื•ื–ืจ ืœื ื• ืœื”ืคื•ืš ืœืžืชื›ื ืชื™ื ื˜ื•ื‘ื™ื ื™ื•ืชืจ.

ToCode
1 419
# ื›ืœื™ื ืœื›ืœื™ื ื™ืฉ ื”ืฉืคืขื” ื“ืจืžื˜ื™ืช ืขืœ ื”ืคืจื•ื“ื•ืงื˜ื™ื‘ื™ื•ืช ืฉืœื ื•. ื”ื ื™ื›ื•ืœื™ื ืœื”ืคื•ืš ืื•ืชื ื• ืœืคื™ 10 ื™ื•ืชืจ ืžื”ื™ืจื™ื ืื• ืคื™ 10 ื™ื•ืชืจ ืื™ื˜ื™ื™ื. ืžื™ ืฉืจื’ื™ืœื” ืœื”ืชื—ื™ืœ ืคืจื•ื™ืงื˜ื™ื ื—ื“ืฉื™ื ื™ื›ื•ืœื” ืœื”ืชื—ื™ืœ ืคืจื•ื™ืงื˜ ื—ื“ืฉ ื‘ื ืงื•ื“ืช ืคืชื™ื—ื” ืฉื›ื‘ืจ ื”ื›ืœ ื‘ืžืงื•ื, ื•ืœื”ืชื—ื™ืœ ืœื›ืชื•ื‘ ืืช ื”ืงื•ื“ "ื”ืืžื™ืชื™" ืฉืœ ื”ื™ื™ืฉื•ื ื›ื‘ืจ ื‘ื™ื•ื ื”ืจืืฉื•ืŸ. ื‘ืžืงื•ืžื•ืช ืจืฆื™ื ื™ื™ื ืฉืžืชื—ื™ืœื™ื ื”ืจื‘ื” ืคืจื•ื™ืงื˜ื™ื ื—ื“ืฉื™ื ื™ืฉ ื˜ืžืคืœื™ื™ื˜ื™ื ืžืกื•ื“ืจื™ื ืœืื™ืš ืคืจื•ื™ืงื˜ ื—ื“ืฉ ืฆืจื™ืš ืœื”ื™ืจืื•ืช ื‘ื“ื™ื•ืง ื‘ืฉื‘ื™ืœ ืฉืืคืฉืจ ื™ื”ื™ื” ืœืขืฉื•ืช ืืช ื–ื”. ืžื™ ืฉืœื ืจื’ื™ืœื” ืœื”ืชื—ื™ืœ ืคืจื•ื™ืงื˜ื™ื ื—ื“ืฉื™ื ืขืฉื•ื™ื” ืœื‘ื–ื‘ื– ืฉืขื•ืช ื•ืืคื™ืœื• ื™ืžื™ื ืจืง ืขืœ ื”ืชืœื‘ื˜ื•ื™ื•ืช ื˜ื›ื ื•ืœื•ื’ื™ื•ืช - ื‘ืื™ื–ื” DB ืœื”ืฉืชืžืฉ? ืื™ืš ืœืขืฉื•ืช ืื•ืชื ื˜ื™ืงืฆื™ื” ืœืžืฉืชืžืฉื™ื? ื‘ืื™ื–ื” ืกืคืจื™ื™ืช CSS ืœืขืฆื‘? ืื™ื–ื” ืชื™ืงื™ื•ืช ืœื™ืฆื•ืจ, ื•ืื™ื–ื” ืงื‘ืฆื™ื ืœืฉื™ื ื‘ื›ืœ ืชื™ืงื™ื”; ื•ืขื•ื“ ืžื™ืœื™ื•ืŸ ืฉืืœื•ืช ืฉืžืฆื“ ืื—ื“ ืžืื•ื“ ืžืฉืคื™ืขื•ืช ืขืœ ื”ืงื•ื“ ืฉืœื ื• Going Forward, ืื‘ืœ ืžืฆื“ ืฉื ื™ ื‘ื ืงื•ื“ืช ื”ืชื—ืœื” ืฉืœ ื”ืคืจื•ื™ืงื˜ ืื™ืŸ ืœื ื• ืžืกืคื™ืง ืื™ื ืคื•ืจืžืฆื™ื” ืœื”ื—ืœื™ื˜ ืฉื ื”ื—ืœื˜ื•ืช ื™ื•ืชืจ ืžื“ื™ ืžืชื•ื—ื›ืžื•ืช. ื˜ืžืคืœื™ื™ื˜ ื”ื™ื” ืขื•ื‘ื“ ื”ืจื‘ื” ื™ื•ืชืจ ื˜ื•ื‘. ื›ืฉืื ื—ื ื• ื ื™ื’ืฉื™ื ืœืžืฉื™ืžื” ื‘ืœื™ ืฉื™ืฉ ืœื ื• ื›ืœื™ื ืžืกืคื™ืง ื˜ื•ื‘ื™ื ื›ื“ื™ ืœืคืชื•ืจ ืื•ืชื” ื™ืฉ ืœื ื• ืฉืชื™ ืืคืฉืจื•ื™ื•ืช - ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœืคืชื•ืจ ืืช ื”ืžืฉื™ืžื” ื‘ื›ืœื™ื ืฉื™ืฉ ืœื ื•, ื•ืœื”ื ื™ื— ืฉืืฃ ืคืขื ืœื ื ื™ืชืงืœ ื‘ืžืฉื™ืžื” ื“ื•ืžื” ื•ืœื›ืŸ ืื™ืŸ ื˜ืขื ืœื”ืฉืงื™ืข ื‘ื›ืœื™ื ื˜ื•ื‘ื™ื ื™ื•ืชืจ; ืื• ืœืจืื•ืช ืืช ื”ืžืฉื™ืžื” ื‘ืชื•ืจ ื”ื–ื“ืžื ื•ืช, ื•ืœื”ืฉืงื™ืข ื‘ื—ื™ืคื•ืฉ ื•ืœื™ืžื•ื“ ื›ืœื™ ื”ืขื‘ื•ื“ื” ืฉื™ืชืื™ืžื• ืœืื•ืชื” ืžืฉื™ืžื”. ื‘ืจื•ื‘ ื”ืžืงืจื™ื, ืื ืขืฉื™ืชื ืžืฉื”ื• ืคืขื ืื—ืช ื™ืฉ ืกื™ื›ื•ื™ ื˜ื•ื‘ ืฉืชืฆื˜ืจื›ื• ืœืขืฉื•ืช ืื•ืชื• ืฉื•ื‘ ื‘ืขืชื™ื“ ื›ืš ืฉื”ื”ืฉืงืขื” ืžืฉืชืœืžืช.