JavaRush /Java Blog /Random-TW /學習JavaRush。第一個項目,什麼在等著你,什麼是最好不要做。第1部分。
dwajot
等級 41
Киев

學習JavaRush。第一個項目,什麼在等著你,什麼是最好不要做。第1部分。

在 Random-TW 群組發布
午安 我終於到了準備分享我的成功故事的時候了。我想告訴你很多,所以我將其分為兩部分 - 可以這麼說,“第一個項目和最好不要做的事情”和實際上“尋找工作並通過面試”。我不會告訴你太多關於我自己的事情,我只是說,就像這裡的幾乎每個人一樣,我畢業並在另一個專業工作,但後來決定成為一名程式設計師:)讓我們立即談論培訓。我從2016年初開始學習JavaRush。我花了很長時間選擇在哪裡學習編程,當然,像我們所有人一樣,我不想支付培訓費用。我想學習 Java,因為我的夢想是在 Android 上程式設計。在我的搜尋過程中,JavaRush 課程多次引起了我的注意,但我放棄了它,因為它是共享軟體。我開始在 YouTube 上學習影片課程。然而,後來,有些力量迫使我嘗試在JavaRush 上解決免費問題,令我驚訝的是,在完成50 個視訊課程(我認為它們很正常)並在講師的指導下編寫程式碼後,我遇到了很大的困難,而不是第一個嘗試解決課程最初的問題。我很欣賞課程的品質以及如果我完全完成它會給我帶來什麼,然後我在論壇上看到不時有很好的訂閱折扣,並決定我要學習完整版本。是的,許多學生對這門課程感到憤怒和憤慨 - 問題是根據尚未涵蓋的材料給出的,驗證者不理解它們,而且有很多很多的東西可以在論壇上閱讀和在評論中。你猜怎麼著?我也是這樣的:)我仍然有一個大任務掛在34級,我嘗試了所有的解決方案,但驗證器不接受它。還好支持給了我一些黑料,我才能夠完成課程。總的來說,身為 JavaRush 課程的畢業生,我會告訴你我對這門課程的喜歡和不喜歡的主觀看法(願管理員原諒我)。 我喜歡:任務數量、任務即時驗證、遠距學習、培訓不依賴你的工作日程、課程結構、學生論壇以及價格。 不喜歡:在課程中,你開始適應驗證器,然後很難擺脫它,思考並找到一些其他方法(但仍然是這樣的想法,並且在這裡實現得很好),某些任務中出現錯誤,複雜性很強在某些任務條件下(最好有一個針對此類情況的論壇),我也嘗試了新介面- 我不太喜歡它,幸運的是有機會切換到舊介面。總而言之,我對這門課程及其帶給我的東西感到滿意。我記得一年前,一位朋友試圖向我解釋什麼是 boolean 和 void、什麼是方法以及它們如何傳回值。我記得我有多久無法理解為什麼這些數值需要返回:)現在我經常想起電影《駭客任務》中的一個場景:尼奧:你要教我如何躲避子彈嗎?Morpheus:到時候,你就不再需要它了。事實上,到了那個時候,他已經先驗地具備了這些技能。在課程第 30 級時,我想獲得 JavaRush 提供的實習機會。我看著測試任務,有點驚悚。我真的希望我的朋友能幫助我做到這一點,但是在截止日期前一周他說這裡是谷歌,在這裡輸入所有技術,會有一堆例子。我非常感謝他發生了這件事,因為那時我第一次感受到了身為程式設計師的意義。我花了整整 4 天的時間完成了作業,我非常高興能得到實習機會。 實習。我沒有完成實習,因為同時我開始做我的第一個項目,但事實證明它對我來說是一個優先事項並且更有趣+我不想在企業工作。實習本身我能說什麼呢?有優點也有缺點,但整體還是不錯的。如果你打算繼續進入企業,那麼我認為這是值得的。 第一個項目。正如我上面提到的,在 30 級左右,我得到了實習機會並開始做我的專案。它過去是,現在仍然是電報機器人。即使課程達到 20-30 個級別,我也希望創建一個機器人,但我找不到合適的教學或如何開始的說明。然而,一次偶然的機會,我看到了這樣一篇文章,我立即開始嘗試。如果有人有興趣,這裡有一篇文章的連結 - How to write a bot in telegram Java 坦白說,這篇文章的作者後來對我幫助很大,這將在下面討論。該機器人的想法是這樣的:作為一名程式設計師,我需要學習英語。我對文法比較了解,但我想提高詞彙量。我認為如果有一個學習單字的機器人就好了。我之前已經在一篇文章中寫過有關該機器人的詳細信息,因此不再重複 - 這裡是鏈接Telegram bot Words 我來告訴你我在創作過程中遇到了哪些困難。首先,這是第一次使用 telegram api。雖然很多人說這是最簡單、文檔最好的 api 之一,但對我這個初學者來說卻非常困難。我透過選擇完成了所有事情:)有時我必須花一整天的時間來製作某些功能,例如,按下按鈕後將其刪除。大約半個月的時間我寫出了第一個測試版本,所有程式碼都在一個java類別中,我想嘗試將其上傳到伺服器。我的專案不是商業性的,所以我立即丟棄了付費伺服器。我記得 Heroku 伺服器,順便說一句,它是用來託管實習網站的。我嘗試了這個伺服器整整兩天,並且已經完全絕望了,因為根本不起作用 - 所有與網站相關的說明,但我有一個機器人,我需要採取一些不同的行動。因此,我決定寫信給有關該機器人的文章的作者,詢問他使用什麼伺服器來託管該機器人。然後幸運之神向我微笑- 作者原來是一位非常酷的程式設計師(我仍然與他保持聯繫),他讓我在他的Linux 伺服器上託管該機器人(如果我認識Linus,他會分配給我)一個帳戶)。最初學習 Linux 花了一天的時間,當然,並非沒有錯誤和困難,機器人開始在伺服器上運行。此外,在這一切之間,我完成了 JavaRush 課程,並且非常高興:)我選擇 MySql 作為機器人的資料庫,回顧了很多關於優化表、選擇引擎和其他一切的課程。我會給每個將要進行第一個專案的人提供建議 - 嘗試立即思考其整個結構並至少建立一個相對可擴展的架構。因為這樣的錯誤,我大概重寫了 3 次。是的,這很困難,因為很多時候您不知道要在專案中添加什麼,但您仍然可以在最低水平上做到這一點。不要將所有程式碼寫在一個類別中!嘗試使用 MVC,記住 OOP 等。有趣的是,當專案幾乎準備就緒時,我就開始在專案中使用一些基本的 OOP 原則。在此之前,我甚至沒有想過它們。當然,用戶一般不會關心這個產品是用什麼語言寫的,使用什麼模式和技術,但是當你幾個月後打開它,想要在那裡添加一些東西時,你會想到很多好詞好句。關於你自己:) 另外,不要忘記進行日誌記錄- 這允許您追蹤錯誤並查看用戶最常使用哪些功能以及需要進一步開發哪些功能。順便說一句,在電報中,您可以通過一種非常酷的方式來做到這一點- 將所有日誌實時發送到您的私人頻道,可以說,您可以創建某種大數據:) 總結一下第一個項目創建時間約3個月,目前註冊用戶已超過1.4萬,其中不少人已成為常客,每天學習外語單字。 第二個項目。我的目標是成為 Android 程式設計師,所以當我或多或少完成了這個機器人後,我決定將其適應 Android 平台。我開始使用 startandroid 課程進行培訓,我最好的朋友 android 開發人員給了我很多很酷的任務,檢查它們並說出需要重做和完成的內容。一旦我掌握了基本技能,我就開始製作自己的應用程式。和第一個專案一樣,有很多不同的困難,但如果我們把它當作一個整體,那就少一點。大約一個半月後,第一個測試版就準備好了(我必須重寫應用程式的整個設計幾次,因為我不知道它會是什麼樣子)。然後我在Google Play註冊為開發者並上傳到市場。最近我一直在優化和同步我的兩個專案。對於一般資料庫,我選擇了 Firebase - 非常好的文檔,很多課程,對於小型項目,1GB 容量的免費版本綽綽有餘。如果我們簡單地說一下第二個專案中最大的困難(我認為其中一些困難對於有經驗的開發人員來說也會出現),那麼這就是Android中多線程的創建,螢幕尺寸和擴展的許多問題,創建我必須與Photoshop 交朋友,支援舊版本的Android,並且如果您的清單中有動畫,也永遠不要使用Recycler View :) 在Yandex 在烏克蘭被屏蔽後,這就是我獲得大部分翻譯和語音的地方 -總而言之,我必須在程式碼中添加額外的檢查,並簡單地通知用戶使用 VPN。甚至在 Google Play 註冊時也遇到了困難 - 為了成為開發者,您需要一次性支付 25 美元的費用(與 Apple Store 不同)。當我付款時,我的卡有限額,我的付款被卡住了。我必須與谷歌支援人員交談,一般來說,他們將我從一個運營商發送到另一個運營商,直到我意識到他們只是禮貌地發送給我:)我必須刪除所有內容並重新註冊(我會立即想到這一點) )。關於推廣您的專案的更多資訊有了機器人,事情就簡單了一些——機器人的想法本身就比較新(我沒有進入主流,但還是可以的)。有一個機器人、VK、FB 群組和其他資源的目錄。現在我的機器人在教育部分排名第五,對我來說這是一個非常好的結果。要在機器人目錄中前進,您需要接受評估。我提出了一個讓用戶投票的提案,只有當用戶玩一定數量的遊戲時(就好像他在機器人中度過了一段時間),投票才會發生一次(我自己也不喜歡侵入性)。對於 Android 應用程序,情況會更糟。我要說一件事 - 沒有廣告,沒有人會注意到您在市場上的應用程序,即使是透過關鍵字,因為那裡有數百萬個應用程式。在專案之間同步後,我在機器人中宣傳了我的應用程式。之後,我獲得了前 14 次下載:) 如果有人已經閱讀了這一點,如果您有興趣,這裡有一個該應用程式的連結 - Words Android 應用程式。機器人的連結位於有關它的文章中,在文本的較高位置。感謝大家的關注。我會在第二部分告訴你我的面試經驗、他們問的問題以及一般的求職過程。
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION