uz
Feedback
ToCode

ToCode

Kanalga Telegramโ€™da oโ€˜tish

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

Ko'proq ko'rsatish
1 420
Obunachilar
Ma'lumot yo'q24 soatlar
+27 kunlar
-230 kunlar
Postlar arxiv
ToCode
1 420
# ื›ืฉื”ื”ื’ื™ื•ืŸ ืฉืœืš ื•ื”ื”ื’ื™ื•ืŸ ืฉืœ ื”ืžื—ืฉื‘ ืœื ืชื•ืืžื™ื ืื ื”ืงื•ื“ ืžืชื ื”ื’ ื‘ืฆื•ืจื” ืœื ื”ื’ื™ื•ื ื™ืช ื‘ื›ืœืœ, ื–ื” ืกื™ืžืŸ ืฉื”ื”ื’ื™ื•ืŸ ืฉืœืš ื•ื”ื”ื’ื™ื•ืŸ ืฉืœ ื”ืžื—ืฉื‘ ืœื ืžืชื•ืืžื™ื. ื•ื–ื” ืงื•ืจื”. ืฆืขื“ ืจืืฉื•ืŸ ื‘ืžืฆื‘ ื”ื–ื” ื”ื•ื ืœื”ื‘ื™ืŸ ืœืžื” ื”ืžื—ืฉื‘ ื—ื•ืฉื‘ ืื—ืจืช. ื›ืœ ื ื™ืกื™ื•ืŸ ืœืคืชื•ืจ ืืช ื”ื‘ืื’ ืœืคื ื™ ืฉืžืฆืœื™ื—ื™ื ืœื”ืกื‘ื™ืจ ืžื” ืงื•ืจื” ื‘ืชื•ื›ื ื” ืจืง ื™ืขืžื™ืง ืืช ื”ื‘ื•ืจ ื•ื™ื”ืคื•ืš ืืช ื”ื‘ืื’ ื”ื‘ื ืœืงืฉื” ื™ื•ืชืจ.

ToCode
1 420
# ืชืจื’ื•ื ื˜ืงืกื˜ื™ื ื‘ืคื™ื™ืชื•ืŸ ืขื AWS ืื—ื“ ื”ื“ื‘ืจื™ื ืฉืื ื™ ืื•ื”ื‘ ื‘ AWS (ืื ื™ ื™ื•ื“ืข ืื™ืŸ ื”ืจื‘ื”) ื”ื•ื ื”ืื™ื ื˜ื’ืจืฆื™ื” ืขื ืคื™ื™ืชื•ืŸ ื•ืื™ืš ืฉื”ืชืงื ื” ืื—ืช ืฉืœ ื›ืœื™ ื” CLI ืžื—ื‘ืจืช ืืช ื”ื›ืœ ื•ืžืืคืฉืจืช ืœืคื™ื™ืชื•ืŸ ืœื”ืฉืชืžืฉ ื‘ื›ืœ ื” API. ื ื›ื•ืŸ ื™ืฉ ืœื”ื ืžืขืจื›ืช ื”ืจืฉืื•ืช ืกื•ืคืจ ืžืกื•ื‘ื›ืช, ืื‘ืœ ื‘ืฉื‘ื™ืœ ืฉื™ืžื•ืฉ ืคืฉื•ื˜ ืœืกืงืจื™ืคื˜ ืžืกืคื™ืง ืœื”ืชืงื™ืŸ ืืช ื›ืœื™ ืฉื•ืจืช ื”ืคืงื•ื“ื”, ืœื”ืคืขื™ืœ:
$ aws configure
ืœื”ื›ื ื™ืก ืืช ืžืคืชื— ื”ื’ื™ืฉื” ื”ืจืืฉื™ ืฉืœื›ื ื•ืœืฆืืช ืœื“ืจืš ื‘ืคื™ืชื•ื—. (ื•ื ื›ื•ืŸ ืœืคื ื™ ื”ืžืขื‘ืจ ืœืคืจื•ื“ืงืฉืŸ ื›ื“ืื™ ื™ื”ื™ื” ืœื™ืฆื•ืจ IAM Role ืขื‘ื•ืจ ื”ืกืงืจื™ืคื˜ ื”ืกืคืฆื™ืคื™ ืฉื›ืชื‘ืชื ื•ืื– ืœื”ืฉืชืžืฉ ื‘ืžืฉืชื ื™ ืกื‘ื™ื‘ื” ื›ื“ื™ ืœื”ืขื‘ื™ืจ ืืช ืคืจื˜ื™ ื”ื’ื™ืฉื” ื”ืžืขื•ื“ื›ื ื™ื ืœืกืงืจื™ืคื˜, ืื‘ืœ ืืœื” ื›ื‘ืจ ืฆืจื•ืช ืฉืœ ื™ื•ื ืื—ืจ). ื‘ื—ื–ืจื” ืœ AWS, ื‘ืฉื‘ื™ืœ ืœืชืจื’ื ื˜ืงืกื˜ ืžืคื™ื™ืชื•ืŸ ื›ืœ ืžื” ืฉืฆืจื™ืš ื”ื•ื ืœื”ืชืงื™ืŸ ืืช ื—ื‘ื™ืœืช boto3 ืขื:
$ pip install boto3
ื•ืื– ืœื”ืจื™ืฅ ืกืงืจื™ืคื˜ ื›ืžื• ื–ื”:
import boto3

client = boto3.client('translate')

response = client.translate_text(
    Text='hola mundo',
    SourceLanguageCode='es',
    TargetLanguageCode='en',
)

print(response["TranslatedText"])
ืื ืืชื ืœื ื™ื•ื“ืขื™ื ืืช ืฉืคืช ื”ืžืงื•ืจ ืืคืฉืจ ืœื›ืชื•ื‘ auto ื‘ SourceLanguageCode ื•ืืžื–ื•ืŸ ื™ื ืกื• ืœื–ื”ื•ืช ืื•ืชื” ืœื‘ื“. ื‘ื•ื ื•ืก ืœืžืชืงื“ืžื™ื - ืื ื™ืฉ ืœื›ื ื”ืจื‘ื” ื˜ืงืกื˜ื™ื ืœืชืจื’ื, ืืคืฉืจ ืœื”ืขืœื•ืช ืื•ืชื ืœ S3 ื•ืœืฉืœื•ื— ืืช ื”ืชืจื’ื•ืžื•ืŸ ืœืจื•ืฅ ืขืœ ื›ืœ ื”ืงื‘ืฆื™ื ื•ืœืชืจื’ื ืืช ื›ื•ืœื. ื–ื” ื™ื›ื•ืœ ืœืขื–ื•ืจ ื›ืฉืฆืจื™ืš ืœื‘ื ื•ืช ื›ืจื˜ื™ืกื™ื•ืช ืžืชื•ืš ืจืฉื™ืžื” ืืจื•ื›ื” ืฉืœ ืžื™ืœื™ื ืฉืืกืคืชื. ืžื™ื“ืข ื ื•ืกืฃ ืขืœ ื”ืคื™ืฆ'ืจ ืืคืฉืจ ืœืžืฆื•ื ื‘ืชื™ืขื•ื“ ืฉืœ ื‘ื•ื˜ื• ื‘ืงื™ืฉื•ืจ: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/translate/client/start_text_translation_job.html

ToCode
1 420
# ื”ื—ืฉื™ื‘ื•ืช ืฉืœ ื›ืœืœื™ื ื›ืœ ื”ื•ืจื” ื™ื•ื“ืข ืฉืื ื”ื™ืœื“ ื ื›ื ืก ืœื˜ื ื˜ืจื•ื, ื–ื” ืœื ืขื•ื–ืจ ืœืชืช ืœื• ืืช ืžื” ืฉื”ื•ื ืžื‘ืงืฉ. ื–ื” ื‘ืกืš ื”ื›ืœ ื™ืคืชื— ืืช ื”ื“ืœืช ืœื˜ื ื˜ืจื•ื ื™ื•ืชืจ ื—ื–ืง ื‘ืฉื‘ื™ืœ ื”ื‘ืงืฉื” ื”ื‘ืื”. ื•ืžื ื”ืœื™ ืคื™ืชื•ื— ืฉื™ื ืกื• ืœืจืฆื•ืช ื•ื™ืกื›ื™ืžื• ืœื›ืœ ื‘ืงืฉื” ืฉืœ ื”ืžืชื›ื ืชื™ื ื•ืฉืœ ืื ืฉื™ ื”ืคืจื•ื“ืงื˜ ืœื ื™ืฆืœื™ื—ื• ืœื”ื•ืฆื™ื ืฉื•ื ืคื™ืฆ'ืจ - ื”ืฉื™ื ื•ื™ื™ื ื™ื”ื™ื• ืชื›ื•ืคื™ื ืžื“ื™ ื•ื”ืงื•ื“ ืžื‘ื•ืœื’ืŸ ืžื“ื™. ื›ืœืœื™ื ืขื•ื–ืจื™ื ืœื ื• ืœื”ืชืงื“ื ื›ื™ ื”ื ืžื‘ื”ื™ืจื™ื ืžื” ืืคืฉืจ. ื”ื ื ื•ืชื ื™ื ืืช ื”ื—ื™ื›ื•ืš ืฉื™ื•ืฆืจ ืชื ื•ืขื”. ืื‘ืœ ื”ืืชื’ืจ ื•ื”ืื‘ืกื•ืจื“ ื‘ื›ืœืœื™ื ื”ื•ื ืฉื”ื›ืœืœื™ื ื”ื›ื™ ื˜ื•ื‘ื™ื ื”ื ืืœื” ืฉื ืžืฆืื™ื ืชื—ืช ื”ืžืชืงืคื” ื”ื›ื™ ื—ื–ืงื”. ื•ื–ื” ื”ื’ื™ื•ื ื™, ื›ืœืœ ืฉืœื ืžื ืกื™ื ืœืฉื‘ื•ืจ ื”ื•ื ืคืฉื•ื˜ ืœื ืžืกืคื™ืง ื—ืฉื•ื‘. (ื“ื•ื’ืžื” 1 - ื”ื—ืœื˜ืช ืœืจืฉื•ื ืืช ืื—ื“ ื”ืžืคืชื—ื™ื ืœืงื•ืจืก ืื•ื ืœื™ื™ืŸ ื•ืœืชืช ืœื• ืฉืขืชื™ื™ื ื‘ื™ื•ื ืœืขื‘ื•ื“ ืขืœ ื”ืงื•ืจืก. ืฉื‘ื•ืขื™ื™ื ืื—ืจื™ ื–ื” ืžืชื—ื™ืœ ืœื—ืฅ ืžื›ืœ ืžื™ื ื™ ืกื™ื‘ื•ืช. ื”ื•ื ื™ื•ื›ืœ ืœื”ืžืฉื™ืš ืœืœืžื•ื“ ืฉืขืชื™ื™ื ื‘ื™ื•ื?) (ื“ื•ื’ืžื” 2 - ืงื™ื‘ืœืช ื“ื™ื•ื•ื— ืขืœ ื‘ืื’ ืงืจื™ื˜ื™ ื‘ืคืจื•ื“ืงืฉืŸ. ื”ืžืชื›ื ืช ื”ืฆื™ืข ืœื—ืกื•ืš ื–ืžืŸ ื‘ื˜ื™ืคื•ืœ ื•ืœืชืงืŸ ื™ืฉืจ ืขืœ ื”ืฉืจืช ื‘ืžืงื•ื ืœืขื‘ื•ืจ ื“ืจืš ื›ืœ ื” Deployment Pipeline. ื”ื•ื ืจืง ืฆืจื™ืš ืœืกื’ื•ืจ ืืช ื”ืคื™ื™ืจื•ื•ืœ ืœื›ืžื” ื“ืงื•ืช ื•ืœื”ืชื—ื‘ืจ ื‘ื’ื™ืฉื” ื™ืฉื™ืจื” ืœืžื›ื•ื ื” ืœืฉื ื•ืช ืฉื ืืช ื”ืงื•ื“. ืœื•ืงื—ื™ื ืืช ื”ืกื™ื›ื•ืŸ ืฉืžืฉื”ื• ื™ื™ืฉื‘ืจ ืื• ืจืฆื™ื ืขื ื”ืคื™ื™ืคืœื™ื™ืŸ ืฉืขืœื•ืœ ืœืงื—ืช ื™ื•ืžื™ื™ื?) ื”ื˜ืจื™ืง ื”ื•ื ืœื”ื‘ื™ืŸ ืฉื›ืžื• ื‘ืืจื›ื™ื˜ืงื˜ื•ืจืช ืชื•ื›ื ื”, ื’ื ื‘ืืจื›ื™ืงื˜ื•ืจื” ืฉืœ ืื ืฉื™ื ืื™ืŸ ืกื™ื›ื•ื™ ืœืžืฆื•ื ืืช ื”ื›ืœืœื™ื ื”ื›ื™ ื ื›ื•ื ื™ื ื‘ืกืคืจ ืื• ื‘ื ื™ืกื™ื•ืŸ ื”ืจืืฉื•ืŸ. ื—ืฉื•ื‘ ืœื‘ื ื•ืช ื›ืœืœื™ื ืฉื™ืชืื™ืžื• ืœื ื•, ื•ื—ืฉื•ื‘ ืœื‘ื ื•ืช ืžื ื’ื ื•ื ื™ื ืฉื™ืืคืฉืจื• ืœื ื• ืœืฉื ื•ืช ืืช ื”ื›ืœืœื™ื ื›ืฉืื ื—ื ื• ืžื‘ื™ื ื™ื ืฉื›ืœืœ ื—ื“ืฉ ื™ืขื–ื•ืจ ืœื ื• ื‘ื˜ื•ื•ื— ื”ืจื—ื•ืง. ื‘ื›ืœ ืžืงืจื” ืœื–ืžื ื™ื ื™ืฉ ื—ืฉื™ื‘ื•ืช ื›ืืŸ. ืื ื ืฉื ื” ืืช ื”ื›ืœืœื™ื ื›ืœ ืฉืขืชื™ื™ื ืคืกืคืกื ื• ืืช ื”ืžื˜ืจื”.

ToCode
1 420
# ื”ื™ื•ื ืœืžื“ืชื™: ืœื ื”ื•ืคื›ื™ื OpenStruct ืœ JSON ื‘ื›ืœ ืžืขืจื›ืช ื™ืฉ ืืช ื”ืจื’ืข ื”ื–ื” ืฉืžื™ืžื•ืฉ ื•ืžืžืฉืง ืžืชื ื’ืฉื™ื, ืžื” ืฉื ืงืจื ืื‘ืกื˜ืจืงืฆื™ื” ื“ื•ืœืคืช. ืื—ื“ ื”ืžืงื•ืžื•ืช ืฉื–ื” ืงื•ืจื” ื‘ Ruby ื”ื•ื ื”ืžื™ืžื•ืฉ ืฉืœ Open Struct. ื”ืกื™ืคื•ืจ ื‘ืงืฆืจื” - ื‘ืจื•ื‘ื™ ื‘ื“ืจืš ื›ืœืœ ื”ื’ื™ืฉื” ืœืžืงื•ื ื‘ Hash ื ืขืฉื™ืช ืขื ืกื™ืžืŸ ืกื•ื’ืจื™ื™ื ืžืจื•ื‘ืขื™ื ืœื“ื•ื’ืžื”:
3.1.1 :001 > d = {foo: 10, bar: 20}
 => {:foo=>10, :bar=>20}
3.1.1 :002 > d[:foo]
 => 10
3.1.1 :003 >
ืื‘ืœ ืžืชื›ื ืชื™ื ืฉื‘ืื™ื ืž JavaScript ืจื’ื™ืœื™ื ืœื’ืฉืช ืœ Hash ื‘ืืžืฆืขื•ืช ืื•ืคืจื˜ื•ืจ ื”ื ืงื•ื“ื”. ื‘ืจื•ื‘ื™ ื ืงื•ื“ื” ื”ื™ื ืงืจื™ืื” ืœืžืชื•ื“ื” ื• OpenStruct ื–ื• ืžืขื˜ืคืช ืกื‘ื™ื‘ Hash ืฉื™ื•ืฆืจืช ืžืชื•ื“ื” ืขื‘ื•ืจ ื›ืœ ืฉื“ื” ืžื™ื“ืข ื‘ Hash. ื–ื” ื ืจืื” ื›ื›ื”:
3.1.1 :005 > require 'ostruct'
 => true
3.1.1 :007 > dd = OpenStruct.new(d)
 => #<OpenStruct foo=10, bar=20>
3.1.1 :008 > dd.foo
 => 10
3.1.1 :009 > dd.bar
 => 20
ืขื“ ืœืคื” ื”ื›ืœ ื˜ื•ื‘ ื•ืืคืฉืจ ื’ื ืœื”ืคืขื™ืœ to_json ื•ืœืงื‘ืœ ืืช ื›ืœ ื”ืฉื“ื•ืช ื‘ื—ื–ืจื” ื‘ืชื•ืจ JSON:
3.1.1 :002 > require 'ostruct'
 => true
3.1.1 :003 > require 'json'
 => true
3.1.1 :004 > OpenStruct.new({ foo: 10, bar: 20 })
 => #<OpenStruct foo=10, bar=20>
3.1.1 :005 > OpenStruct.new({ foo: 10, bar: 20 }).to_json
 => "\"#<OpenStruct foo=10, bar=20>\""
ืื‘ืœ ื›ืฉืžืขื‘ื™ืจื™ื ืืช ืื•ืชื• ืงื•ื“ ืœืจื™ื™ืœืก ื”ืงื™ื“ื•ื“ ืœ JSON ืžืฉืชื ื” ื•ืžืงื‘ืœื™ื ืืช ื”ืชื•ืฆืื” ื”ืžืคืชื™ืขื” ื”ื‘ืื”:
3.1.1 :001 > OpenStruct.new({ foo: 10, bar: 20 }).to_json
 => "{\"table\":{\"foo\":10,\"bar\":20}}"
ืžืื™ืคื” ื”ื’ื™ืข ืœืฉื ื” table??? ื—ื™ืคื•ืฉ ื‘ Stack Overflow ื”ื‘ื™ื ืื•ืชื™ ืœืชืฉื•ื‘ื” ื”ื–ืืช. ืžืกืชื‘ืจ ืฉื‘ืžื™ืžื•ืฉ ืฉืœ OpenStruct ื›ืœ ื”ืคืจื™ื˜ื™ื ื ืฉืžืจื™ื ื‘ืชื•ืจ ืขืจื›ื™ื ืฉืœ ืžืฉืชื ื” ืžื—ืœืงื” ื‘ืฉื table, ื•ื”ืงื™ื“ื•ื“ ืœ JSON ืฉืœ ืจื™ื™ืœืก ืคืฉื•ื˜ ืžืงื•ื“ื“ ืืช ื›ืœ ืžืฉืชื ื™ ื”ืžื—ืœืงื”. ื•ื›ืžื•ื‘ืŸ ืื—ืจื™ ืฉื’ื™ืœื™ื ื• ืืช ื”ืื‘ืกื˜ืจืงืฆื™ื” ื”ื“ื•ืœืคืช ื”ืคื™ืชืจื•ืŸ ื”ื•ื ืžืื•ื“ ืคืฉื•ื˜:
3.1.1 :077 > OpenStruct.new({a: 10, b: 20}).to_h.to_json
 => "{\"a\":10,\"b\":20}"
ืžืื—ืจ ื•ื™ืฉ ื›ื‘ืจ ืคื•ื ืงืฆื™ื” to_h ืฉืžื—ื–ื™ืจื” ืืช ื›ืœ ื”ืžื™ื“ืข ื‘ืชื•ืจ Hash ืจื’ื™ืœ, ืฆืจื™ืš ืจืง ืœืงืจื•ื ืœื” ื•ืœืชืจื’ื ืืช ื” Hash ืฉื”ื™ื ืžื—ื–ื™ืจื” ืœ JSON ื›ืžื• ืฉืจื™ื™ืœืก ื›ื‘ืจ ื™ื•ื“ืข ืœืขืฉื•ืช.

ToCode
1 420
# ื‘ืขื™ื•ืช ืฉื›ื‘ืจ ืื™ืŸ ื‘ืคื™ืชื•ื— ืชื•ื›ื ื” ืื—ืช ื”ื‘ืขื™ื•ืช ืฉืœื ื• ื›ื‘ื ื™ ืื“ื ื”ื™ื ืฉืื™ืŸ ืœื ื• ืฉื•ื ื™ื›ื•ืœืช ืœื”ืขืจื™ืš ื“ื‘ืจื™ื ื˜ื•ื‘ื™ื. ืืชื” ื™ื›ื•ืœ ืœืงื˜ืจ ืฉื‘ื•ืขื•ืช ืขืœ ื›ืžื” ืžืฉื”ื• ืžืกื•ื™ื ืงืฉื”, ืขืœ ื›ืžื” ื‘ืขื™ื” ืžืกื•ื™ืžืช ืœืขื•ืœื ืœื ืชื™ืคืชืจ, ื•ืื– ื›ืฉื–ื” ื ืคืชืจ ืืชื” ืฉื•ื›ื— ืžื–ื” ื•ืžืžืฉื™ืš ื‘ื—ื™ื™ื ื›ืื™ืœื• ื”ื‘ืขื™ื” ืืฃ ืคืขื ืœื ื”ื™ืชื” ืงื™ื™ืžืช. ืžืฆื“ ืื—ื“ ื–ื” ื˜ื•ื‘ ืœื”ืกืชื›ืœ ืชืžื™ื“ ืœื›ื™ื•ื•ืŸ ื”ื‘ืขื™ื” ื”ื‘ืื” ื›ื™ ื–ื” ืขื•ื–ืจ ืœื ื• ืœื”ืชืงื“ื, ืื‘ืœ ืžืฆื“ ืฉื ื™ ื—ืฉื•ื‘ ื’ื ืœืžืฆื•ื ื–ืžืŸ ื›ื“ื™ ืœื”ืขืจื™ืš ืืช ืžื” ืฉื™ืฉ ื•ืœื• ืจืง ื›ื“ื™ ืœืœืžื•ื“ ืžื”ื”ืฆืœื—ื•ืช ืฉื”ื™ื• ืœื ื•. ื•ื›ืžื•ื‘ืŸ ืœื”ื™ื–ื›ืจ ื‘ื‘ืขื™ื•ืช ืฉื›ื‘ืจ ืœื ืงื™ื™ืžื•ืช ื™ื›ื•ืœ ืœืชืช ืชืงื•ื•ื” ืฉื ืžืฆื ืคื™ืชืจื•ื ื•ืช ื˜ื•ื‘ื™ื ืœืื•ืชืŸ ื‘ืขื™ื•ืช ืฉืขื“ื™ื™ืŸ ื™ืฉ. ืื ื™ ืœื ื—ื•ืฉื‘ ืฉืคื™ืชื•ื— ืชื•ื›ื ื” ื”ืคืš ื™ื•ืชืจ ืงืœ ืื• ื™ื•ืชืจ ืงืฉื” ืขื ื”ืฉื ื™ื, ืื‘ืœ ื–ื” ื›ืŸ ืชื—ื•ื ืฉื”ืฉืชื ื” ื•ืžืฉืชื ื” ื›ืœ ื”ื–ืžืŸ. ื”ื ื” ืจืฉื™ืžื” ื—ืœืงื™ืช ืฉืœ ื‘ืขื™ื•ืช ืฉื”ื™ื• ื’ื“ื•ืœื•ืช ืขื“ ืžืžืฉ ืœื ืžื–ืžืŸ, ื•ื”ื™ื•ื ื›ื‘ืจ ื›ืžืขื˜ ืœื ืจืœื•ื•ื ื˜ื™ื•ืช: 1. ื”ืคืฆืช ืชื•ื›ื ื” - ืœืคื ื™ 20 ืฉื ื” ื”ื™ื” ืžืื•ื“ ืงืฉื” ืœื›ืชื•ื‘ ืืคืœื™ืงืฆื™ื” ืื—ืช ืฉืชืจื•ืฅ ื’ื ืขืœ Windows ื•ื’ื ืขืœ Mac. ื›ืฉื”ืื™ื™ืคื•ืŸ ื”ืจืืฉื•ืŸ ื™ืฆื ืื™ ืืคืฉืจ ื”ื™ื” ืœื“ืžื™ื™ืŸ ืคื™ืชื•ื— ืžืขืจื›ืช ืฉืชืจื•ืฅ ื’ื ืขืœ ืžื—ืฉื‘ ื•ื’ื ืขืœ ื˜ืœืคื•ืŸ, ื•ื›ืฉืื ื“ืจื•ืื™ื“ ื”ืชื—ื™ืœ ืœืชืคื•ืก ืชืื•ืฆื” ื”ืžืฆื‘ ืจืง ื ื”ื™ื” ื™ื•ืชืจ ืžื‘ืœื‘ืœ. ืื‘ืœ ืื– ื”ืื™ื ื˜ืจื ื˜ ื”ืฉืชืœื˜ ื•ื”ื’ื™ืขื• ื—ื ื•ื™ื•ืช ื”ืืคืœื™ืงืฆื™ื•ืช ื•ื›ืœื™ ื” Cross Platform, ื•ืคืชืื•ื ื›ืœ ืื—ื“ ื™ื›ื•ืœ ืœืฉื‘ืช ื‘ื‘ื™ืช ื•ืœื›ืชื•ื‘ ืืคืœื™ืงืฆื™ื” ืงื˜ื ื” ืฉื›ื•ืœื ื‘ื›ืœ ื”ืขื•ืœื ื™ื•ื›ืœื• ืœื”ืคืขื™ืœ. 2. ื’ื™ืฉื” ืœืžืฉืื‘ื™ ืžื—ืฉื•ื‘ ื‘ืขื ืŸ - ืฉืจืชื™ VPS ื”ื—ืœื• ืœื”ื™ื•ืช ื–ืžื™ื ื™ื ืจืง ื‘ืขืฉืจื™ื ื”ืฉื ื™ื ื”ืื—ืจื•ื ื•ืช, ื›ืฉื”ืžื—ื™ืจื™ื ืฉืœื”ื ื‘ืชื—ื™ืœืช ืฉื ื•ืช ื”ืืœืคื™ื™ื ื”ื™ื• ื”ืจื‘ื” ื™ื•ืชืจ ื’ื‘ื•ื”ื™ื ืžื”ื™ื•ื, ื•ื”ื‘ื™ืฆื•ืขื™ื ื”ืจื‘ื” ืคื—ื•ืช ื˜ื•ื‘ื™ื. ื”ื™ื•ื ืฆื“ ื”ืฉืจืช ืฉืœ ื”ืžืขืจื›ืช, ื‘ืขื ืŸ ืื• ื‘ VPS ื™ืขืœื” ืœื›ื ื›ืžืขื˜ ื›ืœื•ื ื•ื™ื•ื›ืœ ืœื”ืชืžื•ื“ื“ ื˜ื•ื‘ ืขื ื”ืขื•ืžืกื™ื ืฉืœ ืชื—ื™ืœืช ื”ื“ืจืš. 3. ืื‘ื˜ื—ืช ืžื™ื“ืข ื‘ืกื™ืกื™ืช - ื‘ 2005 ืืคืฉืจ ื”ื™ื” ืœื”ื™ื›ื ืก ืœื‘ืกื™ืก ื”ื ืชื•ื ื™ื ืฉืœ 90% ืžื”ืืชืจื™ื ื‘ืจืฉืช ืขื ืคื™ืจืฆื” ืžืื•ื“ ื‘ืกื™ืกื™ืช ืฉื ืงืจืื” SQL Injection. ื‘ 2012 ืืคืฉืจ ื”ื™ื” ืœืฉื‘ื•ืจ ืืช ืจื•ื‘ ื”ืจืฉืช ืขื ืคื™ืจืฆื” ืฉื ืงืจืื” XSS. ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ื—ื“ืฉื•ืช ื”ืคื›ื• ืืช ืฉืชื™ ื”ืคืจื™ืฆื•ืช ื”ืืœื” ื•ืคืจื™ืฆื•ืช ืคืฉื•ื˜ื•ืช ืจื‘ื•ืช ื ื•ืกืคื•ืช ืœืœื ืจืœื•ื•ื ื˜ื™ื•ืช. ื ื›ื•ืŸ ืขื“ื™ื™ืŸ ื™ืฉ ื”ืืงืจื™ื ื•ืขื“ื™ื™ืŸ ืฆืจื™ืš ืœืื‘ื˜ื— ืืช ื”ืžื•ืฆืจื™ื ืฉืœื ื•, ืื‘ืœ ื”ืกื™ื›ื•ืŸ ื‘ืคืจื™ืฆื” ืœืžื•ืฆืจ ืฉืœื›ื (ืื ื›ืชื‘ืชื ื‘ืคืจื™ื™ืžื•ื•ืจืง ืžื•ื“ืจื ื™) ื”ื•ื ื”ืจื‘ื” ื™ื•ืชืจ ื ืžื•ืš ืžืžื” ืฉื”ื™ื” ืคืขื. 4. ื’ื™ืฉื” ืœื™ื“ืข - ืื™ื ื˜ืจื ื˜ ืžื”ื™ืจ ื•ื™ื•ื˜ื™ื•ื‘ ื”ืคื›ื• ืืช ื”ื’ื™ืฉื” ืœื™ื“ืข ืœื‘ืขื™ื” ืคืชื•ืจื”. ื”ื™ื•ื ืืคื™ืœื• ืื•ื ื™ื‘ืจืกื™ื˜ืื•ืช ื’ื“ื•ืœื•ืช ื›ื‘ืจ ืœื ืคื•ื—ื“ื•ืช ืœืฉืชืฃ ืืช ื›ืœ ื”ืฉื™ืขื•ืจื™ื ืฉืœื”ืŸ ื‘ืจืฉืช ื•ื‘ื—ื™ื ื, ื›ืš ืฉืืคืฉืจ ืœืœืžื•ื“ ืžื›ืœ ืžืงื•ื ื•ืžื›ืœ ืžืฆื‘ ื›ืœื›ืœื™. ื•ืขื›ืฉื™ื• ืฉื–ื” ืžืื—ื•ืจื™ื ื•, ืžื” ืขื•ื“ ืขื•ืฆืจ ืื•ืชืš?

