728x90
728x90

보안 29

Nuxt.js에서 MariaDB와 연결해 SELECT 데이터 리턴하기

안녕하세요, Nuxt 개발자 여러분! 이번에는 Nuxt 3의 서버 핸들러(defineEventHandler)에서 MariaDB 데이터베이스에 연결하고, SELECT 쿼리를 실행해 결과를 클라이언트에 리턴하는 방법을 알아보겠습니다. MariaDB는 MySQL과 호환되는 오픈소스 데이터베이스로, Node.js 환경에서 쉽게 통합할 수 있습니다. 단계별로 상세히 설명할게요!1. 기본 환경 설정MariaDB에서 데이터를 가져오려면 먼저 프로젝트에 데이터베이스 연결 라이브러리를 설치하고, Nuxt의 서버 환경에서 이를 사용해야 합니다.1.1. 프로젝트 구조 my-nuxt-project/├── pages/│ └── index.vue├── server/│ └── api/│ └── getData.js..

개발자 생산성 높이는 숨겨진 툴 공개!

오늘은 개발자라면 꼭 써봐야 할 생산성 도구 5가지를 소개해 드릴게요. 특히 이 중 몇 가지는 저희 팀원들과 함께 써봤는데, 생산성이 정말 12배, 13배씩 뛴 툴도 있었어요. 제 개인적인 총평? 12시간 걸릴 개발을 1시간 만에 끝내고 칼퇴 가능! 이렇게 표현하고 싶네요. "어, 이거 괜찮은데?" 싶으시면 망설이지 말고 바로 업무에 도입해 보세요. 자, 그럼 시작해 볼까요?1. 커서 AI (Cursor AI) - AI와 함께하는 코딩 혁명첫 번째로 소개할 툴은 커서 AI입니다. 요즘 세상이 온통 AI로 떠들썩하죠? "AI 때문에 개발 공부할 필요 없다"는 말도 들어보셨을 거예요. 그 주인공 중 하나가 바로 커서 AI인데요, 이름에 AI가 들어간 만큼 개발에 강력하게 활용할 수 있는 도구입니다.커서 AI..

카테고리 없음 2025.02.23

Node.js, Express, JWT를 이용한 로그인 애플리케이션 구현하기

Node.js, Express, JWT는 현대적인 웹 애플리케이션 개발에서 널리 사용되는 기술 스택입니다. 특히, JWT(JSON Web Token)는 상태 비저장(stateless) 인증 방식으로, 사용자 인증 및 권한 관리에 효과적인 솔루션을 제공합니다. 이 글에서는 이러한 기술들을 활용하여 간단한 로그인 애플리케이션을 구축하는 과정을 상세하게 설명하고, 예제 코드를 통해 실제 구현 방법을 보여드리겠습니다.1. 프로젝트 설정 및 의존성 설치먼저, 새로운 Node.js 프로젝트를 생성하고 필요한 의존성을 설치합니다.mkdir jwt-login-appcd jwt-login-appnpm init -ynpm install express jsonwebtoken bcryptjs corsexpress: Node...

PostgreSQL에서 안전한 비밀번호 관리: pgcrypto를 활용한 해싱

PostgreSQL 데이터베이스에서 사용자의 비밀번호를 안전하게 관리하는 것은 매우 중요합니다. 만약 비밀번호가 평문으로 저장된다면, 데이터베이스가 해킹될 경우 모든 사용자의 비밀번호가 노출될 수 있는 심각한 문제가 발생할 수 있습니다. 이러한 위험을 방지하기 위해 PostgreSQL에서는 pgcrypto라는 확장 기능을 제공하여 비밀번호를 안전하게 해싱하는 기능을 지원합니다.pgcrypto 확장 설치pgcrypto 확장을 설치하면 PostgreSQL은 강력한 암호화 기능을 사용할 수 있게 됩니다. 설치는 다음과 같은 SQL 문장으로 간단하게 수행됩니다.CREATE EXTENSION IF NOT EXISTS pgcrypto;비밀번호 해싱 및 저장pgcrypto를 설치한 후에는 crypt 함수와 gen_s..

PostgreSQL 2024.12.21

Vue.js를 이용한 사용자 로그인 구현: 단계별 가이드 및 심층 분석

Vue.js를 이용하여 사용자 로그인 기능을 구현하는 것은 웹 애플리케이션 개발에서 필수적인 과정입니다. 이 글에서는 Vue.js를 활용하여 안전하고 효율적인 사용자 로그인 시스템을 구축하는 방법을 단계별로 자세히 설명하고, 각 단계에서 고려해야 할 사항과 추가적인 기능 구현 방법을 함께 다룹니다.1. 프로젝트 생성 및 환경 설정Vue CLI로 프로젝트 생성vue create vue-logincd vue-loginnpm install axios vue-routeraxios: API 호출을 위한 HTTP 클라이언트vue-router: 라우팅 설정을 위한 패키지  프로젝트 디렉토리 구조 src/├── components/│ ├── Login.vue│ ├── Home.vue│ └── Dashboar..

npm 사용을 위한 방화벽 해제: Node.js 개발 환경 구축 가이드

