Merhaba! 👋

Herhangi bir işin en zor kısmı genellikle başlamaktır. Ve başarılı görünüyorsun. Tebrikler!

Buradan başlayarak, genel olarak programlamayı ve özellikle No-Code'u (karmaşık programlama dillerini öğrenmeden programlar oluşturma yeteneği) öğrenmede uzun bir yolumuz var. Ama her şeyden önce, temel terimleri biraz anlamaya değer.

Halihazırda bir BT uzmanıysanız, bu giriş modülünü atlamaktan çekinmeyin. Burada en temel kavramlarla ilgileneceğiz. Uygulama, ön uç, veritabanı, HTTP protokolü vb.

Hazır? Hadi gidelim!


Genel teori

Programlama temelleri

Bilgisayarlar, çok akıllı görünseler de, doğaları gereği kendi başlarına hiçbir şey yapamazlar. Net talimatlara ihtiyaçları var. Hatta çok eski bir şaka bile var - "Bilgisayar sizin istediğinizi değil, yapmasını istediğiniz şeyi yapar."

Geniş anlamda " programlama " ortaya çıkıyor - bir bilgisayar için açık ve anlaşılır talimatların (komutların) oluşturulmasıdır. Ve bilgisayarın anlayabileceği bir dilde verilen talimatların kendisi de bir "program"dır.

Ve burada “bilgisayar tarafından anlaşılabilir bir dil” (bilgisayar tarafından anlaşılabilir dil) ifadesinin altını çizmeye değer. Gerçekten de biz bir dil konuşuyoruz ve bilgisayar başka bir dil konuşuyor. İnsan konuşmasını anlamaz (en azından konuşmayı anlamayı öğretecek bir program alana kadar). Tıpkı bizim gibi, özel eğitim olmadan, 1 ve 0 dizisi olarak temsil edilebilecek makine dilini (veya makine kodunu) anlamıyoruz.

 10110100 00111010

Tamamen anlaşılmaz, değil mi?

İletişimi sağlamak için programlama dilleri oluşturuldu (ve sürekli yenileri oluşturuluyor).

" Düşük seviyeli " olarak adlandırılan diller vardır. Makine kodlarına çok yakındırlar ancak komutlar bir kişinin daha anlayabileceği bir biçimde yazılmıştır. Bu tür dillerin en ünlü temsilcisi "Assembler"dır.

Bir sonraki aşama “ Üst düzey ” programlama dilleridir. Çoğu modern programlama dili onlara aittir: Java, C ++, Python, Go ve diğerleri. Programcı tarafından hız ve kullanım kolaylığı için tasarlanmıştır. Aynı zamanda, böyle bir dilde tek bir komut, makine kodunda çok karmaşık ve uzun bir komut dizisine çevrilebilir.

Ve işte yeni bir terim - “ Çevirmen ”. Bu tam olarak üst düzey bir dilde yazılmış metni bir dizi makine talimatına çeviren (veya derleyen) araçtır. Aynı zamanda, tüm bilgisayarların farklı olduğu, farklı işlemciler çalıştırdıkları ve bu işlemcilerin farklı komut setleri kullandığı konusunda endişelenmemeliyiz (veya çok daha az endişelenmemeliyiz). Çevirmen bu işi bizim için yapacak.

AppMaster platformu , Kodsuz platformlara aittir. Güvenli bir şekilde gelişimin bir sonraki aşaması olarak adlandırılabilir. Bununla birlikte, herhangi bir programlama dilini öğrenmeden, karmaşık kodlar yazmadan kurumsal düzeyde uygulamalar oluşturmak mümkün hale geldi. Bu kursta yapacağımız şey bu. Aslında net görsel bloklar kullanarak yapılması gerekenleri basitçe açıklıyoruz. Ve sonra AppMaster.io teknolojileri zaten açıktır ve kendileri büyük bir hızla kod yazarlar.

Bu arada, bu kod Go dilinde yazılmıştır (GoLang olarak da bilinir). Ve bir yandan, bu çok önemli. Sonuçta, son derece etkili programlar oluşturmak için Google tarafından özel olarak geliştirilmiş modern bir dil kullandığımızdan eminiz. Öte yandan, önemli değil. Sonuçta, orada hangi dilin kullanıldığını tamamen unutabilirsiniz (daha etkili bir çözüm bulunursa başka bir dille değiştirilebilir), sadece teknik uygulamasının karmaşıklığına değil, bir uygulama oluşturmaya odaklanın.

Devam etmeden önce, açık olalım. Yukarıdaki metinde farklı terimler kullanılmıştır - “Programlar”, “Uygulamalar”. Aynı anlama gelen eş anlamlı sözcüklerdir.

Buraya "yazılım" da eklenebilir, genellikle bu terim bir dizi programa (uygulamalara) atıfta bulunur. Örneğin, bilgisayarınızda yüklü olan yazılım. “Yazılım” kelimesi de eşanlamlı olarak kabul edilebilir.

Uygulama türleri

Ne tür uygulamalar var? Biraz düzene sokmaya ve yapılandırmaya çalışalım.

  1. Konsol
    Ayrıca metin tabanlı veya komut satırı arabirim uygulamaları olarak da adlandırılabilirler.
    Adından da anlaşılacağı gibi, bu tür uygulamaların tanıdık bir grafik arayüzü yoktur (psödografik semboller kullanılarak gerçekleştirilebilir ve hatta etkileşimli öğeler eklenebilir) ve konsola metin komutları girilerek kontrol gerçekleştirilir.
    Bu tür bir uygulamanın uzun süredir modası geçmiş gibi görünebilir. Ancak aslında, donanım kaynakları için daha düşük gereksinimler nedeniyle, bu güne olan ilgilerini kaybetmezler. Aynı zamanda, birçok endüstride, komut satırını kullanmanın basitlik ve kullanım kolaylığı açısından belirli avantajları bile vardır.

  2. Masaüstü uygulamaları
    Bilgisayarlara yüklenen ve çalıştırılan uygulamalar.
    Örneğin, Microsoft'tan ofis uygulamaları: Word, Excel, PowerPoint, vb.
    Veya İnternette siteleri açtığınız ve muhtemelen bu metni okuduğunuz bir tarayıcı.
    Bu arada, komut satırıyla çalışmak için kullanılan terminal de genellikle bir Masaüstü uygulamasıdır.

  3. Mobil
    Büyük olasılıkla bir akıllı telefonunuz var. Hangi işletim sistemini kullandığı önemli değil: Android, iOS veya daha nadir bir sistem. Her durumda akıllı telefonunuzda kullandığınız uygulamalar mobil uygulamalardır.
    Örnekler arasında tarayıcılar, anlık mesajlaşma programları, oyunlar veya sosyal ağlar için uygulamalar sayılabilir.

  4. Yerleşik (gömülü)
    Bu uygulamaları (bu durumda yazılım terimini kullanmak doğru olsa da) fark etmek daha zordur, ancak çeşitli cihaz ve ekipmanları kontrol etmek için kullanılırlar.
    Yerleşik yazılım sayesinde yazıcı baskı işlerini işler, yönlendirici interneti dağıtır ve çok çeşitli ekipmanların çalışması sağlanır.

  5. internet uygulamaları
    Tarayıcıyla etkileşime giren ve İnternet kullanarak çalışan uygulamalar.
    Şu anda en yaygın uygulama türleridir ve bu kursta bunların oluşturulmasına çok dikkat edeceğiz.

Ayrıca birçok web uygulaması türü vardır. Ana olanları adlandıralım:

  • inişler Bir form doldurabileceğiniz veya bir tür istek bırakabileceğiniz küçük bilgi sayfaları.
  • Bilgi portalları . Bunlara haber siteleri (örneğin Yahoo!) veya spor siteleri (Fifa) dahildir.
  • İnternet mağazaları . Küçük yerel mağazalardan büyük uluslararası pazarlara.
  • Sosyal ağ . Twitter, Facebook ve diğerleri.
  • oyunlar . Basit metin tabanlı oyunlardan en gelişmiş 3d oyunlara.
  • LMS (Öğrenme Yönetim Sistemi).
  • CMS (İçerik Yönetim Sistemi). Onlar sayesinde sitenin içeriğini kolayca yönetebilir, yeni makaleler ekleyebilirsiniz.
  • CRM sistemleri (Müşteri İlişkileri Yönetimi). Müşteri ilişkilerini otomatikleştirmek için sistemler.
  • Çevrimiçi hizmetler . Çeşitlilikleri ayrı bir sınıflandırmaya değer. Bunların arasında hava tahmini hizmetleri, arama hizmetleri ve bankacılık hizmetleri ve çok daha fazlası yer alır.

Peki, uygulamaları çözdük, temel sınıflandırmayı yaptık, web uygulamalarının türlerini sıraladık. Ama yine de nasıl çalışıyor?

Ve burada çok önemli terimlere geliyoruz.

Ön Uç ve Arka Uç

En basit örnek tiyatrodur. Gösteriye geliyoruz, sanatçıları sahnede görüyoruz, onları alkışlıyoruz, karşılığında yay alıyoruz. Aynı zamanda tiyatronun oditoryumla sınırlı olmadığını ve sahneyle bitmediğini de biliyoruz. Bir yerde kostümler dikilir, soyunma odasında hazırlıklar yapılır, bir yerde yönetmen talimat verir. Bütün bunları görmüyoruz, ama orada olduğunu ve tüm bunlar olmadan tiyatronun çalışamayacağını kesin olarak biliyoruz.

Hemen hemen aynı şekilde, her şey web uygulamalarında düzenlenir.

Gördüğümüz bir katman var. Bir site açtığımızda görüntülenen sayfa. Bu sayfa muhtemelen bir tür animasyona ve hatta tıklayabileceğiniz düğmelere sahiptir.

Bu görünür katmana “ Ön Uç ” denir. Kullanıcı tarafında olan her şeyi içerir. Cihazınızın ekranında görüntülenen her şey. Görebildiğin ve hatta hissedebildiğin bir şey.

Ancak aynı zamanda, her şeyin ön uçla sınırlı olmadığından emin olabiliriz. Sonuçta, son zamanlarda ön ucun kendisi bile ne ekranda ne de bilgisayarın belleğinde. Başka bir site açmaya ve adresini tarayıcıya girmeye karar verdiğimizde görünür.

Siteyi görüntülemek ve bir yanıt almak için talepte bulunuyoruz. Hangi bloklara sahip oldukları, nerede bulundukları, nasıl göründükleri, hangi yazı tiplerinin kullanıldığı. Bir düğmeye basıyoruz ve komut, bazı bilgileri hesaplamak, bir cevap vermek ve soruna bir çözüm sağlamak için sunucuya gidiyor. Bu istek ve yanıt sistemi, İstek-Yanıt, tüm Web uygulamalarının nasıl çalıştığının temel taşıdır.

İnternet üzerinden yapılan istek sunucuya, gözümüze görünmeyen tarafa, “ Arka Uç ”a gider. Aynı zamanda, isteğin kendisi de belirli bilgileri içerir, bazı parametreleri vardır. Bu bilgilere dayanarak, arka uç hangi yanıtın gönderileceğine karar verir (veya kibarca başını sallayabilir, isteğin alındığını onaylayabilir, ancak daha fazla veri iletmez).

Veri aktarım protokolünün kendisine HTTP - Köprü Metni Aktarım Protokolü denir. Bu 4 harfi tarayıcının adres çubuğunun başında görebilirsiniz. Bu, etkileşimin HTTP protokolü kullanılarak gerçekleştirileceğini bildirir. Tarafların hangi dilde iletişim kuracakları konusunda anlaştıklarını söyleyebiliriz.

Ve adının sizi aldatmasına izin vermeyin. Gerçekten de, İnternet'in şafağında, protokol yalnızca hiper metin için tasarlandı. Yani, başka bir sayfaya gitme yeteneğine sahip, bağlantı içeren metin, başka bir metin alın. Artık herhangi bir veriyi aktarmanıza izin veriyor: Tik-Tok'tan komik resimler, şarkılar, dans videoları.