ToCode
1 420
1. ืื™ืš ืื•ื›ืœ ืœื”ื•ืกื™ืฃ ืขื•ื“ ืฉื“ื•ืช ื˜ืงืกื˜ ื‘ืฆื•ืจื” ื“ื™ื ืžื™ืช? 2. ืื™ืš ืื•ื›ืœ ืœืขืฉื•ืช ื•ื•ืœื™ื“ืฆื™ื” ืขืœ ื”ืžื™ื“ืข ื‘ืฉื“ื•ืช? ืฉืืœื•ืช ื”ื”ืžืฉืš ื”ืŸ ื“ืจืš ื—ืฉื•ื‘ื” ืœืœืžื•ื“ ืžืฉืชื™ ืกื™ื‘ื•ืช - ืชื—ื™ืœื” ืื ื™ ื™ื›ื•ืœ ืœื ืกื•ืช ืœืขื ื•ืช ืขืœื™ื”ืŸ ืœื‘ื“ ื›ื“ื™ ืœื•ื•ื“ื ืฉื”ื‘ื ืชื™ ืืช ื”ืงื•ื“ ื•ืฉืื ื™ ืžืกื•ื’ืœ ืœืขื“ื›ืŸ ืื•ืชื•, ื•ืฉื ื™ืช ื”ืŸ ื ื•ืชื ื•ืช ืœื™ ืชืžื•ื ื” ืžืœืื” ื™ื•ืชืจ ืขืœ ื”ื“ื‘ืจ ืื•ืชื• ืื ื™ ื‘ื•ื ื”. ## ื‘ื™ื ื’ ื™ื•ื“ืข ืœื—ืคืฉ ื‘ืื™ื ื˜ืจื ื˜ ื›ืฉื‘ื™ืงืฉืชื™ ืž ChatGPT ืœืžืฆื•ื ืœื™ ื˜ื™ืกื” ื–ื•ืœื” ืœืžื“ืจื™ื“ ื‘ืคืกื— ืœืฉื‘ืขื” ืœื™ืœื•ืช ื”ื•ื ื”ืชื ืฆืœ ื•ืืžืจ ืฉื”ื•ื ืจืง ืžื•ื“ืœ ืฉืคืชื™ ื•ืฉืขื“ื™ืฃ ืœื—ืคืฉ ื˜ื™ืกื” ื‘ืืชืจื™ ื˜ื™ืกื•ืช. ื‘ื™ื ื’ ืงื•ื“ื ื›ืœ ื”ืœืš ืœื‘ื“ื•ืง ืžืชื™ ืคืกื— ื•ืื– ื”ืฆื™ืข ืœื™ ืฉืœื•ืฉื” ืชืืจื™ื›ื™ื ืœื—ื•ืคืฉื” - ืžื” 4 ืขื“ ื” 14 ื‘ืืคืจื™ืœ, ืžื” 6 ืขื“ ื” 12 ื•ืžื” 5 ืขื“ ื” 13. ืœื ืชืžื™ื“ ืฉื‘ืขื” ืœื™ืœื•ืช ืื‘ืœ ื—ื™ื™ื‘ื™ื ืœื”ืขืจื™ืš ืืช ื”ืžืืžืฅ. ืื—ืจื™ ืฉื‘ื—ืจืชื™ ืื•ืคืฆื™ื” ื”ื•ื ื”ืžืฉืš ืœื—ืคืฉ ื‘ Bing Travel ื•ืžืฆื ืœื™ ื›ืžื” ืื•ืคืฆื™ื•ืช ืœื˜ื™ืกื” ืขื ื”ืžื—ื™ืจื™ื ื•ืœื™ื ืงื™ื ืœืืชืจื™ ื”ื˜ื™ืกื•ืช ื”ืจืœื•ื•ื ื˜ื™ื. ื”ื™ื›ื•ืœืช ืœืงื‘ืœ ืžื™ื“ืข ืจืœื•ื•ื ื˜ื™ ื‘ืฆื™ืจื•ืฃ ืœื™ื ืงื™ื ื”ื•ืคื›ืช ืืช ื”ืฉื™ื—ื” ืขื ื‘ื™ื ื’ ืœื”ืจื‘ื” ื™ื•ืชืจ ืžื•ืขื™ืœื”. ื•ื‘ืจืžื” ื”ืžืงืฆื•ืขื™ืช ื”ื™ื›ื•ืœืช ืฉืœื ื• ืœืงื‘ืœ ืžื™ื“ืข ืจืœื•ื•ื ื˜ื™ ื•ืžื”ื™ืจ ื”ื™ื ื›ื ืจืื” ืžืงืคืฆืช ื”ืคืจื•ื“ื•ืงื˜ื™ื‘ื™ื•ืช ื”ื‘ืื”. ืืชืžื•ืœ ื ื–ื›ืจืชื™ ืขื ื—ื‘ืจ ืื™ืš ืœืคื ื™ ื”ืื™ื ื˜ืจื ื˜ ื”ื™ื™ื ื• ืžื—ืคืฉื™ื ืžื™ื“ืข ืขืœ ืคื•ื ืงืฆื™ื•ืช ื‘ืกืคืจื™ื, ื•ืื™ืš ืœืคื ื™ Stack Overflow ืฆืœืœื ื• ื‘ืื™ื ืกื•ืฃ ื“ืคื™ ืชื™ืขื•ื“ ืžืงื•ื•ื ื™ื ื›ื“ื™ ืœืžืฆื•ื ืชืฉื•ื‘ื•ืช ืœืฉืืœื•ืช ืคืฉื•ื˜ื•ืช. ื‘ืขื•ื“ ืžืกืคืจ ื—ื•ื“ืฉื™ื ืื• ืฉื ื™ื ื ืกืชื›ืœ ืื—ื•ืจื” ืขืœ ื”ืชืงื•ืคื” ืฉืœ ื’ื•ื’ืœ ื•ืกื˜ืืง ืื•ื‘ืจืคืœื• ื‘ืื•ืชื ืžืฉืงืคื™ื™ื ื ื•ืกื˜ืœื’ื™ื™ื.

ToCode
1 420
# ืฉืœื•ืฉื” ืคื™ืฆ'ืจื™ื ืฉืœ ื‘ื™ื ื’ ื”ื—ื“ืฉ ืฉืžืฉืื™ืจื™ื ืืช ChatGPT ืžืื—ื•ืจ ื›ืŸ ืฆ'ืื˜ ื’'ื™ืคื™ื˜ื™ ืฉื™ื ื” ืืช ื”ืขื•ืœื ืจืง ืœืคื ื™ ืžืกืคืจ ื—ื•ื“ืฉื™ื ื›ืฉืื™ืคืฉืจ ืœื ื• ืœืชืงืฉืจ ืขื ืชื•ื›ื ืช ื‘ื™ื ื” ืžืœืื›ื•ืชื™ืช ื›ืื™ืœื• ืžื“ื‘ืจื™ื ืขื ื—ื‘ืจ, ื‘ื›ืœ ืฉืคื” ื•ืขืœ ื›ืœ ื ื•ืฉื. ืื‘ืœ ืœื—ื‘ืจ ื”ื•ื™ืจื˜ื•ืืœื™ ื”ื—ื“ืฉ ืฉืœื™ ื”ื™ืชื” ื‘ืขื™ื™ืช ื’ื™ืฉื” - ื”ื•ื ื™ื“ืข ืืช ื”ืชืฉื•ื‘ื” ื•ืฉื ื–ื” ื ื’ืžืจ. ื ื›ื•ืŸ, ืืคืฉืจ ื”ื™ื” ืœืฉืื•ืœ ืฉืืœื•ืช ื”ืžืฉืš ืื• ืœืชืงืŸ ืื•ืชื•, ืื‘ืœ ืื ืจืฆื™ืช ืœื“ืขืช ืื™ืš ื”ื•ื ื”ื’ื™ืข ืœืžื” ืฉื”ื’ื™ืข ื”ื™ื™ืช ืฆืจื™ืš ืœืขื‘ื•ืจ ืœื’ื•ื’ืœ. ืœืื—ืจื•ื ื” ืžื™ื™ืงืจื•ืกื•ืคื˜ ืฉื™ืœื‘ื• ืืช ืžื ื•ืข ื” GPT ื‘ืชื•ืš ืžื ื•ืข ื”ื—ื™ืคื•ืฉ ื‘ื™ื ื’ ืฉืœื”ื, ื•ื”ืชื•ืฆืื” ื”ื™ื ื‘ื“ื™ื•ืง ืžื” ืฉ ChatGPT ื”ื™ื” ืฆืจื™ืš ืœื”ื™ื•ืช. ืฉืœื” ืฉืœื•ืฉืช ื”ืกื™ื‘ื•ืช ื‘ื’ืœืœืŸ ืื ื™ ื›ื ืจืื” ืœื ืื—ื–ื•ืจ ืœืžืžืฉืง ืฉืœ OpenAI: ## ืื™ืคื” ืœืงืจื•ื ืขื•ื“ ื”ืคื™ืฆ'ืจ ื”ื›ื™ ื—ืฉื•ื‘ ื”ื•ื ืฉื‘ื™ื ื’ ืื•ืžืจ ืœืš ืžืื™ืคื” ื”ื•ื ื”ื‘ื™ื ืืช ื”ืžื™ื“ืข, ื•ืžืฆืจืฃ ืงื™ืฉื•ืจื™ื ืœืงืจื™ืื” ื ื•ืกืคืช. ื–ื” ื‘ืขื™ื ื™ื™ ื”ืคื™ืฆ'ืจ ื”ื›ื™ ื—ืฉื•ื‘, ื’ื ืื ืœื ืชืžื™ื“ ื‘ืจื•ืจ ื”ืงืฉืจ ื‘ื™ืŸ ื”ืชื•ื›ืŸ ื‘ืงื™ืฉื•ืจื™ื ืœืชื•ืฆืื”, ื”ืงืจื™ืื” ื‘ืงื™ืฉื•ืจื™ื ื”ื•ืคื›ืช ืืช ื”ืฉื™ื—ื” ืœื”ืจื‘ื” ื™ื•ืชืจ ืœื™ืžื•ื“ื™ืช. ืœื“ื•ื’ืžื” ืฉืืœืชื™ ืืช ืฉื ื™ ื”ืžื ื•ืขื™ื ืืช ื”ืฉืืœื”: > create a React component that shows 5 input fields and synchronizes the text between them, so that every time you write something in one field it's copied to all others ื›ืœ ืื—ื“ ืžื”ื ื™ืฆืจ ืงื•ื“ ืฉื•ื ื”. ื‘ื™ื ื’ ื ืชืŸ ืœื™ ืืช:
import React, { useState } from "react";

function SyncInput() {
  const [text, setText] = useState(""); // single state variable for text value

  const handleChange = (e) => {
    setText(e.target.value); // update state on change
  };

  return (
    <div>
      <h1>Sync Input Component</h1>
      <p>Type something in any of the input fields below and see how it's copied to all others.</p>
      <input type="text" value={text} onChange={handleChange} /> {/* pass text and onChange as props */}
      <input type="text" value={text} onChange={handleChange} />
      <input type="text" value={text} onChange={handleChange} />
      <input type="text" value={text} onChange={handleChange} />
      <input type="text" value={text} onChange={handleChange} />
    </div>
  );
}

export default SyncInput;
ื• ChatGPT ื ืชืŸ ืœื™ ืืช:
import React, { useState } from 'react';

function SyncedInputs() {
  const [inputValues, setInputValues] = useState(['', '', '', '', '']);

  const handleInputChange = (event) => {
    const { value } = event.target;
    setInputValues([value, value, value, value, value]);
  };

  return (
    <div>
      {inputValues.map((value, index) => (
        <input key={index} value={value} onChange={handleInputChange} />
      ))}
    </div>
  );
}

export default SyncedInputs;
ื”ืคื™ืชืจื•ืŸ ืฉืœ ื‘ื™ื ื’ ื ื›ื•ืŸ ื™ื•ืชืจ (ื”ื•ื ืžืฉืชืžืฉ ื‘ืžืฉืชื ื” ืกื˜ื™ื™ื˜ ื™ื—ื™ื“), ืื‘ืœ ื™ื•ืชืจ ื—ืฉื•ื‘ ื‘ื™ื ื’ ืฆื™ืจืฃ ืœืคื™ืชืจื•ืŸ ืืช ื”ืžืงื•ืจื•ืช ื”ื‘ืื™ื ืžื”ื ืืคืฉืจ ืœืœืžื•ื“ ืขืœ ืคื™ืชื•ื— ืงื•ืžืคื•ื ื ื˜ื•ืช ื“ื•ืžื•ืช ื‘ืจื™ืืงื˜: 1. https://reactjs.org/docs/forms.html 2. https://stackoverflow.com/questions/75374331/how-to-correctly-synchronize-the-internal-state-of-the-input-field-with-the-reac 3. https://stackoverflow.com/questions/51457843/how-to-dynamically-generate-pair-of-input-fields-using-reactjs 4. https://www.pluralsight.com/guides/how-to-use-react-to-set-the-value-of-an-input 5. https://stackoverflow.com/questions/51457843/how-to-dynamically-generate-pair-of-input-fields-using-reactjs 6. https://stackoverflow.com/questions/36235923/how-can-i-create-input-text-fields-dynamically-in-react-js-jsx ืœื ื›ื•ืœื ืจืœื•ื•ื ื˜ื™ื™ื ื‘ืื•ืชื” ืžื™ื“ื” ืื‘ืœ ื–ื” ืœื ืžื” ืฉื—ืฉื•ื‘. ื”ื“ื‘ืจ ื”ื—ืฉื•ื‘ ื”ื•ื ืฉืื ื™ ืœื ืฆืจื™ืš ืœืงื—ืช ืืช ื”ืžื™ืœื” ืฉืœื• - ืงื— ืืช ื”ืงื•ื“, ืชืงืจื ืืช ื”ืœื™ื ืงื™ื ื•ืชื•ื›ืœ ืœื”ืชืงื“ื ื‘ืฆื•ืจื” ื—ื›ืžื”. ## ื‘ื™ื ื’ ืžืฆื™ืข ืฉืืœื•ืช ื”ืžืฉืš ื‘ืกื™ื•ื ื”ืฉืืœื” ื‘ื™ื ื’ ื”ืฆื™ืข ืœื™ ืฉืชื™ ืฉืืœื•ืช ื”ืžืฉืš:

ToCode
1 420
# ืืจื’ื•ื ื•ืžื™ืงื” ืืจื’ื•ื ื•ืžื™ืงื” ื”ื™ื ื”ืžื“ืข ื”ืขื•ืกืง ื‘ื—ืงืจ ื”ืžืžืฉืง ื‘ื™ืŸ ื‘ื ื™ ื”ืื“ื ืœืกื‘ื™ื‘ื”. ืื ื—ื ื• ืžื›ื™ืจื™ื ืืช ื”ืžื•ื ื— ื›ื™ ื“ื‘ืจื™ื ืืจื’ื•ื ื•ืžื™ื™ื ืืžื•ืจื™ื ืœื”ื™ื•ืช ื™ื•ืชืจ ื™ื“ื™ื“ื•ืชื™ื™ื ืœืื™ืš ืฉื”ื’ื•ืฃ ื‘ื ื•ื™, ื›ืš ืžืงืœื“ืช ืืจื’ื•ื ื•ืžื™ืช ืชื”ื™ื” ื ื•ื—ื” ื™ื•ืชืจ ืœื”ืงืœื“ื” ื•ื›ืกื ืืจื’ื•ื ื•ืžื™ ื™ื”ื™ื” ื˜ื•ื‘ ื™ื•ืชืจ ืœื’ื‘. ืืคืฉืจ ืœื™ื™ืฉื ืืช ื”ืžื•ื ื— ืืจื’ื•ื ื•ืžื™ ื’ื ืขืœ ืกืคืจื™ื•ืช ื•ื›ืœื™ ืคื™ืชื•ื— ื•ืื– ืœื“ื‘ืจ ืขืœ ื”ืืจื’ื•ื ื•ืžื™ืงื” ืฉืœ ืกืคืจื™ื™ืช ืงื•ื“ ืžืกื•ื™ืžืช ืื• ืฉืคืช ืชื›ื ื•ืช ืžืกื•ื™ืžืช, ื•ืœื—ืคืฉ ืกืคืจื™ื•ืช ืงื•ื“ ื•ืฉืคื•ืช ืชื›ื ื•ืช ืฉื™ื”ื™ื• "ื˜ื•ื‘ื•ืช ื™ื•ืชืจ" ืขื‘ื•ืจ ื”ืžืชื›ื ืชื™ื. ื”ื‘ืขื™ื” ื‘ื™ื™ืฉื•ื ื›ื–ื” ื”ื™ื ืฉื‘ืขื•ื“ ืฉื”ื’ื•ืฃ ืฉืœ ืื ืฉื™ื ื‘ื ื•ื™ ืคื—ื•ืช ืื• ื™ื•ืชืจ ืื•ืชื• ื“ื‘ืจ, ื‘ืฉืคื•ืช ืชื›ื ื•ืช ื•ื›ืœื™ื ื”ื™ื“ืข ื•ื”ื ื™ืกื™ื•ืŸ ื”ืงื•ื“ื ืฉืœื ื• ื•ื’ื ื”ื“ื‘ืจ ืื•ืชื• ืื ื—ื ื• ื‘ื•ื ื™ื ืžืฉืคื™ืขื™ื ืžืื•ื“ ืขืœ ื”ืืจื’ื•ื ื•ืžื™ืงื”. ื”ืžืคืชื—ื™ื ืฉื›ื•ืชื‘ื™ื ืืช Visual Studio ื ื“ืจืฉื™ื ืœื™ื›ื•ืœื•ืช ืฉื•ื ื•ืช ื•ืœื›ืœื™ื ืฉื•ื ื™ื ืžืืฉืจ ืžืคืชื—ื•ืช ื”ื‘ื•ื ื•ืช ืžืฉื—ืง ืžื—ืฉื‘ ื•ืืœื” ื™ืฆื˜ืจื›ื• ื™ื›ื•ืœื•ืช ืฉื•ื ื•ืช ืžืžืคืชื—ื™ื ื”ื‘ื•ื ื™ื ื™ื™ืฉื•ื Saas. ืขื ื”ื”ื‘ื“ืœ ื”ื–ื” ื‘ืจืืฉ ื›ื“ืื™ ืœืœื›ืช ืœืงืจื•ื ืืช ื”ื“ื™ื•ืŸ ื”ืžืจืชืง ื‘ื™ืŸ ื“ื•ื“ ื‘ื•ื‘ ืœืงื™ื™ืกื™ ืžื•ืจื˜ื•ืจื™ ื‘ืงื™ืฉื•ืจ: https://github.com/unclebob/cmuratori-discussion/blob/main/cleancodeqa.md ืœืคื ื™ ืฉืื ื—ื ื• ืžื—ืคืฉื™ื ืืช ื›ืœื™ ื”ืคื™ืชื•ื— ื”ื˜ื•ื‘ื™ื ื‘ื™ื•ืชืจ ื•ืฉื™ื˜ื•ืช ื”ืขื‘ื•ื“ื” ื”ื˜ื•ื‘ื•ืช ื‘ื™ื•ืชืจ, ื‘ื•ืื• ื ื—ืคืฉ ืงื•ื“ื ืœืขื ื•ืช ืขืœ ืฉืืœื•ืช ื›ืžื• "ืžื” ืื ื—ื ื• ื‘ื•ื ื™ื", "ืžื™ ื”ื’ื™ื‘ื•ืจื™ื ืฉืœื ื•", "ืื™ื–ื” ืกื•ื’ ืื ืฉื™ื ืื ื—ื ื• ืจื•ืฆื™ื ืœื’ื™ื™ืก" ื•"ืื™ืคื” ื”ืžื•ืฆืจ ืฉืœื ื• ื™ื”ื™ื” ื‘ืขื•ื“ 5 ืฉื ื™ื". ื”ื‘ื ื” ื˜ื•ื‘ื” ืฉืœ ื”ืžื•ืฆืจ ื”ื™ื ื”ืžืคืชื— ืœื”ื‘ื ื” ื˜ื•ื‘ื” ืฉืœ ื”ืืจื’ื•ื ื•ืžื™ืงื” ื•ืœื‘ื ื™ื™ืช ืชืฉืชื™ืช ืืจื’ื•ื ื™ืช ืฉืชืชืื™ื ืœื›ื ื•ืœืฆื•ื•ืช ืฉืœื›ื.

