안녕하세요, 저는 Tammy Alemu입니다. Laravel 인턴으로서의 흥미진진한 여정을 안내해 드리겠습니다. 저는 업계 경험을 쌓고, 읽기 쉬운 코드를 작성하고, 프레임워크를 깊이 이해하는 것을 목표로 삼았습니다. 제가 직면한 문제와 그 과정에서 찾은 솔루션을 포함한 모든 과정은 다음과 같습니다.
인턴십 동안 저는 세 가지 주요 목표를 세웠습니다.
업계 경험: 전문적인 환경에서 실무 경험을 쌓으세요.
읽기 쉬운 코드: 깔끔하고 유지 관리가 가능하며 읽기 쉬운 코드를 작성하세요.
프레임워크 이해: Laravel 프레임워크에 대한 깊은 이해를 기릅니다.
제 여정은 개발 환경을 구축하는 것부터 시작되었습니다. 이 인턴십 전에는 블레이드 뷰나 Vite와 함께 번들로 제공되는 JavaScript를 통해 프런트엔드 아키텍처를 사용하여 백엔드와 상호 작용했습니다. 그래서 저는 CORS 등을 설정할 필요성을 실제로 보지 못했습니다. 그러다가 Postman을 소개받았어요 — 와, 정말 획기적인 게임이네요!
우체부
Postman은 HTTP 요청을 설정 및 편집하고, 매개변수와 값을 전달하고, 인증 및 전달자 토큰을 관리하는 데 도움을 주었습니다. 이를 통해 백엔드의 구조와 작동 방식에 대한 이해가 넓어졌습니다. 데이터를 원시 형태로 보고 직접 조작하는 것은 놀라운 일이었습니다. 복잡해 보이는 백엔드 작업이 처음 생각했던 것보다 훨씬 간단하다는 것을 깨달았습니다.
작곡가
Composer는 또 다른 필수 도구였습니다. 저는 이를 패키지 설치에 사용했으며 PHP PSR-4 형식 지정 표준을 엄격하게 준수했습니다. 엄밀히 말하면 진심입니다! 하하. 문서를 생성하고 추가 공백이나 모델 및 테이블의 잘못된 명명 규칙으로 인해 네임스페이스에 오류가 있음을 깨닫는 등 표준을 따르지 않을 때 오류가 발생했습니다.
프로젝트 설정에는 몇 가지 주요 단계가 포함되었습니다.
저장소 관리
리포지토리를 복제하고 환경을 설정하는 것이 처음에는 꽤 부담스러웠습니다 — 하하, 정말 힘든 일이었습니다! 나는 문서를 생성하는 패키지인 scribe:generate를 소개받았습니다. 처음에는 "뭐야?!" 싶었어요. 특정 클래스 시더를 운영하는 것도 또 다른 과제였습니다. php artisan db:seed --class=...Seeder가 특정 시더 클래스를 직접 실행하여 특정 테이블이나 데이터 세트를 개별적으로 시드하는 데 유용하다는 사실을 깨닫기 전까지는 일반 시더와 비교하여 그 목적을 이해하지 못했습니다.
모델 및 데이터 처리
모델과 지정된 데이터 유형에 새 속성을 추가할 때 필요한 매개변수를 강조했습니다. 데이터 직렬화 및 형식 응답 변환에 익숙해지는 것이 중요했습니다. 또한 특정 데이터의 형식을 지정하기 위해 포함 및 기본 포함을 사용하고 응답에 데이터를 추가하기 위해 구문 분석된 포함을 사용하는 방법도 배웠습니다.
열심히 로딩
열심히 로딩하는 것은 제가 배운 아름다운 것 중 하나였습니다. 새로운 SQL 쿼리가 루프 내에서 실행되는 지연 로딩 대신, 즉시 로딩은 단일 쿼리를 수행하여 필요한 모든 데이터를 로드합니다. with 도우미는 효율적인 데이터베이스 쿼리에 필수적이었으며, 이를 통해 Laravel에서 사용할 수 있는 아름다운 도우미를 살펴보게 되었고, 이것이 얼마나 큰 변화를 가져왔는지!
쿼리 범위 및 빌더
컨트롤러에서 사용할 수 있는 쿼리 범위를 사용하여 데이터를 변환하기 전에 가져왔습니다. 쿼리 빌더는 또한 효율적인 데이터 검색을 위해 제가 선호하는 도구가 되었습니다.
컨트롤러
컨트롤러는 다양한 요청 유형(GET, POST, UPDATE)에 대한 기본 논리를 처리합니다. Scribe 문서에 엔드포인트를 작성하고 명확하게 설명하는 방법을 배웠습니다. 재사용 가능한 코드를 다양한 컨트롤러로 추출하는 작업을 사용하면 깔끔한 코드 구조가 보장됩니다. 데이터베이스 작업 시 try-catch 메소드를 구현하는 것은 또 다른 귀중한 교훈이었습니다.
조회수
광범위하게 사용되지는 않지만 주로 메일 응답 형식을 지정하는 데 뷰가 사용되었습니다.
API 개발
RESTful 원칙에 따라 API를 설계하고 구현하는 방법을 배웠으며 Laravel에 내장된 로깅 도구와 Postman을 사용하여 테스트했습니다.
이 지식을 통해 저는 Laravel 사교계 명사를 구축하고 작업하고, 로그인을 위한 Google 인증과 Laravel sanctum을 내 GitHub 프로필에서 실시간으로 사용할 수 있게 되었습니다.
도전
처음에는 코드베이스를 이해하는 것이 어려웠습니다. 특히 Postman에 사용 가능한 수집 경로가 없었기 때문입니다. 이를 구축하고 구조를 이해해야 했기 때문에 때로는 추가 매개변수가 필요하고 개발 프로세스가 느려졌습니다.
PHP에 대한 얕은 기본 지식도 내 발전에 영향을 미쳐 작업에 더 많은 시간을 소비하게 되었습니다.
솔루션
이러한 어려움을 극복하기 위해 기본을 익히는 데 집중했고, 맡은 업무 외에 별도의 지점에서 활동하며 연습했습니다. 저는 "Programming with GIO", "PHP the Right Way" 및 Laracasts 와 같은 리소스를 소싱하면서 PHP에 대한 이해를 깊게 했습니다. 강력히 추천합니다!
구문을 외우지 않아도 괜찮습니다. 하하, 이런 경우에는 늘 문서를 참고했어요. 문서를 읽으면 특정 주제에 대한 이해가 넓어집니다.
전반적으로 팀과 함께 일한 경험은 정말 훌륭했습니다. 급여를 받는 것 외에도 앱을 이해하고 구축하는 데 도움을 제공했습니다. 제가 함께 일하는 팀은 제가 달성해야 할 과제를 설명하고 제가 직면한 문제에 대처할 때 신속한 대응을 제공합니다.
위 내용은 라라벨 인턴으로서의 나의 여정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!