서론
분명 이 글을 집필한 날은 2일 차인데, 0일 차를 쓰다가 하루를 밀려 써버렸다. 사실 NULL일차가 올라온 시간도 2일 차 되는 날이니 사실상 3편을 2일 차에 올리는 꼴이다. 국비지원교육 듣는 사람으로서 실로 비상이 아닐 수 없었다. 그리고 알 수 없는 이유로 슬랙(Slack)이 뻗어버리면서 다른 비상상황이 벌어졌다. 아무래도 오늘의 운세는 그다지 좋지 않은 것 같다.
그래도 1일차에 배운 내용은 대강 기억이 나니 써보도록 하겠다. 사실 이번 글은 OT 내용이 영상으로 올려져 있어서 쓸 수 있는 것이기도 하다. 다만 프로그래머스 데브코스 오리엔테이션인 만큼, 이번 일차는 TIL보다는 IQ 86의 내가 추후 까먹지 않기 위한 데브코스 메모의 성격에 가까운 내용이 주를 이룰 것 같다.
오리엔테이션
행정 오리엔테이션보다는 운영 오리엔테이션 위주이다. 행정은 언제까지나 코딩부트캠프에서의 주의사항이나 학습 내용이 주를 이루니 말이다.
데브코스 내 프로젝트
이번 데브코스에서 개발할 프로젝트는 총 4개다.
- React와 Bootstrap을 활용한 프로젝트.
- React Native 앱 클로닝 프로젝트.
- SNS 서비스 기획 및 제작.
- 수강생이 주도하는 자유 최종 프로젝트.
이러한 프로젝트들은 자바스크립트, React, AWS, Firebase, Rest API, Figma 등과 함께 학습 중간중간에 진행될 예정이다. 개인적인 생각에는 이런 식으로 커리큘럼을 하면 프로젝트 진행을 통해 더 많은 걸 배울 수 있을 것 같은 느낌이다.
학습 과정
이번 데브코스의 기본적인 학습 과정은 다음과 같다.
- 학습
- 피드백
- 그룹 활동.
- 과제
- 오늘 내가 배운 사안에 대한 리뷰
- 블로그에 TIL 작성
물론 단순 학습 뿐만 아니라 라이브 특강 또한 존재한다. 토요일 혹은 별도 지정된 날에 진행된다고 한다. 현업에 계신 분들께서 채신-기술이나 이런저런 특강을 해주신다고 하신다. 개인적으로는 꽤 재미있어 보인다.
그리고 TIL의 경우에는 강제적인 건 아니지만, 권장 사항에 가깝다. 추후 잘 작성하는 사람에게는 기프티콘 같은 것이 나간다고 한다. 이건 솔직히 속보이는 말이지만, 기프티콘 복사 이벤트인 만큼 수강생으로선 안 할 이유가 없다. 요즘 같은 고물가 시대에 이런 건 꼭 받아야 한다. 🤑
참고로 저작권/지적재산권에 주의하라고 한다. 대충 강의 내용을 캡쳐해서 배포하지 말라는 뜻이다. 물론 소스 코드도 마찬가지다. 항상 글을 올리기 전에 생각하고 올려야 할 것 같다.
커뮤니케이션
- ZOOM 강의 중에는 카메라를 켜자.
강의를 듣는 태도 면에서 카메라를 켜는 게 맞다. - 출석 필수
수강생으로서 당연한 부분이다. - 서로 배려
팀원/수강생 간에 충돌이 없도록 서로 배려하도록 하자. - 비동기적 커뮤니케이션
요약하자면 질문이나 답변 내용을 한꺼번에 보내자는 것이다. 서로 대화를 하듯이 하는 걸 동기적 커뮤니케이션이라고 하는데, 이런 경우에는 서로 간의 질문-답변 시간이 크게 늘어지거나 제대로 된 답변이 안 될 수도 있기 때문이다. 물론 그렇다고 해서 아예 동기적 커뮤니케이션을 하지 말자는 것은 아니다. 시간적, 공간적, 학습적으로 보았을 때 상황에 맞춰서 비동기적 커뮤니케이션을 하자는 것이다.
다음과 같은 내용들을 수강하면서 유의해야 할 것 같다.
팁
- 강사/멘토를 적극적으로 활용할 것.
대충 적극적으로 질문하고 이런저런 상담을 받아봐라는 뜻이다. - 진도 밀리지 말기, 출석 박살내지 말기.
반복해서 나오는 걸 보면 종종 그런 사람들이 있는 모양이다... - 자기 주도적 학습.
'나'가 학습의 중심이 되도록 하자. - 궁금한 내용은 개인 메시지보다는 공개적인 메시지방을 이용하자.
아무래도 다른 사람들 중에서도 궁금한 사람들이 있을 수도 있으니 말이다. - 프로젝트, 포트폴리오, TIL 관리는 평소에.
2번과 맥락을 비슷하게 하는 것 같다. 대충 밀리지 말자는 내용이다. - Git 기록은 평소에 하자
2번, 5번과 비슷한 맥락이다. 자기가 해온 것을 주기적으로 기록하자는 뜻이다.
이외에도 좋은 결과를 얻어간 수료생 선배들의 공통점 같은 걸 알려주시기도 했다. 앞서 말한 팁과 비슷한 맥락의 내용이었다. 다만, 전반적인 느낌은 서로 열심히 활동하고, 서로 가까이 지내자는 것에 가까웠다.
좋은 개발자란 무엇인가?
이확영 개발자님께서 알려주신, 좋은 개발자가 무엇인지에 대한 내용이다.
일단 내가 생각하고 있던 기존의 좋은 개발자는 다음과 같았다.
- 코드를 잘 짜는 개발자.
- 소통과 협력을 잘하는 개발자.
- 성실한 개발자.
대학교를 다닐 당시 좌충우돌 폭풍을 부르는 팀프로젝트들을 하며 익힌 것들이었다.
과연 이것들 중에서 겹치는 게 얼마나 있을까?
- 문제 정의와 해결을 잘하는 개발자.
코딩 문제를 푸는 것이 아닌, IT 기술을 이용해서 문제를 해결하는 엔지니어가 좋은 개발자다. - 이해하기 쉬운 코드를 작성하는 개발자.
나 이외의 타인도 이해가 쉬운 코드를 잘 짜는 것이 좋은 개발자다. - 소통과 협업을 잘하는 개발자.
합리적인 판단을 위해서 남의 의견을 경청하고, 함께 나아가고 협력하는 개발자가 좋은 개발자다. - 지속적으로 학습을 하는 개발자.
변화가 빠른 IT 업계. 지속적으로 학습하는 것이 좋은 개발자의 조건이다. 물론, 그렇다고 해서 새로운 기술에 비합리적일 정도로 미치지는 말자. - 끊임없이 개선하는 개발자.
수련... 재련... 단련... 이미 만들어진 것을 더 개선하고자 하는 마음가짐을 갖자.
전부는 아니지만, 나름대로 겹치는 게 있었다. 꽤 의외였다. 확실히 프로젝트, 개발을 하다보면 사람마다 비슷한 생각을 하는 것 같다.
출석 시스템
데브코스 내 강의는 총 3가지로 구분된다.
온라인 강의, 라이브 강의, 오프라인 강의. 해당 강의들은 각기 다른 형태의 출석 시스템을 갖고 있다.
온라인 강의
온라인 강의는 LMS 기반의 강의이다.
프로그래머스 홈페이지에서 듣는데, 하루 최대 10시간까지만 수강이 인정이 된다. 1일에 5시간 분량이 나오는데, 3일 치 강의가 밀렸고 하루에 3일 치 강의를 전부 들으면 15시간 분량 중에서 10시간 분량만이 인정된다는 소리다. 즉, 강의가 밀리는 일이 없도록, 너무 일찍이 미리 듣는 일이 없도록 하라는 말이다.
이러한 온라인 강의는 휴대폰 본인인증 후 강의 듣는 걸 진행한다. 또한, 본인인증 시 출석이 되는데 이 출석은 수강 인정 시간과 별개의 개념이다. 출석만 하고 수강 안 하는 일이 없도록 조심하자.
라이브/오프라인 강의
ZOOM 등의 라이브 시스템을 이용하거나, 오프라인 현장에서 직접 듣는 강의이다.
강의 시작 시 HRD 앱의 QR 코드로 '시작' 출석체크를 하고, 강의 종료 시 HRD 앱의 QR코드로 다시 한 번 더 '종료' 출석체크를 해야 한다. 하나만 하면 출석 인증은 안 된다. 아무래도 강의 도중에 도망치거나, 제대로 안 듣는 사람들을 막기 위해 이런 방식이 도입된 것 같았다.
참고로 라이브/오프라인 강의는 출석 체크 반영이 바로바로 안 된다. 며칠~몇 주 뒤에 몰아서 반영이 된다고 한다. 결석이라고 해도 겁먹지 말자.
HTML/CSS/JS 기초 개념
HTML - HyperText Markup Language
웹 브라우저가 이해할 수 있는 언어
정의: 웹 페이지의 구조를 정의하기 위한 마크업 언어(Markup Language).
역할: 웹 문서의 구조를 설계하고, 다양한 요소를 표현하여 브라우저에게 전달.
CSS - Cascading Style Sheets
문서를 예쁘게 꾸미는 언어
정의: 문서를 시각적으로 꾸미기 위한 스타일 시트(Style Sheets) 언어.
역할: HTML로 정의된 요소들의 레이아웃과 디자인을 조절하여 웹 페이지를 예쁘게 표현.
JS - JavaScript
문서에 기능을 만들어주는 언어
정의: 웹 페이지에 동적인 행동과 상호작용을 부여하기 위한 프로그래밍 언어.
역할: 웹 페이지를 동적으로 제어하고, 사용자와 상호작용하며, 웹 애플리케이션에 다양한 기능을 구현.
비주얼 스튜디오 코드(VS Code) 세팅
이번 데브코스에서 사용할 IDE는 비주얼 스튜디오 코드로, Sublime Text와 비슷한 종합적인 코드 편집기 겸 텍스트 에디터이다. 설치는 아래의 공식 홈페이지 링크를 이용하거나, 구글에 'Visual Studio Code'를 쳐서 공식 홈페이지에 들어가도록 하자.
- https://code.visualstudio.com/
공식 홈페이지에 들어가면 다음과 같은 형태의 다운로드 버튼이 나온다. Download for Free를 눌러 안정화 버전을 다운로드하자. 이후 개인 기호에 따라 추가적인 설정을 조정하자. 다만, PATH와 관련된 내용은 절대로 체크 해제를 하면 안 된다. 나중에 환경 변수를 건드려야 하는 골치 아픈 일이 벌어질 수도 있다.
그렇게 프로그램을 켜고, 개인(본인) 컴퓨터일 경우 '모든 파일의 작성자 신뢰'를 체크해주도록 하자. 그리고 공용 컴퓨터의 경우에는 반대로 체크를 해제하고 제한된 모드에서 사용하도록 하자. 물론 이건 별 의미가 없을 것 같다. 어쨌거나 다들 개인 컴퓨터일 테니까.
그런 다음 주황색을 눌러 폴더 창을 열어주자. 폴더 열기를 통해 자신이 프로젝트를 지정할 곳을 고른 다음, 그곳에 폴더를 만든다. 그리고 해당 폴더를 클릭 후 '폴더 선택' 버튼을 열어 해당 폴더를 기본 저장 경로로 지정한다. 이후 해당 폴더명으로 프로젝트가 만들어지는데, 빈 공간에 마우스 우클릭을 하면 다양한 메뉴가 나온다. 폴더와 웹 개발에 필요한 파일을 이곳에서 생성할 수 있다.
참고로, 여기서 폴더 여러개를 겹칠 경우 다음과 같은 한 줄 나열 형태가 된다. 그냥 펼쳐져서 내려온 위의 폴더와는 다른 형태다. 이는 비주얼 스튜디오 코드 특유의 설정 때문이다.
- CTRL + , (컨트롤 + 콤마)를 눌러서 설정 페이지로 넘어가자.
그런 다음 상단의 페이지에 folder라고 검색하자. 이후 Explorer: Compact Folders 옵션을 내려가면서 찾아본다. 해당 옵션의 위치는 사용자마다 다르니 좀 주의 깊게 찾아봐야 한다. 강의에서는 3번째 즈음에 있다고 나와 있었는데, 나는 설치한 확장 프로그램이 많은 탓인지 한참을 내려야 했다.
해당 옵션을 체크 해제하면 그제야 폴더 구조가 컴팩트한 형태를 벗어난다.
바로 아래와 같이 말이다.
다만 해당 옵션은 사람의 기호에 따라 다르다. 나는 컴팩트한 형태가 좋기에 체크 해제 없이 그대로 두었다.
다음 내용은 VS Code 확장 프로그램과 관련된 내용인데... 일단 강의에서 나온 확장 프로그램들은 다음과 같다.
- Korean Language Pack for Visual Studio Code
VS Code 한글 패치. - Material Icon Theme
멋없는 VS Code 아이콘들을 멋지게 만들어주는 테마. - indent-rainbow
구분하기 힘든 들여쓰기를 색 구분을 통해 개선해 주는 확장 프로그램. - Live Server
웹개발 시 실시간으로 내용을 확인할 수 있는 간이 서버 확장 프로그램.
웹 개발에 기초라고 할 수 있는 4개 확장 프로그램이다. 다만, 조금 더 편안한 개발에는 이것 외의 다양한 확장 프로그램이 사용된다. 해당 확장 프로그램들은 시간이 남으면 따로 글을 올리도록 하겠다.
사족
이렇게 1일차 학습은 끝이 났다. 이제 앞으로 남은 5개월 간 최선을 다해서 개발에 전념하는 일만이 나에게 남아 있다.
그리고 더 쓰고 싶은 말이 있기는 하나, 다소 사족이고 이미 내용이 충분히 길기에 다음 일차 TIL에 적도록 하겠다.
'💻 종합 개발 주제 > 📚 웹앱 데브코스' 카테고리의 다른 글
4일차 데브코스 pt.2 - 클라우딩 어플리케이션 엔지니어링 TIL (2) | 2023.12.22 |
---|---|
4일차 데브코스 pt.1 - 클라우딩 어플리케이션 엔지니어링 TIL (0) | 2023.12.21 |
3일차 데브코스 - 클라우딩 어플리케이션 엔지니어링 TIL (2) | 2023.12.21 |
2일차 데브코스 - 클라우딩 어플리케이션 엔지니어링 TIL (2) | 2023.12.20 |
NULL일차 데브코스 - 클라우딩 어플리케이션 엔지니어링 TIL (2) | 2023.12.19 |