ToCode
1 420
# ืœื”ื•ืฆื™ื ืงื‘ืฆื™ื ืžื’ื™ื˜ ืขื rm cached ืžืชื—ื™ืœ ืืช ื”ื‘ื•ืงืจ, ื ื›ื ืก ืœืงื•ื“ ืคื™ื™ืชื•ืŸ, ืžืชืขืฆื‘ืŸ ืขืœ ื•ื™ื, ืžืคืขื™ืœ ืคื™ื™ืฆ'ืืจื, ืžืชืงืŸ ืืช ื”ื‘ืื’ ื•ืžื›ื ื™ืก ืœื’ื™ื˜:
$ git add .
$ git commit -m 'fixed bug'
ืื•ืคืก. ื‘ืœื™ ืœืฉื™ื ืœื‘ ื”ืงื•ืžื™ื˜ ื”ืื—ืจื•ืŸ ื›ื•ืœืœ ื’ื ืืช ืชื™ืงื™ื™ืช .idea ืฉืคื™ื™ืฆ'ืืจื ื™ืฆืจ. ื•ืœื ื™ืขื–ื•ืจ ืขื›ืฉื™ื• ืœื”ื•ืกื™ืฃ ืื•ืชื” ืœ gitignore - ื›ืœื•ืžืจ ื™ืขื–ื•ืจ ืงืฆืช ื›ื™ ืฉื™ื ื•ื™ื™ื ื‘ืชื™ืงื™ื” ืœื ื™ืกื•ืžื ื• ื‘ืชื•ืจ ืฉื™ื ื•ื™ื™ื ืฉืฆืจื™ืš ืœืขืฉื•ืช ืœื”ื ืงื•ืžื™ื˜, ืื‘ืœ ืขื“ื™ื™ืŸ ื›ืœ ืื—ื“ ืฉื™ืขืฉื” clone ืœืคืจื•ื™ืงื˜ ืขื›ืฉื™ื• ื™ืงื‘ืœ ืืช ื” .idea ืฉืœื™. ื ื™ืกื™ื•ืŸ ืจืืฉื•ืŸ ืœืžื—ื•ืง ืืช ื”ืชื™ืงื™ื” ืขื git rm ื™ื™ื›ืฉืœ:
$ git rm .idea

fatal: not removing '.idea' recursively without -r
ื•ืื ืื ืกื” ืœื”ืงืฉื™ื‘ ืœื• ื•ืœื”ืคืขื™ืœ git rm -r .idea ืื ื™ ืื•ืžื ื ืืžื—ืง ืืช ื”ืชื™ืงื™ื” ืžื’ื™ื˜ ืื‘ืœ ืืื‘ื“ ืืช ืงื‘ืฆื™ ื”ื’ื“ืจื•ืช ื”ืคืจื•ื™ืงื˜ ืฉืœื™. ื”ืžืคืชื— ืœื”ืชืจืช ื”ืงืฉืจ ื”ื•ื ื”ื”ื‘ื ื” ืฉื‘ืขื‘ื•ื“ื” ืขื ื’ื™ื˜ ืื ื—ื ื• ื‘ืขืฆื ืขื•ื‘ื“ื™ื ืขืœ ืžืกืคืจ ืขื•ืชืงื™ื ืฉืœ ื”ืคืจื•ื™ืงื˜ ื‘ืžืงื‘ื™ืœ: 1. ื™ืฉ ืืช ื”ืขื•ืชืง ืฉืื ื—ื ื• ืจื•ืื™ื ื‘ืชื™ืงื™ื™ืช ื”ืขื‘ื•ื“ื”. 2. ืืคืฉืจ ืœื—ืฉื•ื‘ ืขืœ ื›ืœ ืงื•ืžื™ื˜ ื‘ืชื•ืจ ืขื•ืชืง ื ื•ืกืฃ ืฉืœ ื”ืคืจื•ื™ืงื˜. 3. ื”ืื™ื ื“ืงืก, ืื• ื” Staging Area, ืฉื–ื” ื”ื“ื‘ืจ ืฉื™ื”ืคื•ืš ืœืงื•ืžื™ื˜ ื”ื‘ื, ื”ื•ื ื’ื ื›ืŸ ืขื•ืชืง ืฉืœ ื”ืคืจื•ื™ืงื˜. ื•ืื ื”ืื™ื ื“ืงืก ื”ื•ื ืขื•ืชืง ืฉืœื ืฉืœ ื”ืคืจื•ื™ืงื˜, ื›ืœ ืžื” ืฉืื ื™ ืฆืจื™ืš ื–ื” ืœืžื—ื•ืง ืืช ื”ืงื‘ืฆื™ื ืจืง ืžื”ืื™ื ื“ืงืก ื‘ืœื™ ืœื’ืขืช ื‘ืขื•ืชืง ืฉืœื”ื ื‘ืชื™ืงื™ื™ืช ื”ืขื‘ื•ื“ื”. ื•ื›ืš ื ื•ืœื“ื” git rm --cached. ืื—ืจื™ ืฉื ืžื—ืง ืืช ื”ืงื‘ืฆื™ื ืจืง ืžื”ืื™ื ื“ืงืก ื•ื ืคืขื™ืœ commit, ื”ืื™ื ื“ืงืก ื™ื”ืคื•ืš ืœื”ื™ื•ืช ื”ืงื•ืžื™ื˜ ื”ื‘ื, ืฉื›ื‘ืจ ืœื ื™ื—ื–ื™ืง ืืช ืชื™ืงื™ื™ืช .idea, ื•ืงื•ื‘ืฅ ื” .gitignore ืฉื”ื•ืกืคืชื™ ื™ื•ื•ื“ื ืฉืœื ืื•ืกื™ืฃ ืืช .idea ืฉื•ื‘ ื‘ื˜ืขื•ืช, ื•ื›ืœ ื–ื” ื‘ืœื™ ืœื’ืขืช ื‘ืชื™ืงื™ื™ื” ืขืฆืžื” ืฉืขื“ื™ื™ืŸ ื ืžืฆืืช ืืฆืœื™ ื‘ืชื™ืงื™ื™ืช ื”ืขื‘ื•ื“ื”:
$ git rm --cached -r .idea

rm '.idea/.gitignore'
rm '.idea/cached.iml'
rm '.idea/inspectionProfiles/profiles_settings.xml'
rm '.idea/misc.xml'
rm '.idea/modules.xml'

$ git commit -m 'removed .idea from project'

$ ls .idea
cached.iml              inspectionProfiles      misc.xml                modules.xml             vcs.xml                 workspace.xml

