เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€เจ†เจ‚ เจฆเฉ€ เจฌเจœเจพเจ เจธเจผเฉเจฐเฉ‡เจฃเฉ€เจ†เจ‚เฅค เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจซเจพเจˆเจฒ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจฒเจˆ เจ‡เฉฑเจ• เจธเจพเจงเจจ

เจชเฉเจฐเฉ‡เจฐเจฟเจค เจฒเฉ‡เจ–

"เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€เจ†เจ‚ เจฆเฉ€ เจฌเจœเจพเจ เจธเจผเฉเจฐเฉ‡เจฃเฉ€เจ†เจ‚, เจœเจพเจ‚ เจ‡เฉฑเจ• เจธเจฟเจฎเฉˆเจ‚เจŸเจฟเจ• เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจฒเจˆ Linux เจตเจฟเจŸเจฟเจธยป,

เจฎเฉˆเจ‚ เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจฆเจพ เจ†เจชเจฃเจพ เจเจจเจพเจฒเจพเจ— เจฌเจฃเจพเจ‰เจฃ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพเฅค vitis เจชเจพเจตเจฐเจธเจผเฉˆเจฒ เจ•เฉ‹เจฐ เจฒเจˆเฅค

เจฎเฉˆเจ‚ เจ‡เจน เจ•เจฟเจ‰เจ‚ เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเจพ?

เจชเจนเจฟเจฒเจพเจ‚, vitis เจธเจฟเจฐเจซเจผ เจฒเจˆ Linux.
เจฆเฉ‚เจœเจพ, เจฎเฉˆเจ‚ PowerShell เจตเจฟเฉฑเจš เจชเจพเจˆเจชเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ‚เฅค

เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฎเฉˆเจ‚ เจ‡เฉฑเจ• เจ•เจฐเจพเจธ-เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจฌเจฃเจพเจ‰เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเจพ เจธเฉ€, เจฎเฉˆเจ‚ .Net Core เจšเฉเจฃเจฟเจ†เฅค

prehistory

เจชเจนเจฟเจฒเจพเจ‚ เจคเจพเจ‚ เจนเจซเฉœเจพ-เจฆเจซเฉœเฉ€ เจธเฉ€เฅค เจซเจฟเจฐ เจกเจฟเจธเจ• 'เจคเฉ‡ เจซเฉ‹เจฒเจกเจฐ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฑเจคเฉ‡เฅค
เจชเจฐ เจนเจซเฉœเจพ-เจฆเจซเฉœเฉ€ เจ…เจœเฉ‡ เจตเฉ€ เจฐเจพเจœ เจ•เจฐเจฆเฉ€ เจฐเจนเฉ€เฅค เจ…เจคเฉ‡ เจŸเฉˆเจ— เจชเฉเจฐเจ—เจŸ เจนเฉ‹เจ, เจจเจพเจฒ เจนเฉ€ เจธเจฌเจŸเฉˆเจ— เจ…เจคเฉ‡ เจŸเฉˆเจ— เจธเจฎเจพเจจเจพเจฐเจฅเฉ€ เจตเฉ€เฅค เจชเจฐ เจนเจซเฉœเจพ-เจฆเจซเฉœเฉ€ เจจเฉ‡ เจ‰เจจเฉเจนเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉ€ เจ˜เฉ‡เจฐ เจฒเจฟเจ†เฅค เจ…เจคเฉ‡ เจธเจผเฉเจฐเฉ‡เจฃเฉ€เจ†เจ‚ เจฆเฉ€ เจ•เจพเจข เจ•เฉฑเจขเฉ€ เจ—เจˆเฅค

เจธเฉฐเจ•เจฒเจช

เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจซเฉ‹เจฒเจกเจฐ เจฒเฉœเฉ€ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚, เจธเจ—เฉ‹เจ‚ เจ–เจพเจธ เจธเจผเฉเจฐเฉ‡เจฃเฉ€เจ†เจ‚ เจตเจพเจฒเฉ‡ "เจขเฉ‡เจฐ" เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ‡เฉฑเจ• เจธเจฟเฉฐเจ—เจฒ เจซเจพเจˆเจฒ เจ•เจˆ เจธเจผเฉเจฐเฉ‡เจฃเฉ€เจ†เจ‚ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค

เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉ‹เจˆ เจซเจพเจˆเจฒ เจฒเฉฑเจญเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน เจ‰เจนเจจเจพเจ‚ เจธเจผเฉเจฐเฉ‡เจฃเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจฆเจพเจ–เจฒ เจนเฉ‹เจฃเจพ เจ†เจธเจพเจจ เจนเฉˆ เจœเจฟเจจเฉเจนเจพเจ‚ เจจเจพเจฒ เจ‡เจน เจธเจฌเฉฐเจงเจค เจนเฉˆเฅค เจ‡เจน เจฏเจพเจฆ เจฐเฉฑเจ–เจฃเจพ เจฌเจนเฉเจค เจธเฉŒเจ–เจพ เจนเฉˆ เจ•เจฟ เจ‡เจธเจจเฉ‚เฉฐ เจ•เจฟเจนเฉœเฉ‡ เจซเฉ‹เจฒเจกเจฐเจพเจ‚ เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค

เจชเจฐ เจ…เจœเจฟเจนเจพ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจ•เฉ‹เจก, เจธเจฐเฉ‹เจค เจ•เฉ‹เจก, เจ†เจฆเจฟ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฒเจˆ เจขเฉเจ•เจตเจพเจ‚ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค
เจ‡เจน เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฒเจˆ เจนเฉˆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจชเจฐเจฟเจตเจพเจฐเจ• เจซเฉ‹เจŸเฉ‹เจ†เจ‚, เจธเฉฐเจ—เฉ€เจค, เจฆเจธเจคเจพเจตเฉ‡เจœเจผเฅค

เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹

เจ–เฉˆเจฐ, เจ†เจ“ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚เจ†เจค เจ•เจฐเฉ€เจเฅค

เจ†เจ“ เจ—เฉเจฐเจพเจซเจพเจˆเจฒ เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เจฐเฉ€เจ:

# install.ps1 ะฝะฐั…ะพะดะธั‚ัั ะฒ ะบะพั€ะฝะตะฒะพะน ะฟะฐะฟะบะต ั ะบะพะดะพะผ
PS D:SourcereposGraphile> .install.ps1

เจชเจนเจฟเจฒเจพเจ‚, เจ†เจ“ เจซเฉ‹เจฒเจกเจฐ เจตเจฟเฉฑเจš เจ—เฉเจฐเจพเจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ€เจ:

# ะ˜ะผะฟะพั€ั‚ะธั€ัƒะตะผ ัƒัั‚ะฐะฝะพะฒะปะตะฝะฝั‹ะน ะผะพะดัƒะปัŒ
PS C:UsersDellGraphileTest> Import-Module GraphilePowerShell
# ะ˜ะฝะธั†ะธะฐะปะธะทะธั€ัƒะตะผ Graphile ะฒ ะฟะฐะฟะบะต
PS C:UsersDellGraphileTest> Init-Graphile
C:UsersDellGraphileTestgraphile.db

เจคเจพเจ‚, เจ…เจธเฉ€เจ‚ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจคเจฟเจ†เจฐ เจนเจพเจ‚เฅค เจนเฉเจฃ เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจธเจผเฉเจฐเฉ‡เจฃเฉ€ เจฌเจฃเจพ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚:

PS C:UsersDellGraphileTest> New-Category -Name "music"
music

เจ†เจ“ เจซเจพเจˆเจฒเจพเจ‚ เจœเฉ‹เฉœเฉ€เจ:

PS C:UsersDellGraphileTest> Get-ChildItem "D:MusicPink Floyd - The Wall" -Recurse -Filter "*.mp3" | foreach { $_.FullName } | foreach {
>> Add-FileToCategory -File $_ -Categories "music"
>> }

