Teknoloji Pazarlama, Bloglarınızdan ve Gadget'larınızdan Para Kazanın

DreamHost Röportajları Kıdemli Yazılım Mühendisi, …

DreamHost Röportajları Kıdemli Yazılım Mühendisi, ...

Ta Lafayette, Los Angeles'tan Matthew Turland'la konuşuyoruz. Matthew, yazılım geliştirme sektöründe 20 yılı aşkın deneyime sahip profesyonel bir yazılım geliştiricisi, yazarı ve konuşmacısıdır. Matthew ayrıca açık kaynak geliştirme topluluklarında yer almaktadır ve PHP ve GitHub topluluğunda iyi bilinen bir kişidir.

Shahzeb: Merhaba Matthew, bu röportaja zaman ayırdığınız için teşekkür ederiz. Başlamadan önce okuyucularımıza biraz kendinizden bahsetmeye ne dersiniz?

Matthew: Lafayette, Louisiana'da doğdum ve şu anda ikamet ediyorum. Yakın zamana kadar birkaç yıldır New Orleans'ta yaşıyordum ancak yakın zamanda evimi Ida Kasırgası'na kaptırdıktan sonra Lafayette'e geri döndüm. Lisans derecemi Bilgisayar Bilimleri alanında Lafayette'deki Louisiana Üniversitesi'nden yaklaşık 15 yıl önce aldım.

2000 yılında liseden mezun olduktan kısa bir süre sonra çalışmaya başladım. İlk işim bir mühendislik şirketindeydi ve esas olarak Visual Basic for Applications (VBA) kullanarak Excel elektronik tabloları ve Access veritabanları ile ilgilendim.

Oradan, haber yayınları için özel bir içerik yönetim sistemi geliştiren bir medya holdinginde işe başladım. Bunlar bir Microsoft mağazasıydı: Windows 2000 Server, SQL Server 2000, IIS ve VBScript'te klasik ASP. Bu, .NET'in ortaya çıkmasından önceydi.

Bundan sonra olanlar aslında bir sonraki sorunuzla güzel bir şekilde örtüşüyor…

Shahzeb: Peki PHP kariyerinize ne zaman ve nasıl başladınız? Yolculuğunuzla ilgili paylaşmak istediğiniz ilginç hikayeler var mı? Başlangıçta karşılaştığınız zorluklar nelerdi ve bunları nasıl aştınız?

Matthew: Üçüncü işim bir PHP mağazasındaydı. O zamanlar üniversite öğrencisiydim ve biraz C/C++ bilgim vardı, dolayısıyla PHP'nin sözdizimi bana tamamen yabancı değildi ve nispeten hızlı bir şekilde öğrenebildim. O zamanlar işverenimin PHP 3'lü bir sunucuda çalışan bazı eski uygulamaları vardı ve bu uygulamaların yeni uygulamaları PHP 4.0.3'ü çalıştıran bir sunucuda çalışıyordu.

O dönemde kod hakkında duymuş olabileceğiniz her şey muhtemelen doğrudur. Bu, günümüz PHP gelişiminin temel dayanaklarının çoğunun ortaya çıkmasından önceydi: otomatik yükleme, tür ipuçları, ad alanları, Bestecivb. Kod, require ifadeleriyle doluydu ve büyük ölçüde prosedürle ilgiliydi; aşağıdaki gibi bir siteden manuel olarak kopyalamayı gerektirmeyen çok az kod paylaşımı vardı. phpclasses.org ve bunu kendi projenize yapıştırmak.

Bunlar büyük ölçüde dilin ve o zamanın ekosisteminin sınırlamalarıydı. Çekirdek ekip bugüne göre oldukça dar görüşlüydü ve karma sistemiyle çalışıyordu. RFC süreci henüz mevcut değildi ve dil çekirdeğinin geliştirilmesindeki ilerleme genellikle çok yavaştı.

Sanırım ben de dahil olmak üzere çoğu insanın o dönemde gerçekten yapabildiği en iyi şey topluluğa aktif olarak dahil olmak, topluluktaki diğer kişilerle iletişim kurmak, ilişkiler kurmak ve o dönemin sorunlarına dikkat çekmekti. sonunda değişecekti. Hiçbir şey olmasa bile, bu deneyimlerin bize bugünkü durumu değerlendirmemizi sağlayacak bir statüko sağladığını düşünüyorum ve o zamandan bu yana hem dil hem de ekosistemin çok yol kat ettiğini düşünüyorum.

Shahzeb: Mathew, kitabı da sen yazdın PHP ile Web Kazıma. Bize bu kitaptan biraz bahseder misiniz? Bu kitabı kimler okumalı ve geliştiricilerin gelişmesine ve daha verimli olmasına nasıl yardımcı oluyor?

Okumak:  Girişimcilik Jargonunun Gizemini Çözmek: Yeni Başlayanlar İçin Bir Kılavuz

Matthew: Geriye dönüp baktığımızda kitabın başlığının biraz yanıltıcı olabileceğini söyleyebiliriz.

Bu kitabı yazmamda beni etkileyen deneyimler PHP ile ilk işime dayanıyor. Orada, özel bir kullanıcı arayüzünden, topladıkları verilerde bazı örtüşmelere sahip iki farklı veri üçüncü taraf sistemine veri alma sürecini otomatikleştirmeyi içeren bir proje üzerinde çalıştım. Bu sistemlerin hiçbirinin bir API'si yoktu (bellek konusunda, o zamanlar şu anki kadar yaygın değillerdi), bu nedenle projenin hedeflerine ulaşmak için web kazıma gibi alternatif yöntemlere başvurmak zorunda kaldık.

Bununla birlikte, HTTP, web tarayıcılarının ve sunucularının nasıl çalıştığı ve birbirleriyle nasıl etkileşime girdiği, işaretlemeden veri çıkarmanın nasıl yapılacağı veya web uygulamalarını içeren görevlerin otomatikleştirilmesi (örn. sistem testi) hakkında daha fazla bilgi edinmek isteyen herkes okumalıdır. bu kitap.

PHP ile ilk çalışmaya başladığımda bunun farkında değildim, ancak tüm zaman boyunca farkında olmadan HTTP kullanıyordum. PHP geliştirmeye başladığımda keşke sahip olsaydım dediğim ve bu dille yapabileceğiniz gerçekten güzel şeylerden bazılarını gösteren bir kitap yazmak için elimden geleni yaptım.

Shahzeb: Ne tür araştırmalar yapıyorsunuz ve kitap yazmaya başlamadan önce araştırmaya ne kadar vakit ayırıyorsunuz?

Matthew: Yazmaya başlamadan önce yaptığım araştırma oldukça üstünkörüydü: pazar analizi, kitap için bir asansör (veya “arka kapak”) sunumu, ele alacağım ana konuların ana hatlarını çizen bir içindekiler tablosu vb.

Kitabın asıl içeriğiyle ilgili araştırmaların çoğu kitap yazılırken yapıldı. Bunların çoğu, zamanın çeşitli HTTP istemci kitaplıklarına ve XML uzantılarına bakmayı, bunların nasıl çalıştıklarını bulmayı ve bunların nasıl kullanılacağını gösterecek örnekler bulmayı içeriyordu. Bunu yapma sürecinde, hatalı davranışlar bulduğum için hataları bildirdiğim birkaç durum bile oldu.

Altı ya da yedi ay boyunca araştırma, yazma ve editörlük arasında gidip geldim. Kitabın ilk baskısını yazmak çok zaman alıyordu; Temel olarak, bu dönemde her boş akşam ve hafta sonu buna ayrılmıştı.

Shahzeb: PHP'yi yeni kullanmaya başlayanlar için bazı ipuçlarını ve püf noktalarını paylaşmak ister misiniz?

Matthew: Dile adil bir şekilde sallayın. PHP hakkında 5-10 yıl öncesinden duyduğunuz her şey büyük olasılıkla artık modası geçmiş durumda.

Gibi kaynaklara bakın PHP Doğru Yol, php[architect] Dergi, Brent Roose'un bloguveya Josh Lockhart'ın kitabı Çağdaş PHP günümüz ekosistemi ve en iyi uygulamalar hakkında daha fazla bilgi edinmek için.

PHP Çerçeve Birlikte Çalışabilirlik Grubu'nun (FIG) öncülüğünü yaptığı standartlar hakkında bilgi edinin. Bu sizi bir dizi modern PHP çerçevesinde geçerli olan birçok yararlı bilgiyle donatacaktır.

Dışarı çıkın ve toplumdaki tüm harika insanlarla tanışın, bence bu onun en değerli teklifidir. PHP kullanıcı gruplarına veya konferanslarına gidin. Slack, Discord, Stack Overflow veya IRC'de katılabileceğiniz alt toplulukları arayın. Tutkulu olduğunuz projeleri bulun ve onlara katkıda bulunun. Bunlar öğrenmenin en iyi yollarıdır.

Shahzeb: Görünüşe göre dünya çapındaki PHP konferanslarında konuşmaktan hoşlanıyorsunuz. Bu yıl konuşacağınız konuyla ilgili bir fikriniz var mı? Ve nerede?

Matthew: Yeni konuşmalar için sunacağım birkaç fikrim var; Tatil sırasında muhtemelen onlar için resmi özetler yazmaya biraz zaman ayıracağım.

Okumak:  "Oyuncuların gelip etkileşimde bulunduğu bir deneyim bölgesi" - Dell Kıdemli Müdürü ve Genel Müdürü Atul Mehta, yeni Alienware mağazası hakkında (özel)

Biri SQL ve onun küme teorisiyle olan ilişkilerini ele alıyor. İkincisi, yararlı olduğunu düşündüğüm bir konudur, ancak bunun konferanslarda pek ele alındığını görmüyorum; Bunu üniversitede öğrendim.

Başka bir anlaşma web kazıma. Konu hakkında bilgi sahibi olma konusundaki itibarım, PHP'deki bir makaleyle başladı[architect] Dergi ve oradan kitaba dönüştü. İşin tuhafı, konuyla ilgili hiçbir zaman bir konferans konuşması yapmadım, bu yüzden bunu değiştirmenin zamanının geldiğini düşünüyorum.

Şu anda aklıma gelen son fikir, son zamanlarda popüler olan “Nasıl Mükemmel Bir Geliştirici Olunur” konuşmamın bir nevi devamı niteliğindedir. Mentorluk konusuna odaklanacak ve yeni geliştiricilerin sektöre nasıl getirileceği ve onların profesyonel anlamda ilerlemelerine nasıl yardımcı olunacağı konusunu daha derinlemesine ele alacak.

PHP Uygulama Hızınızı %300 Artırın

DreamHost size %300 daha hızlı yükleme süreleri için SSD depolama, özel performans, optimize edilmiş yığın ve daha fazlasına sahip özel sunucular sunar.

Bu konuşmaları nerede yapabileceğimi henüz söylemek zor. Geçenlerde Austin, Teksas'ta Longhorn PHP'ye katıldım – bu arada harika bir konferanstı. Bu, COVID-19 tecritinin başlamasından bu yana şahsen katıldığım ilk konferanstı. En azından pandemiyle ilgili koşullar iyileşene kadar, arabayla veya kısa bir uçuşla seyahat edebileceğim yakınlardaki yurt içi konferanslara bir süreliğine bağlı kalacağımı düşünüyorum.

Shahzeb: Dizüstü bilgisayarınızdan uzaktayken ne yapmaktan hoşlanırsınız?

Matthew: İki köpeğim Sierra (üç renkli Pembroke Welsh Corgi) ve Kaylee (sıçan terrier-dachshund karışımı) ile oynamayı seviyorum. Adlarını Dollhouse ve Firefly bilim kurgu televizyon dizilerindeki karakterlerden alıyorlardı. Zaten bunu anlayamadıysanız, ben biraz ineğin tekiyim. Bilim kurgu okumayı ve izlemeyi seviyorum, ancak buna istediğim sıklıkta vakit bulamıyorum.

Eşimle vakit geçirmekten de keyif alıyorum. Pandemi sürecinde YouTube'da çoğunlukla yemek pişirme ve kokteyl yapımıyla ilgili videolar izlemeye, mutfakta öğrendiklerimizden yararlanmaya başladık.

Shahzeb: Müşterileriniz veya topluluk üyeleriniz için hangi tür web barındırma hizmetini tercih edersiniz? Sizce geleneksel paylaşımlı barındırma, yaptığınız projeler için uygun bir seçenek midir?

Matthew: Açıkçası çok güçlü bir tercihim yok.

Paylaşımlı barındırmanın özellikle küçük siteler veya projeler için hala geçerli ve uygun fiyatlı bir seçenek olduğunu düşünüyorum.

Son yıllarda bulut barındırma daha yaygın bir seçenek haline geldi, ancak daha karmaşık altyapı gereksinimleri ve deneyimli personel içeren daha büyük ticari projelere daha uygun olduğunu düşünüyorum.

Ülkedeki geniş bant bağlantısının kalitesi artarsa ​​ve Raspberry Pi gibi teknolojiler olduğu gibi gelişmeye devam ederse, kendi kendine barındırmanın bugün olduğundan daha yaygın ve uygulanabilir bir seçenek haline geldiğini de görebiliyorum.

Shahzeb: DreamHost gibi barındırma çözümleri hakkındaki düşünceleriniz nelerdir? Bu çözümlerin PHP tabanlı uygulamalara değer kattığını düşünüyor musunuz?

