เชกเซ‡เชŸเชพ เชธเชพเชฏเชจเซเชŸเชฟเชธเซเชŸเชจเซ€ เชจเซ‹เช‚เชงเซ‹: เชกเซ‡เชŸเชพ เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพเช“เชจเซ€ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชธเชฎเซ€เช•เซเชทเชพ

เชกเซ‡เชŸเชพ เชธเชพเชฏเชจเซเชŸเชฟเชธเซเชŸเชจเซ€ เชจเซ‹เช‚เชงเซ‹: เชกเซ‡เชŸเชพ เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพเช“เชจเซ€ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชธเชฎเซ€เช•เซเชทเชพ
เชนเซเช‚ เชคเชฎเชจเซ‡ เช…เช‚เช—เชค เช…เชจเซเชญเชตเชฅเซ€ เช•เชนเซเช‚ เช›เซเช‚ เช•เซ‡ เช•เซเชฏเชพเช‚ เช…เชจเซ‡ เช•เซเชฏเชพเชฐเซ‡ เชถเซเช‚ เช‰เชชเชฏเซ‹เช—เซ€ เชนเชคเซเช‚. เชคเซ‡ เชตเชฟเชนเช‚เช—เชพเชตเชฒเซ‹เช•เชจ เช…เชจเซ‡ เชฅเซ€เชธเซ€เชธ เช›เซ‡, เชœเซ‡เชฅเซ€ เชคเซ‡ เชธเซเชชเชทเซเชŸ เชฅเชพเชฏ เช•เซ‡ เชคเชฎเซ‡ เช†เช—เชณ เชถเซเช‚ เช…เชจเซ‡ เช•เซเชฏเชพเช‚ เช–เซ‹เชฆเซ€ เชถเช•เซ‹ เช›เซ‹ - เชชเชฐเช‚เชคเซ เช…เชนเซ€เช‚ เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชซเช•เซเชค เชตเซเชฏเช•เซเชคเชฟเชฒเช•เซเชทเซ€ เชตเซเชฏเช•เซเชคเชฟเช—เชค เช…เชจเซเชญเชต เช›เซ‡, เช•เชฆเชพเชš เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชฌเชงเซเช‚ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เช…เชฒเช— เช›เซ‡.

เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพเช“ เชœเชพเชฃเชตเซ€ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เชธเช•เซเชทเชฎ เชฌเชจเชตเซเช‚ เชถเชพ เชฎเชพเชŸเซ‡ เชฎเชนเชคเซเชตเชจเซเช‚ เช›เซ‡? เชคเซ‡เชจเชพ เชฎเซ‚เชณเชฎเชพเช‚, เชกเซ‡เชŸเชพ เชธเชพเชฏเชจเซเชธ เช•เชพเชฐเซเชฏเชจเชพ เช˜เชฃเชพ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชคเชฌเช•เซเช•เชพเช“ เชงเชฐเชพเชตเซ‡ เช›เซ‡, เช…เชจเซ‡ เช–เซ‚เชฌ เชœ เชชเซเชฐเชฅเชฎ เช…เชจเซ‡ เชธเซŒเชฅเซ€ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ (เชคเซ‡เชจเชพ เชตเชฟเชจเชพ, เชšเซ‹เช•เซเช•เชธเชชเชฃเซ‡ เช•เช‚เชˆเชชเชฃ เช•เชพเชฎ เช•เชฐเชถเซ‡ เชจเชนเซ€เช‚!) เชกเซ‡เชŸเชพ เชฎเซ‡เชณเชตเชตเชพ เช…เชฅเชตเชพ เช•เชพเชขเชตเชพเชจเซเช‚ เช›เซ‡. เชฎเซ‹เชŸเชพเชญเชพเช—เซ‡, เชกเซ‡เชŸเชพ เช•เซเชฏเชพเช‚เช• เช•เซเชฏเชพเช‚เช• เช•เซ‹เชˆเช• เชธเซเชตเชฐเซ‚เชชเซ‡ เชฌเซ‡เช เซ‹ เชนเซ‹เชฏ เช›เซ‡ เช…เชจเซ‡ เชคเซเชฏเชพเช‚เชฅเซ€ "เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชค" เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ เช›เซ‡. 

เช•เซเชตเซ‡เชฐเซ€ เชฒเซ‡เช‚เช—เซเชตเซ‡เชœ เชคเชฎเชจเซ‡ เช† เช–เซ‚เชฌ เชœ เชกเซ‡เชŸเชพ เช•เชพเชขเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡! เช…เชจเซ‡ เช†เชœเซ‡ เชนเซเช‚ เชคเชฎเชจเซ‡ เชคเซ‡ เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพเช“ เชตเชฟเชถเซ‡ เช•เชนเซ€เชถ เชœเซ‡ เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ เช›เซ‡ เช…เชจเซ‡ เชนเซเช‚ เชคเชฎเชจเซ‡ เช•เชนเซ€เชถ เช…เชจเซ‡ เชคเชฎเชจเซ‡ เชฌเชคเชพเชตเซ€เชถ เช•เซ‡ เช•เซเชฏเชพเช‚ เช…เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชฐเชพเชฌเชฐ - เชถเชพ เชฎเชพเชŸเซ‡ เช…เชญเซเชฏเชพเชธ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เชกเซ‡เชŸเชพ เช•เซเชตเซ‡เชฐเซ€ เชชเซเชฐเช•เชพเชฐเซ‹เชจเชพ เชคเซเชฐเชฃ เชฎเซเช–เซเชฏ เชฌเซเชฒเซ‹เช•เซเชธ เชนเชถเซ‡, เชœเซ‡เชจเซ€ เช†เชชเชฃเซ‡ เช† เชฒเซ‡เช–เชฎเชพเช‚ เชšเชฐเซเชšเชพ เช•เชฐเซ€เชถเซเช‚:

  • "เชธเซเชŸเชพเชจเซเชกเชฐเซเชก" เช•เซเชตเซ‡เชฐเซ€ เชฒเซ‡เช‚เช—เซเชตเซ‡เชœ เช เช›เซ‡ เชœเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เช•เซเชตเซ‡เชฐเซ€ เชฒเซ‡เช‚เช—เซเชตเซ‡เชœ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชธเชฎเชœเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡เชฎ เช•เซ‡ เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชฌเซ€เชœเช—เชฃเชฟเชค เช…เชฅเชตเชพ SQL.
  • เชธเซเช•เซเชฐเชฟเชชเซเชŸเซ€เช‚เช— เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพเช“: เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชชเชพเชฏเชฅเซ‹เชจ เชตเชธเซเชคเซเช“ เชชเชพเช‚เชกเชพ, เชจเชฎเซเชชเซ€ เช…เชฅเชตเชพ เชถเซ‡เชฒ เชธเซเช•เซเชฐเชฟเชชเซเชŸเซ€เช‚เช—.
  • เชœเซเชžเชพเชจ เช—เซเชฐเชพเชซ เช…เชจเซ‡ เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ เชฎเชพเชŸเซ‡ เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพเช“.

เช…เชนเซ€เช‚ เชฒเช–เซ‡เชฒเซ€ เชฆเชฐเซ‡เช• เชตเชธเซเชคเซ เชซเช•เซเชค เชเช• เชตเซเชฏเช•เซเชคเชฟเช—เชค เช…เชจเซเชญเชต เช›เซ‡, เชœเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ เชนเชคเซเช‚, เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเช“เชจเชพ เชตเชฐเซเชฃเชจ เชธเชพเชฅเซ‡ เช…เชจเซ‡ "เชคเซ‡เชจเซ€ เชถเชพ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐ เชนเชคเซ€" - เชฆเชฐเซ‡เช• เชตเซเชฏเช•เซเชคเชฟ เชชเซเชฐเชฏเชคเซเชจ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เช•เซ‡ เชธเชฎเชพเชจ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเช“ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชคเชฎเชพเชฐเชพ เชฎเชพเชฐเซเช— เชชเชฐ เช†เชตเซ€ เชถเช•เซ‡ เช›เซ‡ เช…เชจเซ‡ เช† เชญเชพเชทเชพเช“เชจเซ‡ เชธเชฎเชœเซ€เชจเซ‡ เชคเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เช…เช—เชพเช‰เชฅเซ€ เชคเซˆเชฏเชพเชฐเซ€ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. เชคเชฎเชพเชฐเซ‡ เช•เซ‹เชˆ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชชเชฐ (เชคเชพเชคเซเช•เชพเชฒเชฟเช•) เช…เชฐเชœเซ€ เช•เชฐเชตเซ€ เชชเชกเซ‡ เชคเซ‡ เชชเชนเซ‡เชฒเชพเช‚ เช…เชฅเชตเชพ เชœเซเชฏเชพเช‚ เชคเซ‡เช“เชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ เชคเซ‡เชตเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชชเชฐ เชชเชนเซ‹เช‚เชšเชคเชพ เชชเชนเซ‡เชฒเชพ.

"เชธเซเชŸเชพเชจเซเชกเชฐเซเชก" เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพเช“

เชฎเชพเชจเช• เช•เซเชตเซ‡เชฐเซ€ เชฒเซ‡เช‚เช—เซเชตเซ‡เชœ เช เช…เชฐเซเชฅเชฎเชพเช‚ เชšเซ‹เช•เซเช•เชธ เช›เซ‡ เช•เซ‡ เชœเซเชฏเชพเชฐเซ‡ เช†เชชเชฃเซ‡ เช•เซเชตเซ‡เชฐเซ€ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ€เช เช›เซ€เช เชคเซเชฏเชพเชฐเซ‡ เช†เชชเชฃเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชคเซ‡เชฎเชจเชพ เชตเชฟเชถเซ‡ เชตเชฟเชšเชพเชฐเซ€เช เช›เซ€เช.

เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชฌเซ€เชœเช—เชฃเชฟเชค

เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชฌเซ€เชœเช—เชฃเชฟเชค เช†เชœเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡? เช•เซเชตเซ‡เชฐเซ€ เชฒเซ‡เช‚เช—เซเชตเซ‡เชœ เชถเชพ เชฎเชพเชŸเซ‡ เชšเซ‹เช•เซเช•เชธ เชฐเซ€เชคเซ‡ เชฐเชšเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เชธเชญเชพเชจเชชเชฃเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡เชจเซ€ เชธเชพเชฐเซ€ เชธเชฎเชœ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เชคเซ‡เชจเชพ เช…เช‚เชคเชฐเซเช—เชค เชฎเซเช–เซเชฏเชจเซ‡ เชธเชฎเชœเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชฌเซ€เชœเช—เชฃเชฟเชค เชถเซเช‚ เช›เซ‡?

เช”เชชเชšเชพเชฐเชฟเช• เชตเซเชฏเชพเช–เซเชฏเชพ เชจเซ€เชšเซ‡ เชฎเซเชœเชฌ เช›เซ‡: เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชฌเซ€เชœเช—เชฃเชฟเชค เช เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชกเซ‡เชŸเชพ เชฎเซ‹เชกเซ‡เชฒเชฎเชพเช‚ เชธเช‚เชฌเช‚เชงเซ‹ เชชเชฐเชจเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซ€ เชฌเช‚เชง เชธเชฟเชธเซเชŸเชฎ เช›เซ‡. เชคเซ‡เชจเซ‡ เชฅเซ‹เชกเซเช‚ เชตเชงเซ เชฎเชพเชจเชตเซ€เชฏ เชฐเซ€เชคเซ‡ เชฎเซ‚เช•เชตเชพ เชฎเชพเชŸเซ‡, เช† เช•เซ‹เชทเซเชŸเช•เซ‹ เชชเชฐเชจเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซ€ เชเช• เชธเชฟเชธเซเชŸเชฎ เช›เซ‡ เชœเซ‡เชฎ เช•เซ‡ เชชเชฐเชฟเชฃเชพเชฎ เชนเช‚เชฎเซ‡เชถเชพ เชŸเซ‡เชฌเชฒ เชนเซ‹เชฏ เช›เซ‡.

เชฎเชพเช‚ เชคเชฎเชพเชฎ เชฐเชฟเชฒเซ‡เชถเชจเชฒ เช“เชชเชฐเซ‡เชถเชจเซเชธ เชœเซเช“ เช† Habr เชจเซ‹ เชฒเซ‡เช– - เช…เชนเซ€เช‚ เช…เชฎเซ‡ เชตเชฐเซเชฃเชจ เช•เชฐเซ€เช เช›เซ€เช เช•เซ‡ เชคเชฎเชพเชฐเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ เชœเชพเชฃเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡ เช•เซเชฏเชพเช‚ เช•เชพเชฎ เช†เชตเซ‡ เช›เซ‡.

เชถเชพ เชฎเชพเชŸเซ‡?

เช•เซเชตเซ‡เชฐเซ€ เชฒเซ‡เช‚เช—เซเชตเซ‡เชœ เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชšเซ‹เช•เซเช•เชธ เช•เซเชตเซ‡เชฐเซ€ เชฒเซ‡เช‚เช—เซเชตเซ‡เชœเชฎเชพเช‚ เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟเช“ เชชเชพเช›เชณ เช•เชˆ เช•เซเชฐเชฟเชฏเชพเช“ เช›เซ‡ เชคเซ‡ เชธเชฎเชœเชตเชพเชจเซ€ เชถเชฐเซ‚เช†เชค เช˜เชฃเซ€เชตเชพเชฐ เช•เซเชตเซ‡เชฐเซ€ เชฒเซ‡เช‚เช—เซเชตเซ‡เชœเชฎเชพเช‚ เชถเซเช‚ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฅเชพเชฏ เช›เซ‡ เชคเซ‡เชจเซ€ เชŠเช‚เชกเซ€ เชธเชฎเชœ เช†เชชเซ‡ เช›เซ‡.

เชกเซ‡เชŸเชพ เชธเชพเชฏเชจเซเชŸเชฟเชธเซเชŸเชจเซ€ เชจเซ‹เช‚เชงเซ‹: เชกเซ‡เชŸเชพ เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพเช“เชจเซ€ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชธเชฎเซ€เช•เซเชทเชพ
เชฎเชพเช‚เชฅเซ€ เชฒเซ€เชงเซ‡เชฒเซเช‚ เช† เชฒเซ‡เช–เซ‹ เช‘เชชเชฐเซ‡เชถเชจเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ: เชœเซ‹เชกเชพเช“, เชœเซ‡ เช•เซ‹เชทเซเชŸเช•เซ‹เชจเซ‡ เชœเซ‹เชกเซ‡ เช›เซ‡.

เช…เชญเซเชฏเชพเชธ เชฎเชพเชŸเซ‡เชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€:

เชธเซเชŸเซ‡เชจเชซเซ‹เชฐเซเชก เชคเชฐเชซเชฅเซ€ เชธเชพเชฐเซ‹ เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เช…เชญเซเชฏเชพเชธเช•เซเชฐเชฎ. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชฌเซ€เชœเช—เชฃเชฟเชค เช…เชจเซ‡ เชธเชฟเชฆเซเชงเชพเช‚เชค เชชเชฐ เช˜เชฃเซ€ เชฌเชงเซ€ เชธเชพเชฎเช—เซเชฐเซ€ เช›เซ‡ - เช•เซ‹เชฐเซเชธเซ‡เชฐเชพ, เช‰เชกเชพเชธเซ€เชŸเซ€. เชธเชพเชฐเชพ เชธเชนเชฟเชค เช“เชจเชฒเชพเชˆเชจ เชธเชพเชฎเช—เซเชฐเซ€เชจเซ‹ เชตเชฟเชถเชพเชณ เชœเชฅเซเชฅเซ‹ เชชเชฃ เช›เซ‡ เชถเซˆเช•เซเชทเชฃเชฟเช• เช…เชญเซเชฏเชพเชธเช•เซเชฐเชฎเซ‹. เชฎเชพเชฐเซ€ เช…เช‚เช—เชค เชธเชฒเชพเชน: เชคเชฎเชพเชฐเซ‡ เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชฌเซ€เชœเช—เชฃเชฟเชคเชจเซ‡ เช–เซ‚เชฌ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชธเชฎเชœเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ - เช† เชฌเซ‡เชเชฟเช•เซเชธเชจเซ‹ เช†เชงเชพเชฐ เช›เซ‡.

เชเชธเช•เซเชฏเซเชเชฒ

เชกเซ‡เชŸเชพ เชธเชพเชฏเชจเซเชŸเชฟเชธเซเชŸเชจเซ€ เชจเซ‹เช‚เชงเซ‹: เชกเซ‡เชŸเชพ เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพเช“เชจเซ€ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชธเชฎเซ€เช•เซเชทเชพ
เชฎเชพเช‚เชฅเซ€ เชฒเซ€เชงเซ‡เชฒเซเช‚ เช† เชฒเซ‡เช–.

SQL เช…เชจเชฟเชตเชพเชฐเซเชฏเชชเชฃเซ‡ เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชฌเซ€เชœเช—เชฃเชฟเชคเชจเซเช‚ เช…เชฎเชฒเซ€เช•เชฐเชฃ เช›เซ‡ - เชเช• เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชšเซ‡เชคเชตเชฃเซ€ เชธเชพเชฅเซ‡, SQL เช˜เซ‹เชทเชฃเชพเชคเซเชฎเช• เช›เซ‡! เชเชŸเชฒเซ‡ เช•เซ‡, เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชฌเซ€เชœเช—เชฃเชฟเชคเชจเซ€ เชญเชพเชทเชพเชฎเชพเช‚ เช•เซเชตเซ‡เชฐเซ€ เชฒเช–เชคเซ€ เชตเช–เชคเซ‡, เชคเชฎเซ‡ เช–เชฐเซ‡เช–เชฐ เช•เชนเซ‹ เช›เซ‹ เช•เซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เชฃเชคเชฐเซ€ เช•เชฐเชตเซ€ - เชชเชฐเช‚เชคเซ SQL เชธเชพเชฅเซ‡ เชคเชฎเซ‡ เชธเซเชชเชทเซเชŸ เช•เชฐเซ‹ เช›เซ‹ เช•เซ‡ เชคเชฎเซ‡ เชถเซเช‚ เช•เชพเชขเชตเชพ เชฎเชพเช‚เช—เซ‹ เช›เซ‹, เช…เชจเซ‡ เชชเช›เซ€ DBMS เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชฌเซ€เชœเช—เชฃเชฟเชคเชจเซ€ เชญเชพเชทเชพเชฎเชพเช‚ (เช…เชธเชฐเช•เชพเชฐเช•) เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟเช“ เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ‡ เช›เซ‡. เชธเชฎเชพเชจเชคเชพ เช…เชฎเชจเซ‡ เชคเชฐเซ€เช•เซ‡ เช“เชณเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช•เซ‰เชกเชจเซเช‚ เชชเซเชฐเชฎเซ‡เชฏ).

เชกเซ‡เชŸเชพ เชธเชพเชฏเชจเซเชŸเชฟเชธเซเชŸเชจเซ€ เชจเซ‹เช‚เชงเซ‹: เชกเซ‡เชŸเชพ เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพเช“เชจเซ€ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชธเชฎเซ€เช•เซเชทเชพ
เชฎเชพเช‚เชฅเซ€ เชฒเซ€เชงเซ‡เชฒเซเช‚ เช† เชฒเซ‡เช–.

เชถเชพ เชฎเชพเชŸเซ‡?

เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชกเซ€เชฌเซ€เชเชฎเชเชธ: เช“เชฐเซ‡เช•เชฒ, เชชเซ‹เชธเซเชŸเช—เซเชฐเซ‡เชธ, เชเชธเช•เซเชฏเซเชเชฒ เชธเชฐเซเชตเชฐ, เชตเช—เซ‡เชฐเซ‡ เชนเชœเซ€ เชชเชฃ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฐเซ€เชคเซ‡ เชฆเชฐเซ‡เช• เชœเช—เซเชฏเชพเช เช›เซ‡ เช…เชจเซ‡ เช…เชตเชฟเชถเซเชตเชธเชจเซ€เชฏ เชฐเซ€เชคเซ‡ เช‰เชšเซเชš เชคเช• เช›เซ‡ เช•เซ‡ เชคเชฎเชพเชฐเซ‡ เชคเซ‡เชฎเชจเซ€ เชธเชพเชฅเซ‡ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเซ€ เชชเชกเชถเซ‡, เชœเซ‡เชจเซ‹ เช…เชฐเซเชฅ เช›เซ‡ เช•เซ‡ เชคเชฎเชพเชฐเซ‡ เช•เชพเช‚ เชคเซ‹ SQL (เชœเซ‡ เช–เซ‚เชฌ เชœ เชธเช‚เชญเชต เช›เซ‡) เชตเชพเช‚เชšเชตเซเช‚ เชชเชกเชถเซ‡ เช…เชฅเชตเชพ เชคเซ‡เชจเซ‡ เชฒเช–เชตเซเช‚ เชชเชกเชถเซ‡ ( เช…เชธเช‚เชญเชตเชฟเชค เชชเชฃ เชจเชฅเซ€).

