CS (7) 썸네일형 리스트형 SSR과 CSR 지금까지 사이트를 만들면서 api의 필요성을 크게 느끼지 못했다. 그 이유는 항상 SSR로 페이지를 만들어서 내가 html페이지도 만들고 백엔드도 만들었기 때문이다. 하지만 추후에 프론트와 협업을 하려면 api의 필요성을 느꼈고 이 과정에서 SSR이 뭔지 CSR이 뭔지에 대해서 공부했다. 먼저 SSR은 서버측에서 랜더링한 페이지를 보내주는 방식이다. 쉽게 말해서 서버에서 완성된 html 파일을 가지고 있는 방식이다. 그리고 나는 지금까지 SSR방식만 사용해왔다. 그리고 CSR방식은 서버에서 완성된 html파일이 아니라 클라이언트 측에서 js파일을 다운받아 랜더링하는 방식이다. SSR과 CSR의 차이 1. 첫 페이지 로딩시간의 차이 - SSR은 완성되어있는 페이지를 불러오기 때문에 빠르다. 하지만 CSR은.. Rest API가 뭘까요? Rest API라는 단어는 많이 들어봤지만 이게 뭔지는 몰랐다. 그래서 아주 가볍게 소개하는 영상을 보고 이 글을 쓴다. Rest API는 개발자들이 정보들을 주고받는 일종의 형식이라고 볼 수 있다. 먼저 API는 Application Programming Interface의 약자로 소프트웨어가 다른 소프트웨어로부터 지정된 형식으로 요청, 명령을 받을 수 있는 수단이다. 외부 API(알라딘, 카카오 등) 을 이용해봤으면 쉽게 알 수 있다. 정해진 형식을 요청하면 API에서 알아서 원하는 결과값을 반환해준다. 그렇다면 RestAPI는 뭘까? RestAPI는 각 요청이 어떤 동작이나 정보를 위한 것 인지를 요청의 모습 자체로 추론 가능한 형식이다. 예를 들자면 get은 정보를 읽기, post는 새로운 정보를.. MVC 패턴이 뭘까요? MVC 는 Model, View, Controller의 앞글자를 딴 패턴이다. 쉽게 말해서 유지보수가 편리하게 만든 코드 구성 방식이다. Model은 데이터와 관련된 일을 하는 곳 View는 사용자한테 보여지는 부분 Controller는 Model과 View를 이어주는 부분이다. MVC 패턴에 맞춰서 코드를 구성하게 되면 각각 맡은 일에만 집중할 수 있게 된다. 효율적인 분업이 가능하다. 서로가 분리되어서 각자의 역할에 집중할 수 있고 이로 인해서 유연성이 증가하고, 중복코딩을 지양할 수 있다. 아래 5가지 규칙을 지키면서 코드를 짜면 자연스레 MVC 패턴을 지키면서 코드를 짤 수 있다고 한다. 1. Model 내부에 Controlller와 View에 관련된 코드가 있으면 안된다. 2. View 내부에는.. 비동기 프로그래밍 Synchronous : 동기 : 코드가 작성된 순서대로 실행된다. Asynchronous : 비동기 : 꼭 작성된 순서대로 실행되지는 않는다. 비동기 ⇒ 쓰레드가 여러개 : 멀티테스킹 ex) 동기 짜장면을 시킨다. ⇒ 손님이 먹는 시간(2초) ⇒ 2초 후에 배달원이 다른 배달을 간다. ⇒ 손님이 짜장면을 다 먹고 난 후에 배달원이 다른 배달을 갈 수 있음. 짜장면을 시킨다 ⇒ 손님이 먹는 시간(2초) ⇒ 2초 후에 배달원이 다른 배달을 간다. 손님이 짜장면을 다 먹고 난 후에 배달원이 다른 배달을 갈 수 있음. 비동기 짜장면을 시킨다. ⇒ 손님이 먹는다. ⇒ 배달원이 다른 배달을 간다. 손님이 짜장면을 먹는 동안 배달원이 다른 배달을 갈 수 있음. Promise , Async / Await 을 사용하면.. 쿠키, 세션, 캐시 쿠키 : 내 브라우저에 저장되는 정보 ⇒ 임의로 고치거나 지울 수 있음, 보안에 약함 ⇒ 민감하거나 중요한 정보를 저장하기에 위험함 세션 : 쿠키에 저장하기 곤란한 정보 관리 서버에 접속 시 http요청에 임시 키를 실어서 전송 ⇒ 서버는 임시 키를 이용해 사용자 구분 ⇒ 사용자에 따른 정보를 응답으로 보내줌 ex) naver에 로그인한 경우 ⇒ 다시 로그인할 필요 없다 캐시 : 가져오는데 비용이 드는 데이터를 한 번 가져온 뒤에는 임시로 저장 이미지 등의 정보를 불러올 때 데이터 사용량, 시간 발생 ⇒ 여러 번 방문할 사이트의 경우 한 번 받아온 데이터를 사용자의 컴퓨터 또는 중간 서버에 저장 디버그 , 컴파일 , 빌드 디버그 : 소프트웨어에 발생하는 문제의 원인을 찾는 행위 유래 : 초창기 컴퓨터에는 벌레가 들어가 오류가 발생 ⇒ 이 벌레를 잡는 과정이 디버깅 컴파일 : 코딩을 마치고 완성된 프로그램을 컴퓨터 언어로 번역 ex) java코드 ⇒ 컴파일 ⇒ .class 파일 생성 ⇒JVM에서 통용된 언어 인터프리터 언어 : 컴파일을 거치지 않고 그때그때 번역 실행속도는 컴파일언어에 비해 느림 프로그래밍 코드가 쉽게 유출 가능 빌드 : 소프트웨어에 필요한 파일 변형 or 압축 , 작업한 파일들을 출시하기 적합한 형태로 포장하는 일 프로세스&스레드 프로세서 : 요리사 프로세스 : 요리 메뉴 햄버거 패티를 굽는 동안 야채 손질이 동시에 진행 햄버거 패티를 굽는다 => 스레드 야채 손질 => 스레드 프로세스 안에서 여러 갈래의 작업이 진행된다. 이 갈래를 스레드라고 한다. 단점 : 동시에 실행 될 경우 오류가 날 수 있음, ex) 버튼1번을 누른다 => count ++ 버튼2번을 누른다 => count ++ 버튼 1번과 2번을 동시에 누르는 경우 => 2만큼 올라가는 것을 원하지만 1만 올라간다. 방지 장치 : java의 synchronized => 스레드 1개만 실행하게 해주는 장치 이전 1 다음