Matthew: DreamHost gibi çözümlerin değer kattığını düşünüyorum. Pek çok bağımsız geliştiricinin ve küçük girişimin, bulut barındırma tekliflerinden şu anda olduğundan daha fazla yararlanabileceğine, ancak ilgili karmaşıklık ve gerekli uzmanlık konusunda zorluk yaşadıklarına inanıyorum. Bugünlerde DevOps'un başlı başına bir rol haline gelmesinin ve bu konuda iyi olan insanları bulmanın zor olmasının bir nedeni var.

Shahzeb: İşinizle özel yaşamınız arasında denge kurmak zor olabilir. Boş zamanlarınızda ne yapmaktan hoşlanırsınız? Paylaşmak istediğiniz hobileriniz var mı?

Okumak:  HTC, Focus 3 için Vive bilek takip cihazı ve yazılım güncellemelerini duyurdu

Matthew: Halen boş zamanlarımda üzerinde çalıştığım kodlama yan projelerim var. Şu anki kişisel finans yönetimi içindir. Sonunda kaynağı katkılara açmayı umuyorum, ancak şu anda alfa öncesi durumda.

Yıllardır masaüstü rol yapma oyunlarından keyif alıyorum. Karantina sırasında birkaç arkadaşımla internette bir araya geldik ve o zamandan beri ayda birkaç kez D&D oynuyoruz. Ayrıca Kurtadam oynayan başka bir gruba katıldım. Geçmişte artık aktif olmayan bir avuç kampanya yürüttüm; Bunlardan birine dayalı bir modül yazma sürecindeyim ama bu uzun vadeli bir proje.

Aynı zamanda sıradan bir video oyunu oyuncusuyum. Ara sıra Best Fiends veya Wordscapes gibi mobil oyunlar oynuyorum. Ayrıca Steam oyunlarından da keyif alıyorum; Bu platformda en son oynadığım oyunlardan bazıları, sevimli bir steampunk temalı bulmaca/platform oyunu olan SteamWorld Dig 2 ve cesur bir zindan kazıcısı olan Darkest Dungeon'dur. Oyunların gevşemenin güzel bir yolu olduğunu düşünüyorum.

Beni tanıyan herkese sorun, eminim size karaokeyi, şarkı söylemeyi ve müziği sevdiğimi söyleyeceklerdir. Bunları evimin dışında istediğim kadar yapamıyorum ama fırsat buldukça yapmaya çalışıyorum. Beni bir PHP konferansında yakalarsanız, orada bulunduğum bir noktada yerel bir karaoke barına gezi düzenlemeye çalışmam için büyük bir şans var.

Shahzeb: Sizce bundan sonra kiminle röportaj yapmalıyız ve neden?

Matthew: Röportaj listeniz oldukça PHP Topluluğunun Kim Kimdir!

Muhtemelen verebileceğim uzun bir isim listesi var, ancak bu listeyi henüz yapmamış bir kişiyi seçmek zorunda kalsaydım muhtemelen aşağıdakilerden birini önermek zorunda kalırdım. ReactPHP projesinin çekirdek geliştiricileriözellikle Cees-Jan Kiewiet (@WyriHaximus) veya Christian Lück (@başka_clue).

Çekirdek ReactPHP ekibi küçük ama birbirine oldukça sıkı sıkıya bağlı ve çok arkadaş canlısı. PHP'de eşzamansız programlamanın çeşitli biçimlerini yapmak için çok sayıda harika paket üretiyorlar ve bir dil olarak PHP ile yapılabileceklerin sınırlarını zorlamaya gerçekten yardımcı oluyorlar.

Shahzeb: Okuyucularımıza ilham vermek için ofis alanınızın veya mevcut iş istasyonunuzun anlık görüntülerini paylaşırsanız çok sevinirim.

Matthew: Masamı biraz toparlamam için bana bir bahane verdiğin için teşekkür ederim. Kuşkusuz bu konuda her zaman olmam gerektiği kadar iyi değilim.

Dizüstü bilgisayarım kısa bir süre önce hayaletten vazgeçti, bu yüzden bunu çözene kadar 2017 Macbook Air kredisini kullanıyorum.

Telefonum bir Samsung Galaxy Note 9. Görebileceğiniz diğer şarj cihazı Samsung Galaxy Watch3 cihazım için.

Bunlar masamdayken çoğu zaman kullandığım şeyler. Gerisi çoğunlukla önemsiz şeyler: adaptörler, çevre birimleri ve bunun gibi şeyler.

Shahzeb: Bir kez daha teşekkür ederim Matthew!

Matthew: Teşekkür ederim! Benim için zevkti.