เชถเซเช‚ เชตเชพเช‚เชšเชตเซเช‚ เช…เชจเซ‡ เชญเชฃเชตเซเช‚

เช‰เชชเชฐเซ‹เช•เซเชค เชธเชฎเชพเชจ เชฒเชฟเช‚เช•เซเชธ เช…เชจเซเชธเชพเชฐ (เชธเช‚เชฌเช‚เชงเชฟเชค เชฌเซ€เชœเช—เชฃเชฟเชค เชตเชฟเชถเซ‡), เชคเซเชฏเชพเช‚ เชธเชพเชฎเช—เซเชฐเซ€เชจเซ‹ เช…เชตเชฟเชถเซเชตเชธเชจเซ€เชฏ เชœเชฅเซเชฅเซ‹ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช†.

เชฎเชพเชฐเซเช— เชฆเซเชตเชพเชฐเชพ, NoSQL เชถเซเช‚ เช›เซ‡?

"เชคเซ‡ เชซเชฐเซ€ เชเช•เชตเชพเชฐ เชญเชพเชฐเชชเซ‚เชฐเซเชตเช• เชœเชฃเชพเชตเชตเชพ เชฏเซ‹เช—เซเชฏ เช›เซ‡ เช•เซ‡ "NoSQL" เชถเชฌเซเชฆ เชเช•เชฆเชฎ เชธเซเชตเชฏเช‚เชธเซเชซเซเชฐเชฟเชค เชฎเซ‚เชณ เชงเชฐเชพเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ€ เชชเชพเช›เชณ เช•เซ‹เชˆ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชธเซเชตเซ€เช•เซƒเชค เชตเซเชฏเชพเช–เซเชฏเชพ เช…เชฅเชตเชพ เชตเซˆเชœเซเชžเชพเชจเชฟเช• เชธเช‚เชธเซเชฅเชพ เชจเชฅเซ€." เช…เชจเซเชฐเซ‚เชช เชฒเซ‡เช– Habr เชชเชฐ.

เชตเชพเชธเซเชคเชตเชฎเชพเช‚, เชฒเซ‹เช•เซ‹เชจเซ‡ เชธเชฎเชœเชพเชฏเซเช‚ เช•เซ‡ เช˜เชฃเซ€ เชธเชฎเชธเซเชฏเชพเช“ เช‰เช•เซ‡เชฒเชตเชพ เชฎเชพเชŸเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชฎเซ‹เชกเชฒเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€, เช–เชพเชธ เช•เชฐเซ€เชจเซ‡ เชเชตเชพ เชฒเซ‹เช•เซ‹ เชฎเชพเชŸเซ‡ เชœเซเชฏเชพเช‚, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชชเซเชฐเชฆเชฐเซเชถเชจ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เช›เซ‡ เช…เชจเซ‡ เชเช•เชคเซเชฐเซ€เช•เชฐเชฃ เชธเชพเชฅเซ‡เชจเซ€ เช•เซ‡เชŸเชฒเซ€เช• เชธเชฐเชณ เช•เซเชตเซ‡เชฐเซ€เช เชชเซเชฐเชญเซเชคเซเชต เชงเชฐเชพเชตเซ‡ เช›เซ‡ - เชœเซเชฏเชพเช‚ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเซ€ เชเชกเชชเชฅเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเชตเซ€ เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ‡ เชฒเช–เชตเชพ เชฎเชพเชŸเซ‡ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เช›เซ‡. เชกเซ‡เชŸเชพเชฌเซ‡เช, เช…เชจเซ‡ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเซ€ เชธเซเชตเชฟเชงเชพเช“ เชฐเชฟเชฒเซ‡เชถเชจเชฒ เช›เซ‡ เชคเซ‡ เชฎเชพเชคเซเชฐ เชฌเชฟเชจเชœเชฐเซ‚เชฐเซ€ เชœ เชจเชนเซ€เช‚, เชชเชฃ เชนเชพเชจเชฟเช•เชพเชฐเช• เชชเชฃ เช›เซ‡ - เชถเชพ เชฎเชพเชŸเซ‡ เช•เซ‹เชˆ เชตเชธเซเชคเซเชจเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฌเชจเชพเชตเชตเซ€ เชœเซ‹ เชคเซ‡ เช†เชชเชฃเชพ เชฎเชพเชŸเซ‡ เชธเซŒเชฅเซ€ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชตเชธเซเชคเซ (เช•เซ‹เชˆ เชšเซ‹เช•เซเช•เชธ เช•เชพเชฐเซเชฏ เชฎเชพเชŸเซ‡) - เช‰เชคเซเชชเชพเชฆเช•เชคเชพเชจเซ‡ เชฌเช—เชพเชกเซ‡ เช›เซ‡?

เช‰เชชเชฐเชพเช‚เชค, เช•เซเชฒเชพเชธเชฟเช•เชฒ เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชฎเซ‹เชกเชฒเชจเชพ เชจเชฟเชถเซเชšเชฟเชค เช—เชพเชฃเชฟเชคเชฟเช• เชธเซเช•เซ€เชฎเชพเชจเซ‡ เชฌเชฆเชฒเซ‡ เช˜เชฃเซ€ เชตเช–เชค เชฒเชตเชšเซ€เช• เชธเซเช•เซ€เชฎเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเซ‡ เช›เซ‡ - เช…เชจเซ‡ เช† เช…เชฆเซเชญเซเชค เชฐเซ€เชคเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸเชจเซ‡ เชธเชฐเชณ เชฌเชจเชพเชตเซ‡ เช›เซ‡ เชœเซเชฏเชพเชฐเซ‡ เชธเชฟเชธเซเชŸเชฎเชจเซ‡ เชœเชฎเชพเชตเชตเชพ เช…เชจเซ‡ เชเชกเชชเชฅเซ€ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเชตเซเช‚, เชชเชฐเชฟเชฃเชพเชฎเซ‹เชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเซ€ - เช…เชฅเชตเชพ เชธเซเช•เซ€เชฎเชพ เช…เชจเซ‡ เชธเช‚เช—เซเชฐเชนเชฟเชค เชกเซ‡เชŸเชพเชจเชพ เชชเซเชฐเช•เชพเชฐเซ‹. เชเชŸเชฒเชพ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชจเชฅเซ€.

เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช…เชฎเซ‡ เชเช• เชจเชฟเชทเซเชฃเชพเชค เชธเชฟเชธเซเชŸเชฎ เชฌเชจเชพเชตเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช เช…เชจเซ‡ เช…เชฎเซเช• เชฎเซ‡เชŸเชพ เชฎเชพเชนเชฟเชคเซ€ เชธเชพเชฅเซ‡ เชšเซ‹เช•เซเช•เชธ เชกเซ‹เชฎเซ‡เชจ เชชเชฐ เชฎเชพเชนเชฟเชคเซ€ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ€เช เช›เซ€เช - เช…เชฎเซ‡ เช•เชฆเชพเชš เชคเชฎเชพเชฎ เช•เซเชทเซ‡เชคเซเชฐเซ‹ เชœเชพเชฃเชคเชพ เชจเชฅเซ€ เช…เชจเซ‡ เชฆเชฐเซ‡เช• เชฐเซ‡เช•เซ‹เชฐเซเชก เชฎเชพเชŸเซ‡ เชซเช•เซเชค JSON เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช - เช† เช…เชฎเชจเซ‡ เชกเซ‡เชŸเชพเชจเซ‡ เชตเชฟเชธเซเชคเซƒเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช–เซ‚เชฌ เชœ เชฒเชตเชšเซ€เช• เชตเชพเชคเชพเชตเชฐเชฃ เช†เชชเซ‡ เช›เซ‡. เชฎเซ‹เชกเซ‡เชฒ เช…เชจเซ‡ เชเชกเชชเชฅเซ€ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค - เชคเซ‡เชฅเซ€ เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, NoSQL เชตเชงเซ เชชเซเชฐเชพเชงเชพเชจเซเชฏเช•เซเชทเชฎ เช…เชจเซ‡ เชตเชงเซ เชตเชพเช‚เชšเชตเชพ เชฏเซ‹เช—เซเชฏ เชนเชถเซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชเชจเซเชŸเซเชฐเซ€ (เชฎเชพเชฐเชพ เชเช• เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚เชฅเซ€ เชœเซเชฏเชพเช‚ NoSQL เชฏเซ‹เช—เซเชฏ เชนเชคเซเช‚ เชœเซเชฏเชพเช‚ เชคเซ‡เชจเซ€ เชœเชฐเซ‚เชฐ เชนเชคเซ€).

{"en_wikipedia_url":"https://en.wikipedia.org/wiki/Johnny_Cash",
"ru_wikipedia_url":"https://ru.wikipedia.org/wiki/?curid=301643",
"ru_wiki_pagecount":149616,
"entity":[42775,"ะ”ะถะพะฝะฝะธ ะšััˆ","ru"],
"en_wiki_pagecount":2338861}

เชคเชฎเซ‡ เชตเชงเซ เชตเชพเช‚เชšเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชนเซ€เช‚ NoSQL เชตเชฟเชถเซ‡.

เชถเซเช‚ เชญเชฃเชตเซเช‚?

เช…เชนเซ€เช‚, เชคเซ‡เชจเชพ เชฌเชฆเชฒเซ‡, เชคเชฎเชพเชฐเซ‡ เชซเช•เซเชค เชคเชฎเชพเชฐเชพ เช•เชพเชฐเซเชฏเชจเซเช‚ เชธเช‚เชชเซ‚เชฐเซเชฃ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เชคเซ‡เชจเซ€ เชชเชพเชธเซ‡ เช•เชฏเชพ เช—เซเชฃเชงเชฐเซเชฎเซ‹ เช›เซ‡ เช…เชจเซ‡ เช•เชˆ NoSQL เชธเชฟเชธเซเชŸเชฎเซเชธ เช‰เชชเชฒเชฌเซเชง เช›เซ‡ เชœเซ‡ เช† เชตเชฐเซเชฃเชจเชจเซ‡ เช…เชจเซเชฐเซ‚เชช เชนเชถเซ‡ - เช…เชจเซ‡ เชชเช›เซ€ เช† เชธเชฟเชธเซเชŸเชฎเชจเซ‹ เช…เชญเซเชฏเชพเชธ เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ‹.

เชธเซเช•เซเชฐเชฟเชชเซเชŸเซ€เช‚เช— เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพเช“

เชถเชฐเซ‚เช†เชคเชฎเชพเช‚, เชเชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชชเชพเชฏเชฅเซ‹เชจเชจเซ‡ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชถเซเช‚ เช•เชฐเชตเซเช‚ เช›เซ‡ - เชคเซ‡ เชเช• เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชญเชพเชทเชพ เช›เซ‡, เช…เชจเซ‡ เช•เซเชตเซ‡เชฐเซ€ เชตเชฟเชถเซ‡ เชฌเชฟเชฒเช•เซเชฒ เชจเชฅเซ€.

เชกเซ‡เชŸเชพ เชธเชพเชฏเชจเซเชŸเชฟเชธเซเชŸเชจเซ€ เชจเซ‹เช‚เชงเซ‹: เชกเซ‡เชŸเชพ เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพเช“เชจเซ€ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชธเชฎเซ€เช•เซเชทเชพ

  • เชชเชพเช‚เชกเชพ เชถเชพเชฌเซเชฆเชฟเช• เชฐเซ€เชคเซ‡ เชกเซ‡เชŸเชพ เชธเชพเชฏเชจเซเชธเชจเซ€ เชธเซเชตเชฟเชธ เช†เชฐเซเชฎเซ€ เช›เชฐเซ€ เช›เซ‡; เชคเซ‡เชฎเชพเช‚ เชฎเซ‹เชŸเซ€ เชฎเชพเชคเซเชฐเชพเชฎเชพเช‚ เชกเซ‡เชŸเชพ เชŸเซเชฐเชพเชจเซเชธเชซเซ‹เชฐเซเชฎเซ‡เชถเชจ, เชเช•เชคเซเชฐเซ€เช•เชฐเชฃ เชตเช—เซ‡เชฐเซ‡ เชฅเชพเชฏ เช›เซ‡.
  • Numpy - เชคเซเชฏเชพเช‚ เชตเซ‡เช•เซเชŸเชฐ เช—เชฃเชคเชฐเซ€เช“, เชฎเซ‡เชŸเซเชฐเชฟเชธเชฟเชธ เช…เชจเซ‡ เชฐเซ‡เช–เซ€เชฏ เชฌเซ€เชœเช—เชฃเชฟเชค.
  • เชธเซเช•เซ€เชชเซ€ - เช† เชชเซ‡เช•เซ‡เชœเชฎเชพเช‚ เช˜เชฃเซเช‚ เช—เชฃเชฟเชค เช›เซ‡, เช–เชพเชธ เช•เชฐเซ€เชจเซ‡ เช†เช‚เช•เชกเชพ.
  • เชœเซเชฏเซเชชเซ€เชŸเชฐ เชฒเซ‡เชฌ - เช˜เชฃเชพ เชฌเชงเชพ เชธเช‚เชถเซ‹เชงเชจเชพเชคเซเชฎเช• เชกเซ‡เชŸเชพ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เชฒเซ‡เชชเชŸเซ‹เชชเชฎเชพเช‚ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชฌเช‚เชงเชฌเซ‡เชธเซ‡ เช›เซ‡ - เชœเชพเชฃเชตเชพ เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ เช›เซ‡.
  • เชตเชฟเชจเช‚เชคเซ€เช“ - เชจเซ‡เชŸเชตเชฐเซเช• เชธเชพเชฅเซ‡ เช•เชพเชฎ.
  • เชกเซ‡เชŸเชพ เชเชจเซเชœเชฟเชจเชฟเชฏเชฐเซ‹เชฎเชพเช‚ Pyspark เช–เซ‚เชฌ เชœ เชฒเซ‹เช•เชชเซเชฐเชฟเชฏ เช›เซ‡, เชฎเซ‹เชŸเซ‡ เชญเชพเช—เซ‡ เชคเชฎเชพเชฐเซ‡ เช† เช…เชฅเชตเชพ เชธเซเชชเชพเชฐเซเช• เชธเชพเชฅเซ‡ เชธเช‚เชชเชฐเซเช• เช•เชฐเชตเซ‹ เชชเชกเชถเซ‡, เชซเช•เซเชค เชคเซ‡เชฎเชจเซ€ เชฒเซ‹เช•เชชเซเชฐเชฟเชฏเชคเชพเชจเซ‡ เช•เชพเชฐเชฃเซ‡.
  • *เชธเซ‡เชฒเซ‡เชจเชฟเชฏเชฎ - เชธเชพเช‡เชŸเซเชธ เช…เชจเซ‡ เชธเช‚เชธเชพเชงเชจเซ‹เชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช–เซ‚เชฌ เชœ เช‰เชชเชฏเซ‹เช—เซ€ เช›เซ‡, เช•เซ‡เชŸเชฒเซ€เช•เชตเชพเชฐ เชกเซ‡เชŸเชพ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เช…เชจเซเชฏ เช•เซ‹เชˆ เชฐเชธเซเชคเซ‹ เชจเชฅเซ€.

เชฎเชพเชฐเซ€ เชฎเซเช–เซเชฏ เชธเชฒเชพเชน: เชชเชพเชฏเชฅเซ‹เชจ เชถเซ€เช–เซ‹!

เชชเชพเช‚เชกเชพ

เชšเชพเชฒเซ‹ เชจเซ€เชšเซ‡ เช†เชชเซ‡เชฒเชพ เช•เซ‹เชกเชจเซ‡ เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡ เชฒเชˆเช:

