javascript 35

24.07.31 자바스크립트 팀 프로젝트

이번 프로젝트는 팀원들의 개인 프로젝트 중 하나를 골라 업그레이드 하는 것이 목표이다.이번 mvp는 아래와 같다. 메인페이지무한스크롤로 pagenum에 따라 api 요청하기검색기능과 정렬필터 제작하기 디테일페이지영화 카드를 누르면 상세 페이지로 이동하여 내용을 보여주는것리뷰를 로컬스토리지를 활용하여 작성 및 조회하는 것 4가지 조건 중 영화카드를 상세 페이지에서 보여주는 것을 내 역할로 잡았다.위 사진의 위에 부분을 진행하는 것이다.어려운 부분이 없어 금방 끝낼 것이라고 생각하여 api에서 제공해주는 유튜브 링크로위 디테일 카드에 마우스 오버를 하면 유튜브영상이 재생되는 것을 더해볼 생각이다. 현재까지 작업상황은 위와 같다.영화 id에 따라서 해당 영화의 디테일내용을 받아오는 api를 사용했으며, 아직 ..

2차 공부/TIL 2024.07.31

24.07.30 SSR , CSR의 차이 / hydration

SSR : Server Side RenderingCSR : Client Side Rendering말 그대로 SSR은 서버측에서 렌더링을 하는 것이고, CSR은 클라이언트(사용자)측에서 렌더링을 하는 것이다.  CSR : Client Side RenderingSSR : Server Side Rendering1사용자가 웹 사이트를 요청함유저가 웹 사이트를 요청함2CDN이 HTML파일과 JS접근링크를 보내줌서버가 렌더가 준비된 HTML파일을 생성함3브라우저가 HTML을 다운로드하고, JS를 다운로드함단, 이때 사용자는 사이트를 볼 수 없음(빈 화면)브라우저가 HTML을 빠르게 렌더링하지만사이트는 아직 상호작용이 불가함4브라우저가 JS를 다운로드함브라우저가 JS를 다운로드함5JS가 실행되고 data를 위한 ap..

2차 공부/TIL 2024.07.30

24.07.26 영화검색페이지 리팩토링하기

이러한 페이지를 만들었다.영화데이터 제공 openapi를 사용하여 페이지 진입 시 영화데이터를 불러온다.불러온 데이터 중 원하는 키워드를 검색하여 해당 키워드가 '제목'에 있는 영화들만 보이도록한다.import { getMoviesFunc } from "./getMoviesFunc.js";import { movieCardsFunc } from "./movieCardsFunc.js";import { addEvent } from "./addEvent.js";import { searchMovie } from "./searchMovie.js";import { observer } from "./observer.js";observer();getMoviesFunc().then((res) => { movieCar..

2차 공부/TIL 2024.07.26

24.07.25 클래스

클래스와 인스턴스클래스 - 학교에서 다양한 종류의 책상을 만드는 설계도, 설계도를 보면 어떤 종류의 책상을 만들 수 있는지, 책상의 특징은 무엇인지 알 수 있다.인스턴스 - 설계도를 보고 만들어진 실제 책상, 모양/크기/색상/재료 등 설계도에 따라 만들어지며 모두 다른 인스턴스가 된다. // 클래스라는 설계도를 만들어 봅시다.class Person { //사람이기 때문에 필수요소를 name, age를 가진다. constructor(name, age) { this.name = name; this.age = age; } //이렇게 함수를 만들어두면 인스턴스를 만들 때 메서드가 들어있다. sayHello() { console.log(`${this..

2차 공부/TIL 2024.07.25

24.07.25 DOM / DOM 조작하기

1. js가 왜 생겼는데 - 브라우저에서 사용하기 위한 언어이다. - 웹 페이지를 동적으로 만들기 위해, 즉 HTML문서를 조작해서 생명력을 불어넣어주기 위해 만들어진 언어디다. 2. 웹 페이지가 뜨는 과정 - 사용자가 'www.naver.com'을 주소에 입력한다.   1. 클라이언트가 서버에게 요청(req)을 함   2. 우리가 크롬을 통해 클라이언트의 역할을 하는 것 - HTML문서를 서버로부터 수신한다.   1. 네이버 서버는 우리(=브라우저 =클라이언트)에게 응답(res)을 한다.   2. 그 응답이 HTML문서이다. - 브라우저가 HTML 파일을 해석(parsing 파싱)   1. 브라우저에는 기본적으로 렌더링 엔진이 있다. 서버가 클라이언트에게 준 HTML문서를 렌더링 한다.   2. 렌더링..

2차 공부/TIL 2024.07.25

24.07.22 JavaScript 문법 종합반 1, 2주차

리액트로 들어가기 전 Javascript에 이해를 더 잘 이해하기 위한 주차이다.1, 2주차 강의내용은 아는 것이 많았지만, 몰랐거나 까먹은 부분도 있어 해당 부분에 대해서만 정리해보고자 한다. 1. 단축평가논리합, 논리곱 연산자를 이용하여 양 변에 따라 알맞은 값을 사용한다.console.log(true || "something") // trueconsole.log(false || "something") // somethingconsole.log(true && "something") // somethingconsole.log(false && "something") // false조금 생각해 보았는데, 논리합 ||연산자는 양 변중 단 하나라도 truthy하면 true를 뱉어내므로 첫 줄 true || s..

2차 공부/TIL 2024.07.22

24.07.19 미니프로젝트를 마치며

사실상 작업은 어제 끝났었다.오늘은 발표 전 프로젝트 코드를 다시 읽어보며 내가 모든 코드를 이해했는지 확인해보았다.스크롤 기능의 특정 함수를 제외한 거의 모든 부분은 완벽히 이해하였다. 이번 프로젝트를 진행하면서 만족한부분, 부족했던부분, 해결해야할 부분을 정리해보고자 한다. 먼저 만족스러운 부분이다.팀원간의 소통이 원활했다.팀으로 이루어지는 프로젝트이다보니, 팀원간의 소통이 원활해야만 프로젝트 진행상황이나, 어려움은 없는지를 체크하여 큰 문제를 사전에 방지할 수 있기 때문에 매우 중요하다. 다행히도 팀원분들이 소통을 잘해주셔서 소통으로 인한 문제는 적었다고 생각한다.아이디어를 잘 내주셨다.팀명이나 멤버카드의 데이터나, 기능에 대한 아이디어를 잘 내주셔서 처음 기획했을때보다 조금 더 이쁘게 페이지가 마..

2차 공부/TIL 2024.07.19

n^2 배열 자르기

프로그래머스 - n^2 배열 자르기  먼저 작성한 코드function solution(n, left, right) { var answer = []; let answerStr = '' for (let i = 1; i Number(el));}// i일 때 i를 i개만큼 넣고, n까지 1씩 더하며 추가// [1 2 3 4]// [2 2 3 4]// [3 3 3 4]// [4 4 4 4]만드려는 배열을 문자열로 만들고 한 문자열에 모두 저장한 다음, left와 right에 맞춰 자르고, 배열화시킨 뒤 모든 요소를 숫자화 시키는 방식으로 풀이했다.테스트코드는 모두 성공했으나, 데이터가 매우 크게 들어올 수 있는 점을 생각하지 않아 시간초과로 실패하였다. 두번째로 작성한 코드function ..