일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 재귀함수
- javascript
- GUI
- a태그
- 자바스크립트
- Semantic
- 와이어프레임
- DOM
- HTTP
- 웹접근성
- 반복문
- 숙면기원
- html5
- 리액트
- target="_blank"
- API
- React
- 공부
- jsx
- node.js
- CSS
- 조건문
- 야행성
- cli
- 페어프로그래밍
- 네트워크
- display:flex
- 생활패턴
- 시멘틱
- 코딩테스트
- Today
- Total
뉴비 개발자의 학습일기
[2023.02.23]-웹에서 작동하는 계산기 기능 일부 구현하기 본문
지난번에 HTML과 CSS를 활용해 계산기의 겉모습을 만들어 봤었는데, 오늘은 형태를 갖춘 계산기가 웹에서 작동할 수 있게 구현해보는 것이 과제로 나왔다. 물론 실제 계산기의 기능을 모두 구현하는 것은 아니었지만 간단한 기능을 구현해보는 것도 결코 쉽지 않았다.
기초적인 자바스크립트 문법과 표현식 등을 막 배운 상태인 나는 위 코드의 첫 부분부터 이해가 잘 가지 않았다. 물론 코드 옆에 주석으로 설명이 되어 있고 코드스테이츠 강의 페이지 내에도 간단한 설명과 힌트 등이 쓰여있었지만, querySelector를 아직 배운 적이 없고 HTML과 자바스크립트를 연결하는 방법 및 원리 등도 당연히 전혀 모르는 상태이기 때문에 문제를 이해하는 것 부터 상당한 노력이 필요했다.
textContent가 이번 과제를 해결하는 과정 중 핵심이 되는 코드였지만 처음에는 이것을 활용해야 한다는 사실조차 알지 못 했다.
페어 분이 textContent나 innerText 같은 것을 사용해야 한다고 직접적으로 언질을 주시기 전까지는 발만 동동 구르고 있었다.
그 때까지는 머릿속에서 정리해 본 의사코드를 떠올리며 구글에 열심히 검색을 해 여러 가지 속성이나 태그들을 찾을 수 있었지만, 그 중 어떤 것을 어떻게 써야 할지 도저히 갈피가 잡히지 않았다.
감사하게도 페어 분의 도움을 받아 계산기의 첫 번째 칸에 숫자를 출력할 수 있었고, 이어지는 사칙연산 버튼의 출력 및 두 번째 칸의 숫자 출력, 함수 호출은 열심히 고민하며 자력으로 코드를 써내려 갈 수 있었다. 그렇게 어떻게든 과제의 최소 요구사항은 만족시킬 수 있었다.
그렇지만 최소 요구사항은 당연히 '학습내용을 충분히 활용한 수준'은 아니다. Bare minimum requirements 다음에는 조금 더 심화된 내용인 Advanced 난이도에 해당하는 과제들이 있었고, 복잡한 수준의 기능까지 구현해야 하는 Nightmare 난이도의 과제도 있었다.
개인적인 욕심으로는 Advanced 과제의 일부분만이라도 해결하고 싶었지만, 현재 나의 코드를 활용하는 능력이나 구현해야 할 기능에 필요한 코드 알고리즘 작성 능력으로는 주어진 시간 안에 돌파구를 찾기 어려웠고 오늘도 역시 겨우겨우 코스를 따라가고 있다.
단 하루만에도 새롭게 배우는 내용이나 익혀야 할 스킬들이 쏟아진다. 마치 촘촘하지 않은 그물로 쏟아지는 물고기를 잡는 것마냥 줄줄 새는 것들을 주워담기 급급한 모양새다. 하지만 반대로 생각해보면 그만큼 성장할 수 있는 기회로 꽉 찬 하루를 치열하게 보내고 있다는 뜻이다.
당장 내 주변에만 해도 너무나 따라잡기 힘들 것 같은 실력의 소유자들이 많지만, 토끼를 좆는 거북이의 마음가짐으로 하루하루 작지만 확실하게 엉금엉금 발을 내딛어야 한다.
'프론트엔드 과거의 흔적' 카테고리의 다른 글
[JavaScript]- 객체 기초 개념 (0) | 2023.03.01 |
---|---|
[2023.02.24]-Linux/Git 기초(CLI 명령어 및 패키지매니저) (0) | 2023.02.24 |
[2023.02.22]-조건문과 반복문 연습 문제 풀이 (0) | 2023.02.22 |
[2023.02.21.]-JavaScript 조건문과 반복문 (0) | 2023.02.21 |
[2023.02.20]-JavaScript 기초 변수, 타입, 표현식 (0) | 2023.02.20 |