import pandas as pd
df = pd.read_csv(โ€œdata/dataset.csvโ€)
# Calculate and rename aggregations
all_together = (df[df[โ€˜trip_typeโ€™] == โ€œreturnโ€]
    .groupby(['start_station_name','end_station_name'])
                  	    .agg({'trip_duration_seconds': [np.size, np.mean, np.min, np.max]})
                           .rename(columns={'size': 'num_trips', 
           'mean': 'avg_duration_seconds',    
           'amin': min_duration_seconds', 
           โ€˜amax': 'max_duration_seconds'}))

เช†เชตเชถเซเชฏเช•เชชเชฃเซ‡, เช†เชชเชฃเซ‡ เชœเซ‹เชˆเช เช›เซ€เช เช•เซ‡ เช•เซ‹เชก เช•เซเชฒเชพเชธเชฟเช• SQL เชชเซ‡เชŸเชฐเซเชจเชฎเชพเช‚ เชฌเช‚เชงเชฌเซ‡เชธเซ‡ เช›เซ‡.

SELECT start_station_name, end_station_name, count(trip_duration_seconds) as size, โ€ฆ..
FROM dataset
WHERE trip_type = โ€˜returnโ€™
GROUPBY start_station_name, end_station_name

เชชเชฐเช‚เชคเซ เชฎเชนเชคเซเชตเชจเซ‹ เชญเชพเช— เช เช›เซ‡ เช•เซ‡ เช† เช•เซ‹เชก เชธเซเช•เซเชฐเชฟเชชเซเชŸ เช…เชจเซ‡ เชชเชพเช‡เชชเชฒเชพเช‡เชจเชจเซ‹ เชญเชพเช— เช›เซ‡; เชตเชพเชธเซเชคเชตเชฎเชพเช‚, เช…เชฎเซ‡ เชชเชพเชฏเชฅเซ‹เชจ เชชเชพเช‡เชชเชฒเชพเช‡เชจเชฎเชพเช‚ เชชเซเชฐเชถเซเชจเซ‹เชจเซ‡ เชเชฎเซเชฌเซ‡เชก เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช. เช† เชธเซเชฅเชฟเชคเชฟเชฎเชพเช‚, เช•เซเชตเซ‡เชฐเซ€ เชฒเซ‡เช‚เช—เซเชตเซ‡เชœ เช†เชชเชฃเซ€ เชชเชพเชธเซ‡ เชชเชพเช‚เชกเชพ เช…เชฅเชตเชพ เชชเชพเชฏเชธเซเชชเชพเชฐเซเช• เชœเซ‡เชตเซ€ เชชเซเชธเซเชคเช•เชพเชฒเชฏเซ‹เชฎเชพเช‚เชฅเซ€ เช†เชตเซ‡ เช›เซ‡.

เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, pySpark เชฎเชพเช‚ เช†เชชเชฃเซ‡ เช•เซเชตเซ‡เชฐเซ€ เชฒเซ‡เช‚เช—เซเชตเซ‡เชœ เชฆเซเชตเชพเชฐเชพ เช†เชจเซ€ เชญเชพเชตเชจเชพเชฎเชพเช‚ เชธเชฎเชพเชจ เชชเซเชฐเช•เชพเชฐเชจเชพ เชกเซ‡เชŸเชพ เชŸเซเชฐเชพเชจเซเชธเชซเซ‹เชฐเซเชฎเซ‡เชถเชจเชจเซ‡ เชœเซ‹เชˆเช เช›เซ€เช:

df.filter(df.trip_type = โ€œreturnโ€)
  .groupby(โ€œdayโ€)
  .agg({duration: 'mean'})
  .sort()

เช•เซเชฏเชพเช‚ เช…เชจเซ‡ เชถเซเช‚ เชตเชพเช‚เชšเชตเซเช‚

เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชชเชพเชฏเชฅเซ‹เชจ เชชเชฐ เชธเชฎเชธเซเชฏเชพ เชจเชฅเซ€ เช…เชญเซเชฏเชพเชธ เชฎเชพเชŸเซ‡ เชธเชพเชฎเช—เซเชฐเซ€ เชถเซ‹เชงเซ‹. เช‘เชจเชฒเชพเช‡เชจ เชŸเซเชฏเซเชŸเซ‹เชฐเชฟเชฏเชฒเซเชธเชจเซ€ เชตเชฟเชถเชพเชณ เชธเช‚เช–เซเชฏเชพ เช›เซ‡ เชชเช‚เชกเชพเชธ, pySpark เช…เชจเซ‡ เช…เชญเซเชฏเชพเชธเช•เซเชฐเชฎเซ‹ เชšเชพเชฒเซ เช›เซ‡ เชธเซเชชเชพเชฐเซเช• (เช…เชจเซ‡ เชชเซ‹เชคเซ‡ เชชเชฃ DS). เชเช•เช‚เชฆเชฐเซ‡, เช…เชนเซ€เช‚เชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€ เช—เซเช—เชฒเชฟเช‚เช— เชฎเชพเชŸเซ‡ เชธเชฐเชธ เช›เซ‡, เช…เชจเซ‡ เชœเซ‹ เชฎเชพเชฐเซ‡ เชงเซเชฏเชพเชจ เช•เซ‡เชจเซเชฆเซเชฐเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชเช• เชชเซ‡เช•เซ‡เชœ เชชเชธเช‚เชฆ เช•เชฐเชตเซเช‚ เชนเซ‹เชฏ, เชคเซ‹ เชคเซ‡ เชชเชพเช‚เชกเชพ เชนเชถเซ‡, เช…เชฒเชฌเชคเซเชค. DS+Python เชธเชพเชฎเช—เซเชฐเซ€เชจเชพ เชธเช‚เชฏเซ‹เชœเชจเชจเซ‡ เชชเชฃ เช–เซ‚เชฌ เชœ.

เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพ เชคเชฐเซ€เช•เซ‡ เชถเซ‡เชฒ

เช•เซ‡เชŸเชฒเชพเช• เชกเซ‡เชŸเชพ เชชเซเชฐเซ‹เชธเซ‡เชธเชฟเช‚เช— เช…เชจเซ‡ เชเชจเชพเชฒเชฟเชธเชฟเชธ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เช•เซ‡ เชœเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชฎเซ‡เช‚ เช•เชพเชฎ เช•เชฐเซเชฏเซเช‚ เช›เซ‡ เชคเซ‡ เชนเช•เซ€เช•เชคเชฎเชพเช‚ เชถเซ‡เชฒ เชธเซเช•เซเชฐเชฟเชชเซเชŸเซเชธ เช›เซ‡ เชœเซ‡ เชชเชพเชฏเชฅเซ‹เชจ, เชœเชพเชตเชพ เช…เชจเซ‡ เชถเซ‡เชฒ เช•เชฎเชพเชจเซเชกเชฎเชพเช‚ เช•เซ‹เชกเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ‡ เช›เซ‡. เชคเซ‡เชฅเซ€, เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เชคเชฎเซ‡ bash/zsh/etc เชฎเชพเช‚ เชชเชพเช‡เชชเชฒเชพเช‡เชจเซเชธเชจเซ‡ เช…เชฎเซเช• เชชเซเชฐเช•เชพเชฐเชจเซ€ เช‰เชšเซเชš-เชธเซเชคเชฐเชจเซ€ เช•เซเชตเซ‡เชฐเซ€ เชคเชฐเซ€เช•เซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเชˆ เชถเช•เซ‹ เช›เซ‹ (เชคเชฎเซ‡, เช…เชฒเชฌเชคเซเชค, เชคเซเชฏเชพเช‚ เชธเชพเชฎเช—เซเชฐเซ€ เชฒเซ‚เชช เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชชเชฐเช‚เชคเซ เช† เชถเซ‡เชฒ เชญเชพเชทเชพเช“เชฎเชพเช‚ DS เช•เซ‹เชก เชฎเชพเชŸเซ‡ เชฒเชพเช•เซเชทเชฃเชฟเช• เชจเชฅเซ€), เชšเชพเชฒเซ‹ เช†เชชเซ€เช. เชเช• เชธเชฐเชณ เช‰เชฆเชพเชนเชฐเชฃ - เชฎเชพเชฐเซ‡ เชตเชฟเช•เชฟเชกเซ‡เชŸเชพเชจเซเช‚ QID เชฎเซ‡เชชเชฟเช‚เช— เช…เชจเซ‡ เชฐเชถเชฟเชฏเชจ เช…เชจเซ‡ เช…เช‚เช—เซเชฐเซ‡เชœเซ€ เชตเชฟเช•เชฟเชจเซ€ เชธเช‚เชชเซ‚เชฐเซเชฃ เชฒเชฟเช‚เช•เซเชธ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชนเชคเซ€, เช† เชฎเชพเชŸเซ‡ เชฎเซ‡เช‚ เชฌเซ‡เชถเชฎเชพเช‚ เช†เชฆเซ‡เชถเซ‹เชฎเชพเช‚เชฅเซ€ เชเช• เชธเชฐเชณ เชตเชฟเชจเช‚เชคเซ€ เชฒเช–เซ€ เช…เชจเซ‡ เช†เช‰เชŸเชชเซเชŸ เชฎเชพเชŸเซ‡ เชฎเซ‡เช‚ เชชเชพเชฏเชฅเซ‹เชจเชฎเชพเช‚ เชเช• เชธเชฐเชณ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชฒเช–เซ€, เชœเซ‡ เชนเซเช‚ เช†เชจเซ€ เชœเซ‡เชฎ เชเช•เชธเชพเชฅเซ‡ เชฎเซ‚เช•เซ‹:

pv โ€œdata/latest-all.json.gzโ€ | 
unpigz -c  | 
jq --stream $JQ_QUERY | 
python3 scripts/post_process.py "output.csv"

เชœเซเชฏเชพเช‚

JQ_QUERY = 'select((.[0][1] == "sitelinks" and (.[0][2]=="enwiki" or .[0][2] =="ruwiki") and .[0][3] =="title") or .[0][1] == "id")' 

เช†, เชนเช•เซ€เช•เชคเชฎเชพเช‚, เช†เช–เซ€ เชชเชพเช‡เชชเชฒเชพเช‡เชจ เชนเชคเซ€ เชœเซ‡เชฃเซ‡ เชœเชฐเซ‚เชฐเซ€ เชฎเซ‡เชชเชฟเช‚เช— เชฌเชจเชพเชตเซเชฏเซเช‚; เชœเซ‡เชฎ เช†เชชเชฃเซ‡ เชœเซ‹เชˆเช เช›เซ€เช, เชฌเชงเซเช‚ เชซเซเชฒเซ‹ เชฎเซ‹เชกเชฎเชพเช‚ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡:

  • pv เชซเชพเช‡เชฒเชชเชพเชฅ - เชซเชพเช‡เชฒเชจเชพ เช•เชฆเชจเชพ เช†เชงเชพเชฐเซ‡ เชชเซเชฐเซ‹เช—เซเชฐเซ‡เชธ เชฌเชพเชฐ เช†เชชเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเชพ เชธเชฎเชพเชตเชฟเชทเซเชŸเซ‹เชจเซ‡ เช†เช—เชณ เชชเชธเชพเชฐ เช•เชฐเซ‡ เช›เซ‡
  • unpigz -c เช เช†เชฐเซเช•เชพเช‡เชตเชจเซ‹ เชญเชพเช— เชตเชพเช‚เชšเซเชฏเซ‹ เช…เชจเซ‡ jq เชจเซ‡ เช†เชชเซเชฏเซ‹
  • เช•เซ€ เชธเชพเชฅเซ‡ jq - เชธเซเชŸเซเชฐเซ€เชฎ เชคเชฐเชค เชœ เชชเชฐเชฟเชฃเชพเชฎ เช‰เชคเซเชชเชจเซเชจ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชชเชพเชฏเชฅเซ‹เชจเชฎเชพเช‚ เชชเซ‹เชธเซเชŸเชชเซเชฐเซ‹เชธเซ‡เชธเชฐ (เชชเชนเซ‡เชฒเชพ เช‰เชฆเชพเชนเชฐเชฃเชจเซ€ เชœเซ‡เชฎ เชœ)เชจเซ‡ เชชเชพเชธ เช•เชฐเซ‡ เช›เซ‡.
  • เช†เช‚เชคเชฐเชฟเช• เชฐเซ€เชคเซ‡, เชชเซ‹เชธเซเชŸเชชเซเชฐเซ‹เชธเซ‡เชธเชฐ เช เชเช• เชธเชฐเชณ เชฐเชพเชœเซเชฏ เชฎเชถเซ€เชจ เชนเชคเซเช‚ เชœเซ‡ เช†เช‰เชŸเชชเซเชŸเชจเซ‡ เชซเซ‹เชฐเซเชฎเซ‡เชŸ เช•เชฐเซ‡ เช›เซ‡ 

เช•เซเชฒ เชฎเชณเซ€เชจเซ‡, เชเช• เชœเชŸเชฟเชฒ เชชเชพเช‡เชชเชฒเชพเช‡เชจ เชœเซ‡ เชฎเซ‹เชŸเชพ เชกเซ‡เชŸเชพ (0.5TB) เชชเชฐ เชซเซเชฒเซ‹ เชฎเซ‹เชกเชฎเชพเช‚ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡, เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เชธเช‚เชธเชพเชงเชจเซ‹ เชตเชฟเชจเชพ เช…เชจเซ‡ เชธเชฐเชณ เชชเชพเช‡เชชเชฒเชพเช‡เชจ เช…เชจเซ‡ เช•เซ‡เชŸเชฒเชพเช• เชธเชพเชงเชจเซ‹เชฅเซ€ เชฌเชจเซ‡เชฒเซ€ เช›เซ‡.

เชฌเซ€เชœเซ€ เชฎเชนเชคเซเชตเชจเซ€ เชŸเชฟเชช: เชŸเชฐเซเชฎเชฟเชจเชฒเชฎเชพเช‚ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เช…เชจเซ‡ เช…เชธเชฐเช•เชพเชฐเช• เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชธเช•เซเชทเชฎ เชฌเชจเซ‹ เช…เชจเซ‡ bash/zsh/etc เชฒเช–เซ‹.

เชคเซ‡ เช•เซเชฏเชพเช‚ เช‰เชชเชฏเซ‹เช—เซ€ เชฅเชถเซ‡? เชนเชพ, เชฒเช—เชญเช— เชฆเชฐเซ‡เช• เชœเช—เซเชฏเชพเช - เชซเชฐเซ€เชฅเซ€, เช‡เชจเซเชŸเชฐเชจเซ‡เชŸ เชชเชฐ เช…เชญเซเชฏเชพเชธ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช˜เชฃเซ€ เชฌเชงเซ€ เชธเชพเชฎเช—เซเชฐเซ€ เช›เซ‡. เช–เชพเชธ เช•เชฐเซ€เชจเซ‡, เช…เชนเซ€เช‚ เช‡เชŸเชพ เชฎเชพเชฐเซ‹ เช…เช—เชพเช‰เชจเซ‹ เชฒเซ‡เช–.

เช†เชฐ เชธเซเช•เซเชฐเชฟเชชเซเชŸเซ€เช‚เช—

เชซเชฐเซ€เชฅเซ€, เชตเชพเชšเช• เชฌเซ‚เชฎ เชชเชพเชกเซ€ เชถเช•เซ‡ เช›เซ‡ - เชธเชพเชฐเซเช‚, เช† เชเช• เชธเช‚เชชเซ‚เชฐเซเชฃ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชญเชพเชทเชพ เช›เซ‡! เช…เชจเซ‡ เช…เชฒเชฌเชคเซเชค, เชคเซ‡ เชธเชพเชšเซ‹ เชนเชถเซ‡. เชœเซ‹ เช•เซ‡, เชฎเชจเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เช†เชตเชพ เชธเช‚เชฆเชฐเซเชญเชฎเชพเช‚ R เชจเซ‹ เชธเชพเชฎเชจเซ‹ เช•เชฐเชตเซ‹ เชชเชกเซเชฏเซ‹ เชนเชคเซ‹ เช•เซ‡, เชนเช•เซ€เช•เชคเชฎเชพเช‚, เชคเซ‡ เช•เซเชตเซ‡เชฐเซ€ เชฒเซ‡เช‚เช—เซเชตเซ‡เชœ เชœเซ‡เชตเซ€ เชœ เชนเชคเซ€.

R เช เชธเซเชŸเซ‡เชŸเชฟเช• เช•เชฎเซเชชเซเชฏเซเชŸเชฟเช‚เช— เช…เชจเซ‡ เชตเชฟเชเซเชฏเซเชฒเชพเช‡เชเซ‡เชถเชจ เชฎเชพเชŸเซ‡ เชธเซเชŸเซ‡เชŸเชฟเชธเซเชŸเชฟเช•เชฒ เช•เชฎเซเชชเซเชฏเซเชŸเชฟเช‚เช— เชตเชพเชคเชพเชตเชฐเชฃ เช…เชจเซ‡ เชญเชพเชทเชพ เช›เซ‡ (เช† เชฎเซเชœเชฌ เช†).

เชกเซ‡เชŸเชพ เชธเชพเชฏเชจเซเชŸเชฟเชธเซเชŸเชจเซ€ เชจเซ‹เช‚เชงเซ‹: เชกเซ‡เชŸเชพ เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพเช“เชจเซ€ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชธเชฎเซ€เช•เซเชทเชพ
เชฒเซ€เชงเซ‡เชฒ เช…เชนเซ€เช‚เชฅเซ€. เชฎเชพเชฐเซเช— เชฆเซเชตเชพเชฐเชพ, เชนเซเช‚ เชคเซ‡เชจเซ€ เชญเชฒเชพเชฎเชฃ เช•เชฐเซเช‚ เช›เซเช‚, เชธเชพเชฐเซ€ เชธเชพเชฎเช—เซเชฐเซ€.

เชกเซ‡เชŸเชพ เชธเชพเชฏเชจเซเชŸเชฟเชธเซเชŸเชจเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ R เชœเชพเชฃเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡? เช“เช›เชพเชฎเชพเช‚ เช“เช›เซเช‚, เช•เชพเชฐเชฃ เช•เซ‡ เชคเซเชฏเชพเช‚ เชจเซ‹เชจ-เช†เชˆเชŸเซ€ เชฒเซ‹เช•เซ‹เชจเซ‹ เชเช• เชตเชฟเชถเชพเชณ เชธเซเชคเชฐ เช›เซ‡ เชœเซ‡เช“ R เชฎเชพเช‚ เชกเซ‡เชŸเชพเชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเซ‡ เช›เซ‡. เชจเซ€เชšเซ‡เชจเซ€ เชœเช—เซเชฏเชพเช เชฎเชจเซ‡ เชคเซ‡ เชฎเชณเซเชฏเซเช‚:

  • เชซเชพเชฐเซเชฎเชพเชธเซเชฏเซเชŸเชฟเช•เชฒ เชธเซ‡เช•เซเชŸเชฐ.
  • เชœเซ€เชตเชตเชฟเชœเซเชžเชพเชจเซ€เช“.
  • เชจเชพเชฃเชพเช•เซ€เชฏ เช•เซเชทเซ‡เชคเซเชฐ.
  • เชธเช‚เชชเซ‚เชฐเซเชฃ เช—เชพเชฃเชฟเชคเชฟเช• เชถเชฟเช•เซเชทเชฃ เชงเชฐเชพเชตเชคเชพ เชฒเซ‹เช•เซ‹ เชœเซ‡ เช†เช‚เช•เชกเชพ เชธเชพเชฅเซ‡ เชตเซเชฏเชตเชนเชพเชฐ เช•เชฐเซ‡ เช›เซ‡.
  • เชตเชฟเชถเชฟเชทเซเชŸ เช†เช‚เช•เชกเชพเช•เซ€เชฏ เชฎเซ‰เชกเชฒ เช…เชจเซ‡ เชฎเชถเซ€เชจ เชฒเชฐเซเชจเชฟเช‚เช— เชฎเซ‰เชกเชฒเซเชธ (เชœเซ‡ เช˜เชฃเซ€เชตเชพเชฐ เชฎเชพเชคเซเชฐ เชฒเซ‡เช–เช•เชจเชพ เชธเช‚เชธเซเช•เชฐเชฃเชฎเชพเช‚ R เชชเซ…เช•เซ‡เชœ เชคเชฐเซ€เช•เซ‡ เชœเซ‹เชตเชพ เชฎเชณเซ‡ เช›เซ‡).

เชถเชพ เชฎเชพเชŸเซ‡ เชคเซ‡ เชตเชพเชธเซเชคเชตเชฎเชพเช‚ เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพ เช›เซ‡? เชœเซ‡ เชซเซ‹เชฐเซเชฎเชฎเชพเช‚ เชคเซ‡ เชตเชพเชฐเช‚เชตเชพเชฐ เชœเซ‹เชตเชพ เชฎเชณเซ‡ เช›เซ‡, เชคเซ‡ เชตเชพเชธเซเชคเชตเชฎเชพเช‚ เชเช• เชฎเซ‹เชกเซ‡เชฒ เชฌเชจเชพเชตเชตเชพเชจเซ€ เชตเชฟเชจเช‚เชคเซ€ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เชกเซ‡เชŸเชพ เชตเชพเช‚เชšเชตเชพ เช…เชจเซ‡ เช•เซเชตเซ‡เชฐเซ€ (เชฎเซ‹เชกเซ‡เชฒ) เชชเชฐเชฟเชฎเชพเชฃเซ‹เชจเซ‡ เชซเชฟเช•เซเชธ เช•เชฐเชตเชพ, เชคเซ‡เชฎเชœ ggplot2 เชœเซ‡เชตเชพ เชชเซ‡เช•เซ‡เชœเซ‹เชฎเชพเช‚ เชกเซ‡เชŸเชพเชจเซ‡ เชตเชฟเชเซเชฏเซเช…เชฒเชพเชˆเช เช•เชฐเชตเชพเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡ - เช† เชชเชฃ เชชเซเชฐเชถเซเชจเซ‹ เชฒเช–เชตเชพเชจเซเช‚ เชเช• เชธเซเชตเชฐเซ‚เชช เช›เซ‡. .

เชตเชฟเชเซเชฏเซเชฒเชพเช‡เชเซ‡เชถเชจ เชฎเชพเชŸเซ‡เชจเชพ เช‰เชฆเชพเชนเชฐเชฃ เชชเซเชฐเชถเซเชจเซ‹

ggplot(data = beav, 
       aes(x = id, y = temp, 
           group = activ, color = activ)) +
  geom_line() + 
  geom_point() +
  scale_color_manual(values = c("red", "blue"))

เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, R เชจเชพ เช˜เชฃเชพ เชตเชฟเชšเชพเชฐเซ‹ เชชเชพเชฏเชฅเซ‹เชจ เชชเซ‡เช•เซ‡เชœเซ‹เชฎเชพเช‚ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เชฅเชฏเชพ เช›เซ‡ เชœเซ‡เชฎ เช•เซ‡ เชชเชพเช‚เชกเชพ, เชจเชฎเซเชชเซ€ เช…เชฅเชตเชพ เชธเซเช•เซ€เชชเซ€, เชœเซ‡เชฎ เช•เซ‡ เชกเซ‡เชŸเชพเชซเซเชฐเซ‡เชฎเซเชธ เช…เชจเซ‡ เชกเซ‡เชŸเชพ เชตเซ‡เช•เซเชŸเชฐเชพเช‡เชเซ‡เชถเชจ - เชคเซ‡เชฅเซ€ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ R เชฎเชพเช‚ เช˜เชฃเซ€ เชฌเชงเซ€ เชตเชธเซเชคเซเช“ เชคเชฎเชจเซ‡ เชชเชฐเชฟเชšเชฟเชค เช…เชจเซ‡ เช…เชจเซเช•เซ‚เชณ เชฒเชพเช—เชถเซ‡.

เช…เชญเซเชฏเชพเชธ เชฎเชพเชŸเซ‡ เช˜เชฃเชพ เชธเซเชคเซเชฐเซ‹เชคเซ‹ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช†.

เชœเซเชžเชพเชจ เช†เชฒเซ‡เช–

เช…เชนเซ€เช‚ เชฎเชจเซ‡ เชฅเซ‹เชกเซ‹ เช…เชธเชพเชฎเชพเชจเซเชฏ เช…เชจเซเชญเชต เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เชฎเชพเชฐเซ‡ เช˜เชฃเซ€ เชตเชพเชฐ เชœเซเชžเชพเชจ เช—เซเชฐเชพเชซ เช…เชจเซ‡ เช—เซเชฐเชพเชซ เชฎเชพเชŸเซ‡ เช•เซเชตเซ‡เชฐเซ€ เชฒเซ‡เช‚เช—เซเชตเซ‡เชœ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚ เชชเชกเซ‡ เช›เซ‡. เชคเซ‡เชฅเซ€, เชšเชพเชฒเซ‹ เชธเช‚เช•เซเชทเชฟเชชเซเชคเชฎเชพเช‚ เชฎเซ‚เชณเชญเซ‚เชค เชฌเชพเชฌเชคเซ‹ เชชเชฐ เชœเชˆเช, เช•เชพเชฐเชฃ เช•เซ‡ เช† เชญเชพเช— เชฅเซ‹เชกเซ‹ เชตเชงเซ เชตเชฟเชšเชฟเชคเซเชฐ เช›เซ‡.

เช•เซเชฒเชพเชธเชฟเช•เชฒ เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เช†เชชเชฃเซ€ เชชเชพเชธเซ‡ เชเช• เชจเชฟเชถเซเชšเชฟเชค เชธเซเช•เซ€เชฎเชพ เช›เซ‡, เชชเชฐเช‚เชคเซ เช…เชนเซ€เช‚ เชธเซเช•เซ€เชฎเชพ เชฒเชตเชšเซ€เช• เช›เซ‡, เชฆเชฐเซ‡เช• เช…เชจเซเชฎเชพเชจ เชตเชพเชธเซเชคเชตเชฎเชพเช‚ "เช•เซ‰เชฒเชฎ" เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเชพเชฅเซ€ เชชเชฃ เชตเชงเซ.

เช•เชฒเซเชชเชจเชพ เช•เชฐเซ‹ เช•เซ‡ เชคเชฎเซ‡ เช•เซ‹เชˆ เชตเซเชฏเช•เซเชคเชฟเชจเซเช‚ เชฎเซ‹เชกเซ‡เชฒเชฟเช‚เช— เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ‹ เช…เชจเซ‡ เชฎเซเช–เซเชฏ เชตเชธเซเชคเซเช“เชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเชตเชพ เชฎเชพเช—เซ‹ เช›เซ‹, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชšเชพเชฒเซ‹ เช•เซ‹เชˆ เชšเซ‹เช•เซเช•เชธ เชตเซเชฏเช•เซเชคเชฟ, เชกเช—เซเชฒเชพเชธ เชเชกเชฎเซเชธเชจเซ‡ เชฒเชˆเช เช…เชจเซ‡ เช† เชตเชฐเซเชฃเชจเชจเซ‹ เช†เชงเชพเชฐ เชคเชฐเซ€เช•เซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช.

เชกเซ‡เชŸเชพ เชธเชพเชฏเชจเซเชŸเชฟเชธเซเชŸเชจเซ€ เชจเซ‹เช‚เชงเซ‹: เชกเซ‡เชŸเชพ เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพเช“เชจเซ€ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชธเชฎเซ€เช•เซเชทเชพ
www.wikidata.org/wiki/Q42

เชœเซ‹ เช†เชชเชฃเซ‡ เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹ เชนเซ‹เชฏ, เชคเซ‹ เช…เชฎเชพเชฐเซ‡ เชตเชฟเชถเชพเชณ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เช•เซ‰เชฒเชฎ เชธเชพเชฅเซ‡ เชเช• เชตเชฟเชถเชพเชณ เชŸเซ‡เชฌเชฒ เช…เชฅเชตเชพ เช•เซ‹เชทเซเชŸเช•เซ‹ เชฌเชจเชพเชตเชตเชพ เชชเชกเชถเซ‡, เชœเซ‡เชฎเชพเช‚เชฅเซ€ เชฎเซ‹เชŸเชพ เชญเชพเช—เชจเชพ NULL เชนเชถเซ‡ เช…เชฅเชตเชพ เช…เชฎเซเช• เชกเชฟเชซเซ‹เชฒเซเชŸ False เชฎเซ‚เชฒเซเชฏเชฅเซ€ เชญเชฐเซ‡เชฒเชพ เชนเชถเซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเซ‡ เช…เชธเช‚เชญเชตเชฟเชค เช›เซ‡ เช•เซ‡ เช†เชชเชฃเชพเชฎเชพเช‚เชฅเซ€ เช˜เชฃเชพ เชชเชพเชธเซ‡ เช•เซ‹เชฐเชฟเชฏเชจ เชฐเชพเชทเซเชŸเซเชฐเซ€เชฏ เชชเซเชธเซเชคเช•เชพเชฒเชฏเชฎเชพเช‚ เชชเซเชฐเชตเซ‡เชถ - เช…เชฒเชฌเชคเซเชค, เช…เชฎเซ‡ เชคเซ‡เชฎเชจเซ‡ เช…เชฒเช— เช•เซ‹เชทเซเชŸเช•เซ‹เชฎเชพเช‚ เชฎเซ‚เช•เซ€ เชถเช•เซ€เช เช›เซ€เช, เชชเชฐเช‚เชคเซ เช† เช†เช–เชฐเซ‡ เชจเชฟเชถเซเชšเชฟเชค เชธเช‚เชฌเช‚เชงเซ€ เชเช•เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช†เช—เชพเชนเซ€ เชธเชพเชฅเซ‡ เชฒเชตเชšเซ€เช• เชฒเซ‹เชœเชฟเช•เชฒ เชธเชฐเซเช•เชฟเชŸเชจเซเช‚ เชฎเซ‹เชกเซ‡เชฒ เชฌเชจเชพเชตเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เชนเชถเซ‡.

เชกเซ‡เชŸเชพ เชธเชพเชฏเชจเซเชŸเชฟเชธเซเชŸเชจเซ€ เชจเซ‹เช‚เชงเซ‹: เชกเซ‡เชŸเชพ เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพเช“เชจเซ€ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชธเชฎเซ€เช•เซเชทเชพ
เชคเซ‡เชฅเซ€ เช•เชฒเซเชชเชจเชพ เช•เชฐเซ‹ เช•เซ‡ เชคเชฎเชพเชฎ เชกเซ‡เชŸเชพ เช—เซเชฐเชพเชซ เชคเชฐเซ€เช•เซ‡ เช…เชฅเชตเชพ เชฌเชพเชˆเชจเชฐเซ€ เช…เชจเซ‡ เชฏเซเชจเชฐเซ€ เชฌเซเชฒเชฟเชฏเชจ เชเช•เซเชธเชชเซเชฐเซ‡เชถเชจ เชคเชฐเซ€เช•เซ‡ เชธเช‚เช—เซเชฐเชนเชฟเชค เช›เซ‡.

เชคเชฎเซ‡ เช†เชจเซ‹ เชธเชพเชฎเชจเซ‹ เชชเชฃ เช•เซเชฏเชพเช‚ เช•เชฐเซ€ เชถเช•เซ‹? เชธเซŒ เชชเซเชฐเชฅเชฎ, เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ‹ เชกเซ‡เชŸเชพ เชตเชฟเช•เชฟ, เช…เชจเซ‡ เช•เซ‹เชˆเชชเชฃ เช—เซเชฐเชพเชซ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ เช…เชฅเชตเชพ เช•เชจเซ‡เช•เซเชŸเซ‡เชก เชกเซ‡เชŸเชพ เชธเชพเชฅเซ‡.

เชจเซ€เชšเซ‡เชจเซ€ เชฎเซเช–เซเชฏ เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพเช“ เช›เซ‡ เชœเซ‡เชจเซ‹ เชฎเซ‡เช‚ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซเชฏเซเช‚ เช›เซ‡.

SPARQL

เชตเชฟเช•เซ€:
SPARQL (เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค เชŸเซ‚เช‚เช•เชพเช•เซเชทเชฐ เชฅเซ€ Eng. SPARQL เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒ เช…เชจเซ‡ RDF เช•เซเชตเซ‡เชฐเซ€ เชฒเซ‡เช‚เช—เซเชตเซ‡เชœ) - เชกเซ‡เชŸเชพ เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพ, เชฎเซ‹เชกเซ‡เชฒ เชฆเซเชตเชพเชฐเชพ เชฐเชœเซ‚ เชฅเชพเชฏ เช›เซ‡ RDF, เช…เชจเซ‡ เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒ เช† เชตเชฟเชจเช‚เชคเซ€เช“ เชชเซเชฐเชธเชพเชฐเชฟเชค เช•เชฐเชตเชพ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เชœเชตเชพเชฌ เช†เชชเชตเชพ เชฎเชพเชŸเซ‡. SPARQL เช เชเช• เชญเชฒเชพเชฎเชฃ เช›เซ‡ W3C เช•เชจเซเชธเซ‹เชฐเซเชŸเชฟเชฏเชฎ เช…เชจเซ‡ เชเช• เชคเช•เชจเซ€เช• เชธเชฟเชฎเซ‡เชจเซเชŸเซ€เช• เชตเซ‡เชฌ.

เชชเชฐเช‚เชคเซ เชตเชพเชธเซเชคเชตเชฎเชพเช‚ เชคเซ‡ เชฒเซ‹เชœเชฟเช•เชฒ เชฏเซเชจเชฐเซ€ เช…เชจเซ‡ เชฆเซเชตเชฟเชธเช‚เช—เซ€ เช…เชจเซเชฎเชพเชจ เชฎเชพเชŸเซ‡ เช•เซเชตเซ‡เชฐเซ€ เชฒเซ‡เช‚เช—เซเชตเซ‡เชœ เช›เซ‡. เชคเชฎเซ‡ เชซเช•เซเชค เชถเชฐเชคเซ€ เชฐเซ€เชคเซ‡ เชธเซเชชเชทเซเชŸ เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ‹ เช•เซ‡ เชฌเซเชฒเชฟเชฏเชจ เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟเชฎเชพเช‚ เชถเซเช‚ เชจเชฟเชถเซเชšเชฟเชค เช›เซ‡ เช…เชจเซ‡ เชถเซเช‚ เชจเชฅเซ€ (เช–เซ‚เชฌ เชœ เชธเชฐเชณ).

เช†เชฐเชกเซ€เชเชซ (เชธเช‚เชธเชพเชงเชจ เชตเชฐเซเชฃเชจ เชซเซเชฐเซ‡เชฎเชตเชฐเซเช•) เช†เชงเชพเชฐ เชชเซ‹เชคเซ‡, เชœเซ‡เชจเชพ เชชเชฐ SPARQL เช•เซเชตเซ‡เชฐเซ€เช เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซ‡ เชŸเซเชฐเชฟเชชเชฒ เช›เซ‡ object, predicate, subject - เช…เชจเซ‡ เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชตเชจเชพเชฎเชพเช‚ เชจเชฟเชฐเซเชฆเชฟเชทเซเชŸ เชชเซเชฐเชคเชฟเชฌเช‚เชงเซ‹ เช…เชจเซเชธเชพเชฐ เชœเชฐเซ‚เชฐเซ€ เชคเซเชฐเชฟเชชเซเชŸเซ€เช“ เชชเชธเช‚เชฆ เช•เชฐเซ‡ เช›เซ‡: เชเช• X เชถเซ‹เชงเซ‹ เช•เซ‡ เชœเซ‡ p_55(X, q_33) เชธเชพเชšเซเช‚ เชนเซ‹เชฏ - เชœเซเชฏเชพเช‚, เช…เชฒเชฌเชคเซเชค, p_55 เช ID 55 เชธเชพเชฅเซ‡ เช…เชฎเซเช• เชชเซเชฐเช•เชพเชฐเชจเซ‹ เชธเช‚เชฌเช‚เชง เช›เซ‡, เช…เชจเซ‡ q_33 เชเช• เช›เซ‡ ID 33 เชธเชพเชฅเซ‡เชจเซ‹ เช‘เชฌเซเชœเซ‡เช•เซเชŸ (เช…เชนเซ€เช‚ เช…เชจเซ‡ เช†เช–เซ€ เชตเชพเชฐเซเชคเชพ, เชซเชฐเซ€เชฅเซ€ เชคเชฎเชพเชฎ เชชเซเชฐเช•เชพเชฐเชจเซ€ เชตเชฟเช—เชคเซ‹เชจเซ‡ เชฌเชพเชฆ เช•เชฐเชคเชพเช‚).

เชกเซ‡เชŸเชพ เชชเซเชฐเชธเซเชคเซเชคเชฟเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ:

เชกเซ‡เชŸเชพ เชธเชพเชฏเชจเซเชŸเชฟเชธเซเชŸเชจเซ€ เชจเซ‹เช‚เชงเซ‹: เชกเซ‡เชŸเชพ เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพเช“เชจเซ€ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชธเชฎเซ€เช•เซเชทเชพ
เช…เชนเซ€เช‚เชจเชพ เชฆเซ‡เชถเซ‹ เชธเชพเชฅเซ‡เชจเชพ เชšเชฟเชคเซเชฐเซ‹ เช…เชจเซ‡ เช‰เชฆเชพเชนเชฐเชฃ เช…เชนเซ€เช‚เชฅเซ€.

เชฎเซ‚เชณเชญเซ‚เชค เช•เซเชตเซ‡เชฐเซ€ เช‰เชฆเชพเชนเชฐเชฃ

เชกเซ‡เชŸเชพ เชธเชพเชฏเชจเซเชŸเชฟเชธเซเชŸเชจเซ€ เชจเซ‹เช‚เชงเซ‹: เชกเซ‡เชŸเชพ เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพเช“เชจเซ€ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชธเชฎเซ€เช•เซเชทเชพ

เชตเชพเชธเซเชคเชตเชฎเชพเช‚, เช…เชฎเซ‡ ?เชฆเซ‡เชถ เชšเชฒเชจเซเช‚ เชฎเซ‚เชฒเซเชฏ เชถเซ‹เชงเชตเชพ เชฎเชพเช‚เช—เซ€เช เช›เซ€เช เชœเซ‡เชฎ เช•เซ‡ เช†เช—เชพเชนเซ€ เชฎเชพเชŸเซ‡
member_of, เชคเซ‡ เชธเชพเชšเซเช‚ เช›เซ‡ เช•เซ‡ member_of(?country,q458) เช…เชจเซ‡ q458 เช เชฏเซเชฐเซ‹เชชเชฟเชฏเชจ เชฏเซเชจเชฟเชฏเชจเชจเซเช‚ ID เช›เซ‡.

เชชเชพเชฏเชฅเซ‹เชจ เชเชจเซเชœเชฟเชจเชจเซ€ เช…เช‚เชฆเชฐ เชตเชพเชธเซเชคเชตเชฟเช• SPARQL เช•เซเชตเซ‡เชฐเซ€เชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ:

เชกเซ‡เชŸเชพ เชธเชพเชฏเชจเซเชŸเชฟเชธเซเชŸเชจเซ€ เชจเซ‹เช‚เชงเซ‹: เชกเซ‡เชŸเชพ เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพเช“เชจเซ€ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชธเชฎเซ€เช•เซเชทเชพ

เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เชฎเชพเชฐเซ‡ SPARQL เชฒเช–เชตเชพเชจเซ‡ เชฌเชฆเชฒเซ‡ เชตเชพเช‚เชšเชตเซเช‚ เชชเชกเซเชฏเซเช‚ เช›เซ‡ - เชคเซ‡ เชธเซเชฅเชฟเชคเชฟเชฎเชพเช‚, เชกเซ‡เชŸเชพ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชคเซ‡ เชธเชฎเชœเชตเชพ เชฎเชพเชŸเซ‡ เช“เช›เชพเชฎเชพเช‚ เช“เช›เชพ เชฎเซ‚เชณเชญเซ‚เชค เชธเซเชคเชฐเซ‡ เชญเชพเชทเชพเชจเซ‡ เชธเชฎเชœเชตเชพ เชฎเชพเชŸเซ‡ เชคเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ เช•เซŒเชถเชฒเซเชฏ เชนเชถเซ‡. 

เช‘เชจเชฒเชพเช‡เชจ เช…เชญเซเชฏเชพเชธ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช˜เชฃเซ€ เชฌเชงเซ€ เชธเชพเชฎเช—เซเชฐเซ€ เช›เซ‡: เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช…เชนเซ€เช‚ เช† ะธ เช†. เชนเซเช‚ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชตเชฟเชถเชฟเชทเซเชŸ เชกเชฟเชเชพเช‡เชจ เช…เชจเซ‡ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เช—เซ‚เช—เชฒ เช•เชฐเซเช‚ เช›เซเช‚ เช…เชจเซ‡ เชคเซ‡ เช…เชคเซเชฏเชพเชฐเซ‡ เชชเซ‚เชฐเชคเซเช‚ เช›เซ‡.

เชฒเซ‹เชœเชฟเช•เชฒ เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพเช“

เชคเชฎเซ‡ เชฎเชพเชฐเชพ เชฒเซ‡เช–เชฎเชพเช‚ เชตเชฟเชทเชฏ เชชเชฐ เชตเชงเซ เชตเชพเช‚เชšเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชนเซ€เช‚. เช…เชจเซ‡ เช…เชนเซ€เช‚, เช…เชฎเซ‡ เชซเช•เซเชค เชŸเซ‚เช‚เช•เชฎเชพเช‚ เชคเชชเชพเชธ เช•เชฐเซ€เชถเซเช‚ เช•เซ‡ เชถเชพ เชฎเชพเชŸเซ‡ เชคเชพเชฐเซเช•เชฟเช• เชญเชพเชทเชพเช“ เชชเซเชฐเชถเซเชจเซ‹ เชฒเช–เชตเชพ เชฎเชพเชŸเซ‡ เชฏเซ‹เช—เซเชฏ เช›เซ‡. เช…เชจเชฟเชตเชพเชฐเซเชฏเชชเชฃเซ‡, RDF เช p(X) เช…เชจเซ‡ h(X,Y) เชธเซเชตเชฐเซ‚เชชเชจเชพ เชคเชพเชฐเซเช•เชฟเช• เชจเชฟเชตเซ‡เชฆเชจเซ‹เชจเซ‹ เชฎเชพเชคเซเชฐ เชธเชฎเซ‚เชน เช›เซ‡, เช…เชจเซ‡ เชฒเซ‹เชœเชฟเช•เชฒ เช•เซเชตเซ‡เชฐเซ€ เชจเซ€เชšเซ‡เชจเชพ เชธเซเชตเชฐเซ‚เชช เชงเชฐเชพเชตเซ‡ เช›เซ‡:

output(X) :- country(X), member_of(X,โ€œEUโ€).

เช…เชนเซ€เช‚ เช†เชชเชฃเซ‡ เชเช• เชจเชตเซเช‚ เชชเซเชฐเชฟเชกเชฟเช•เซ‡เชŸ เช†เช‰เชŸเชชเซเชŸ/1 (/1 เชเชŸเชฒเซ‡ เช…เชจเชฐเซ€) เชฌเชจเชพเชตเชตเชพ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช, เชœเซ‹ เช•เซ‡ X เชฎเชพเชŸเซ‡ เชคเซ‡ เชฆเซ‡เชถ(X) เชธเชพเชšเซเช‚ เชนเซ‹เชฏ - เชเชŸเชฒเซ‡ เช•เซ‡, X เช เชฆเซ‡เชถ เช›เซ‡ เช…เชจเซ‡ (X,"EU")เชจเซ‹ เชธเชญเซเชฏ_ เชชเชฃ เช›เซ‡.

เชเชŸเชฒเซ‡ เช•เซ‡, เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชกเซ‡เชŸเชพ เช…เชจเซ‡ เชจเชฟเชฏเชฎเซ‹ เชฌเช‚เชจเซ‡ เช เชœ เชฐเซ€เชคเซ‡ เชฐเชœเซ‚ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡ เช…เชฎเชจเซ‡ เชธเชฎเชธเซเชฏเชพเช“เชจเซ‡ เช–เซ‚เชฌ เชœ เชธเชฐเชณเชคเชพเชฅเซ€ เช…เชจเซ‡ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชฎเซ‹เชกเซ‡เชฒ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เชˆเชจเซเชกเชธเซเชŸเซเชฐเซ€เชฎเชพเช‚ เชคเชฎเซ‡ เช•เซเชฏเชพเช‚ เชฎเชณเซเชฏเชพ?: เชเช• เช•เช‚เชชเชจเซ€ เชธเชพเชฅเซ‡เชจเซ‹ เชเช• เช†เช–เซ‹ เชฎเซ‹เชŸเซ‹ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช•เซ‡ เชœเซ‡ เช†เชตเซ€ เชญเชพเชทเชพเชฎเชพเช‚ เชชเซเชฐเชถเซเชจเซ‹ เชฒเช–เซ‡ เช›เซ‡, เชคเซ‡เชฎเชœ เชธเชฟเชธเซเชŸเชฎเชจเชพ เชฎเซ‚เชณเชฎเชพเช‚ เชตเชฐเซเชคเชฎเชพเชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชชเชฐ - เชเชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เช† เชเช• เชตเชฟเชšเชฟเชคเซเชฐ เชตเชธเซเชคเซ เช›เซ‡, เชชเชฐเช‚เชคเซ เช•เซ‡เชŸเชฒเซ€เช•เชตเชพเชฐ เชคเซ‡ เชฅเชพเชฏ เช›เซ‡.

เชฒเซ‹เชœเชฟเช•เชฒ เชฒเซ‡เช‚เช—เซเชตเซ‡เชœ เชชเซเชฐเซ‹เชธเซ‡เชธเชฟเช‚เช— เชตเชฟเช•เชฟเชกเซ‡เชŸเชพเชฎเชพเช‚ เช•เซ‹เชก เชซเซเชฐเซ‡เช—เชฎเซ‡เชจเซเชŸเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ:

เชกเซ‡เชŸเชพ เชธเชพเชฏเชจเซเชŸเชฟเชธเซเชŸเชจเซ€ เชจเซ‹เช‚เชงเซ‹: เชกเซ‡เชŸเชพ เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพเช“เชจเซ€ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชธเชฎเซ€เช•เซเชทเชพ

เชธเชพเชฎเช—เซเชฐเซ€: เชนเซเช‚ เช…เชนเซ€เช‚ เช†เชงเซเชจเชฟเช• เชฒเซ‹เชœเชฟเช•เชฒ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชญเชพเชทเชพ เชœเชตเชพเชฌ เชธเซ‡เชŸ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช—เชจเซ€ เช•เซ‡เชŸเชฒเซ€เช• เชฒเชฟเช‚เช•เซเชธ เช†เชชเซ€เชถ - เชนเซเช‚ เชคเซ‡เชจเซ‹ เช…เชญเซเชฏเชพเชธ เช•เชฐเชตเชพเชจเซ€ เชญเชฒเชพเชฎเชฃ เช•เชฐเซเช‚ เช›เซเช‚:

เชกเซ‡เชŸเชพ เชธเชพเชฏเชจเซเชŸเชฟเชธเซเชŸเชจเซ€ เชจเซ‹เช‚เชงเซ‹: เชกเซ‡เชŸเชพ เช•เซเชตเซ‡เชฐเซ€ เชญเชพเชทเชพเช“เชจเซ€ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชธเชฎเซ€เช•เซเชทเชพ

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