Kursun sonraki modüllerinde, istek ve yanıtların yapısını ayrıntılı olarak ele alacağız. Yanıtları olan istekler ve bunların işlenmesi için mantık oluşturacağız. Bu aşamada, verileri ön uçtan arka uca aktarma ilkesini anlamak yeterlidir ve bunun tersi de geçerlidir.

Bu arada, verilerin kendisi sihirle görünmüyor. Ön uçtaki isteklerin görünümünü anlamak kolaydır - bunları kendiniz girersiniz. Ancak size bilgi aktarmak için, bir şekilde depolanmasını ve işlenmesini organize etmeniz gerekir.

Bu amaçla “ Veritabanları ” (DB) çalışır. Verileri yapılandırılmış bir biçimde depolarlar. Ve bu verileri yöneten sistemler var - DBMS (Veritabanı Yönetim Sistemi). Veritabanına yeni veriler yazmanıza, oradan veri almanıza, değiştirmenize, silmenize izin verir (Bütün bunlar birlikte CRUD - Oluştur, Oku, Güncelle, Sil) kısaltması ile gösterilir. Tüm bunları ilerideki modüllerde de detaylı olarak inceleyeceğiz. Genel olarak veritabanlarının ne olduğunu, çalışmalarının nasıl organize edildiğini ve AppMaster'da yönetmenin ne kadar kolay olduğunu anlayalım.

Pratikte denemeye ne dersiniz? İlkini yapmanın zamanı geldi...


Ev ödevi

Komut satırıyla çalışmak için terminali etkinleştirmeniz gerekir. Windows'ta istenen uygulamaya MacOS - Terminal'de CMD adı verilir.

Kıvrılma konsolu uygulamasını kullanın (bilgisayarınızda yüklü değilse - düzeltin). Belirli bir hizmete istek göndermek ve oradan yanıt almak için özel olarak tasarlanmıştır.

Örnek olarak, BoredAPI hizmetine bir HTTP isteği gönderin. Bu, tüm durumlar için bir etkinlik alabilen bir hizmettir.

Bunu yapmak için terminalde aşağıdaki komutu girin:

 curl "http://www.boredapi.com/api/activity?type=diy"

Lütfen adresin şartlı olarak iki bölüme ayrılabileceğini unutmayın - soru işaretinden önce ve sonra.

İlk kısım istek adresinin kendisidir. Bu örnekte - “http://www.boredapi.com/api/activity”

İkinci kısım istek parametreleridir. Örnekte - "type=diy". Yani sorgu parametresi “diy” değeriyle “type” dır. Böylece kendi başınıza yapabileceğiniz (kendin yap - Kendin Yap) bir aktivite almak istediğimizi belirttik.

Bakın ne yanıt alındı. İçinde ihtiyacınız olan bilgiyi bulun. Daha sonraki modüllerde yanıtın ne şekilde geldiğini, nelerden oluştuğunu detaylı olarak analiz edeceğiz. Bu aşamada, mantıksal olarak işlenmeden ve ön uçta güzel bir şekilde görüntülenmeden önce, arka uçtan gelen isteğe verilen yanıtın tam olarak böyle göründüğünü anlamak yeterlidir.

Hizmetin belgelerine bakın (http://www.boredapi.com/documentation) ve kendiniz farklı parametrelerle daha karmaşık bir talepte bulunun. Örneğin, 5'ten fazla ancak 10'dan az çalışanı olan bir şirket için hangi faaliyetin uygun olduğunu öğrenin.

Malzemeyi birleştirmek için daha karmaşık bir hizmette uzmanlaşmaya çalışın. Örneğin - https://www.alphavantage.co/

Belgeleri okuyun, veritabanından döviz kurunu veya hisse senedi fiyatlarını alın.

Kullanmadan önce kayıt olmanız ve kişisel bir erişim anahtarı almanız gerekir.