Proje Yöneticileri, İş Analistleri, Proje Sahipleri, Genç Geliştiriciler ve Teknik Olmayan Kişiler için Geliştirme Sözlüğü
Vlad Vasile Moisuc, Yazılım Mühendisi, Cognizant Softvision
Teknik olmayan bir kişi olmak veya programlama alanında yeni olmak, yeni bir projeye yeni başladığınızda ve hızla hızlanmanız gerektiğinde zor olabilir.
Bunun gibi sorular akla gelebilir:
- Neyi çekme isteği?
- Başarısız boru hattı mı? Sızıntılarınız mı var?
- Taahhüdünü zorladın mı? Sprint taahhüdümüzü diğer insanlara zaten anlattım…
Karşılaşabileceğiniz birçok yeni terim var ve bunların ne anlama geldiğini bilmek günlük etkileşimlerinizde size yardımcı olabilir. Aşağıdaki örnekler web uygulamasıyla ilgili durumlar için geçerlidir, ancak tanımlar genel olarak geçerlidir.
Bu anahtar terimleri anlamak, örneğin bir şeyin tamamlanmasının neden uzun sürdüğünü, birinin neden bir sorunu olduğunu ve sürecin hangi bölümünde bir sorunla karşılaşıldığını anlamanıza yardımcı olabilir.
1. Otomasyon Testleri
2. Yapı
3. Yapı Numarası
4. Kod Kes
5. Kod Dondur
6. Kod Deposu
7. Kod Gözden Geçirme
8. Kodu Geri Döndür
9. Taahhüt
10. Dağıtım
11. Ortam
12. Özellik Dal
13. Özellik Dal Testi
14 İşlem Hattı
15. Çekme Talebi / PR
16. Kodu
İletme 17. Yeniden Düzenleme
18. Birim Testleri
19. VM / Sanal Makine
1. Otomasyon Testleri
Bunlar küçük robotlar gibidir. Ekibiniz web geliştirme yapıyorsa, otomasyon testleri temel olarak web sitesinin otomatik olarak test edilmesini sağlamak için yazılmış kodlardır.
Test alanında çalışan kişiler (QA mühendisleri, SDET'ler) bir tarayıcı açabilen ve oturum açma, bir düğmeye tıklama, kaydırma vb. gibi gerçek bir kullanıcının yapabileceği tüm eylemleri yapabilen yazılım parçaları yazıyorlar. Programlama kullanıyorlar. Bu otomasyon testlerini yazmak için diller.
Uygulamanın iyi çalışıp çalışmadığını test etmek için her gece otomasyon testleri yapılabilir. Ayrıca, bir geliştirici uygulamaya yeni bir kod eklemek istediğinde çalıştırılabilirler, böylece herkes bu kod bir şeyin bozulmasına neden oluyorsa, mümkün olduğunca çabuk bilgilendirileceğini bilerek iyi uyuyabilir.
2. Yapı
Derleme, temelde geliştiriciler tarafından yazılan tüm kodların daha hızlı çalışmasını sağlayacak şekilde paketlendiği bir pakettir.
Örneğin, geliştiriciler normalde kodlarında beyaz boşluklar kullanırlar ve daha kolay anlaşılması için kodlarını böldükleri düzinelerce klasör ve dosyaya sahiptirler. Kodun bir web sitesi olarak çalıştırılması gerektiğinde, tüm bu boşluklar veya bu dosya ilahileştirme gerekli değildir.
Boşlukların kaldırılacağı bilerek yapılar oluşturulur. Kod, sıkıştırılan yalnızca birkaç dosyada birbirine yapıştırılır, böylece daha küçük dosya ağırlığına sahip olurlar.
3. Yapı Numarası
Kod birleştirildiğinde, bazı işlem hatları çalıştırılır ve yeni bir yapı oluşturulur. Bu yapı kendisine atanmış bir numaraya sahip olacak. Sırada beklerken aldığınız bir bilet gibi. Sayı, diğer kişilerin (genellikle DevOps'tan), hangi kodun daha yüksek ortamlara veya doğrudan üretime tanıtılacağını bilmelerine yardımcı olur.
Bu sürüm numaraları genellikle DevOps ekibine hangi yapı numaralarının daha yüksek ortamlara dağıtılması gerektiğini bildirmek için kullanılan Sürüm Notları belgesinde sunulur.
4. Kod Kesme
Bir test ortamında bulunan kod, üretim gibi daha yüksek bir ortama manuel olarak taşınacağı zaman bir kod kesme gerçekleşir.
5. Kod Dondurma
Kod dondurma, onaylanmış olarak işaretlenmiş çekme istekleri olsa bile, başka hiçbir kod birleştirmeye izin verilmediği andır. Bu, herhangi bir müdahaleye gerek kalmadan kod kesme işleminin alınabilmesi için kurulur ve duyurulur.
6. Kod Deposu
Bir kod deposu, bir proje üzerinde çalışan herhangi bir geliştiricinin onu indirip çalışmaya başlayabilmesi için kodun tutulacağı internette depolanan (Google Drive gibi bir şey) bir klasör gibidir.
Bu depodaki kod birleştirilebilir veya birleştirilemez. “Proje” adında bir klasöre sahip olmayı düşünün. Bu klasörde “Birleştirilmiş Kod” ve “Birleştirilmemiş - Yalnızca Depolanmış” olmak üzere iki alt klasör olabilir.
"Birleştirilmedi - Yalnızca Depolandı": Birleştirilmediyse, kodun yalnızca çevrimiçi olarak depolandığı ve geliştiricilerin onu görebileceği, ancak yeni bir özellik üzerinde çalışmaya başlamak için indirmeleri gerekmediği anlamına gelir.
Birleştirilmiş kod, her geliştiricinin yeni kod yazmak için başlangıç noktası olarak yerel makinesinde olması gereken koddur. Ayrıca, bu birleştirilmiş kod, QA ekibinin test edebilmesi için hazırlama/test sitesinde bulunabilir.
7. Kod İnceleme
Bu, her geliştiricinin kabusu. Bir geliştirici, birim testleriyle birlikte kodunu yazmayı bitirdiğinde, doğru, iyi yazılmış, hatasız olup olmadığını görmek için başka bir geliştiriciye (genellikle bir ekip lideri veya baş mühendis) kodlarına bakması gerekir. , ve benzeri.
Her şey yolundaysa, kod onaylanabilir, ancak herhangi bir değişiklik teklif edilirse, kodu ilk yazan geliştiricinin bazı değişiklikler yapması gerekir. Değişiklikleri yapmayı bitirdiklerinde, bu kodu yeniden test etmeleri ve ardından başka bir kod incelemesi istemeleri gerekir.
Bu inceleme, çekme talebinin bir parçası olarak yapılır ("PR" olarak kısaltılır).
8. Kod Geri Döndürme
Kodu geri almak, arkadaşınıza verdiğiniz bir şeyi geri almak gibidir. Bir projenin tüm kodu bir kod deposunda tutulur ve ne zaman yeni bir özellik sunulsa, o kod deposunun kodu dosyalarında bulunur. Bir geliştirici düzgün çalışmayan bir kod tanıttıysa, kodu o kod deposundan kaldırması gerekecektir.
Bu işlem tam olarak bazı dosyaların gidip silinmesi gibi değildir. Geliştirici muhtemelen birden çok yerden kodu kaldırmalıdır ve yalnızca gerekli olanı kaldırdığından ve bir şeyleri silmeyi bitirdiğinde uygulamanın eskisi gibi çalıştığından emin olmalıdır.
9. Taahhüt
“Bir taahhütte bulundum” veya “Taahhütlerimi zorladım” - bu ifadeleri oldukça sık duymanız muhtemeldir.
Taahhüt, kodun yalnızca bir sürümüdür. Birden çok kez kaydettiğiniz bir kelime belgesi üzerinde çalışmayı düşünün:
Belge Sürümü 1–12 Nisan.docx
Belge Sürümü 2–13 Nisan.docx
Belge V3–14 Nisan.docx
Belge Final.docx
Belge Finali Final.docx
Bu aynı belgedir, sadece yürütmenin farklı aşamalarındadır. Geliştiriciler kod yazarken benzer bir şey yaparlar, ancak bunun için özel bir araç kullanırlar ve bu sürümlere “taahhüt” denir. Bu taahhütleri zorlamak, “Kodumu o kod deposuna yükledim” demek gibidir, ancak henüz birleştirilmemiştir.
10. Dağıtım
Dağıtım, kodun canlı bir web sitesine dönüştürülmesi işlemidir. Derleme koddan oluşturulduktan sonra, etkileşimli bir web sitesi olarak erişilebilmesi için konuşlandırılmalıdır (bir sunucuya aktarılır). Bu dağıtım adımı olmasaydı, bilgisayarınızda çalıştırılabilecek bir sürü kodunuz olurdu, ancak başka kimse bunlara erişemezdi.
11. Çevre
Geliştiriciler kod yazarken, başlangıçta bu kodu "yerel olarak" test ederler; bu, web sitesini yalnızca bilgisayarlarında çalıştırdıklarını söylemenin bir yoludur. Kodda ne tür değişiklikler yaparlarsa yapsınlar, bu değişikliği yalnızca bilgisayarlarında görebilirler.
Buna yerel ortam denir. Bu nedenle bir ortam, kodun çalıştırıldığı yerdir.
Önce yerel ortamımız var ve Dev ortamı, KG ortamı veya Hazırlama ortamı adı verilen bir şeye sahip olabiliriz. Ekibinizle birlikte üzerinde çalıştığınız projenin yapısına göre bu isimler farklı olabilir ve iki veya daha fazla ortamınız olabilir.
Bir Geliştirme/QA/Staging ortamı, canlı web sitesine çok benzer, ancak aslında öyle değil. Kullanıcılar bu web sitesini asla kullanmayacaklar. Test amaçlıdır, böylece geliştiricilerin yaptığı herhangi bir değişiklik, bu özellikleri kullanıcıların görebileceği üretimde almadan önce tamamen test edilebilir.
Aşağıdakiler gibi birden çok ortama sahip projeler vardır:
12. Özellik Dalı
Bir özellik dalı, yeni bir pencere koymak gibidir. Pencereyi değiştirmek için, o pencereyi oluşturmanız gerekir, bu nedenle doğru boyutta olduğundan emin olmak için önce bazı ölçümler yapmanız gerekir. O zaman onu duvara yerleştirmeniz ve iyi kapanıp açılmadığını test etmeniz gerekir.
Pencerede her şey yolundaysa, plastik sargıyı indirirsin ve sonra arkadaşlarına hava atabilirsin.
Normalde, bir özellik dalı bu pencere gibidir. Genellikle, geliştiriciler uygulamanın kodunu yerel makinelerinde alırlar (bu, pencere için ölçüm almakla hemen hemen aynıdır) ve belirli bir özellik (pencereyi oluşturma) üzerinde çalışmaya başlarlar. Sadece makinelerinde değişiklik yaptıkları için, yapacakları hiçbir şey başkalarının veya üretim web sitesinin çalışmasını etkilemeyecektir.
Özellik kodlanıp test edildikten sonra test ortamlarına (pencereyi duvara yerleştirip test etme) ve ardından üretime (plastik sargıyı çıkarma ve arkadaşlara hava atma) girer.
13. Özellik Dal Testi
Testin bu aşaması, uygulama testi konusunda uzmanlaşmış bir kişinin (QA mühendisi, SDET) bu özelliği bilgisayarına kopyalayıp yeni özelliğin istendiği gibi çalıştığını test etmesidir.
Bu, canlı bir web sitesinde test yapmaktan veya bir Hazırlama/KG ortamında test etmekten farklıdır çünkü test eden kişi doğrudan www.google.com gibi bir adrese gidip web sitesini kontrol edemez . Bu kişinin, projenin kendi bilgisayarında çalıştırılabilmesi için bazı başlangıç kurulumları yapması gerekir.
14. Boru hattı
Otomasyon testlerine benzer şekilde, boru hatları, bir geliştirici tarafından tanıtılan (birleştirilen) kodu kontrol eden küçük robotlar gibidir. Bir geliştirici, kodunu birleştirme onayını aldığında, aslında kodu birleştirir ve bu robotlar oynamaya başlar. Kodun geçerli olduğunu ve güvenlik açığı olmadığını, kodda hata olmadığını, bu kod tanıtılırsa uygulamanın bozulmayacağını vb. kontrol ederler.
Bu işlem hatları sorunsuz çalışabilir ve başarılı olmaları durumunda kod daha yüksek bir ortama (örneğin QA/Staging'e) yükseltilir. Bozulurlarsa (ve sık sık bozulabilirlerse), işlem hattının yeniden başlatılması veya Dev, DevOps veya SDET'lerin neden başarısız olduğunu kontrol etmesi gerekir.
Bir boru hattının tamamlanması birkaç dakikadan bir saatten fazlaya kadar sürebilir.
15. Çekme Talebi (PR)
Çekme talebi, ödevinizi öğretmeninize incelemesi için verdiğiniz ana benzer. Öğretmen daha sonra o kağıt için size bir not verir.
Buradaki fark, makalenin yalnızca geliştirici kodu değişiklikleri olması ve öğretmenin (bu durumda, bir ekip lideri, baş mühendis, kıdemli geliştirici veya kod inceleme haklarına sahip herhangi bir geliştirici) size ne olduğunu söyleyecek olmasıdır. yanlış yaptın ya da neyi geliştirebilirsin.
Değişiklikleri yaptığınızda, gözden geçiren kişi kodunuzu tekrar kontrol eder. Hepsi tamamlandıktan sonra kodunuzu birleştirebilirsiniz.
16. Kodu Basmak
Bu, kodu bir yerden başka bir yere aktarma işlemidir. Bir geliştiricinin yerel makinesinden internete (kod deposunda) taşınabilir veya kod bir ortamdan diğerine aktarılabilir.
17. Yeniden düzenleme
Kodun yeniden düzenlenmesi, kodun yeniden yazılacağı, ancak işlevselliğin yerinde tutulacağı süreçtir. Farklı kelimeler kullanarak bir cümleyi yeniden yazmak, ancak aynı fikri korumak gibi. Kelimeler farklı olsa da okuyucuya aynı mesajı veriyorsunuz.
18. Birim Testleri
Birim testleri, kodu test etmek için yazılmış kod parçalarıdır. Örneğin, bir geliştirici iki sayı ekleyen bir kod parçası yazabilir.
Bu kod için genellikle, ekleme işlevinin gerçekten sayıları doğru şekilde eklediğini onaylayacak başka bir kod parçası yazmaları gerekir.
Birim testleri, bir programın doğru çalışacağından emin olmak için yazılır. Bu birim testleri ile bir geliştirici, web sitesini tarayıcıda açmadan bile kodunun iyi çalıştığını bilir. Bu ayrıca, bir geliştirici koda daha sonra gelir ve yanlışlıkla bir şeyi değiştirirse (örneğin, eklemeyi bir çıkarma olarak değiştirebilir), bunun yanlış olduğu birim testleri tarafından kendisine bildirilmesini sağlar.
19. Sanal Makine (VM)
Sanal makine bir bilgisayar gibidir, ancak fiziksel bir formu yoktur. Örneğin, bilgisayarınızda bir işletim sisteminiz var (ör: Windows) ve bunun üzerine farklı programlarınız var.
Bilgisayarınızda, kimsenin mülkiyetinde olmayan başka bir bilgisayara erişmenizi sağlayan bir yazılım bulunabilir. Bu “bilgisayar” sadece bir programdır. Böylece, örneğin üzerinde Catalina OS bulunan bir Macbook olan cihazınızdan, işletim sistemi olarak Windows olan başka bir bilgisayara erişebilirsiniz.
Bu anahtar terimlerin anlamlarını tazelemeye ihtiyaç duyduğunuzda bu makaleye bakın.
Web sitemizde mühendislik ve tasarım uzmanlarımızdan daha fazla bilgi edinin !
Kod incelemesinin (CR) basit amacı, incelemeden sonra kodun daha iyi durumda olmasını sağlamaktır. Verimli CR'ler aracılığıyla, kodu üretime dağıtma sürecini engellemeden olası sorunları yakalamak istiyoruz.
Merhaba! Birkaç hafta önce, RxSwift'in sürüm 6'dan beri sağladığı önceden derlenmiş XCFrameworks'ü CocoaPod'lar aracılığıyla entegre etmeye çalıştım. Ancak CocoaPod'ları kullanarak bunu yapmak benim için sürpriz oldu.
Yakın zamanda, erişilebilirliklerinin ne kadar kötü olduğu konusunda beni gerçekten şaşırtan aşağıdaki siteyi ziyaret ettim. Sitede gezinmek benim için bile zor ve bunu daha da zorlaştıracak herhangi bir engelim yok.
"İnsanların farklı alanlar arasında kurdukları hayali sınırları aşmayı seviyorum - çok ferahlatıcı." ~ Maryam Mirzakhani (kaynak) Maryam Mirzakhani (1977–2017), Stanford Üniversitesi'nde çalışan İranlı bir matematikçiydi.
Daha fazlasını başarmak, daha fazlasını elde etmek ve daha fazlasını üretmek için hayatın çok hassas olan bazı alanlarından kısıyoruz. Girişimci, ekip lideri veya CEO olarak bu yemi yutmaktan kaçınmanız gerekir.
Bin Beyin, Jeff Hawkins'in büyüleyici bir kitabıdır. Beyin teorisini, özellikle neokorteksin nasıl çalıştığını özetliyor, i.
Kristen Stewart bir keresinde 'Pamuk Prenses' rol arkadaşı Chris Hemsworth'a sert bir yumruk attı ve bu, oyuncunun geleceğini görmediği bir saldırıydı.
GQ Magazine ile yaptığı bir röportajda BTS'den Jin, BTS ve Coldplay'in şarkısı 'My Universe'nin bir bölümünün 'son bölümü yapmadığını' açıkladı.
Bir röportaj sırasında Kane Brown, Elvis Presley'in "Hound Dog" ve "Blue Christmas" şarkılarının defalarca şarkılarını nasıl etkilediğini tartıştı.
'Çığlık', bazı yeni yönler veren kanlı bir dönüş sağlar, ancak Ghostface'in en yeni öldürme çılgınlığı olması gerektiği kadar derin kesmez.
Her hafta güncellenen mini bulmacamız, en sevdiğimiz HowStuffWorks okumalarımızı zeki ipuçlarıyla birleştiriyor!
Doğru deterjanı seçme konusunda endişelenmenize gerek kalmadan çamaşır yıkamak yeterince kötü. Peki en iyisi hangisi? Yoksa önemli mi?
Kentucky kırsalındaki Fugates ve Combs aileleri, genetik piyangoyu kaybettiler ve her ikisi de, evlenirken tenlerinin mavi görünmesine neden olan nadir bir çekinik özelliği paylaştılar. Bunun nedeni neydi? Ve ailelere ne oldu?
İki babasız erkek civciv, California akbabasını yok olmaktan kurtarmak için bir programda yetiştiriliyor. Böyle 'bakire' doğumlar nasıl mümkün olabilir?
Vanderpump Rules yıldızı Katie Maloney-Schwartz, Perşembe günü Instagram'da yaptığı dürüst ve içten bir gönderiyle kendini sevme yolculuğunda kaydettiği ilerlemeyi anlattı.
Jessica Alba, kendisini ve çocuklarını Dolly ve Lucy adlı iki köpekle sarılıp oynarken gösteren keyifli bir videoyu Instagram hesabından paylaştı.
Geçen hafta sonu bir Porto Riko tatili sırasında nişanlanan Megan Fox ve Makineli Tüfek Kelly'den bir kaynak, "İlk görüşte aşk durumuydu" diyor.
Polise göre Devonne Marsh'ın kimliği belirlenemeyen kız arkadaşını çakmak gazıyla kaplayarak alevleri tutuşturduğu iddia edildi.