ToCode
1 420
# ื™ืฆื™ืจืช ืกื™ืกืžืื•ืช ืžืฉื•ืจืช ื”ืคืงื•ื“ื” ืขื pwgen ืื—ื“ ื”ื›ืคืชื•ืจื™ื ืฉื”ื›ื™ ืื”ื‘ืชื™ ื‘ lastpass ื•ื“ื™ ื—ืกืจ ืœื™ ื‘ 1Password ื”ื™ื” ื›ืคืชื•ืจ Generate Password. ื ื›ื•ืŸ, ื’ื 1Password ืžื’'ื ืจื˜ ืื•ื˜ื•ืžื˜ื™ืช ืกื™ืกืžืื•ืช ื‘ื˜ืคืกื™ ืจื™ืฉื•ื ืœืืชืจื™ื, ืื‘ืœ ื”ืจื‘ื” ืคืขืžื™ื ื‘ื‘ื“ื™ืงื•ืช ืื ื™ ืฆืจื™ืš ืกื™ืกืžื” ืืงืจืื™ืช ืฉืœื ืชื™ืฉืžืจ ื‘ื›ืกืคืช ื”ืกื™ืกืžืื•ืช. ื•ื›ืืŸ pwgen ื™ื›ื•ืœื” ืœืขื–ื•ืจ. ื‘ื”ืคืขืœื” ืจื’ื™ืœื” pwgen ืžื“ืคื™ืกื” ื”ืžื•ืŸ ืกื™ืกืžืื•ืช ืืงืจืื™ื•ืช ืœืžืกืš:
$ pwgen

cahhoh2G oofah7Wo Kain5pha eeKue9th Shieng9i ail5Mai3 ahgh1Woh uuQuu2oh
IVahg0ro Ahju2tah Zuox3laS ual3Iece Ohx7ua2e ib2riyoG UuYie9Oh eicuc7Ib
loh5ja7T Nen9biTh Zee5vaiw ies6AoBo eGheip3m eiyeeNg9 Aish1ohn eM6isees
oR7Zeam4 ithang7O Aing4hah eeNae6Ro ahRashi2 xo2eiVie Eew4ohp8 uusaeCh0
chaic0Vu eu2phaeJ oFee7ei8 zohBu4xe mu9iTeik oow0Ia7e Noothah5 yuuph2Ie
keiFair2 Chutoh1i ji9Quei5 OoX5Ophe yay3AeNo Ahoong3C keeS5Eih Ohbaivi4
pheiPh1A aaloof4B ahsoMai6 they7Xoo IeN1aiqu eoGhai7e ahLaqu9u EiGh3ook
kooCh3ah niGieb7E Chohpai9 uibi2Lah Aiqueiz9 the7ua1T fooS2Ohl Cha9aene
aeT9ahzi teeG8axa the9Wahy WooT0eis tieW5yoh aiYeip1l eTh0iewu azucew3A
oofoKu6h Wievei4c xoo0Quae Lah7Nue0 ieZ8ahqu Oi1ahjee OoW6eeZ3 yei1fi7A
ohb9phuN Gee5see4 eeD5jaik Figha4oo Jet2uo6e Eir9re3i OhDohk9e Yai8ahsu
Ahjaev2i ea8ohJ0e yeiHai4i Cev4Wuuh sheih9Hi akeiZa8t Aic3ahro zoo2AeCa
Ohgoong0 Bouhoo5a wai7Eih0 ZooP7eif ba5eiy3R eewooCh7 Aga2ueZ1 aiT8Shah
Aethee0h Eir9cieg Wo6zoodi iV6idohv Iezei7am chaeR5uf Ooree0ie aequa5Wi
Eeyu8uiF aibac7Li fee4Ahpe HooGo1ei pahng4Ah ohXuo9tu Eeseew0u aefes4Ph
Ea8ohnie kiyaiTh9 Lai9eifu aib4eeSa ua8aaM2o Tied3tee Lo5sooVo Ieshaiw4
pe3Aib4j HiujeeX2 teiJu0Ni geeSh7hi ieNg4oov Ua9ma1oC ahpieC9k Peit0Eih
ab9Raelo jahC6eix QuahG6to aeL7iera ze5OP9Ie uoBai7ob MohK8Ohm Ahr2eemi
loh8iGhu Iu3ahwie uDa4ia8j Quoh4iek aQu6ith0 Ahs5jaiy uech4aiS eodai7Ah
kei4Noox quooy0Ae ohnais7A jeech9Ae ob8ehaeN die4Ahth Ahg8jah3 Aishe8Yi
ืื ื”ืคืœื˜ ืื™ื ื• tty ืื– ืชื™ื•ืฆืจ ืจืง ืกื™ืกืžื” ืื—ืช, ื•ื›ืžื• ืขื ls ื’ื ืคื” ืืคืฉืจ ืœื”ืขื‘ื™ืจ -1 ื›ื“ื™ ืœืงื‘ืœ ืืช ืื•ืชื” ื”ืชื ื”ื’ื•ืช:
$ pwgen | cat
zo3gi3Ie

$ pwgen -1
shaiPoo2
ื™ืฉ ืžืชื’ื™ื ืฉืžืืคืฉืจื™ื ืœื”ืคื•ืš ืืช ื”ืกื™ืกืžืื•ืช ืœื™ื•ืชืจ ื‘ื˜ื•ื—ื•ืช, ืœืžืฉืœ ื”ืžืชื’ -y ืฉืžื•ืกื™ืฃ ืชื•ื•ื™ื ืžื™ื•ื—ื“ื™ื ื• -s ืฉื”ื•ืคืš ืืช ื”ืกื™ืกืžื” ืœื™ื•ืชืจ ืžืกื•ื‘ื›ืช ืœื‘ื ื™ ืื“ื. ื•ืืคืฉืจ ื’ื ืœืฆืจืฃ ืžืกืคืจ ื‘ืกื•ืฃ ื›ื“ื™ ืœืกืคืจ ื›ืžื” ืชื•ื•ื™ื ืืชื ืจื•ืฆื™ื:
$ pwgen -s -1 -y 30
bPcAig)mVL|\_hMpib|f.=?7$o^RQ|
ื—ื•ืฅ ืžื™ืฆื™ืจืช ืกื™ืกืžืื•ืช ืืคืฉืจ ืœื”ืฉืชืžืฉ ื‘ pwgen ื›ื“ื™ ืœื™ืฆื•ืจ ื‘ืขืฆื ื›ืœ ืžื—ืจื•ื–ืช ืฉืืชื ืฆืจื™ื›ื™ื ืœื‘ื“ื™ืงื•ืช. ืœื“ื•ื’ืžื” ืื ืืชื ืฆืจื™ื›ื™ื 10 ื›ืชื•ื‘ื•ืช ืื™ืžื™ื™ืœ ืฉื ืจืื•ืช ืืงืจืื™ื•ืช ืชื•ื›ืœื• ืœื›ืชื•ื‘:
$ pwgen 10 10 | sed 's/$/@test.com/'
ige6Eiji3i@test.com
joiC9kaes0@test.com
EiZuwofu3z@test.com
nee6Ea0eid@test.com
iye7ieJ4oh@test.com
abaeReeP4y@test.com
ebei4NiQu6@test.com
OCheil6ahr@test.com
ootheiH3tu@test.com
ei8ne6ohMi@test.com
ืื• ื”ืกืงืจื™ืคื˜ ื”ืงืฆืจ ื”ื‘ื ืฉืžื“ืคื™ืก 10 ืžืฉืชืžืฉื™ื ืืงืจืื™ื™ื ืœ JSON ื›ืืฉืจ ื›ืœ ืžืฉืชืžืฉ ืžืงื‘ืœ ืžื–ื”ื”, ืฉื ื•ืื™ืžื™ื™ืœ ืืงืจืื™ื™ื:
echo "["
for i in {1..10}; do
  id=$(pwgen -1 10)
  name=$(pwgen -s 2 1)
  email="${name:l}.${id}@example.com"
  if [ $i -eq 10 ]; then
    echo "{\"id\":\"$id\",\"name\":\"$name\",\"email\":\"$email\"}"
  else
    echo "{\"id\":\"$id\",\"name\":\"$name\",\"email\":\"$email\"},"
  fi
done
echo "]"