2017'de tam donanımlı bir mühendis nasıl olunur, sahip olmanız gereken bu beceriler! Öğrenmesi son derece zor

Yukarı tıklayın " CSDN "," En İyi Resmi Hesap "ı seçin

Teknik bilgiler hemen teslim edilir!

Yazar Daniel Borowski

Çevirmen Yefeng Qingyang

[Editörün notu] Stack Overflow 2016 Geliştirici anketine göre, Full-Stack web geliştirme şu anda en popüler geliştirme kariyeridir. Öğretmen adaylarının yeni tam yığın geliştiriciler olmalarına ve hatta bu acemilerin yüksek ücretli programlama işleri edinmelerine yardımcı olacak birçok çevrimiçi ve yerinde eğitim programı olmasına şaşmamalı. Aşağıdaki çeviridir:

Bu makalede, hangi web sitesinin veya kod bootcamp'in en iyi geliştirme eğitim programlarına sahip olduğunu tartışmayacağım, ancak tam yığın web geliştiricisi olduğuna inandığım en önemli becerilerin hangileri olduğuna dair net yönergeler sunacağım. Ve hiç programlama işi yapmamış olanların iş bulmasına yardımcı olun. Bu üç şeye dayanacağım.

  • 2017'de öğrencileri eğitmek için en fazla içerik kombinasyonu.

  • Kişisel deneyimim, geçmişte birçok şirkette geliştirici pozisyonları için iş başvurusunda bulunan kişilerle yapılan görüşmelerden ve şirketimdeki tam yığın geliştirici pozisyonları için iş başvurusunda bulunan kişilerle yapılan görüşmelerden geliyor.

  • Coderbyte üzerine kodlama temel kamp eğitimi almış ve programlama işleri bulmuş kişilerin hikayeleri ve geri bildirimleri.

  • Açık yönergeler

    Tam yığın web geliştiricisi, aynı anda ön uç geliştirme ve arka uç geliştirme gerçekleştirebilen kişidir. Ön uç genellikle, uygulamanın kullanıcı tarafından görülebilen veya etkileşimli olan kısmına atıfta bulunur ve arka uç, uygulamadaki işlem mantığı, veritabanı etkileşimi, kullanıcı kimlik doğrulaması, sunucu yapılandırması vb. Tam yığın geliştirici olmak, ön uç geliştirme ve arka uç geliştirmeye dahil olmak için gereken tüm becerileri edindiğiniz anlamına gelmez, sadece bu iki bölümde çalışabileceğiniz ve bir uygulama geliştirirken ne yapacağınızı bildiğiniz anlamına gelir.

    2017'de tam donanımlı bir web geliştiricisi olduysanız ve ilk kariyerinizi aradıysanız, aşağıdaki öğrenmeniz gereken bir referans kılavuzdur.

    1. HTML / CSS

    • Anlamsal HTML

    • CSS kutu modelini açıklayabilme

    • CSS ön işlemcilerinin kullanışlılığı (bunu nasıl derinlemesine kullanacağınızı anlamanız gerekmez, sadece amaçlarını ve geliştirmeye nasıl yardımcı olacağınızı anlamanız gerekir)

    • Farklı cihazlar için CSS medya sorgusu ve yanıt CSS yazma

    • Çizme

    • Trap (sayfadaki içeriğin tasarımı ve düzeni için bir çerçevedir. Birçok çevrimiçi eğitim veya okul Bootstrap öğretmeye odaklanır. Aslında, CSS'nin temellerini derinlemesine anlamak, belirli Bootstrap özellikleri ve yöntemlerinden daha önemlidir)

    2. JavaScript

    Stack Overflow 2016 Geliştirici anketi (https://insights.stackoverflow.com/survey/2016)

    • DOM'un nasıl kullanılacağını anlayın, JSON'un ne olduğunu ve nasıl kullanılacağını anlayın.

    • İşlevsel kompozisyon, prototip kalıtım, kapatmalar, olay yetkilendirme, kapsam ve daha yüksek dereceli işlevler gibi önemli dil özellikleri.

    • Eşzamansız kontrol akışı, vaatler ve geri aramalar.

    • Kodunuzu nasıl doğru bir şekilde yapılandıracağınızı ve modülerleştireceğinizi öğrenmek için, anlamak için webpack, göz atma veya yudum benzeri yapım araçlarını kullanabilirsiniz.

    • En az bir ortak çerçevenin nasıl kullanılacağını bilin (çoğu eğitim, React veya AngularJS gibi bir kitaplık veya çerçevelerin eğitimine odaklanır, ancak gerçekte, belirli bir çerçevenin özelliklerine çok fazla enerji odaklamak yerine JavaScript dilini derinlemesine anlamak daha önemlidir. Yukarıda. JavaScript'e tam olarak aşina olduğunuzda, bir çerçevede ustalaşmak sorun olmayacaktır.)

    • Bazı insanlar jQuery kodunun daha az kullanıldığını ve yavaş yavaş eski hale geleceğini söylese de, çoğu uygulamada hala kullanılmaktadır ve sağlam bir kavrayışa sahip olmak yararlıdır.

    • Test çerçevesi hakkında biraz bilgi ve bu bilginin neden önemli olduğu (hatta bazı insanlar bu konunun gerekli olmadığını iddia ediyor)

    • Bazı önemli yeni ES6 özelliklerini öğrenin (isteğe bağlı)

    3. Arka plan dili

    HTML / CSS ve JavaScript'e hakim olduğunuzu hissettiğinizde, veritabanı işlemlerini, kullanıcı kimlik doğrulamasını ve uygulama mantığını idare etmek için arka plan dilini öğrenmeye devam etmek isteyeceksiniz. Tüm çevrimiçi eğitim ve kod eğitim kampları genellikle belirli bir arka uç dile odaklanır. Aslında, nasıl çalıştığını anladığınız ve seçtiğiniz dilin nüanslarını anladığınız sürece hangisini öğrendiğinizin (arka uç dili) bir önemi yoktur. Başkalarına hangi arka uç dilinin öğrenmeye en değer olduğunu sorarsanız, çok sayıda farklı yanıt alırsınız, bu nedenle aşağıda bazı ortak kombinasyonları listeledim. Önemli bir hatırlatma: Hangisini öğrenmeyi planladığınız önemli değil, sadece ona bağlı kalın ve mümkün olduğunca derine gidin - aşağıda listelenen dillerde çok sayıda iş fırsatı vardır.

    • Node.js: Bu harika bir seçimdir çünkü Node.js kendisi bir JavaScript ortamıdır, bu da yeni bir dil öğrenmek zorunda olmadığınız anlamına gelir. Bu nedenle birçok çevrimiçi veya yerinde eğitim, Node.js'yi öğretmeyi seçer. Web geliştirmede size yardımcı olmak için öğrenmeniz en muhtemel olan en popüler çerçeve Express

    • Yakut: Ruby'de yaygın olarak kullanılan çerçeveler Rails ve Sinatra'dır. Birçok eğitim

    • Hepsi öğretmek için ilk arka uç dili olarak Ruby kullanıyor.

    • Python: Python'da yaygın olarak kullanılan geliştirme çerçeveleri Django ve Flask'tır.

    • Java: Tam yığın web geliştirme eğitiminde, öğrenme içeriği olarak Java kullanan pek çok kişi yoktur, ancak bazı şirketler arka uç dili olarak Java'yı kullanır ve Java hala çok popüler bir dildir (yukarıdaki resme bakın)

    • PHP: PHP bu günlerde nadiren öğretilse de, tıpkı Javas gibi PHP hala çok popüler ve PHP web'in temel taşı.

    4. Veritabanı ve veri depolama

    • SQL gibi ilişkisel verilerin kullanışlılığını anlayın.

    • MongoDB gibi NoSQL veritabanları hakkında bilgi edinin.

    • Belirli bir durumda hangisinin daha uygun olduğunu anlayın.

    • Seçtiğiniz arka uç dilini (Node.js + MongoDB gibi) kullanarak bir veritabanına nasıl bağlanacağınızı öğrenin.

    • Redis ve memcached gibi bellek içi veri depolamanın güçlü yönlerini anlayın.

    • Web depolama, tarayıcıda önbelleğe alınan oturumları, tanımlama bilgilerini ve verileri depolar.

    • Ölçeklenebilir veritabanı, ACID ve ORM (tümü isteğe bağlı).

    5. HTTP ve REST

    HTTP, durum bilgisiz bir İnternet uygulama katmanı protokolüdür - istemcinin farklı sunucularla iletişim kurmasına izin verir (örneğin, JavaScript kodunuz, HTTP protokolü aracılığıyla sunucuda çalışan arka plan koduna AJAX istekleri gönderebilir).

    • REST nedir ve HTTP protokolü ve web uygulamaları için neden önemlidir.

    • REST tarzı API'leri tasarlamak için en iyi uygulamalar. POST / GET isteği.

    • Chrome DevTools'u nasıl kullanacağınızı öğrenmek çok faydalı olacaktır.

    • SSL sertifikası nedir.

    • HTTP / 2 ve SPDY (isteğe bağlı). HTTP2 ve SPDY (isteğe bağlı).

    • WebSockets, Web Workers, Service Workers Service Workers (tümü isteğe bağlı)

    6. Web Uygulama Mimarisi

    HTML / CSS, JavaScript arka plan geliştirme, veritabanı ve HTTP / REST konusunda uzmanlaştığınızı hissettiğinizde, bu işin zor kısmıdır. Burada biraz daha karmaşık bir web uygulaması oluşturmak istiyorsanız, kodunuzu nasıl organize edeceğinizi, dosyalarınızı nasıl böleceğinizi, büyük medya dosyalarınızı nerede depolayacağınızı, veri tabanındaki verileri nasıl organize edeceğinizi ve belirli bilgi işlem görevlerini nerede gerçekleştireceğinizi bilmeniz gerekir ( İstemciden sunucuya) vb.

    Birçok en iyi uygulamayı çevrimiçi olarak bulabilirsiniz, ancak uygulama mimarisini gerçek anlamda öğrenmenin en iyi yolu, büyük bir uygulamaya kendi başınıza katılmaktır.Bu uygulama birden çok etkili parça içerir - hatta daha iyisi, bir ekipte çalışır ve birlikte geliştirilmiştir. Ölçek ve karmaşıklığın uygulanması.

    Bu nedenle bazı kişilerin 7 yıldan fazla deneyimleri vardır ve CSS veya JavaScript anlayışları yalnızca iki yıllık deneyime sahip olanlar kadar iyi değildir.Ancak bu yıllarda, her türlü farklı uygulama ve web sitesinin geliştirilmesine katıldıkları ve zaten öğrendikleri varsayılmaktadır. Uygulamayı en verimli hale getirmek için nasıl yapılandırılacağı ve tasarlanacağı (diğer önemli şeyleri de öğrendikten) sonra, geliştirmedeki kilit noktaları da görebilirsiniz. Aşağıda, web uygulamanızı nasıl verimli bir şekilde yapılandıracağınızı öğrenmenize yardımcı olacak bazı içerikleri okuyabilirsiniz.

    • Heroku ve AWS gibi bir hizmet olarak ortak platformu öğrenin. Heroku, kodunuzu yüklemenizi kolaylaştırır ve çok az yapılandırma veya sunucu bakımı ile uygulamayı çalışır duruma getirebilirsiniz. AWS, depolama, video işleme, yük dengeleme ve benzeri konularda yardımcı olacak çok sayıda ürün ve hizmet sağlar.

    • Uygulamalar ve modern tarayıcılar için performans optimizasyonu.

    • Bir web uygulama mimarisinin neleri içermesi gerektiği hakkında bazı görüşler

    • Microsoft tarafından tasarlanmış bir web uygulaması.

    • MVC.

    • En önemli şey, projedeki diğer kişilerle işbirliği yapmanız, GitHub'daki popüler projelerin kod tabanları hakkında daha fazla bilgi edinmeniz ve olabildiğince çok sayıda üst düzey geliştiriciye danışmanızdır.

    7. Git

    Git, bir geliştirici ekibinin geliştirme süreci boyunca tüm değişiklikleri izlemesine ve bu değişiklikleri kod tabanına kaydetmesine yardımcı olabilecek bir sürüm kontrol sistemidir. Git ile ilgili kilit noktaları anlamak önemlidir.Bu, en son eksik kodu, kodun güncellenmiş bölümünü nasıl elde edeceğinize, değişiklik yapmanıza ve diğer kişilerin çalışmasını kesintiye uğratmadan diğer kişilerin kodunu değiştirmenize yardımcı olacaktır. Git'in arkasındaki kavramları gerçekten öğrenmeli ve onunla oynayabilmelisin.

    • Kullanılması muhtemel git komutlarının bir referans listesi aşağıda verilmiştir (https://git-scm.com/docs).

    • Git ve GitHub kullanan yeni başlayanlar için öğretici kurslar vardır (

    8. Temel algoritma ve veri yapısı

    Bu konu geliştirme dünyasında biraz aşırılıktır, çünkü web geliştirmede bazı geliştiriciler ağaç geçişi, sıralama, algoritma analizi ve matris işlemleri gibi bilgisayar bilimi konularına odaklanmamaları gerektiğini düşünüyor. Ancak Google gibi birçok şirket bu tür soruları röportajlarda sormayı sever. Bazı insanlar Google ön büro mühendisliği röportajından bahsetti.

    Diğer bir deyişle, Ryan McGrath'ın da belirttiği gibi: Ön uç (FE) mühendislerimiz, tüm mühendislerimiz gibi bilgisayar biliminde sağlam bir geçmişe sahip olmalıdır.

    Bazı şirketler, iş başvurusunda bulunanların gerçekte bir bilgisayar bilimi derecesine veya eşdeğeri bir dereceye sahip olmalarını şart koşsa da, iş başvurusunda bulunanlar bu teknik niteliklere sahip değilse, başvuruları nasıl geliştireceklerini bildiklerini ve tüm alana ilişkin anlayışlarını gösterdiklerini kanıtlayabilirler. Onları işe alacak. Ancak, nitelikli bir geliştiricinin parçası olmak, verimsiz kod yazmamak veya yanlış araçlar kullanmamak, temel algoritmaları ve veri yapılarını anlamak ve analiz etme ve dengeleme becerisidir. İşte öğrenmeniz gereken bazı şeyler:

    • Çeşitli hash tablolarını öğrenin ve bunları derinlemesine anlamaya çalışın. Bu veri yapısı JavaScript nesnelerinin temelini oluşturur (Python'da bir sözlük, Ruby'de bir karma numarası)

    • Veri yapıları olarak ağaçların ve grafiklerin faydalarını anlayın.

    • Gerçekte ihtiyacınız olmayan üç düzey iç içe döngü yazmamak için Big-O analizinin temellerini anlayın.

    • Nesneleri veya dizileri ne zaman kullanacağınızı bilin ve dengeyi anlayın.

    • Büyük ölçekli veri önbelleğe alma işleminin önemini öğrenin. Ayrıca bellek veri tabanı ve disk depolamanın avantajlarını ve dezavantajlarını öğrenin.

    • Sıra ve yığın arasındaki farkı öğrenin.

    Bunların hepsini öğrenmek zor bir iş, ancak sonunda ödüllendirici olacak ve tam yığın geliştirmenin kendisi de çok ilginç! Lütfen yorumunuzu aşağıya bırakın ve algoritma egzersizleri için coderbyte'a (https://coderbyte.com/) göz atın.

    Reformun öncüleri, reformun 40. yıldönümünü tartışmak ve açılmak için mezun oldukları okullara döndüler
    önceki
    Pekin'in "En Güzel On Ağaç Kralı" açıklandı, en yaşlı ağaç 3.500 yaşında
    Sonraki
    Land Rover'ın yeni Discovery Shenxing'in en son casus fotoğrafları 2020'de ortaya çıktı
    Yerli üretime ne oldu? Google ve Firefox, Wotongun güvenini art arda iptal etti
    Yeni Mercedes-Benz GLS sınıfının en son casus fotoğraflarının Frankfurt Otomobil Fuarı'nda tanıtılması bekleniyor.
    Ma Yansong'un Manhattan'daki gökdelen tasarımı bu "güçlü" binalardan farklı
    Xiaomi Mi MIX 3 sinyali ölçüldü: iPhone XS Max'e karşı zafer
    #Meme: "Dikkati dağılmış erkek arkadaş" CP, Macaristan için bir tanıtım aracı haline geldi
    Cadillac XT6 Kuzey Amerika Otomobil Fuarı resmi haritası yayınlandı, BMW X5'in yeni rakibi
    Angular, Vue'dan daha iyi nerede? (Vue hayranlarının savaş alanına ulaşmak için hâlâ 30 saniyeleri var)
    LVMH Group ilk çeyrekte% 16 büyüdü ve Birkin çantalar değer kaybedebilir | Vanity Daily
    Yeni bir "1211" yetenek işe alım planı turu yayınlandı
    Sonuna kadar pratikliği gerçekleştirin, ilk test sürüşü SAIC Maxus G50 ilk kez
    InterContinental Qingdao Haier, Fransız Gastronomi Derneği için "Çin Aşkını" sunar.
    To Top