본문 바로가기

전체 글258

[Node.js] Express API 서버 구축 - RESTful 설계, 라우팅, 다중 핸들러 및 응답 처리 📌 Express API클라이언트의 요청 경로(URL)에 따라 작업을 처리하고 응답을 반환하는 Node.js 프레임워크간단한 코드로 요청 경로와 핸들러를 연결하여 API 서버 구축에 적합합니다. 🗂️ Express API 서버 구축 ⭕ 터미널 열기 : Ctrl + Shift + `❌ 터미널 프로세스 종료 : Ctrl + C✅ 프로젝트 초기화새로운 Node.js 프로젝트 생성 -y 옵션은 기본 설정으로 '📜package.json' 파일' 을 생성합니다.npm init -y  '📜package.json' 파일 스크립트 추가 "scripts": { "start": "node server.js", },✅ Express 설치 Express는 API 서버를 간단히 구축할 수 있는 Node.js 프레.. 2024. 11. 18.
[JavaScript] 자바스크립트 라이브러리 모음(CDN) - CryptoJS, Dropzone, SweetAlert2, Swiper, Chart.js, interact.js 📌 CDN / 라이브러리라이브러리 : 웹사이트에 필요한 기능을 쉽게 추가할 수 있는 도구 모음CDN : 라이브러리를 인터넷을 통해 쉽게 가져다 쓸 수 있게 해주는 장소🔎 CDN을 통해 라이브러리를 사용하는 이유라이브러리를 내 컴퓨터에 저장해서 쓰면, 매번 파일을 설치하고 업데이트의 번거로움이 있습니다.CDN을 사용하면 인터넷에서 필요한 라이브러리를 바로 불러와 사용할 수 있어파일을 따로 다운로드할 필요가 없고, 프로젝트 용량이 줄어들고 서버 부담이 줄어듭니다. CDN은 라이브러리를 쉽게 불러와 쓸 수 있게 해주는 장소이고,라이브러리는 웹 기능을 쉽게 추가해주는 도구입니다. CDN 장점프로젝트 용량 감소 : 파일을 다운로드하지 않아도 됩니다.서버 부담 감소 : 외부 서버에서 리소스를 제공해 서버 부담이.. 2024. 11. 15.
[JavaScript] 비동기 데이터 통신(AJAX, Fetch) - Fetch 요청 옵션, 응답 속성 📌 AJAX(Asynchronous JavaScript and XML)JavaScript로 XMLHttpRequest 객체를 사용해 서버와 비동기 통신을 가능하게 해주는 기술이를 통해 웹 페이지를 새로 고침하지 않고도 필요한 부분만 업데이트할 수 있습니다.AJAX라는 이름에 XML이 포함되어 있지만, 현재는 JSON 등 다양한 데이터 형식 사용AJAX는 서버와 데이터를 비동기적으로 주고받아 사용자 경험을 개선하는 중요한 역할 비동기 HTTP 통신이란, request(요청)와 response(응답)를 비동기 방식으로 처리🔎 HTTP 서버 요청 메서드 종류(CRUD) HTTP 요청 메서드는 클라이언트가 서버에 요청의 종류와 목적을 알리는 방식입니다.AJAX와 Fetch 등의 통신 방식에서 자주 사용하는 .. 2024. 11. 14.
[JavaScript] 프록시(Proxy) 객체, 핸들러 메서드 - 객체 보호, 함수 호출 제어, 생성자 제어, 값 제한, 읽기 전용 📌 프록시(Proxy) 란? 프록시(Proxy)는 JavaScript에서 원본 객체의 동작을 가로채어 제어할 수 있는 기능입니다.이를 통해 객체의 속성 읽기, 쓰기, 삭제, 함수 호출 같은 작업을중간에서 조작하여 객체 보호, 동작 커스터마이징, 유연한 관리가 가능합니다.주로 보안이 중요한 정보 보호나 복잡한 데이터 구조 관리에서 유용합니다. 🔎 프록시 주요 역할객체 보호 : 민감한 정보 보호동작 커스터마이징 : 속성 접근 방식 조정유연한 관리 : 객체를 수정하지 않고 원하는 동작 추가🔎 프록시 특징대리인 역할 : 원본 객체 대신 요청을 받고 결과를 반환명령 재정의 : 속성 접근, 삭제 등 작업을 원하는 대로 변경 📌 프록시(Proxy) 객체원본 객체의 기본 동작(속성 접근, 할당, 함수 호출 등).. 2024. 11. 13.
[React] Next.js PM2 배포 가이드(서버 자동 재시작) - 리눅스, 윈도우 설정차이점 📌 PM2 란? PM2는 Node.js 애플리케이션을 백그라운드에서 안정적으로 관리하는 프로세스 매니저입니다.Next.js 서버를 PM2로 실행하면, 애플리케이션이 예기치 않게 종료되더라도 자동으로 재시작되며, 서버 로그 관리와 실시간 모니터링이 가능합니다. Next.js 프로젝트를 먼저 빌드(npm run build)한 후, PM2로 서버를 시작합니다.  안정성 : 서버가 중단되면 자동 재시작하여 안정적백그라운드 실행 : 터미널을 닫아도 서버가 계속 작동로그 관리 : 일반 로그와 오류 로그를 관리자동 재시작 : 애플리케이션이 크래시되더라도 자동으로 복구// ▶ ⚙️package.json "scripts": { "dev": "npx next dev", "build": "npx next b.. 2024. 11. 11.
[GitHub] 깃 커밋 메시지(git commit message), 깃모지(Gitmoji) 📌 Type 키워드Type 키워드사용 시점feat새로운 기능 추가fix버그 수정docs문서 수정style코드 스타일 변경 (코드 포매팅, 세미콜론 누락 등)기능 수정이 없는 경우design사용자 UI 디자인 변경 (CSS 등)test테스트 코드, 리팩토링 테스트 코드 추가refactor코드 리팩토링build빌드 파일 수정ciCI 설정 파일 수정perf성능 개선chore 빌드 업무 수정, 패키지 매니저 수정 (gitignore 수정 등)rename파일 혹은 폴더명을 수정만 한 경우remove파일을 삭제만 한 경우 📌 관련 이슈 키워드사용 시점사용 키워드해결종료 : Closes수정 : Fixes해결 : Resolves참고참고 : Ref관련 : Related to참고 : See also 📌 깃모지 모음이.. 2024. 11. 6.
[Apple] 아이폰 단축어로 결제 자동화 - 간편결제, 브랜드페이 🎯 Goal단축어 앱을 사용하여 브랜드페이 통합 및 간편결제 실행 자동화📌 단축어 앱아이폰 단축어는 반복해서 사용하는 앱 기능을 단축해 주는 기능입니다. 아이폰의 단축어 기능을 활용하여 다양한 간편결제 및 페이 앱을 통합하는 방법을 안내드립니다.⚙️ 설정 방법원하는 기능을 수행하도록 프롬프트를 설정했습니다.아래의 각 선택 메뉴를 선택함에 따라 원하는 앱이 실행되도록 구성했습니다.우리 Pay국민 Pay토스 Pay네이버 Pay카카오 Pay페이코페이북T멤버십 2024. 10. 31.
[Apple] 아이폰 스크린샷 스크롤 전체화면 길게 캡처 - Tailor, 사파리, 네이버 🎯 Goal아이폰 기본 화면, 애플리케이션 및 모바일 웹 스크롤 전체 캡처📌 모바일 웹모바일 웹이란 크롬, 네이버, 사파리와 같은 웹 브라우저에서 접근하는 웹페이지를 말합니다.모바일 웹 캡처의 경우, 네이버 앱이나 사파리 기본 앱을 통해 쉽게 스크롤 캡처할 수 있습니다.⚙️ 네이버 앱 - 캡처 방법1) 네이버 앱  ▶ 스크롤 캡처하고 싶은 "웹페이지 이동"2) 하단 "더 보기" 버튼 ▶ "전체 캡처" 선택 ⚙️ 사파리 앱 - 캡처 방법1) 사파리 앱  ▶ 스크롤 캡처하고 싶은 "웹페이지" 캡처2) 캡처 후 "화면 좌측 하단에 나타나는 캡처 썸네일" 선택3) "전체 페이지" 탭 선택4) "공유" 선택 ▶ 캡처 이미지 저장 📌 일반화면 스크롤 캡처 (Tailor 앱)어플리케이션이란 웹 브라우저에서 볼 .. 2024. 10. 31.
[HTML] 구조설계 시맨틱 태그(Semantic Tag) 활용 - <header> <nav> <main> <article> <section> <aside> <footer> 📌 시맨틱 태그 활용한 웹사이트 구조시맨틱 태그를 활용하면 웹사이트 구조를 명확하게 정의하고, 검색 엔진 최적화(SEO) 도움이 됩니다. 로고 GNB 내비게이션 메뉴 섹션 1 섹션 2 섹션 3 푸터 📌 시맨틱 태그 종류, , , 각각 헤더, 주요 콘텐츠, 사이드바, 푸터에 사용됩니다. 머리, 몸통, 발, 사이드바 역할헤더  -  header사이트의 로고, 제목 등 위치메뉴  -  는 GNB 등 내비게이션 메뉴를 묶는 데 사용되며, 보통 과 함께 나타납니다. 은 순서 없는 목록으로 를 하위 태그로 사용하고, 은 순서 있는 목록으로 동일하게 를 사용합니다. navigation사이트의 메뉴.. 2024. 10. 22.
728x90
반응형