본문 바로가기

분류 전체보기53

[항해99] 6주차 회고 한 주에 대한 정리 이번 주차는 처음으로 프론트엔드와 백엔드가 같이 프로젝트를 진행했습니다. 간단히 소감을 말하자면 너무나 어려웠고 진이 빠지는 듯한 주차였습니다. 처음으로 항해기간이 쉽지 않구나 라고 생각했었습니다. 먼저, 가장 어려웠던 부분은 소통을 하는 부분이었습니다. 프론트 엔드는 백엔드가 사용하는 용어나 어떻게 서버작업이 되는지 알지 못했고, 백엔드는 프론트엔드가 어떤 특성을 가지고 있는지 알지 못해 서로 필요한 부분을 설명하기에 어려운 부분이 많았습니다. 코드를 작성하는 부분도 생각보다 오류가 많았습니다. 서버랑 연결하기 위해서 axios를 사용해 요청하고 응답을 받았는데 이 과정에서 알 수 없는 오류들이 많이 나와 생각했던 것보다 많은 부분에서 오류를 겪었습니다. 그래도, 이번 주차를 진행하.. 2022. 2. 20.
[CS] 계층적인 데이터 구조 이 글은 '한 권으로 읽는 컴퓨터 구조와 프로그래밍' 을 정리하여 작성한 글입니다. 계층적인 데이터 구조 앞에서는 선형적인 데이터 구조를 봤습니다. 이 선형적 구조는 데이터를 가져오는데 문제가 있습니다. 예를 들어, 연결 리스트의 저장된 데이터를 가져오려면, 리스트를 순회해야만 합니다. 리스트 길이가 n이라면 최대 n번 노드를 순회해야 한다는 것입니다. 앞에서 연결 리스트의 노드를 연결하기 위해서 포인터를 사용했습니다. 이 포인터 수에는 제한이 없기 때문에, 메모리 공간이 허용하는 한 원하는데로 데이터를 조작할 수 있습니다. 2진 트리 간단한 계층적 데이터 구조로 2진 트리가 있는데, '2진' 이라는 말은 2진수가 아니라 최대 2개의 다른 노드와 연결될 수 있기 때문에 붙은 말입니다. 아래 그림에서 트리.. 2022. 2. 15.
[항해99] 5주차 회고 한 주에 대한 정리 항해의 5주차는 앞서 배운 리액트와 상태 관리를 파이어스토어와 함께 사용하여 간단한 인스타그램 서비스와 비슷한 것을 만들었습니다. 프로젝트를 진행하다 보니 작은 프로젝트에도 어려가지 신경을 써야하는 것들이 많다는 것을 느꼈습니다. 어느 컴포넌트에서 서버의 데이터를 받아올 것인지, props를 전달할 것인지 등 간단해 보였던 것들이 생각보다 많은 오류를 일으켰습니다. 프로젝트가 끝난지금은 조금 익숙해 졌지만 이후 다른 프로젝트를 진행하면서 더 익숙해져야 겠다고 생각했습니다. 다음주에는 클라우드 서비스가 아닌 실제 백엔드 분들과 같이 프로젝트를 진행하게 됩니다. 아래에서는 서버와 통신하기 위해 사용하는 axios를 간단히 알아보겠습니다. axios Axios는 node.js와 브라우저를 .. 2022. 2. 13.
[CS] 아날로그 처리 방법 이 글은 '한 권으로 읽는 컴퓨터 구조와 프로그래밍' 을 정리하여 작성한 글입니다. 아날로그 처리 방법 실제 소리나 빛 같이 아날로그는 연속적이지만, 컴퓨터에는 연속적인 대상을 저장할 방법이 없습니다. 그래서 데이터의 샘플을 취해야 합니다. 샘플링 샘플을 취한하는 말은 시간이나 공간상 일정한 간격으로 값을 읽어야 한다는 뜻입니다. 저장한 데이터를 다시 영상이나 빛으로 보여주기 위해서는 샘플링 데이터로부터 아날로그 신호를 다시 만들어야 합니다. 샘플링은 새로운 것이 아닙니다. 무성 영화 시절에도 영화 화면은 1초당 16프레임을 샘플링해 만들었습니다. 아래에서는 컴퓨터가 아날로그 신호를 만들거나, 아날로그 신호를 분석하는 방법을 알아보겠습니다. 디지털을 아날로그로 변환 디지털 숫자를 사용해 아날로그 전압을 .. 2022. 2. 9.