목록전체 글 (305)
개발하고 싶은 초심자
오늘은 statesairline server 스프린트에서 의문이 생겼던 부분에 대해 이야기하며 페어 프로그래밍을 했다. 이렇게도 해보고 저렇게도 해보며 페어와 함께 이야기를 나누었는데, 결국 flightController와 bookController의 역할이 달라서 생기는 문제였고, 그 부분 때문에 내가 처음 가졌던 의문에 대한 해결이 그 부분에 있다는 것을 알게 되었다. 어제 혼자서 스프린트 파일을 보며 아고라 스테이츠에 비슷한 내용의 질문이 있을까 찾아보고, 구글링을 통해 찾아 보려고도 해봤지만 잘 되지 않아 힘들었는데, 역시 누군가와 머리를 맞대니 여러 생각들을 통해 결론을 도출할 수 있었다. 항상 느끼는 것이지만 페어 프로그래밍을 통한 시간이 유익하고 나에게도, 상대에게도 도움이 많이 된다. 시험..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/AgO7Z/btrpdoCsPk1/6NMsF20L6PhwcLbL1OScdK/img.png)
1. CORS(Cross-Origin Resource Sharing) : 브라우저에서는 보안적인 이유로 cross-origin HTTP 요청들을 기본적으로는 제한하지만, (요청을 열어 놓으면 서버에 어떤 리소스를 생성할지 확인할 수 없기 때문에 보안적인 이유가 있음) 웹 애플리케이션 고도화를 위해 개선을 요청한다. ⇒ 서버가 허용(allow)한 범위 내에서의 cross origin 요청을 허용한다. cross-origin 요청을 하려면 서버의 동의가 필요, 동의한다면 브라우저에서 요청 허락, 비동의 시 브라우저에서 거절. 이러한 허락을 구하고 거절하는 메커니즘을 HTTP-header를 이용해서 가능한데 이를 CORS라고 부른다. ⇒ 브라우저에서 cross-origin 요청을 안전하게 할 수 있도록 하는 ..
오늘은 토이 문제에 삽입 정렬 문제가 나왔다. 지난 번 버블 정렬 때에는 이게 무슨 말인가...하면서 머리가 복잡한 채로 찾아봤던 기억이 있는데, 이번 삽입 정렬 문제는 그래도 다른 정렬 알고리즘을 찾으며 봤던 기억이 있어 금방 검색 키워드를 입력하여 검색 결과를 보며 해결했다. 다만 나름대로 이중 반복문과 break, 재귀 호출을 잘 이용했다고 생각했는데, 시간 복잡도에서 걸려 자꾸만 실행 시간이 초과되었다. 결국 레퍼런스 코드를 보고 알 수 있었다. 레퍼런스 코드를 보니 내가 쓴 코드와 거의 일치했으나 내가 생각하지 못한 부분이 있었다. 그 부분에 대한 핵심을 놓치며 지금까지 풀어왔던 방식으로 풀었던 것이 통과하지 못함의 이유였던 것이다. 풀어왔던 방식 뿐만 아니라 다른 방식도 생각해가며 풀어야겠다...
자꾸만 회고록을 쓰는 것을 깜빡할 때가 있다. 아무래도 회고록 쓰는 것도 알람을 맞춰 놓고 써야 할 것 같다. 공부해야 할 것들이 많아지다보니, 정리해서 써야 하는 것을 까먹는 것 같다. 21.12.28(수) 화요일에 이어 useEffect를 사용하는 리액트 과제로 페어 프로그래밍을 진행했다. 처음 할 때는 어떤 것부터 손대야하는 지 조차 몰라 엉성하게 이렇지 않을까 저렇지 않을까 하며 소통을 했는데, 한 번 해보고 나니 다음 날인 수요일에는 내가 쓴 코드에 대해 '이런 이유로 이렇게 작성하였다'라는 의견을 주고받을 수 있었다. 서로의 생각을 들으며 이렇게 할 수 있구나, 역시 하면 못할 것이 없구나 라는 생각이 들었다. 줌 세션에서 스프린트 리뷰를 들었을 때는 살짝 이해가 되지 않는 부분이 있었다. q..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/yQwpc/btroZFYU6p6/94A1DgZwQTNwPC7RnIHwJ1/img.png)
1. React에서의 데이터 흐름 (앞에서 배운 내용들이 들어가있음 - 자세한 것은 여기서) ✷ React 개발 방식의 큰 특징: 컴포넌트 단위로 시작한다는 점. ① React는 상향식(bottom-up)으로 앱을 만든다 → 페이지를 만들기 전에 컴포넌트를 먼저 만들고 조립한다. → 테스트가 쉽고 확장성이 좋다(디자인을 받으면 컴포넌트 계층 구조로 나누어야 한다). ② 컴포넌트는 컴포넌트 바깥에서 props를 이용해 데이터를 인자(arguments) / 속성(attributes)처럼 전달받을 수 있다. → 데이터를 전달하는 주체는 부모 컴포넌트가 된다. === 데이터 흐름이 하향식(top-down)이다. ⇒ React는 단방향 데이터 흐름(One-way data flow)을 따른다 → 컴포넌트는 prop..
오늘은 상태 끌어올리기와 useEffect에 대해 학습하고, 페어 프로그래밍을 진행했다. 처음에는 학습 내용이 잘 이해가 되지 않았는데, 공식 문서를 읽어보고 이해가 되지 않는 부분을 구글링 하며 과제를 풀어보니 어느 정도는 이런 거구나 할 수 있었다. useState와 fetch API, async await을 이용하여 스프린트를 해결할 수 있었고, 그 과정에서 아직도 props로 넘겨주는 것에 대한 내용을 제대로 알고 있지 못함을 알았다. 얼만큼 더 해야 익숙해질 수 있을까? 어제 저녁부터 속이 좋지 않아 결국 응급실까지 갔다 왔더니, 오늘 하루 내내 컨디션이 별로였다. 역시 건강이 최고라는 것을 다시금 깨달았다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cbJLXp/btroDPue9R3/toWcf2OSuOOmgvOrzB6lM0/img.png)
1. 클라이언트 서버-아키텍쳐(2 Tier Architecture / 2티어 아키텍쳐) : 리소스가 존재하는 곳과, 리소스를 사용하는 앱을 분리시킨 것. ① 클라이언트: 리소스를 사용하는 앱 ② 서버: 리소스를 제공하는 주체(serve + r). 리소스를 전달하는 역할(이지만 단순히 전달만 하는 것은 아님). ⇒ 클라이언트와 서버는 요청과 응답을 주고 받는 관계이다. 클라이언트-서버 아키텍처에서는 요청이 선행되고, 그 후에 응답이 온다(요청 없는 응답은 없다). ③ 데이터베이스: 리소스를 저장하는 공간. ⇒ 기존 2티어 아키텍쳐에 데이터베이스가 추가된 것을 3티어 아키텍쳐라고 한다. 1-1. 클라이언트와 서버의 종류 ① 클라이언트: 보통 플랫폼에 따라 구분된다. ‣ 웹사이트 / 웹 앱: 브라우저를 통해 ..
오늘은 Postman이라는 api를 직접 테스팅 해보았다. 이 역시 페어 프로그래밍 시간에 이루어졌다. 항상 깃헙에서 포크해와 클론을 하고, vs code로 파일을 열어 줌으로 페어와의 소통을 했었는데, 이번에는 그렇게 하지 않고 따로 제출까지 신경쓰지 않아 서로 재미있게 할 수 있는 시간이었다. 직접 해보면서 문서로만 봤던 내용들을 실제로 해보니, 더 와닿았고, 페어와 함께 진행을 하며 이런 저런 이야기를 하다보니 시간이 정말 빨리 지나갔던 것 같다. 오늘은 크리스마스 이브라서, 대부분 POST로 보내는 내용들이 크리스마스와 관련된 내용이었는데, 역시 크리스마스에는 코딩이지!!ㅎㅎ