JavaRush /Java Blog /Random-JA /JavaRushを勉強中。最初のプロジェクト、何があなたを待っているのか、そして何をしない方が良いのか。パート1。...
dwajot
レベル 41
Киев

JavaRushを勉強中。最初のプロジェクト、何があなたを待っているのか、そして何をしない方が良いのか。パート1。

Random-JA グループに公開済み
こんにちは ついに私の成功事例を共有する準備が整ったときが来ました。お伝えしたいことがたくさんあるので、いわば「初めての案件とやってはいけないこと」と実際の「仕事探しと面接通過」の2回に分けてお話します。私自身については多くは語りませんが、ここにいるほとんどの皆さんと同じように、私も大学を卒業して別の専門分野で働いていましたが、その後プログラマーになることを決意したとだけ言っておきます :) 早速トレーニングについて話しましょう。私は 2016 年の初めに JavaRush の勉強を始めました。私はプログラミングをどこで学ぶかを選択するのに長い時間を費やしましたが、もちろん、すべての従業員と同様に、トレーニングにお金を払いたくありませんでした。私の夢は Android でプログラミングすることなので、Java を勉強したいと思いました。検索中に何度かJavaRushコースが目に留まりましたが、シェアウェアだったので捨ててしまいました。YouTubeで動画レッスンを受け始めました。それにもかかわらず、何かの力で私は JavaRush の無料問題を解いてみようと強制され、50 回のビデオ レッスン (私はそれがごく普通のことだと思っていました) を完了し、講師の下でコードを書いた後、最初のレッスンではなく非常に困難であったことにとても驚きました。コースの最初の問題を解決してみてください。コースの質と、コースを完全に完了すると何が得られるのかを高く評価しました。その後、定期購読に割引が適用されることがあるというフォーラムを調べて、完全版を受講することに決めました。はい、多くの学生がこのコースについて怒り、憤慨しています。問題はまだ取り上げられていない内容に基づいて出題され、バリデーターはそれらを理解せず、フォーラムやフォーラムには非常に多くの内容が読み取れます。コメントで。そして、何だと思いますか?私もそうでした:) レベル34でまだ大きなタスクが残っており、すべての解決策を試しましたが、バリデーターはそれを受け入れません。サポートのおかげで黒い物質も得られ、無事に完走できて良かったです。一般に、JavaRush コースの卒業生として、コースの気に入った点と気に入らなかった点について主観的な意見を述べます (管理者の皆様、お許しください)。 気に入った点は、タスクの数、タスクの即時検証、リモート学習、仕事のスケジュールに縛られないトレーニング、コースの構造、学生フォーラム、そして価格です。 好きじゃなかった:コース中、バリデーターに適応し始めますが、バリデーターから抜け出すこと、他のアプローチを考えて見つけること(それでもそのようなアイデアはあり、ここでは非常にうまく実装されています)、いくつかのタスクのエラー、非常に複雑な作業が難しくなります。タスクの状況によっては (そのような場合にフォーラムがあるのは良いことです)、新しいインターフェイスも試してみましたが、あまり気に入らなかったので、幸いにも古いインターフェイスに切り替える機会がありました。結論から言えば、私はこのコースとそれが私に与えてくれたものに満足しています。1 年前、友人がブール値とボイドとは何か、メソッドとは何か、値を返す方法を私に説明しようとしたことを思い出します。なぜこれらの値を返す必要があるのか​​理解できなかったのを覚えています:) 今では、映画「マトリックス: ネオ」のシーンをよく思い出します: 銃弾を避ける方法を教えてくれませんか? モーフィアス: その時が来たら、もう必要なくなるよ。そして実際、その時が来たとき、彼はすでにこれらのスキルをアプリオリに持っていました。コースのレベル 30 になったとき、JavaRush が提供するインターンシップに参加したいと思いました。テスト課題を見て少し恐怖を感じました。私は友人に協力してもらいたかったのですが、締め切りの 1 週間前に友人が「ここは Google、ここにあるテクノロジーをすべて入力してください。そうすればサンプルがたくさん出てくるでしょう」と言いました。このようなことが起こったのは彼にとても感謝しています。なぜなら、そのとき私はプログラマーであることが何を意味するのかを初めて感じたからです。丸 4 日で課題を完了し、インターンシップに参加できて本当によかったと思いました。 インターンシップ。私はインターンシップを完了しませんでした。同時に最初のプロジェクトに取り組み始めましたが、それが私にとって優先事項であり、より興味深いことが判明したためです。また、企業で働きたくなかったのです。インターンシップ自体については何と言えばいいでしょうか? 長所も短所もありますが、全体的にはかなり良いです。今後もエンタープライズへの就職を考えているのであれば、受講する価値はあると思います。 最初のプロジェクト。上で述べたように、レベル 30 あたりでインターンシップを受けてプロジェクトを開始しました。それは今も昔も電報ボットです。コースの 20 ~ 30 レベルでもボットを作成したいという願望がありましたが、適切なチュートリアルや開始方法の説明が見つかりませんでした。それなのに、たまたまこんな記事を見つけたので、早速試してみました。興味のある人は、記事へのリンクを参照してください - Telegram Java でボットを作成する方法 率直に言って、この記事の著者は後で私を大いに助けてくれました。これについては後で説明します。このボットのアイデアは次のとおりです。プログラマーとして英語を学ぶ必要があるからです。文法は比較的よく知っていましたが、語彙を増やしたいと思っていました。単語を学習するためのボットがあればいいのにと思いました。ボットに関する詳細な情報は以前の記事ですでに書いたので繰り返しません - ここにリンクがありますTelegram bot Words 作るにあたって苦労したことをお話します。まず、電報 API を使用するのはこれが初めてです。これは最もシンプルで最も文書化された API の 1 つであると多くの人が言っていますが、初心者の私にとっては非常に困難でした。すべて選択によって行いました :) 場合によっては、たとえば、ボタンが押された後にボタンを削除するなど、機能を作成するのに丸 1 日を費やす必要がありました。約半月で、最初のベータ版をなんとか書くことができました。そのすべてのコードは 1 つの Java クラス内にあり、それをサーバーにアップロードしてみようと思いました。私のプロジェクトは商用ではないので、有料サーバーはすぐに破棄しました。ちなみに、インターンシップのサイトをホストするために使用されている Heroku サーバーのことを思い出しました。私は丸 2 日間このサーバーを試しましたが、サイトに関連するすべての指示がまったく機能しなかったため、すでに完全に絶望していました。しかし、ボットがあるので、そこで少し異なる動作をする必要があります。その結果、私はボットに関する記事の著者に手紙を書き、ボットをホストするためにどのサーバーを使用しているかを尋ねることにしました。そして、幸運が私に微笑みました。著者は非常にクールなプログラマーであることが判明し(私は今でも彼と連絡を取り合っています)、彼は私に彼のLinuxサーバーでボットをホストするように申し出ました(そして私がLinusを知っていれば、彼は私を割り当ててくれるでしょう)アカウント)。Linux の最初の学習には 1 日かかりましたが、もちろんエラーや困難がなかったわけではありませんが、サーバー上でボットが回転し始めました。また、この間に JavaRush コースを完了し、とても満足しました :) ボットのデータベースとして MySql を選択し、テーブルの最適化、エンジンの選択などに関する多くのレッスンを復習しました。初めてのプロジェクトに取り組む人全員にアドバイスをしたいと思います。すぐに全体の構造を検討し、少なくとも比較的拡張可能なアーキテクチャを構築するようにしてください。このようなエラーがあったため、おそらく 3 回書き直しました。はい、プロジェクトに次に何を追加したいかわからないことがよくあるので、それは難しいですが、それでも最小限のレベルでは追加することができます。すべてのコードを 1 つのクラスで記述しないでください。MVC を使ってみたり、OOP を思い出したりしてください。面白いのは、プロジェクトの準備がほぼ整ったときに、プロジェクトでいくつかの基本的な OOP 原則を使い始めたことです。これまで私はそれらについて考えもしませんでした。もちろん、ユーザーは通常、その製品がどのような言語で書かれているか、どのようなパターンやテクノロジーが使用されているかなど気にしません。しかし、数か月後にその製品を開いて、そこに何か追加したいと思うと、たくさんの良い言葉を考えるでしょう。自分自身について:) また、ロギングを行うことを忘れないでください。これにより、エラーを追跡し、ユーザーが最も使用している機能とさらに開発する必要がある機能を確認することができます。ちなみに、電報では、これを非常にクールな方法で行うことができます。すべてのログをリアルタイムでプライベート チャネルに送信することで、いわば、ある種のビッグ データを作成できます:) 最初のプロジェクトについて要約すると、作成には約 3 か月かかり、現在 14,000 人以上の登録ユーザーがおり、その多くが常連となって毎日外国語を勉強しています。 2つ目のプロジェクト。私の目標は Android プログラマーになることでした。そのため、ボットがほぼ完成した時点で、ボットを Android プラットフォームに適応させることにしました。私は startandroid コースでトレーニングを開始し、親友の Android 開発者が私にたくさんの素晴らしいタスクを与え、それらを確認し、何をやり直して完了する必要があるかを指示しました。基本的なスキルを習得したら、独自のアプリケーションを作成し始めました。最初のプロジェクトと同様に、さまざまな困難がありましたが、全体として見ると、少しは軽減されました。約 1 か月半で、最初のベータ版が完成しました (どのようなものになるかまったくわからなかったので、アプリケーションのデザイン全体を数回書き直す必要がありました)。次に、Google Play に開発者として登録し、マーケットにアップロードしました。最近、私は 2 つのプロジェクトを最適化して同期しています。一般的なデータベースとして Firebase を選択しました。非常に優れたドキュメントと多くのレッスンがあり、小規模なプロジェクトの場合は 1 GB のボリュームの無料版で十分です。2 番目のプロジェクトの最大の困難について簡単に説明します (これらの困難の一部は経験豊富な開発者にも発生すると思います)。これは、Android でのマルチスレッドの作成、画面サイズと拡張機能に関する多くの問題です。このデザインは、Photoshop、古いバージョンの Android のサポート、そしてリストにアニメーションがある場合は決してリサイクラー ビューを使用しないようにしなければなりませんでした:) Yandex がウクライナでブロックされた後、翻訳と音声のほとんどをそこから入手しています。言葉が多かったので、コードに追加のチェックを追加し、単にユーザーに vpn を使用するように通知する必要がありました。Google Play に登録するときにも問題が発生しました。開発者になるためには、(Apple Store とは異なり) 25 ドルの一時料金を支払う必要があります。支払い時にカードの限度額があり、支払いが滞ってしまいました。私は Google サポートに相談しなければなりませんでしたが、通常、彼らは私をあるオペレーターから別のオペレーターに送りましたが、最終的には彼らがただ丁寧に私を送ってくれただけであることに気づきました :) すべてを削除して、再度登録しなければなりませんでした (私だったらすぐに思いついたでしょう) )。プロジェクトの宣伝についてもう少しお話しします。ボットの場合、物事は少し単純になりました。ボットのアイデア自体は比較的新しいものです (私は主流にはなりませんでしたが、それでも大丈夫です)。ボット、VK、FB グループ、その他のリソースのディレクトリがあります。現在、私のボットは教育部門で 5 位を獲得しており、これは私にとって非常に良い結果です。ボット カタログで上位に進むには、評価される必要があります。私は、ユーザーが一定数のゲームをプレイしたときに (ボット内で一定の時間を過ごしたかのように) 1 回だけ投票するように提案しました (私自身は煩わしいのは好きではありません)。Android アプリでは事態はさらに悪化します。一つだけ言っておきたいのは、市場には何百万ものアプリケーションが存在するため、広告がなければ、たとえキーワードであっても、誰もあなたのアプリケーションに気付かないということです。プロジェクト間で同期した後、ボットでアプリケーションをアドバタイズしました。その後、最初の 14 個をダウンロードできました :) ここまで読んだ人がいるなら、興味があるなら、ここにアプリケーションへのリンクがあります - Words Android アプリケーション。ボットへのリンクは、本文の少し上にある記事の中にあります。ご清聴ありがとうございました。後半では、私の面接体験、聞かれた質問、就職活動全般についてお話します。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION