4주차

괜찮은!

따라서 제목에서 알 수 있듯이 저는 동료 동료들과 함께 3주차를 성공적으로 완료하고 4주차에 돌입했습니다. 이것은 우리가 단계의 과정에서 우리의 지식을 절대 한계까지 밀어붙이는 첫 번째 단계의 끝입니다. ! 이것은 확실히 도전이었지만 보람 있는 도전이었습니다. 화면을 응시하는 만큼 다음에 어디로 가야할지 생각에 잠긴 만큼, 내 장애물을 극복하는 서두름도 똑같이 느꼈습니다.

4주차는 모든 것이 모이는 곳입니다. 우리는 우리 자신의 명령줄 인터페이스 gem을 만드는 작업을 받았습니다! 처음 읽을 때는 확실히 신경이 곤두섰다. 두 번째 읽을 때는 갈기 시간이었습니다.

프로젝트 주간이 힘들다고 들었습니다. 여러 번. 너무 많아서 시간을 낭비하지 않고 시간이 되었을 때 최대한 준비할 수 있도록 연구를 시작했습니다. 제 시간이 되었을 때 모든 요구 사항을 해결할 수 있다는 자신감이 있었습니다.

내 프로젝트 아이디어는 동료 동료들의 도움을 중심으로 이루어졌습니다. 저는 사람들이 코드 라인을 따라가면서 직면하는 스트레스와 불안을 완화하는 데 도움이 될 수 있는 것을 만들고 싶었습니다. 그래서 탄생한 "스트레스 해소제"! 사용자를 맞이하고 스트레스를 받고 있는지 묻고 원하는 만큼 영감을 주는 인용문을 제공합니다! 요구 사항 중 하나는 프로그램이 한 단계 더 깊이 진행되도록 하는 것이었습니다. 이에 대한 내 아이디어는 인용문을 얻는 마지막 단계에 있었고 사용자는 인용문 목록을 읽고 목록에서 제공되는 인용문 작성자를 선택할 수 있는 옵션을 제공했습니다. 그것은 간단히 말해서 내 프로그램의 cli에 관한 것입니다. 충분히 간단하게 들립니다. 당신이 후드 아래에서 확인할 때까지.

내 프로젝트는 많은 변화를 겪었습니다. 이는 Flatiron이 이 프로젝트에 제공하는 창의적인 자유와 요구 사항 때문입니다. 오버레이 목표는 프로그램을 객체 지향적으로 만드는 것입니다. 이것은 당신이 OBJECTS를 만들고 OBJECTS로 작업하고 있다는 것을 의미합니다!!!!!! 친애하는 독자 여러분, 이것은 내가 당신에게 소리치는 것이 아니라 과거의 나에 대한 것임을 유의하십시오. 내 프로그램의 첫 번째 버전은 cli에서 직접 내 API(따옴표의 속성을 포함하는 해시로 임의의 따옴표를 가져옴)에서 정보를 가져왔습니다. 큰 안돼. 객체 지향 프로그램의 아이디어는 관심사를 분리하는 것입니다. 즉, 모든 작업을 수행하는 클래스가 하나만 있는 것이 아니라 작업을 분리하고 분리하는 것입니다. 평신도 용어를 실례합니다. 내가 그것을 내려 놓고 난 후, 진정한 재미가 시작된 곳입니다.

내가 언급하고 싶은 한 가지 변경 사항은 사용자 상호 작용을 중심으로 한 것입니다. 처음에는 사용자에게 다음과 같은 선택이 제공되었습니다.

print "Enter 1 for 'yes', 2 for 'no'
input.gets.strip


그렇군요.

사용자 입력을 위해 텍스트를 표시하는 최악의 방법은 아니지만 확실히 가장 예쁘지는 않습니다. 이에 대한 나의 솔루션은 훌륭한 코호트 리더인 Laura Berge에게서 나왔습니다. 그녀는 내 cli를 더 사용자 친화적으로 만들기 위해 ttyprompt gem을 살펴보라고 제안했습니다. 살펴보니 동의했고 gem을 다운로드하고 해당 gem을 구현하는 작업을 진행했습니다. 그래서 제 프로그램은 슈퍼 로봇 포메이션에서 다음과 같이 바뀌었습니다.

prompt_1 = TTY::Prompt.new
            puts ""
            prompt_1.yes?("> Would you like to know any of the authors?")


비록 당신이 말할 수 없을지라도 이것은 차이의 세계를 만듭니다. 이제 1 또는 2를 입력하는 대신 잘못된 입력에 대해 2개의 다른 방법으로 이동하고 사용 가능한 옵션을 반환하기 위해 사용자는 y/n(모든 질문 옆에 표시됨) 또는 예/아니오를 입력할 수 있습니다. 또한 사용자가 다른 것을 입력하면 잘못된 입력에 대한 출력이 자동으로 생성되고 사용자 선택이 녹색으로 바뀝니다. 이것은 게임 체인저였습니다. 내 프로그램은 보기에 훨씬 좋고 다른 사람들에게 발표하는 데 훨씬 자신감이 있습니다.

이것은 소프트웨어 엔지니어가 되는 분야의 또 다른 디딤돌일 뿐입니다. 나는 짧은 시간에 많은 것을 배웠고 이보다 더 감사할 수 없었다. 다음 장애물이 나를 어디로 데려갈지 보고 얼마나 설렜는지 말로 다 표현할 수 없습니다.

그때까지,

네이선 헤인스

좋은 웹페이지 즐겨찾기