CodeGym/Java Blogu/Rastgele/Bir Java geliştiricisinin kontrol listesi. Bir geliştiric...
John Squirrels
Seviye
San Francisco

Bir Java geliştiricisinin kontrol listesi. Bir geliştiricinin bilmesi gerekenler

grupta yayınlandı
MERHABA! Bugün bir Java geliştiricisinin büyüme yolundan ve talep görmek için bilmesi gerekenlerden bahsedeceğiz. Bir Java geliştiricisinin kontrol listesi.  Bir geliştiricinin bilmesi gerekenler - 1Bir röportajda, herhangi bir geliştirici iş adayını sorgulayabilir. Örneğin, mevcut projelerinde karşılaştıkları belirli konular hakkında sorular sormaya başlayabilirler. Ama her şeyi bilmemek normaldir. Bazı soruları cevaplayamamanız da normal. Genel bir kural olarak, her Java programcısı temel bir yazılım geliştirme anlayışına sahip olmalıdır. Öyleyse neyin "temel" olarak kabul edildiğine bir göz atalım.

1. Temel algoritmalar

Programlamayı (yalnızca Java'yı değil) öğrenmeye başlarken ele alınması gereken ilk şey, temelleri anlamaktır. Örneğin, algoritmalar. Sonsuz sayıda var ve hayatınızın tüm yıllarını olabildiğince çok algoritma öğrenmeye çalışarak öldürmemelisiniz: çoğu sizin için yararlı olmayacak. Gerekli minimum bilgiyi "Grokking Algoritmaları" kitabından alabilirsiniz. Bu başlamanız için yeterli, ancak isterseniz Robert Sedgewick ve Kevin Wayne'in "Structures and Algorithms" veya "Algorithms in Java" kitabından öğrenebilirsiniz. Ayrıca bilgisayar biliminin temelleri hakkındaki bilginizi geliştirmenizi de tavsiye ederim. Bu, Harvard CS50 kursu ile yapılabilir.

2. Java Sözdizimi

Algoritmaların temellerini öğrendikten sonra Java sözdizimini öğrenmemiz gerekiyor. Ne de olsa burada hepimiz Java programcısı olmak için çalışıyoruz, değil mi? CodeGym kursu bunun için mükemmeldir. Sayısız görevi yerine getirirken, Java sözdizimini elinize alacak ve daha sonra hiç tereddüt etmeden Java kodunu ana dilinizmiş gibi yazacak/okuyacaksınız. CodeGym pratiktir, ancak bunun ötesinde, ne yaptığınızı anlamak için teoriye de bakmanız gerekir. Bunun için kitap okuyabilirsiniz. Örneğin, aşağıdakilerden biri:
  • "Önce Java'ya Başla",
  • Barry Bird'den "Aptallar için Java";
  • Herbert Schildt'in "Java: Başlangıç ​​Kılavuzu".
Bu kitapları okuduktan sonra daha zor kitaplara geçebilirsiniz:
  • "Java'da Düşünmek", Bruce Eckel;
  • Joshua Bloch'tan "Etkili Java";
  • Herbert Schildt'in "Java: Eksiksiz Referansı".
Son üç kitap, yeni başlayanlar için kolay okunmuyor, ancak Java teorisinde sağlam bir temel sağlıyorlar. Ayrıca, ilginizi çekebilecek çoğu konu için açıklamalar sağladıkları için CodeGym makalelerini de unutmayın. Arama çubuğuna ilginizi çeken konuyu yazarak ilgili bir makale bulabilirsiniz: Bir Java geliştiricisinin kontrol listesi.  Bir geliştiricinin bilmesi gerekenler - 2Ayrıca Java röportajlarından soruları aramanızı şiddetle tavsiye ederim. Bu, tam olarak neyi öğrenmeniz gerektiğini ve hangi sorulara hazırlanmanız gerektiğini anlamanıza yardımcı olacaktır.

3. Tasarım kalıpları

Tasarım kalıpları, sık karşılaşılan bağlamlarda sorunları çözen belirli tekrarlanabilir kalıplardır. Kendine saygısı olan her programcının bilmesi gereken temel, basit kalıpları içerirler. Bu konuyu anlamak için "Head First Design Patterns" kitabını alın. Temel tasarım kalıplarını erişilebilir bir şekilde açıklar. Ancak kitap Java hakkında çok konuşuyor, bu yüzden bu kitabı okuduğunuzda bu programlama dilinde akıcılığa da ihtiyacınız olacak. Modellere daha derin bir dalış için, Gang of Four'dan "Design Patterns: Elements of Reusable Object-Oriented Software"i de okuyabilirsiniz ( Editörün notu: The Gang of Four, Erich Gamma, Richard Helm, Ralph'ı içeren bir yazar ekibidir. Johnson, John Vlissides.). Bu konuyu inceledikten sonra, kodunuzun neredeyse her yerinde kalıpları görmeye başlayacaksınız. Buna, özellikle Bahar'da kullanılan kalıplara dikkat edin, çünkü bu popüler bir mülakat sorusudur.

4. Programlama paradigmaları. Kod temizliği

Standart tasarım kalıplarının yanı sıra, bilinmesi gereken çeşitli prensipler ve paradigmalar vardır ( SOLID , GRASP ). Ayrıca kodunuzu temiz ve okunabilir tutmanız gerekir. Her şey için, bu konu hakkında bilgi sahibi olmanız gerekir, Robert Martin'in yazdığı Temiz Kod'a veya Steve McConnell'in "Kod Tamamlandı" bölümüne bakın.

5. SQL

Bir sonraki adımımız, ilişkisel veritabanları için bir dil olan SQL'i incelemektir . Veritabanları , bir web uygulaması tarafından kullanılan bilgilerin (verilerin) depolandığı yerdir. Bir veri tabanı birkaç tablodan oluşur (telefonunuzdaki adres defteri basit bir örnektir). Java geliştiricileri, yalnızca Java uygulamasından değil, etkileşimde bulunduğu veritabanından ve verilerini nerede sakladığından da sorumludur. İlişkisel veritabanlarında (en yaygın tür olan), tüm etkileşim Yapılandırılmış Sorgu Dili veya SQL adı verilen özel bir dil aracılığıyla gerçekleşir. Bu konuyu anlamak için tek yapmanız gereken şu kitaplardan birini okumak:
  • Alan Beaulieu'nun "SQL Öğrenmek";
  • Chris Fehily'den "SQL";
  • Lynn Beighley'den "Head First SQL".
Ama teorisiz uygulama yeterli değil, değil mi? Ve görüşmelerde SQL bilginizin test edilmesini bekleyebilirsiniz. Görüşmeciler genellikle (neredeyse her zaman) bir SQL sorgusu yazmayı içeren bir veya iki görev verir. Sonuç olarak, kendinizi iyi bir şekilde göstermek için pratik SQL becerilerinizi geliştirmek çok önemlidir.

6. MySQL/PostgreSQL

SQL dilini öğrendikten sonra, belirli bir veritabanı uygulamasına aşina olmanız gerekir. Veritabanına bağlı olarak, bazı komutlar önemli ölçüde değişebilir. Ve veritabanı yeteneklerinde oldukça belirgin farklılıklar var. En yaygın ilişkisel veritabanları MySQL ve PostgreSQL'dir . Bir Java geliştiricisinin kontrol listesi.  Bir geliştiricinin bilmesi gerekenler - 3MySQL çok daha basittir, ancak PostgreSQL çok daha geniş yeteneklere sahiptir. Bunlardan en az birine aşina olmak başlamak için yeterlidir. Googling becerilerinizi kullanırsanız veritabanı uygulamalarını inceleyebilirsiniz — YouTube'da ilgili makaleleri ve eğitimleri bulun. Cevaplanmaya ihtiyaç duyduğunuz sorular için uygun arama sorguları oluşturma becerinizi geliştirmeniz gerekecek. Ne de olsa, bir programcı Google'da siyah kuşak sahibi olan kişidir.

7. Maven/Kadeh

Gradle veya Maven çerçevesini öğrenmeniz gerekir. Bunlar proje oluşturmak içindir ve sizin için Java artık yalnızca birkaç sınıfı içeren görevler için değil, aynı zamanda tam teşekküllü uygulamalar yazmak için bir dildir. Bir projenin nasıl inşa edileceğini, inşa aşamalarının neler olduğunu, gerekli harici kitaplıkların üçüncü taraf kodlarla nasıl yükleneceğini ve çok daha fazlasını anlamanız gerekir. Gradle'ın daha yeni ve daha özlü olmasına rağmen çoğu durumda Maven kullanılır. Bu nedenle, Maven yapı yaşam döngüsüne özellikle dikkat edin.

8. Git

Git, dağıtılmış bir sürüm kontrol sistemidir. Bu teknoloji, geliştiricilerin birbirlerine müdahale etmeden tek bir uygulama üzerinde işbirliği yapmasına olanak tanır. Elbette başka sürüm kontrol sistemleri de var. Örneğin, Subversion . Ancak Git en yaygın olarak kullanılır ve onunla çalışabilmeniz gerekir.Bir Java geliştiricisinin kontrol listesi.  Bir geliştiricinin bilmesi gerekenler - 4Git hakkında çevrimiçi bulabileceğiniz birçok makaleye ek olarak, YouTube'da bu teknolojide adım adım ustalaşmanıza yardımcı olacak fazlasıyla video var. İlk başta Git'i bir tür GUI uygulaması yerine komut satırından kullanmak daha iyidir, çünkü her şeyi komutları kullanarak yapmak zorunda kalacaksınız. Röportajlarda, insanlar genellikle birkaç Git komutu hakkında soru sormaktan hoşlanır, bu yüzden bunları yazmanızı ve yakınlarda bir yerde saklamanızı öneririm. Ayrıca, görüşmeden önce gözden geçirmek ve hafızanızı tazelemek için en önemli noktaları takip ederek not almanızı tavsiye ederim.

9. JDBC

Bu teknoloji, Java uygulamanızı ve ilişkisel bir veritabanını birbirine bağlar. Temel bilgiler için herhangi bir JDBC eğitimini okumanızı tavsiye ederim. Artık hiç kimse çıplak JDBC'yi doğrudan kullanmasa da, JDBC'yi açıklayan ve temel örnekler sağlayan çok sayıda makale var.

10. JPA. hazırda bekletme

JPA, tıpkı JDBC gibi bir Java uygulaması ile veritabanı arasında bağlantı kurmanın bir yoludur. Ancak aynı zamanda, JPA daha üst düzey bir teknolojidir ve bu nedenle kullanımı daha kolaydır. Ancak JPA yalnızca bir belirtimdir, bir uygulama değildir. Somut bir uygulamaya ihtiyacı var. Birçoğu var, ancak JPA ideallerine en yakın, en popüler ve en gelişmiş olanı Hibernate'dir. Yazılım geliştirme kariyerinizde bu teknolojiyle birden çok kez karşılaşacaksınız. Bu nedenle, makaleleri okuyarak bu teknolojiyle tanışmanın yanı sıra, "Java Persistence API" gibi bir kitap okumayı düşünmek faydalı olabilir.

11. Bahar

Bir Java geliştiricisi olduğunuzda, Bahar artık sizin için sadece bir kelime değildir. Bir Java geliştiricisinin kontrol listesi.  Bir geliştiricinin bilmesi gerekenler - 5Bu çerçeveyi bilmek artık Java Sözdizimini bilmek kadar önemlidir. Spring'in bir kardeşi olduğunu söyleyebilirsiniz, yani Java EE. Ancak Java EE modası geçmiş ve artık yeni projelerde kullanılmıyor. Java geliştiricilerinin ezici çoğunluğu artık Java-Spring geliştiricileridir, bu nedenle bazı temel Spring teknolojilerini bilmek bir zorunluluktur. Spring sadece bir çerçeve değil, bütün bir çerçeve çerçevesidir: Bir Java geliştiricisinin kontrol listesi.  Bir geliştiricinin bilmesi gerekenler - 6Ve bu, Spring'in sağladığı çerçevelerin yalnızca bir alt kümesidir. Yeni başlayanlar için bunlardan sadece birkaçını bilmek yeterince iyidir:

  • Yay Çekirdeği

Bunu ilk sıraya koymalısınız, böylece Spring'in ne olduğunu anlayabilirsiniz - Spring kapları, fasulye, DI, IoC vb. Tabiri caizse Spring kullanmanın felsefesini anlamak. Spring çerçeveleriyle ilgili daha fazla çalışmanız bu temel üzerine inşa edilecektir. Belki de yeni öğrenilen tüm teknolojileri kademeli olarak dahil edebileceğiniz kendi küçük uygulamanızı oluşturmalısınız.

  • Bahar JDBC

Daha önce JDBC'den veri tabanı bağlantısı oluşturmaya yönelik bir teknoloji olarak bahsetmiştik. Genel olarak, teknolojinin "çıplak" kullanımı artık projelerde bulunamaz, bu nedenle JDBC'yi öğrenmenin gerekli olmadığı sonucuna varabilirsiniz. Bu pek doğru bir tutum değil. JDBC'nin çıplak (doğrudan) kullanımını keşfederek, teknolojiyi daha düşük bir seviyede görebilir, sorunlarını ve eksikliklerini anlayabilirsiniz. Ardından, Spring JDBC'yi öğrenmeye başladığınızda, bu çerçevenin tam olarak neyi iyileştirdiğini, optimize ettiğini ve gizlediğini anlayacaksınız.

  • Bahar Uykusu

Çıplak JDBC'deki duruma benzer şekilde, bu çerçeve mevcut bir teknolojiden, bu durumda Hibernate'den yararlanır. Hibernate'i Bahar olmadan kullanmayı düşünürseniz, Bahar Hazırda Bekletme'nin sunduğu faydaları kesinlikle fark edeceksiniz.

  • Bahar JPA'sı

Daha önce JPA'dan bahsetmiştik ve çeşitli uygulamaları olmasına rağmen bunun yalnızca bir belirtim olduğundan bahsetmiştik. Bu uygulamalar arasında Hibernate ideale en yakın olanıdır. Spring, kaputun altında Hazırda Bekletme modunu kullanan kendi ideal JPA uygulamasına sahiptir. JPA spesifikasyonunun idealine mümkün olduğunca yakındır. Buna Bahar JPA denir. Tek kelimeyle, veritabanı erişimini büyük ölçüde basitleştirir. JPA'yı yalnızca JDBC, Hibernate, Spring JDBC veya Spring Hibernate öğrenmeden öğrenebilirsiniz. Ancak bu yaklaşımı benimserseniz, bir veritabanına nasıl bağlanacağınız konusundaki bilginiz çok yüzeysel olacaktır.

  • Bahar MVC'si

Bu teknoloji, uygulamamızın web arayüzünün kullanıcılara gösterilmesini mümkün kılmakta ve arayüz ile uygulamanın geri kalanı arasındaki iletişimi kolaylaştırmaktadır. Ekranı kullanmaktan sorumlu bir uygulamanız olduğunda ve RESTful teknolojisini kullanarak uygulamayla etkileşim kurduğunuzda, teknoloji ekran olmadan da kullanılabilir. İlkbaharla ilgili bilgileri daha iyi özümsemek için makalelere ve YouTube derslerine ek olarak birkaç kitap okuyabilirsiniz. Craig Walls'un "Spring in Action" kitabını gerçekten beğendim. İyi derecede İngilizce biliyorsanız 6. versiyonu okumanızı tavsiye ederim. İlkbaharla ilgili bir başka harika kitap da "Profesyoneller için Bahar 5". Daha yoğun. Daha çok, baştan sona okumaktansa elinizin altında bulundurmanın daha değerli olduğu bir referans gibi.Bir Java geliştiricisinin kontrol listesi.  Bir geliştiricinin bilmesi gerekenler - 7

  • Yaylı Çizme

Bu teknoloji, Yay kullanımını büyük ölçüde basitleştirir. Listenin sonuna bir hevesle koymadım. Aslında, kaputun altında pek çok şey gizliyor ve Vanilya Pınarı'na aşina olmayan biri için pek çok nokta belirsiz veya anlaşılmaz olabilir. İlk olarak, Spring çerçevelerinin nasıl çalıştığını daha iyi anlamak için normal Spring kullanmalı ve ardından Spring Boot kullanmanın daha yüksek faydalarını elde etmelisiniz. Ayrıca Spring Security ve Spring AOP ile tanışmanızı tavsiye ederim. Ancak yukarıdaki teknolojilerin aksine, bu iki teknoloji hakkında derin bilgiye henüz ihtiyaç duyulmuyor. Bu teknoloji yeni başlayanlar için değil. Röportajlarda, küçük geliştiricilere onlar hakkında soru sorulmayacak (belki bir yüzeysel soru dışında). Bu teknolojilerin neler olduğuna ve çalışmalarının arkasındaki ilkelere ilişkin genel bakışı okuyun. Bu makalede, Kitap okumaktan defalarca bahsetmiştim. Bir yandan, bu zorunlu değildir. Tek bir kitap okumadan, gerekli tüm bilgileri çevrimiçi makalelerden ve eğitim videolarından edinerek programcı olabilirsiniz. Öte yandan, iş piyasasında, acemi geliştiriciler arasındaki rekabet şu anda yüksek ve bu da yeni başlayanların bilmesi gerekenler konusunda çıtayı yükseltiyor. Yani, ne kadar çok bilirseniz, bilgi seviyenizle görüşmeciyi etkileyerek ilk işinizi o kadar hızlı bulacaksınız. Herkese teşekkürler ve Java sizinle olabilir. bu da yeni başlayanların bilmesi gerekenler konusunda çıtayı yükseltiyor. Yani, ne kadar çok bilirseniz, bilgi seviyenizle görüşmeciyi etkileyerek ilk işinizi o kadar hızlı bulacaksınız. Herkese teşekkürler ve Java sizinle olabilir. bu da yeni başlayanların bilmesi gerekenler konusunda çıtayı yükseltiyor. Yani, ne kadar çok bilirseniz, bilgi seviyenizle görüşmeciyi etkileyerek ilk işinizi o kadar hızlı bulacaksınız. Herkese teşekkürler ve Java sizinle olabilir.
Yorumlar
  • Popüler
  • Yeni
  • Eskimiş
Yorum bırakmak için giriş yapmalısınız
Bu sayfada henüz yorum yok