เจ‰เจนเจจเจพเจ‚ เจฒเจˆ เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฎเจ เจจเจนเฉ€เจ‚ เจ†เจ‡เจ† เจ•เจฟ เจฎเฉˆเจ‚ เจ•เฉ€ เจ•เฉ€เจคเจพ:

  1. เจซเฉ‹เจฒเจกเจฐ เจตเจฟเฉฑเจš เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจฎเจฟเจฒเฉ€ Pink Floyd - The Wall
  2. เจนเจฐเฉ‡เจ• เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจ‰เจนเจจเจพเจ‚ เจฒเจˆ เจ‡เฉฑเจ• เจชเฉ‚เจฐเฉ‡ เจฎเจพเจฐเจ— เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฟเจ† เจ—เจฟเจ† เจธเฉ€เฅค
  3. เจนเจฐเฉ‡เจ• เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจธเจผเฉเจฐเฉ‡เจฃเฉ€ เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† music

เจนเฉเจฃ เจœเจพเจ‚เจš เจ•เจฐเฉ€เจ เจ•เจฟ เจ•เฉ€ เจ…เจธเฉ€เจ‚ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจธเจผเฉเจฐเฉ‡เจฃเฉ€ เจตเจฟเฉฑเจš เจซเจพเจˆเจฒเจพเจ‚ เจœเฉ‹เฉœเฉ€เจ†เจ‚ เจนเจจ:

PS C:UsersDellGraphileTest> List-Graphiles | Format-Table

เจธเฉ‚เจšเฉ€ เจนเฉ‡เจ  เจฆเจฟเฉฑเจคเฉ‡ เจซเจพเจฐเจฎเฉˆเจŸ เจตเจฟเฉฑเจš เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เฉ€เจคเฉ€ เจœเจพเจตเฉ‡เจ—เฉ€:

CategoriesNames Id Categories Name Extension

เจ†เจ“ เจนเฉ‹เจฐ เจธเจผเฉเจฐเฉ‡เจฃเฉ€เจ†เจ‚ เจ…เจคเฉ‡ เจซเจพเจˆเจฒเจพเจ‚ เจœเฉ‹เฉœเฉ€เจ:

New-Category -Name "the-wall"
New-Category -Name "alan-parsons"

List-Graphiles -Categories "music" | foreach { Add-GraphileToCategory -Categories "the-wall" -Files $_.Name }

Get-ChildItem "D:MusicThe Alan Parsons Project - Turn of a Friendly Card" -File -Recurse | foreach { $_.FullName } | foreach { Add-FileToCategory -File $_ -Categories "music", "alan-parsons" }

เจ†เจ“ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเฉ€เจ:

List-Graphiles -Categories "alan-parsons" | Format-Table

เจ‡เจน เจ•เจฎเจพเจ‚เจก เจธเจผเฉเจฐเฉ‡เจฃเฉ€ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เจฐเฉ‡เจ—เฉ€เฅค alan-parsons.

เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจฆเฉ‡ เจฆเฉ‡เจตเจคเฉ‡ เจฒเจˆ เจนเฉ‹เจฐ เจซเจพเจˆเจฒเจพเจ‚!

New-Category -Name "images"
Get-ChildItem "D:ะ˜ะทะพะฑั€ะฐะถะตะฝะธั" -File -Recurse | foreach { $.FullName } | foreach {
    Add-FileToCategory -File $_ -Categories "images"
}

เจ…เจธเฉ€เจ‚ เจœเจพเจ‚เจšเจฆเฉ‡ เจนเจพเจ‚:

List-Graphiles -Categories "images" | Format-Table

เจธเจญ เจ•เฉเจ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ!

เจชเจฐ เจ‡เจน เจคเจพเจ‚ เจธเจฟเจฐเจซเจผ เจธเจผเฉเจฐเฉ‚เจ†เจค เจนเฉˆเฅค เจ†เจชเจฃเฉ‡ เจจเจฟเจฏเจฎเจค เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจจเฉ‚เฉฐ เจ—เฉเจฐเจพเจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจเจ•เจธเจชเฉ‹เจฐเจŸ เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจตเจงเฉ€เจ† เจซเจพเจˆเจฒ เจธเฉฐเจ—เจ เจจ เจชเฉเจฐเจพเจชเจค เจ•เจฐเฉ‹เฅค

เจ—เฉเจฐเจพเจซเจพเจˆเจฒ เจ•เจฟเฉฑเจฅเฉ‹เจ‚ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เจฐเจจเจพ เจนเฉˆ

เจ‡เฉฑเจฅเฉ‡ เจฒเจฟเฉฐเจ• เจ—เฉเจฐเจพเจซเจพเจˆเจฒ เจฆเฉ€ เจ—เจฟเฉฑเจŸเจฒเฉˆเจฌ 'เจคเฉ‡เฅค

เจฒเจพเจ‡เจธเฉˆเจ‚เจธ MIT, เจคเจพเจ‚ เจœเฉ‹ เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจตเจชเจพเจฐเจ• เจ‰เจฆเฉ‡เจธเจผเจพเจ‚ เจฒเจˆ เจตเฉ€ เจตเจฐเจค เจธเจ•เฉ‹เฅค

เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเจพ เจญเจตเจฟเฉฑเจ–

เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน PowerShell เจนเฉˆ เจ…เจคเฉ‡ เจ•เฉ‹เจˆ เจšเจพเจฒ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจคเฉเจธเฉ€เจ‚ .NET Core เจฒเจˆ เจ‡เฉฑเจ• เจ—เฉเจฐเจพเจซเจฟเจ•เจฒ เจธเจผเฉˆเฉฑเจฒ เจฌเจฃเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

เจ‡เจน เจ•เจฟเจตเฉ‡เจ‚ เจ•เจฐเฉ€เจ:

  1. Microsoft.PowerShell.SDK เจชเฉˆเจ•เฉ‡เจœ เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เจฐเฉ‹เฅค
  2. เจชเจพเจตเจฐเจธเจผเฉˆเจฒ เจ•เจฒเจพเจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจ—เฉเจฐเจพเจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเฉ‹เฅค

เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจชเจธเฉฐเจฆ เจนเฉˆ, เจคเจพเจ‚ เจ•เจฟเจฐเจชเจพ เจ•เจฐเจ•เฉ‡ เจ•เจฎเจฟเจŸ เจ•เจฐเฉ‹, merge request'y เจ…เจคเฉ‡ เจšเจฐเจšเจพเจตเจพเจ‚ เจชเฉˆเจฆเจพ เจ•เจฐเฉ‹เฅค

เจชเฉœเฉเจนเจจ เจฒเจˆ เจงเฉฐเจจเจตเจพเจฆ! เจ†เจจเฉฐเจฆ เจฎเจพเจฃเฉ‹!

เจธเจฐเฉ‹เจค: www.habr.com

DDoS เจธเฉเจฐเฉฑเจ–เจฟเจ†, VPS VDS เจธเจฐเจตเจฐเจพเจ‚ เจตเจพเจฒเฉ€เจ†เจ‚ เจธเจพเจˆเจŸเจพเจ‚ เจฒเจˆ เจญเจฐเฉ‹เจธเฉ‡เจฏเฉ‹เจ— เจนเฉ‹เจธเจŸเจฟเฉฐเจ— เจ–เจฐเฉ€เจฆเฉ‹ ๐Ÿ”ฅ DDoS เจธเฉเจฐเฉฑเจ–เจฟเจ†, VPS VDS เจธเจฐเจตเจฐเจพเจ‚ เจจเจพเจฒ เจญเจฐเฉ‹เจธเฉ‡เจฏเฉ‹เจ— เจตเฉˆเฉฑเจฌเจธเจพเจˆเจŸ เจนเฉ‹เจธเจŸเจฟเฉฐเจ— เจ–เจฐเฉ€เจฆเฉ‹ | ProHoster