2024년 9월 26일(목)
안녕하세요 여러분!
무엇보다도 변함없는 격려를 보내주신 Grëg Häris와 전체 개발팀에 진심으로 감사드립니다. 100일 코드 챌린지에 착수했을 때 Dev가 내 진행 과정에 얼마나 중추적인 역할을 하는지 살짝 엿볼 수 있었습니다. Blogging on Dev는 내가 배우는 모든 것을 통합하고 실제 상황에서 테스트하여 온라인 학습 서클을 완성했습니다. Codecademy 수업과 마찬가지로 학습은 사회적이며 Dev에 게시할 수 있다는 것은 선물이며 다방면의 경험입니다. 저 역시 여러분 모두에게서 많은 것을 배웁니다.
도전 극복
인생은 내 방식대로 몇 가지 변화구를 던졌고 이로 인해 내 블로그 일정이 방해를 받았습니다. 나는 이에 대해 전적인 책임을 집니다. 이러한 어려움에도 불구하고 때로는 하루에 한 시간만이라도 코딩을 계속했습니다. 우선순위를 정해야 했고, 불행하게도 블로깅은 뒷전으로 밀려났습니다. 약간의 숙고 끝에 나는 약 열흘 후에 정학을 선언하기로 결정했습니다. 블로그를 하지 않는 것이 이상적인 것은 아니지만 필요한 타협이었습니다. 78일차 픽업.
블로깅과 코딩의 균형
블로깅에는 노력이 필요하다는 것을 인식하고 블로그 이외의 코딩 문제를 위해 일주일에 최대 이틀을 예약하기로 결정했습니다. 주말까지 유지하는 것을 목표로 삼고 있지만 언제든지 가능합니다. 아시다시피 제 블로그 스타일은 단순하고 일부 과제는 점점 더 어려워지고 있습니다.
오늘의 학습: Arrow Factory 기능
오늘 저는 Arrow Factory 함수가 본문 내용 스타일에 따라 다르게 동작하며, 이는 유연성에 큰 영향을 미칠 수 있다는 것을 배웠습니다. 온라인 학습은 종종 이러한 미묘한 세부 사항을 얼버무리고 공유할 수 있는 흥미로운 레이어를 추가합니다.
프로젝트 하이라이트: 오늘의 제너레이터 의상
예를 들어 오늘의 과제를 생각해 보세요. 시작은 간단했습니다. 최소한 세 가지 데이터를 사용하는 오프라인 메시지 생성기였습니다. 점쟁이, 운세 또는 세 가지 정보와 관련된 메시지를 만드는 것이 아이디어였습니다. 저는 재미를 위해 "오늘의 의상" 생성기를 만들기로 결정했습니다.
다음으로 까다로운 부분이 나왔습니다. 3비트의 데이터를 보관하는 객체와 데이터 부분을 무작위로 할당하는 도우미 함수가 있는 메시지 생성 함수를 생성하면 간단하게 유지할 수 있었습니다. 그런데 공장 기능을 실습해보고 싶었는데, 이게 절호의 기회였어요.
공장 기능은 본질적으로 어려운 것은 아니지만 데이터와 기능을 모두 포함합니다. 나는 본문이 어떻게 작성되는지가 다른 부분이 어떻게 작성되는지를 결정하고 일부 부분이 암묵적으로 작동한다는 것을 배웠습니다. 객체의 데이터에 완전히 접근하기 위한 객체 메소드를 얻으려면 키워드 함수가 필요합니다. 전통적인 본문 콘텐츠 스타일은 더 유연한 반면, 간결한 본문 콘텐츠 스타일은 암시적으로 개체를 반환합니다. 아래 코드는 간결함을 보여줍니다.
// Object of available outfit items const items = { shirt: ['swag t-shirt', 't-shirt with clever saying', 'sweater', 'hoodie'], pants: ['cargo pants', 'jeans', 'chinos'], shoes: ['sneakers', 'boots', 'sandals'], accessory: ['backpack', 'poof ball hat', 'ball cap', 'sunglasses'] }; // Utility function to randomly select an item in each category const selectRandomItem = category => { const randomIndex = Math.floor(Math.random() * items[category].length); return items[category][randomIndex]; }; // Outfit factory function const outfitFactory = () => ({ shirt: selectRandomItem('shirt'), pants: selectRandomItem('pants'), shoes: selectRandomItem('shoes'), accessory: selectRandomItem('accessory'), logOutfit: function() { // Note: ': function' so method can be used with dot notation console.log("Outfit:"); console.log(`Shirt: ${this.shirt}`); console.log(`Pants: ${this.pants}`); console.log(`Shoes: ${this.shoes}`); console.log(`Accessory: ${this.accessory}`); } }); const outfit = outfitFactory(); outfit.logOutfit(); // Output, randomly selected: // Outfit: // Shirt: swag t-shirt // Pants: cargo pants // Shoes: boots // Accessory: backpack
GitHub 브랜칭 수용
마지막으로 이 프로젝트의 목표는 우리가 예비 개발자로서 하는 것처럼 분기를 사용하여 GitHub에서 작업하도록 하는 것입니다. 몇 년 동안 비공식적으로 Git을 사용했지만 브랜칭을 사용하면 브랜치 풀 요청, 병합, 리베이스와 같은 기능과 함께 stash, pop 또는 Apply와 같은 기능이 새로워졌습니다.
즐거운 코딩하세요!
위 내용은 Day / Days of Code: 배움과 성장의 여정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!