Node.js 개발 환경을 구축하고 npm을 통해 패키지를 설치하려면, 외부 네트워크와의 연결을 허용해야 합니다. 이를 위해서는 방화벽에서 특정 포트와 도메인에 대한 접근을 허용해야 합니다. 이 글에서는 npm을 사용하기 위해 열어야 할 포트와 도메인, 그리고 방화벽 설정 시 주의해야 할 점을 자세히 설명합니다.왜 방화벽 설정이 필요한가요?npm은 Node.js 패키지 관리 시스템으로, 전 세계 개발자들이 공유하는 방대한 패키지 저장소에 접근하여 필요한 모듈을 설치합니다. 이 과정에서 npm은 인터넷을 통해 패키지 정보를 가져오고, 실제 패키지 파일을 다운로드해야 합니다. 따라서 방화벽이 닫혀 있다면 npm이 정상적으로 작동하지 않아 패키지 설치가 불가능해집니다.npm을 사용하기 위해 열어야 할 포트와 ..

~/.ssh/config 파일: SSH 연결의 숨은 조력자

Linux/macOS 환경에서 개발자라면 누구나 한 번쯤 사용해봤을 SSH(Secure Shell). 원격 서버에 안전하게 접속하고 명령을 실행하는 강력한 도구입니다. 하지만 다양한 서버에 자주 접속하다 보면 매번 호스트 이름, 포트 번호, 사용자 이름, SSH 키 파일 경로 등을 일일이 입력하는 것이 번거롭게 느껴질 수 있습니다. 이러한 불편함을 해소하고 SSH 연결을 더욱 효율적으로 관리하기 위해 사용되는 것이 바로 ~/.ssh/config 파일입니다.~/.ssh/config 파일이란?~/.ssh/config 파일은 SSH 클라이언트가 사용하는 설정 파일입니다. 이 파일을 통해 다양한 SSH 연결에 대한 설정을 미리 정의해 두면, 간단한 명령어만으로 원하는 서버에 접속할 수 있습니다. 마치 브라우저의..

SSH 공개키/개인키 방식으로 안전하게 서버에 접속하는 방법: 맥 환경 기준

SSH(Secure Shell)는 네트워크를 통해 컴퓨터에 안전하게 로그인하고 명령을 실행할 수 있도록 해주는 프로토콜입니다. 기존의 비밀번호 기반 인증 방식은 보안에 취약할 수 있지만, SSH의 공개키/개인키 인증 방식은 더욱 안전하고 편리한 접속을 제공합니다. 이 글에서는 맥 환경에서 SSH를 이용하여 공개키/개인키 방식으로 서버에 접속하는 방법을 단계별로 자세히 알아보겠습니다.SSH 공개키/개인키 인증의 개념SSH 공개키 인증 방식은 비대칭 암호화를 이용하여 사용자를 인증하는 방법입니다. 공개키와 개인키로 이루어진 키 쌍을 생성하고, 공개키는 서버에 등록하고 개인키는 사용자가 보관합니다. 서버는 클라이언트가 보낸 메시지를 개인키로 암호화하여 복호화할 수 있는지 확인하여 사용자를 인증합니다. 즉, 개..

맥을 홈서버로 할때 필요한 설정사항

맥을 홈서버로 설정하는 것은 개인 또는 소규모 네트워크에서 서버 역할을 수행할 수 있게 만드는 매우 유용한 방법입니다. 홈서버를 설정하기 위해 다음과 같은 사항을 고려하고 설정해야 합니다:1. 필요한 서비스 결정먼저, 홈서버에서 어떤 서비스를 제공할지 결정하세요. 일반적인 예는 다음과 같습니다:파일 공유(예: SMB/NFS)미디어 스트리밍 서버(예: Plex, Jellyfin, Emby)웹 서버(예: Apache, Nginx)클라우드 스토리지(예: Nextcloud)홈 오토메이션(Hubitat, Homebridge 등)다운로드 서버(예: Transmission, qBittorrent)2. 하드웨어와 네트워크 설정IP 주소 고정화: 홈서버는 네트워크에서 고정 IP를 사용하는 것이 좋습니다.시스템 환경설정 ..

Swagger-UI, 개발 환경에서만 노출하고 운영 환경에서는 숨기는 방법: 상세 가이드

Swagger-UI는 개발 과정에서 API 문서를 시각적으로 확인하고 테스트하기에 매우 유용한 도구입니다. 하지만, 운영 환경에서는 보안상의 이유로 민감한 정보가 노출될 수 있으므로, Swagger-UI를 숨기는 것이 일반적입니다. 이 글에서는 Swagger-UI를 개발 환경에서만 노출하고, 운영 환경에서는 숨기는 방법을 다양한 관점에서 자세히 설명합니다.왜 Swagger-UI를 숨겨야 할까요?보안: Swagger-UI는 API에 대한 모든 정보를 제공하기 때문에, 악의적인 사용자가 이를 이용해 시스템을 공격할 수 있습니다. 특히, API 엔드포인트, 요청/응답 데이터 형식, 인증 방식 등 민감한 정보가 노출될 수 있습니다.성능: Swagger-UI는 API 문서를 생성하고 제공하는 데 추가적인 자원을 ..

728x90
728x90