-
[Next.js 14] 프로젝트 폴더 구조 구성 및 git repository 연결
프로젝트 설치가 끝나면 아래와 같이 app, public 등등의 여러 폴더가 생성되었을 것이다.일단 '프로젝트 생성'이라는 큰 산을 하나 넘었으니 이제 개발을 시작하면 된다. 다만 일반적으로, 특히 협업을 진행하는 경우에는, github에 업로드하여 버전 관리를 진행하므로 본격적인 개발에 앞서 git repository를 연결하는 과정이 필요하다. 폴더 구조 구성그 전에 앞서 프로젝트 폴더 구조를 파악하고 시작하고자 한다. 아무런 가이드나 규칙 없이 그때그때 파일을 만들면 프로젝트의 구조도 복잡해지고, 필요한 파일을 빠르게 찾지 못해 개발의 효율성도 떨어지기 때문에, 나중에 폴더나 파일 구조가 좀 바뀌더라도 나는 먼저 틀을 잡고 가는 편이다.이제부터 내가 아래의 공식 문서와 나름대로 사용하면서 요래조래 ..
-
[웹 개발] 리액트 개발환경 세팅 및 Next.js 프로젝트 생성[Next.js 14]
나는 맥북을 사용 중이라 MacOS 기준으로 작성하겠다. 윈도우에 개발환경을 세팅하는 방법도 크게 다르진 않음. 1. node.js 설치아래의 링크를 클릭한 후, 왼쪽의 LTS 버전을 눌러 다운로드 및 설치를 진행한다. Node.jsNode.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.nodejs.org 2. terminal 실행하여 npm 설치 확인 및 next.js 설치npm 설치 확인 (node.js 설치 패키지 안에 함께 내포됨)npm -vnext.js 설치npm install -g create-next-app// 에러 발생 시 아래의 코드처럼 앞에 sudo를 붙여 재실행// sudo npm install -g create..
-
[Unity][ClickEvent] 버튼 클릭 이벤트를 처리하는 n가지 방법
나 이제 웹 개발 해.... 그래서 웹 개발 관련 정리하기 전에 호다닥 네이버에 정리해둔 거를 여기에 업데이트 하려 한다. 확실히 티스토리가 구글에 노출이 잘 돼서 아예 버릴 순 없을듯. 역시 이번에도 네이버에 있는 내용 + 알파. [Unity][ClickEvent] 버튼 클릭 이벤트를 처리하는 n가지 방법 놀랍게도 이번 주가 개발 21주차였다. 거의 세 달동안 포스팅을 쉬었구만... 다시 흐름을 잡을 겸 포스팅 ... blog.naver.com 1. [MonoBehaviour] Update()에서 Input.GetMouseButtonDown(0) using UnityEngine; public class ClickEventTest : MonoBehaviour { void Update() { if (Inp..
-
[티스토리] 자동 목차 생성 방법 (기존 문제 해결)
웹 개발의 가장 처음이 티스토리 관련이라니 살짝 아쉽긴 하지만, 개발 블로그로 거듭나기 위해서는 꼭 필요한 작업이었으므로.. 또 기존 방법이 가지고 있던 문제도 해결했으므로... 만족... 아래는 그 문제들로, 이것에 대한 해결 방법을 찾고 있는 분들은 바로 문제 해결 방법 쪽으로 넘어가셔도 좋습니다! '카테고리 글 더 보기' 플러그인 관련 문제 스크롤 전에 목차가 안 보이는 문제 왼쪽 표시바의 중앙이 안 맞는 문제(?) 첫 번째 콘텐츠 시작 전에 해당 목차에 있다고 표시되는 문제(?) 일단 내가 사용하는 Letter 스킨 기준이라 다른 스킨에서는 다르게 작동할 수 있는데, 그래도 위에서 언급한 네 가지 문제를 해결하는 데 조금이라도 도움이 될까 싶어 작성해봅니당 자동 목차 생성 사실 조금만 검색해보면 ..
리스트 : 콘텐츠가 있으면 최근 5건을 불러옵니다.
-
[Next.js 14] 프로젝트 빌드 시 발생하는 no-console 에러 해결 [ES-Lint]소소한 팁, 버그 해결 2024.06.02 22:46
console.log일반적으로 JavaScript 프로그래밍 시 디버깅 목적으로 브라우저의 console.log 메서드를 자주 사용할 것이다.물론 콘솔 로그는 간편한 디버깅 도구이긴 하지만,보안 이슈가 발생할 우려가 있기에 실제로 배포되는 웹 어플리케이션에는 포함되지 않는 것이 좋다. ESLintESLint는 자바스크립트 코드에서 에러가 있는 부분에 표시를 해주는 정적 코드 분석 도구이다.일반적으로 Typescript, Prettier과 함께 웹 프로그래밍을 할 때 함께 설치되며, 코드의 퀄리티를 보장해준다.ESLint는 하나의 규칙으로 no-console 룰을 가지고 있는데,빌드(npm run build) 시 콘솔 로그가 포함되어 있을 경우 규칙 위반으로 처리하여 빌드가 정상적으로 완료되지 않는다. n..
-
[Next.js 14] .env 파일 생성 및 환경변수 설정 [AWS Amplify]Nextjs 14 2024.05.08 16:22
코드를 작성하다보면,API Key나 Client Token과 같이 소스코드에 포함시키기 민감한 정보를 다뤄야 하거나개발 환경마다 다른 변수를 사용해야 할 때가 존재한다. 이럴 때 사용하는 것이 환경변수이다.기존에 Node.js에서 이 환경변수를 이용하기 위해서는 dotenv 패키지를 사용해야 했는데,Next.js에서는 별도의 패키지 없이 환경변수를 사용할 수 있다. (React도 마찬가지)살짝 주제엔 벗어나지만 혹시나 싶어, 환경변수는 빌드 파일에 포함되므로 누구나 볼 수 있다는 사실을 한번 짚고 넘어가겠다. 암튼 이번 포스팅에서는 Next.js 프로젝트에서 환경변수를 생성하고,이를 AWS Amplify로 배포할 때 적용하는 방법을 정리해보고자 한다..evn 파일 생성 및 환경변수 할당프로젝트의 바로 아..
-
[Next.js 14] 사용자 데이터 csv로 변환 및 파일로 다운로드Nextjs 14 2024.05.08 05:18
웹을 개발하다보면, 웹 관리자에게 필요한 기능을 추가해야 하는 경우가 있다.이 포스팅 제목처럼 사용자 데이터를 csv 파일로 변환하고 다운로드하는 기능이 그 예시인데,이 기능은 사용자 통계를 내거나 마케팅 메일 수신을 동의한 사용자에게 메일을 일괄 전송할 때 유용하다.마케팅 팀에서 홍보 메일을 전송하기 위한 사용자 리스트를 요청했을 때,다른 추가 작업 없이 관리자 모드에서 버튼 하나만 달칵 -> (수신 동의한) 메일 리스트가 나열된 csv 파일이 다운로드 된다면엄청 편하지 않겠는가! (물론 db에서 메일 리스트를 가져와 메일 수신 동의 여부로 필터링해서 보내주는 api가 사전에 구현되어 있어야 하긴 함) 암튼 서론이 길었는데, 코드를 보자.const UserListDownloadButton = () =>..
-
[Next.js][PayPal] 페이팔 버튼(subscription) 연결 + 태그라인 없애기Nextjs 14 2024.05.08 04:42
현재 구현하고 있는 웹의 결제 기능을, 페이팔을 사용해서 구현하기로 했다.Nextjs 프로젝트에 페이팔 버튼을 넣는 건 react-paypal-js 패키지를 사용하면 쉽게 구현할 수 있다. @paypal/react-paypal-jsReact components for the PayPal JS SDK. Latest version: 8.3.0, last published: 8 days ago. Start using @paypal/react-paypal-js in your project by running `npm i @paypal/react-paypal-js`. There are 61 other projects in the npm registry using @paypal/react-pwww.npmjs.com..
-
[Next.js 14] Link나 a 태그 없이 외부 링크로 연결하기소소한 팁, 버그 해결 2024.03.24 23:14
Link나 a 태그 없이 웹 내부의 다른 페이지로 가기 위해서 next/navigation의 useRouter()을 이용하면 된다. const router = useRouter(); router.push('/main'); 이때 기타 옵션을 정해줄 수도 있지만 일단 넘어가고, 외부 링크로 연결하는 경우를 살펴보자. 일반적으로 Link나 a 태그의 href 속성으로 외부 링크를 입력해주면 되는데, 개발하다보면 button의 onClick에 연결해야 하는 등의 상황이 있다. 그럴 땐 window.open()을 사용하자. window.open("https://www.google.com")} /> 끗~