Skip to content

Instantly share code, notes, and snippets.

@cemremengu
Last active May 2, 2024 11:29
Show Gist options
  • Save cemremengu/98564fb7a90a020e50a24207bd8481d4 to your computer and use it in GitHub Desktop.
Save cemremengu/98564fb7a90a020e50a24207bd8481d4 to your computer and use it in GitHub Desktop.
internship-syllabus.md
  1. Kurulumlar:

  2. Programlama Görevi:

    2000 ile 3200 arasında 7'ye bölünebilen ancak 5'in katı olmayan sayıları bulan bir program yazın.

  3. Faktöriyel Hesaplama:

    a. Bir sayının faktöriyelini for döngüsü kullanarak hesaplayan bir program yazın. Sonuçları tek satırda, virgüllerle ayrılmış şekilde yazdırın.

    b. Ayni programı recursive olarak yazın.

  4. Parola Kontrol Programı:

    Kullanıcıdan alınan parola için aşağıdaki şartları sağlayan bir program yazın:

    • En az bir büyük harf içermeli.
    • En az bir rakam içermeli.
    • Bir noktalama işareti veya matematiksel sembol içermeli.
    • "parola" kelimesi içermemeli.
    • Uzunluğu 7 karakterden fazla, 31 karakterden az olmalı.
  5. Regex ile Parola Kontrolü:

    Yukarıdaki parola kontrolünü regex kullanarak yapın. https://regex101.com/ adresinden test edebilirsiniz.

  6. Regex ile İsim Kontrolü:

    İsim, göbek adı (opsiyonel), ve soyisimden oluşan bir kontrol programı yazın. İsimlerin ilk harfi büyük, soyisimler büyük harfle yazılmalıdır.

    Geçerli isimler:

    • Cemre MENGU
    • Sude Sevval CILOGLU

    Geçersiz isimler:

    • Cemre Mengu
    • Sude Sevval Ciloglu
    • cemre mengu
    • sude
    • Sude
    • cemre MENGU
  7. Tire Ekleme Programı:

    Verilen string içindeki her iki tek sayı arasına tire ekleyen bir program yazın. Örneğin parametre 454793 ise çıktı 4547-9-3 olmalıdır.

  8. Flask ile API Geliştirme:

    Flask kütüphanesini kullanarak bir API oluşturun. Postman ve Browser ile sonuçları görüntüleyin. https://flask.palletsprojects.com/en/3.0.x/quickstart/#a-minimal-application

  9. SQLite Veritabanı Oluşturma:

    Python dokümantasyonundaki örnekleri takip ederek bir SQLite veritabanı oluşturun. https://docs.python.org/3/library/sqlite3.html

  10. GET İsteği ile Veri Çekme:

    Flask kullanarak GET / yolu ile veritabanından year ve title sütunlarını SQL kullanarak çekin ve JSON formatında döndürün. Sonuçlar year kolonuna göre artan şekilde sıralı olmalıdır.

  11. Sorguya Yıl Ekleme:

    Yılı query parameter olarak alıp o yıla ait filmleri döndüren bir endpoint oluşturun.

    Endpoint bu şekilde olacak: /movies?year=1983

  12. POST İsteği ile Film Ekleme:

    Bir film kaydı oluşturmak için POST isteği kullanın. POST request body içerisinde bu formatta bir json gönderilecek:

    {
      "year": 2023,
      "title": "Barbie"
    }
  13. DELETE İsteği ile Film Silme:

    Verilen yıldaki tüm filmleri silen bir DELETE isteği yapın.

  14. Path Param ile Film Silme:

    Query param yerine path param kullanarak film silme işlemi yapın.

  15. Arama Endpointi:

    "title" query param alarak film arayan bir endpoint oluşturun.

  16. React Projesi Oluşturma:

    Vite ve Antd ile React uygulaması oluşturun ve projeyi Visual Studio Code içinde açıp çalıştırın. Sonrasında DatePicker bileşenini ekleyin.

    https://ant.design/docs/react/use-with-vite/

    https://ant.design/docs/react/introduce

  17. Axios Kütüphanesi ile Veri Listeleme:

    Axios kütüphanesini yükleyin ve REST API kullanarak filmleri listeyin.

  18. Veri Yükleme Butonu:

    Tablo başlangıçta boş gelmeli, kullanıcı butona bastığında veriler yüklenmeli.

  19. Arama İşlevi:

    Kullanıcı input ve /search endpoint'ini kullanarak tabloda filmleri filtreleyin. GET request ile yapılacak. Örnek endpoint /search?title=test

    Query param icerisinde verilen değer title kolonu içerisinde artılacak (like ile).

    https://ant.design/components/input#components-input-demo-search-input

  20. Film Ekleme Formu:

    "Ekle" butonuna basıldığında modal içinde form açılmalı ve yeni film bilgileri girildikten sonra kaydedilmeli. POST isteği ile yapılacaktır.

  21. Film Güncelleme Formu:

    "Güncelle" butonuna basıldığında modal içinde form açılmalı ve film bilgileri güncellenebilmelidir. PUT isteği ile yapılacaktır.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment