우아한테크코스/우아한테크코스3

    우아한테크코스 3기 프리코스 최종 미션(9) - 회고

    우아한테크코스 3기 프리코스 최종 미션(9) - 회고

    2020년 12월 19일 오후 1시부터 6시까지 최종 테스트를 본 후기를 간략하게 가볍게 남겨본다. 우아한테코스 3기 프리코스 회고 코로나 19의 여파로 이번 시험은 온라인으로 치러졌습니다. 시험 시작 전 핸드폰으로 ZOOM 화상회의에 접속해서 신분증 검사를 했고 시험 시간 내내 줌을 통한 시험 감독이 이루어졌습니다. 줌을... 처음 접했던... 다른 지원자분들의 키보트 치는 소리가 아직까지 생생하게 들리듯 하네요 하하하... 집중이 전혀 안돼서 폰을 만지작만지작 소리를 어떻게 줄이지? 10분 동안 고민을 했던 것 같습니다. 결국 문의를 보냈는데 코로나 X%$!%@$&!%^@ 원래였으면 오프라인 시험인데... 핸드폰 소리를 줄여도 보고 설정도 들어가보고 이것저것 하다 제 귀가 감당할 정도의 소음의 크기가..

    우아한테크코스 3기 프리코스 최종 미션(8) - View-ResultView.js

    우아한테크코스 3기 프리코스 최종 미션(8) - View-ResultView.js

    InputView에서 입력 받은 데이터를 MainController에서 원하는 형태로 데이터를 바꾸어 ResultView에 전달한다. //MainController.js onSubmit(input_info) { /* ... */ this.ResultView.render({ result: result.join(" ▶︎ "), option: option === "distance" ? "최단거리" : "최소시간", ...this.getTotalDistanceAndTime([...result]), }); } 테이블 표 구현 import View from "./View.js"; export default class ResultView extends View { constructor() { super(); this..

    우아한테크코스 3기 프리코스 최종 미션(7) - View-InputView.js

    우아한테크코스 3기 프리코스 최종 미션(7) - View-InputView.js

    전에 MVC패턴에서 View를 다시 한번 생각해보면 Model, Controller에 대해 알지 못하고 화면에 데이터를 저장을 하지 못하며 변경된 화면요소에 대한 처리를 위해 Controller에게 통보를 해야한다. 우선 InputView와 MainController을 연결하고 화면을 렌더링 해야한다. class View는 해당 요소를 파라미터로 받아 화면을 구현한다. import View from "./View.js"; export default class InputView extends View { constructor() { super(); this.tag = "[InputView]"; } setup(el) { this.init(el); this.el.innerHTML = this.render();..

    우아한테크코스 3기 프리코스 최종 미션(6) - View

    화면을 구현하기 앞서 각 화면 컴포넌트들의 최상위 부모 객체를 만들어야 한다. 화면에서 각 컴포넌트들을 분리하고 MainController에서 이벤트를 처리하는데 메소드를 재사용하고 유지보수를 위해 View.js 부모객체를 만든다. - View 클래스를 살펴보면 이벤트 발생시 init(el)메소드가 해당 element를 파라미터 값으로 받아서 초기화 한다. - on메소드는 해당 요소에 대한 이벤트 리스너를 설정한다. - emit메소드는 해당 이벤트가 발생할 때 원하는 이벤트를 실행시켜서 데이터를 보내를 수 있다. 나름 설명을 한다고 글을 섰지만 설명하는게 어렵다...다음 글들을 포스팅하면서 어떻게 사용되는지 설명하도록 하겠습니다. View.js export default class View { const..

    우아한테크코스 3기 프리코스 최종 미션(5) - App 설정

    우아한테크코스 3기 프리코스 최종 미션(5) - App 설정

    파일 구조 . ├── docs │ └── README.md ├── images │ ├── dijkstra_example.png │ ├── path_result.gif │ └── path_result.jpg ├── index.html └── src ├── app.js ├── controllers │ └── MainController.js ├── models │ └── data.js ├── utils │ └── Dijkstra.js └── views └── View.js index.html은 app.js을 실행한다. app.js이 애플리케이션을 실행시키는 파일이다. app.js에서 로직을 실행시키기 위해 src/controllers/MainController.js 모듈을 import 한다. app.js에서는..

    우아한테크코스 3기 프리코스 최종 미션(4) - 데이터초기설정

    우아한테크코스 3기 프리코스 최종 미션(4) - 데이터초기설정

    미션내용을 보면 주어진 데이터로 초기 설정을 해야 한다는 내용이 있다. 그림으로 나타내면 이런 지하도 모습을 볼수 있다. 그리고 미션 내용 중 출발역과 도착역은 연결되어 있지 않으면 경로를 조회할 수 없다는 예외처리가 있으나 주어진 데이터는 모두 연결되어 있어서 연결되지 않은 라인을 추가했다(시험 볼때는 추가 안했습니다) 데이터 초기화 models/data.js data.js에 역 이름이 담겨져 있는 stations, 라인의 정보를 담은 lines, 각 연결되어 있는 역끼리의 거리와 시간을 담은 sections 변수를 초기화 한다. export const stations = [ "교대", "강남", "역삼", "남부터미널", "양재", "매봉", "양재시민의숲", "상암", "홍대", "홍대입구", ];..

    우아한테크코스 3기 프리코스 최종 미션(3) - MVC패턴

    우아한테크코스 3기 프리코스 최종 미션(3) - MVC패턴

    MVC 패턴이란? Model, View, Controller 역할 및 규칙 MVC패턴으로 미션하기 참고 MVC패턴이란? Model, View, Controller의 약자로 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴 중 하나이다. 디자인 패턴이란? 소프트웨어를 개발하는 중에 발생했던 문제점들을 정리하여 자주 발생하는 문제들을 해결하기 위해 규칙을 정해 놓은 개발 방법으로 모듈이나 기능을 재사용하고 같은 규칙으로 인해 팀원들 간의 소통을 원활하게 해주는 것을 말한다. 이렇게 만들어진 MVC패턴을 자세히 알아보면 Model : 애플리케이션의 데이터, 자료, 사용자가 필요로 하는 데이터를 의미하고 DB의 테이블과 대응된다. View : 사용자에게 보여주는 User Interface를 의미한다. Cont..

    우아한테크코스 3기 프리코스 최종 미션(2) - 개발 환경 설정 & 파일 구조

    우아한테크코스 3기 프리코스 최종 미션(2) - 개발 환경 설정 & 파일 구조

    1. [Visual Studio Code] 라이브 서버(Live Server) 설정하기 파일을 실행시키고 브라우저에서 수정된 소스코드를 즉각적으로 확인 하기 위해 Live Server를 설정합니다. vsc의 확장에서 Live Server를 검색 후 설치하면 됩니다. Live Server 실행하는 방법으로는 마우스 오른쪽 클릭 후 Open with the Liver Server를 클릭하거나 오른쪽 하단에 있는 Go Live를 클릭하시면 됩니다. 2. [Prettier] 설정하기 개발자가 작성한 코드를 일정한 코드 스타일로 변환시켜주는 Code formatter이다 Prettier를 설치하면 자동으로 작성된 코드가 간격, 줄 바꿈, 쌍 따옴표, 콜론 등 정해진 코드 스타일로 변환시켜 주기 때문에 가독성과 코..