1. 로그인 화면 작성 위한 파일 및 로고 준비 auth 파일 안에 authForm.js, authLogo.js 파일을 만들자. authLogo.js 에서 로고 이미지를 가져와 쓸 건데 로고 이미지를 보관하기 위해 /app 안에 assets 라는 폴더를 만들고 그 안에 imgs라는 폴더를 만들자. 이 안에 다운받은 로고 파일을 넣으면 된다. 변화된 디렉토리 구조 ├─ app │ ├─ assets │ │ └─ imgs │ │ ├─ winthiary_login_logo.png │ │ └─ winthiary_login_logo@2x.png │ ├─ components │ │ ├─ auth │ │ │ ├─ authForm.js │ │ │ ├─ authLogo.js │ │ │ └─ index.js │ │ ├─ d..
자세히보기1. STL과 함수 인자 함수 인자 위의 세 코드는 원본의 값을 바꾸는지 복사본의 값을 바꾸는지에 대해 묻는 것으로 출력 결과는 다음과 같다. 1. 0 함수 인자로 그냥 int 만 전달하게 되면 함수에서 아무리 값을 바꿔도 원본에 영향을 주지 않는다. 2. 10 함수 인자로 배열을 넘겨주게 되면 인자로 배열의 주소가 전달되기 때문에 함수에서 바꾼 것에 따라 원본 값에도 영향이 있다. 3. 0 구조체도 함수 인자로 전달하게 될 때, int 와 같이 값만 복사되는 것이기 때문에 원본에 영향을 주지 않는다. void swap1(int a, int b) { int tmp = a; a = b; b = tmp; } 위 코드는 원본에 영향을 주지 않아 원하는대로 동작하지 않는 swap 코드이다. void swap2(..
자세히보기1. 시간, 공간복잡도 시간복잡도 - 입력의 크기와 문제를 해결하는데 걸리는 시간의 상관관계를 의미한다. 빅오표기법 - 주어진 식을 값이 가장 큰 대표항만 남겨서 나타내는 방법을 의미한다. ex) O(N) : 5N + 3 int func1(int N) { int sum = 0; for (int i = 2; i O(N^2) for문 2번을 돌아 O(N^2) int func3(int N) { for (int i = 1; i < N / 2; i++) { // i * i O(N) 의 시간복잡도를 가지지만 i * i
자세히보기환경변수 & 졸업 현재 강의에서는 주소가 localhost로 하드코딩되어 있다. 그런데 개발할 때 사용하는 api와 실서버 api의 주소가 다를 수 있다. 이런 정보를 애플리케이션의 소스코드에서 떨어트려 별도로 관리해야할 일이 생길 수 있다. 아래 환경변수 관련 문서를 보면 .env.local 파일을 홈디렉토리에 만들고 아래와 같이 애플리케이션이 사용하는 정보를 넣어주면 된다. https://nextjs.org/docs/pages/building-your-application/configuring/environment-variables Configuring: Environment Variables | Next.js Next.js comes with built-in support for environmen..
자세히보기사전 작업 글 수정, 삭제 진행 전 사전 작업을 진행하자. 글을 선택하지 않는 홈에서는 수정, 삭제 버튼이 보이지 않아야 하고, 글을 선택한 후에만 수정, 삭제 버튼이 보여야 한다. 그리고 지금은 업데이트 버튼을 누르면 항상 update/1로 이동하는데, 다이나믹 라우팅도 적용시켜보자. 수정, 삭제 버튼이 글 상세 조회에서만 보이도록 처리 이 부분은 layout.tsx에 children 아래 작성된 ul 태그에 작성되어 있다. 그런데 이 코드를 보였다 안 보였다 하려면 주소의 id가 있는지 없는지 확인해야 한다. 그런데 layout.tsx는 id가 있는지 없는지 확인이 불가능하다. /src/app/read/[id]/page.tsx는 id 폴더 밑에 있기 때문에 props.params.id를 통해서 접근할..
자세히보기