JavaRush /Java Blog /Random-KO /JavaRush를 공부하고 있습니다. 첫 번째 프로젝트, 당신을 기다리고 있는 것과 하지 않는 것이 가...
dwajot
레벨 41
Киев

JavaRush를 공부하고 있습니다. 첫 번째 프로젝트, 당신을 기다리고 있는 것과 하지 않는 것이 가장 좋은 것. 1 부.

Random-KO 그룹에 게시되었습니다
좋은 오후에요 드디어 성공 스토리를 공유할 준비가 된 시점에 도달했습니다. 많은 말씀을 드리고 싶어서, 말하자면 '첫 프로젝트와 하지 말아야 할 일'과 실제로는 '취직과 면접 합격'이라는 두 부분으로 나눠보겠습니다. 제 자신에 대해 많이 말씀드리지는 않겠습니다. 여기 있는 거의 모든 사람들처럼 저도 졸업하고 다른 전문 분야에서 일했지만 프로그래머가 되기로 결정했다는 것만 말씀드리겠습니다. :) 바로 교육에 대해 이야기해 보겠습니다. 저는 2016년 초부터 JavaRush를 공부하기 시작했습니다. 나는 프로그래밍을 공부할 곳을 선택하는 데 오랜 시간을 보냈고 물론 우리 모두와 마찬가지로 교육 비용을 지불하고 싶지 않았습니다. 저는 안드로이드에서 프로그래밍하는 것이 꿈이기 때문에 Java를 공부하고 싶었습니다. 검색 중에 JavaRush 강좌가 여러 번 눈에 띄었지만 셰어웨어라는 이유로 폐기했습니다. 유튜브에서 동영상 강의를 듣기 시작했습니다. 그럼에도 불구하고 어떤 힘으로 인해 JavaRush에서 무료 문제를 해결하려고 강요했고 50 개의 비디오 강의 (저는 꽤 평범하다고 ​​생각했습니다)를 마치고 강사 밑에서 코드를 작성한 후 큰 어려움을 겪었고 처음에는 그렇지 않았습니다. 강좌의 초기 문제를 해결해 보세요. 과정의 품질과 과정을 완전히 완료하면 어떤 결과가 나올지 감사하게 생각하고 포럼에서 때때로 구독에 대한 할인 혜택이 있다는 것을 보고 정식 버전을 수강하기로 결정했습니다. 예, 많은 학생들이 강좌에 대해 화를 내고 분개합니다. 문제는 아직 다루지 않은 자료를 기반으로 주어지고, 검증자는 이를 이해하지 못하며, 포럼에서 읽을 수 있는 내용이 아주 많습니다. 댓글에. 그리고 무엇을 추측합니까? 저도 그랬어요 :) 아직 레벨 34에 큰 과제가 남아있고 모든 해결방법을 다 시도해봤는데 검증인이 받아들여주지 않네요. 지원을 통해 흑색 물질을 제공하고 과정을 마칠 수 있어서 좋았습니다. 일반적으로 JavaRush 과정을 졸업한 저는 이 과정에서 제가 좋았던 점과 마음에 들지 않았던 점에 대한 주관적인 의견을 말씀드리겠습니다(관리자 여러분의 양해를 바랍니다). 나는 작업 수, 작업 즉시 확인, 원격 학습, 교육이 작업 일정, 과정 구조, 학생 포럼 및 가격과 관련이 없다는 점을 좋아했습니다. 좋아하지 않았다:과정을 진행하는 동안 유효성 검사기에 적응하기 시작하고 그 다음에는 다른 접근 방식을 생각하고 찾는 것이 어렵습니다(그러나 여전히 그러한 아이디어이며 여기에서는 꽤 잘 구현되어 있습니다), 일부 작업의 오류, 매우 복잡함 일부 작업 조건에서는(이러한 경우에 대한 포럼이 있다는 것이 좋습니다) 새 인터페이스도 사용해 보았습니다.별로 마음에 들지 않았지만 다행히 이전 인터페이스로 전환할 기회가 있습니다. 요약하자면, 나는 이 과정과 그것이 나에게 준 것에 만족합니다. 나는 1년 전에 친구가 나에게 boolean과 void가 무엇인지, 메소드가 무엇인지, 값을 반환하는 방법을 설명하려고 했던 것을 기억합니다. 왜 이 값을 반환해야 하는지 이해하지 못했던 기억이 납니다. :) 이제 영화 매트릭스: 네오의 한 장면이 자주 생각납니다. 총알을 피하는 방법을 가르쳐 주실 건가요? 모피어스: 때가 오면 더 이상 필요하지 않을 거예요. 그리고 실제로 때가 왔을 때 그는 이미 이러한 기술을 선험적으로 가지고 있었습니다. 과정의 레벨 30이 되면 JavaRush에서 제공하는 인턴십을 받고 싶었습니다. 나는 테스트 작업을 보고 약간 겁을 먹었습니다. 친구가 도와주길 바랐는데 마감일 일주일 전에 친구가 여기 Google이 있으니 여기에 모든 기술을 입력하면 많은 예가 나올 것이라고 말했습니다. 나는 그에게 이런 일이 일어난 것에 대해 매우 감사합니다. 왜냐하면 그때 처음으로 프로그래머가 된다는 것이 무엇을 의미하는지 느꼈기 때문입니다. 저는 4일 만에 과제를 완료했고 인턴십을 얻게 되어 정말 기뻤습니다. 인턴십. 저는 인턴십을 마치지 못했습니다. 동시에 첫 번째 프로젝트를 시작했지만 그것이 나에게 우선 순위이고 더 흥미로웠기 때문입니다. + 저는 기업에서 일하고 싶지 않았습니다. 인턴십 자체에 대해서는 장단점이 있지만 전반적으로 괜찮은 편입니다. 계속해서 기업에 진출할 계획이라면 고려해 볼 가치가 있다고 생각합니다. 첫 번째 프로젝트. 위에서 말씀드린 것처럼 레벨 30쯤 되어서 인턴십을 하고 프로젝트를 시작하게 됐어요. 그것은 텔레그램 봇이었고 현재도 그렇습니다. 20~30레벨 코스에서도 봇을 만들고 싶은 마음이 있었지만, 적절한 튜토리얼이나 시작 방법에 대한 지침을 찾을 수 없었습니다. 그런데 우연히 그런 기사를 접하고 바로 시도해보기 시작했습니다. 누구든지 관심이 있다면 여기에 기사 링크가 있습니다 - 텔레그램 Java로 봇을 작성하는 방법 솔직히 말해서 이 기사의 저자는 나중에 나에게 많은 도움을 주었습니다. 이에 대해서는 아래에서 설명하겠습니다. 봇에 대한 아이디어는 바로 프로그래머로서 영어를 배워야 한다는 것이었습니다. 나는 문법을 비교적 잘 알고 있었지만 어휘력을 향상시키고 싶었습니다. 단어 학습 봇이 있으면 좋겠다고 생각했어요. 이전 기사에서 봇에 대한 자세한 정보를 이미 썼으므로 반복하지 않겠습니다. 여기 Telegram bot Words 링크가 있습니다. 제가 만들면서 어떤 어려움을 겪었는지 말씀드리겠습니다. 첫째, 텔레그램 API를 사용한 작업은 이번이 처음입니다. 많은 사람들이 이것이 가장 간단하고 가장 잘 문서화된 API 중 하나라고 말하지만, 초보자인 저에게는 매우 어려웠습니다. 저는 선택을 통해 모든 작업을 수행했습니다 :) 때로는 버튼을 누른 후 제거하는 등 일부 기능을 만드는 데 하루 종일 소비해야 했습니다. 약 반달 만에 저는 모든 코드가 하나의 Java 클래스에 포함된 첫 번째 베타 버전을 작성할 수 있었고 이를 서버에 업로드하고 싶었습니다. 내 프로젝트는 상업용이 아니기 때문에 즉시 유료 서버를 폐기했습니다. 그런데 인턴십 사이트를 호스팅하는 데 사용되는 Heroku 서버가 기억났습니다. 나는 이틀 동안 이 서버를 시험해 보았고 사이트와 관련된 모든 지침이 전혀 작동하지 않았기 때문에 이미 완전한 절망에 빠졌습니다. 그러나 봇이 있고 거기에서 조금 다르게 행동해야 합니다. 결과적으로 저는 봇에 관한 기사 작성자에게 편지를 보내 그가 봇을 호스팅하는 데 어떤 서버를 사용하는지 물어보기로 결정했습니다. 그리고 행운이 저에게 미소를 지었습니다. 저자는 매우 멋진 프로그래머로 밝혀졌고(저는 아직도 그와 연락을 유지하고 있습니다) 그는 저에게 자신의 Linux 서버에서 봇을 호스팅하도록 제안했습니다(그리고 제가 Linus를 안다면 그는 저에게 할당할 것입니다) 계좌). Linux에 대한 초기 학습에는 하루가 걸렸으며 물론 오류와 어려움 없이 봇이 서버에서 회전하기 시작했습니다. 또한 이 모든 것 사이에서 저는 JavaRush 과정을 이수했고 매우 기뻤습니다. :) 저는 MySql을 봇의 데이터베이스로 선택하고 테이블 최적화, 엔진 선택 및 기타 모든 것에 대한 많은 강의를 검토했습니다. 나는 첫 번째 프로젝트를 수행할 모든 사람에게 조언을 해주고 싶습니다. 전체 구조를 즉시 생각하고 최소한 상대적으로 확장 가능한 아키텍처를 구축하도록 노력하십시오. 그런 오류 때문에 아마 3번 정도 다시 썼을 겁니다. 예, 어려운 일입니다. 프로젝트 옆에 무엇을 추가하고 싶은지 모르는 경우가 많지만 그래도 최소한의 수준에서는 추가할 수 있기 때문입니다. 한 클래스에 모든 코드를 작성하지 마세요!!! MVC를 사용해 보고 OOP 등을 기억해 보세요. 재미있는 점은 프로젝트가 거의 준비되었을 때 몇 가지 기본적인 OOP 원칙을 사용하기 시작했다는 것입니다. 그 전에는 그들에 대해 생각조차 해본 적이 없었습니다. 물론 사용자는 일반적으로 제품이 어떤 언어로 작성되었는지, 어떤 패턴과 기술이 사용되었는지 관심이 없지만 몇 달 후에 열어보고 거기에 뭔가를 추가하고 싶을 때 좋은 단어를 많이 생각하게 될 것입니다. 자기소개 :) 또한, 로깅을 잊지 마세요. 이를 통해 오류를 추적하고 사용자가 가장 많이 사용하는 기능과 추가 개발이 필요한 기능을 확인할 수 있습니다. 그런데 전보에서는 매우 멋진 방법으로 이 작업을 수행할 수 있습니다. 모든 로그를 실시간으로 개인 채널로 보내면 일종의 빅 데이터를 생성할 수 있습니다. :) 첫 번째 프로젝트에 대해 요약하려면 , 만드는데 약 3개월이 걸렸고, 현재 등록된 사용자는 14,000명이 넘고, 그 중 많은 사람들이 단골이 되어 매일 외국어를 공부하고 있습니다. 두 번째 프로젝트. 내 목표는 안드로이드 프로그래머가 되는 것이었기 때문에 봇 작업이 어느 정도 끝났을 때 이를 안드로이드 플랫폼에 적용하기로 결정했습니다. 나는 startandroid 과정으로 훈련을 시작했고, 나의 가장 친한 친구인 안드로이드 개발자는 나에게 멋진 작업을 많이 주었고, 그것들을 확인하고, 다시 하고 완료해야 할 것이 무엇인지 말해주었습니다. 기본적인 기술을 익힌 후에는 직접 응용 프로그램을 만들기 시작했습니다. 첫 번째 프로젝트와 마찬가지로 여러 가지 어려움이 있었지만 전체적으로 보면 조금은 덜했습니다. 약 한 달 반 만에 첫 번째 베타 버전이 준비되었습니다(어플리케이션이 어떻게 보일지 전혀 몰랐기 때문에 애플리케이션의 전체 디자인을 몇 번 다시 작성해야 했습니다). 그러다가 구글 플레이에 개발자 등록을 하고 마켓에 올렸습니다. 최근에 저는 두 프로젝트를 최적화하고 동기화하고 있습니다. 일반 데이터베이스의 경우 Firebase를 선택했습니다. 매우 훌륭한 문서와 많은 교훈이 있으며 소규모 프로젝트의 경우 1GB 무료 버전이면 충분합니다. 두 번째 프로젝트의 가장 큰 어려움에 대해 간략하게 이야기한다면(이러한 어려움 중 일부는 숙련된 개발자에게도 발생한다고 생각합니다) Android에서 멀티스레딩을 생성하는 것입니다. 화면 크기 및 확장에 많은 문제가 있습니다. Photoshop과 친해져야 했던 디자인, Android 이전 버전 지원, 목록에 애니메이션이 있는 경우 Recycler View를 절대 사용하지 않아야 함 :) Yandex가 우크라이나에서 차단된 후, 그곳에서 대부분의 번역과 음성을 얻습니다. 말이 너무 많아서 코드에 추가 검사를 추가하고 사용자에게 VPN을 사용하라고 알려야 했습니다. Google Play에 등록할 때도 어려움이 발생했습니다. 개발자가 되려면 Apple Store와 달리 일회성 $25의 수수료를 지불해야 합니다. 결제할 때 카드 한도가 있어서 결제가 멈췄어요. Google 지원팀에 문의해야 했고 일반적으로 그들은 정중하게 저를 보내고 있다는 것을 깨달을 때까지 저를 한 운영자에서 다른 운영자로 보냈습니다. :) 모든 것을 삭제하고 다시 등록해야 했습니다. (당장 생각했을 것입니다.) ). 귀하의 프로젝트 홍보에 관해 몇 마디 더 말씀드리겠습니다 .봇을 사용하면 상황이 조금 더 간단해졌습니다. 봇 자체에 대한 아이디어는 비교적 새로운 것입니다(주류에 진입하지는 않았지만 여전히 괜찮습니다). 봇, VK, FB 그룹 및 기타 리소스 디렉터리가 있습니다. 이제 내 봇은 교육 부문에서 5위를 차지했으며 이는 나에게 매우 좋은 결과입니다. 봇 카탈로그를 발전시키려면 평가를 받아야 합니다. 나는 사용자가 특정 수의 게임을 플레이할 때(마치 봇에서 시간을 보내는 것처럼) 한 번만 발생하는 투표를 제안했습니다. Android 앱을 사용하면 상황이 훨씬 더 나쁩니다. 한 가지만 말씀 드리겠습니다. 광고가 없으면 시장에 수백만 개가 있기 때문에 키워드로도 시장에 귀하의 응용 프로그램이 있다는 것을 아무도 눈치 채지 못할 것입니다. 프로젝트 간에 동기화한 후 봇에 내 애플리케이션을 광고했습니다. 그 후 처음 14번의 다운로드를 받았습니다. :) 지금까지 읽은 사람이 있다면 여기에 응용 프로그램에 대한 링크가 있습니다. 관심이 있으시면 Words Android 응용 프로그램 에 대한 링크입니다 . 봇에 대한 링크는 텍스트의 조금 더 높은 기사에 있습니다. 관심을 가져주셔서 감사합니다. 2부에서는 저의 면접 경험과 그들이 받았던 질문, 취업에 관한 전반적인 내용을 말씀드리겠습니다.
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION