CodeGym /Kurslar /SQL SELF /CodeGym plugin-in quraşdırılması

CodeGym plugin-in quraşdırılması

SQL SELF
Səviyyə , Dərs
Mövcuddur

Plugin Intellij IDEA, WebStorm və ya PyCharm development mühitinə inteqrasiya olunur və sənə CodeGym kursunun tapşırıqları ilə işləməyə imkan verir. Məsələn, həll kodunu yazmaq, yoxlama üçün göndərmək, öz həllini "default" həll ilə müqayisə etmək və s. Plugin-də tapşırıqların həlli üzrə irəliləyişin CodeGym hesabınla sinxronizasiya olunur, ona görə də həm saytda, həm də development mühitində eyni görünəcək.

CodeGym plugin-i Jetbrains marketplace-dən, birbaşa development mühitində yükləyə bilərsən. Aşağıda addımları WebStorm nümunəsində göstərəcəyik, amma eyni addımlar digər IDE-lər üçün də keçərlidir.

Plugin ilə işləmək üçün Jetbrains IDE-nin 2023.1 və ya daha yeni versiyası lazımdır.

  1. "Ayarlar" bölməsinə gir, Windows/Linux üçün File - Settings, MacOS üçün WebStorm - Preferences. Əgər ayarlar bölməsi yoxdursa, istənilən layihəni aç və ya yenisini yarat.

  2. Açılan pəncərədə yan menyudan Plugins bölməsini seç və Marketplace tabını aç. Axtarış sətrində codegym yaz

  3. Plugin-i seç və Install düyməsinə bas.
  4. WebStorm-u restart et (Restart IDE), plugin ilə işləməyə başlamaq üçün.

Plugin quraşdırıldı!

Hesabına giriş və tapşırığın yüklənməsi

  1. Bir az dəyişmiş interfeys və düymə görəcəksən. Yuxarı üfüqi paneldə Hesaba daxil ol düyməsi.

    Basanda hesabına giriş üçün pəncərə açılacaq, burada gizli açarını daxil etməlisən:

    Xatırladaq ki, gizli açarı Ayarlar → Təhlükəsizlik və giriş bölməsində tapa bilərsən.

  2. Yeni tapşırıq açmaq üçün sol şaquli paneldə Tasks düyməsinə, sonra isə soldakı tapşırıq kartına və düyməsinə bas:

  3. Yeni tapşırıq açanda qarşında bir neçə vacib fayl olan iş sahəsi açılır:
    • Solution — əsas iş faylındır. Tapşırığın həlli üçün SQL-sorgunu bura yazacaqsan.
    • init.sql — lokal bazanı hazırlamaq üçün köməkçi skriptdir. Lazım olan cədvəllərin yaradılması və məlumatlarla doldurulması üçün təlimatlar var.
    • Tapşırığın şərti olan tab.
  4. Solution faylı ilə hər şey saytdakı kimidir. Həllini yaz və Yoxla/Validate düyməsinə bas

Həllin lokal işə salınması

  1. Əvvəlcə tapşırıq üçün lokal bazanda cədvəlləri və məlumatları yaratmaq lazımdır. Bunun üçün init.sql faylını aç, sağ düymə ilə üzərinə bas və Run 'init.sql' seç.
  2. Açılan "Edit Configuration" pəncərəsində skriptin harada işlədiləcəyini göstərməlisən. "Target data source / schema" bölməsində + düyməsinə bas və qurduğun bağlantını, sonra isə lazım olan sxemi seç (məsələn, university). Seçdikdən sonra Run düyməsinə bas.
  3. Uğurlu icradan sonra aşağıdakı konsolda uyğun mesaj çıxacaq. Yaradılmış cədvəli görmək üçün "Database" panelində bazanın görünüşünü yenilə (iki oxlu düymə). Yeni cədvəli (məsələn, products) sxemində görməlisən.
  4. Artıq baza hazırdırsa, solution.sql faylına qayıt. SQL-sorgunu yaz. Onu lokal test etmək üçün redaktorun üstündəki açılan menyudan sxemini seç və yaşıl "Run" düyməsinə bas. Sorgun lokal bazada işləyəcək və nəticəni görəcəksən.

init.sql faylının təkrar işə salınması və ya asılılıq probleminin həlli

Tapşırıqlarla işləyərkən, lokal verilənlər bazanızı hazırlamaq üçün tez-tez init.sql skriptini işə salacaqsınız. Bəs cədvəl artıq yaradılıbsa, onu ikinci dəfə işə saldıqda nə baş verər?

İlk baxışdan, bu cür skriptlərdə tez-tez rast gəlinən DROP TABLE IF EXISTS employees; əmri, yenisini yaratmazdan əvvəl köhnə cədvəli silməklə bu problemi həll etməli kimi görünür. Lakin, bu həmişə belə deyil. Cədvəli silməyə imkan verməyən bir xəta ilə qarşılaşa bilərsiniz. Bu o zaman baş verir ki, sizin cədvəlinizə digər verilənlər bazası obyektləri, məsələn, başqa cədvəllərdən olan Foreign Keys və ya avtoinkrementli sahələr üçün istifadə olunan ardıcıllıqlar (sequences) istinad edir. Sistem bu əlaqələri qoruyaraq "parent" (üst) cədvəlin silinməsinə icazə vermir.

CASCADE opsiyası

Belə hallar üçün PostgreSQL-də DROP əmri üçün bir genişlənmə mövcuddur — CASCADE opsiyası. O, serverə deyir: "Bu cədvəli və ondan asılı olan bütün obyektləri avtomatik olaraq sil". Bu, silinən cədvəllə əlaqəli olan hər şeyi "məcburi" şəkildə təmizləməyə imkan verir.

Kod nümunəsi


-- Cədvələ employees istinadlar varsa, bu variant xətaya səbəb ola bilər
DROP TABLE IF EXISTS employees;

-- TƏDRİS SKRİPTLƏRİ ÜÇÜN VARİANT
-- employees cədvəlini və ondan asılı olan bütün obyektləri (açar, ardıcıllıq) siləcək.
-- IF EXISTS cədvəl mövcud olmadıqda xətanın qarşısını alır.
DROP TABLE IF EXISTS employees CASCADE;

-- Bundan sonra cədvəli təhlükəsiz şəkildə yenidən yaratmaq olar
CREATE TABLE employees (
    id SERIAL PRIMARY KEY,
    full_name TEXT NOT NULL
    -- ... digər sütunlar
);

Vacib! Tədris məqsədləri və tez-tez VB strukturunu yenidən yaratmaq lazım olan lokal development üçün CASCADE sizin ən yaxşı köməkçinizdir. Lakin, real, işlək verilənlər bazalarında bu əmri son dərəcə ehtiyatla istifadə etmək lazımdır, çünki bu, vacib əlaqəli məlumatların və obyektlərin qəsdən olmadan silinməsinə səbəb ola bilər.

Tapşırıqların sayt — plugin sinxronizasiyası

Tapşırıqların siyahısı və statusları avtomatik yenilənir, hər beş dəqiqədən bir və ya istənilən tapşırıq yoxlamaya göndərildikdən sonra (CodeGym serveri).

Ona görə də əgər tapşırığı saytda həll etmisənsə, plugin-də də o, həll olunmuş tapşırıqlar siyahısında olacaq. Tapşırıqların statusları barədə məlumatı indi yeniləmək istəyirsənsə, sağ yuxarıda avatarına bas və açılan menyudan Tapşırıqları sinxronizasiya et seç:

Plugin-də yeni başlayanlar üçün rejim

Bu, WebStorm və digər development mühitləri ilə az və ya heç təcrübəsi olmayan istifadəçilər üçün sadələşdirilmiş versiyadır. Burada WebStorm-un bəzi funksiyaları gizlədilib. Bu rejimi söndürmək üçün sağ yuxarıda avatarına bas və açılan menyudan Ayarlar seç:

PRO rejimində plugin-in naviqasiya panelini necə gizlətmək olar

Ayarlar (⚙️) bölməsinə gir və "Plugin-in naviqasiya panelini göstər" bəndinin yanındakı checkbox-u çıxart:

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION