Мазмунга өтүү

Чөйрө конфигурациясы жана сырлар

Сабактын башталышы

Чөйрө конфигурациясы жана сырлар

Сырсөздөрдү, API ачкычтарын жана ар бир чөйрөгө тиешелүү жөндөөлөрдү баштапкы коддон тышкары сактаңыз

Негизги идея: сиздин программаңызга ноутбугуңуз менен чыныгы сервердин ортосунда өзгөрүп турган маанилер керек - маалымат базасынын сырсөзү, API ачкычы, порттун номери. Аларды түз эле .js файлдарга жазуу коопсуз эмес жана ийкемсиз. Чөйрө конфигурациясы бул маанилерди коддон тышкары берүүгө мүмкүндүк берет, ошондуктан бир эле код бардык жерде иштейт жана сырларыңыз эч качан версия көзөмөлүнө түшпөйт.
Сабактын аягында сиз:
  • process.env дан конфигурацияны окуй аласыз,
  • жергиликтүү жөндөөлөрдү .env файлында сактап, аларды dotenv аркылуу жүктөй аласыз,
  • .gitignore менен .env ди Git ге киргизбей, коопсуз .env.example ди жеткире аласыз,
  • иштетүүдө конфигурацияны текшерип, ар бир чөйрөгө акылга сыярлык демейки маанилерди бере аласыз.

1. Маселе: коддогу сырлар

Сиз маалымат базасына түз эле баштапкы файлдын ичинде минтип туташасыз деп элестетиңиз:

// db.js  --  минтип кылба
const mysql = require('mysql2/promise');

const pool = mysql.createPool({
  host: 'db.myapp.com',
  user: 'admin',
  password: 'S3cr3t-Pa55!',   // Git ке түшкөн чыныгы сырсөз
});

Сиздин машинаңызда бул иштейт, бирок бул жерде үч олуттуу маселе бар:

  • Сырлар агып чыгат. Сиз git commit кылган замат бул сырсөз репозиторийдин тарыхында түбөлүккө калат - кийин сапты өчүрсөңүз да. Репозиторийге (же GitHub тагы ачык көчүрмөгө) жетүү мүмкүнчүлүгү бар ар бир адам аны окуй алат.
  • Көчүрүлбөйт. Сиздин ноутбугуңузга, кесиптешиңиздин ноутбугуна жана продакшн серверге ар башка маанилер керек. Катуу жазылган саптар хостту гана өзгөртүү үчүн кодду түзөтүүгө мажбурлайт.
  • Алмаштыруу кыйын. Ачкыч бузулганда, аны файлдардан издеп, кайра жайылтпастан, секундалардын ичинде алмаштыргыңыз келет.

Салыштыруу. Баштапкы кодду ашкана китебине жарыялаган рецепт, ал эми сырларды үйүңүздүн ачкычы деп ойлоңуз. Рецепт менен кубаныч менен бөлүшөсүз, бирок үйдүн ачкычын анын ичине басып чыгарбайсыз. Конфигурация - бул сиздин ашканада тамак жасап жаткан адамга бере турган чапталган конверт: ал рецептке эмес, чөйрөгө таандык.

Бул сабакты YourAIZone платформасында улантыңыз

Толук сабакта — толук түшүндүрмө, чыгарылган мисалдар, көп кездешкен каталар, заматта текшерилүүчү тесттер жана ЖИ-репетитор. Конок катары дароо баштаңыз же прогрессти сактоо үчүн аккаунт түзүңүз.

Толук сабакта

  • Толук түшүндүрмө
  • Чыгарылган мисалдар
  • Көп кездешкен каталар жана алардан кантип качуу керек
  • Тест суроолору: 15
  • Тема боюнча суроолорго жооп берген ЖИ-репетитор
  • Окуучу, ата-эне жана мугалим үчүн прогрессти көзөмөлдөө