부트캠프 15

[ 코딩온 ] KDT 웹 풀스택 13기 / 3차 React 개인 프로젝트 회고

"백일몽"온라인 숙박 공유 플랫폼서버 주소 : http://43.203.247.141:3000/사용 기술 : React, Next.js, Typescript개발 기간 : 2024.09.02.월 ~ 2024.09.12.목참여 인원 : 1인. 개인 프로젝트주요 기능 :1. 검색 : 여행지, 날짜, 인원 선택  2. 필터링 : 해시태그 기반 검색3. 지도 : React google maps api. 위치 표시 및 길찾기이번 React 개인 프로젝트에서는 사용자 중심의 UI/UX 구현을 목표로 하였습니다.또한, 프로젝트를 통해 프론트엔드의 다양한 기술을 학습하고, 실제 서비스에 가까운 환경을 구축함으로써 웹 개발의 실질적인 기술력을 향상하는 데 목적을 두었습니다.  페이지 설명1. 메인페이지 : 헤더로고 : 로..

[ 프로그래머스 ] readline 모듈

프로그래머스에서 코딩테스트 연습을 위한 readline모듈 사용법을 정리해보려고 한다. readline모듈?Node.js에서 제공하는 내장 모듈로, 표준 입력(stdin)과 표준 출력(stdout)을 사용하여 텍스트를 한 줄씩 읽고 쓸 수 있게 해주는 인터페이스를 제공합니다. 주로 CLI(Command Line Interface) 응용 프로그램에서 사용자 입력을 처리하거나, 콘솔에서 사용자와 상호작용을 하기 위해 사용된다.1. readline 모듈 가져오기const readline = require('readline');이 줄은 Node.js의 내장 모듈인 readline을 가져온다.2. readline 인터페이스 생성const rl = readline.createInterface({           ..

programmers 2024.08.30

[ 코딩온 ] KDT 웹 풀스택 13기 / 2차 Node.js 프로젝트 회고 : 업무 협업 툴 Colla, Socket.io로 1:1채팅 구현하기

[ 업무 협업 툴 Colla ]서버 주소 :  http://54.180.246.133/  지난 3주간(7/24 ~ 8/14) 2차 Node.js 팀 프로젝트를 진행했다. 나는 이번 프로젝트에서 Socket.io로 1:1채팅 구현하는 부분을 담당했다. 1. 검색으로 채팅 시작하기- 검색 결과를 클릭하면 axios로 createchat controller에서 채팅방 존재 여부를 검사한다.- (controller에서) 채팅방이 존재하지 않으면, 채팅방을 새로 만들고 DB에 나,상대방정보를 입력한다.                  채팅방이 존재하면 그 채팅방 이름을 내보낸다.- axios결과로 받아온 채팅방에 나,상대방 입장한다.                  채팅방이 존재하면(flag == 1), DB에서 지..

[ 코딩온 ] KDT 웹 풀스택 13기 / 7월 4주차 회고 / Socket.io

2024.07.23 화 소켓(Socket)이란 서버와 클라이언트를 연결해주는 도구로써 인터페이스 역할을 한다. 즉, 프로세스가 네트워크로 데이터를 내보내거나 데이터를 받기 위한 실제적인 창구역할을 한다는 말이다. 소켓 통신을 하는 방법으로 두가지를 배웠다. 첫번째는 WebSocket, 두번째는 Socket.io. 이번 포스팅에서는 위 두가지 방법 중 Socket.io의 사용법에 관해 다뤄보려고 한다. Socket.io : 클라이언트와 서버 간의 짧은 지연 시간, 양방향 및 이벤트 기반 통신을 실시간으로 가능하게 하는 라이브러리. WebSocket 프로토콜 위에서 구축되었으며 통신 과정을 단순화하고 개선하기 위한 추가 기능을 제공. 기본 이벤트 connection : 클라이언트가 서버에 연결되었을 때 발생..

[ 코딩온 ] KDT 웹 풀스택 13기 / 7월 4주차 회고 / aws

2024.07.22 월 지난주 금요일(19일)에 이어 aws에 관한 수업을 들었다.수업에서는 aws중 ec2, s3, RDS, IAM을 사용해봤다.이번 포스팅에서는 이것들이 무엇인지와 그 사용법에 관해 정리해보려고 한다.ec2: AWS의 가상 서버 서비스ec2 인스턴스 생성AWS Management Console에서 "EC2"를 검색하고 선택합니다.좌측 "인스턴스" -> 우측 위에 있는 "Launch Instance(인스턴스 시작)" 버튼을 클릭합니다.서버의 이름을 만들어 줍니다.AMI(Amazon Machine Image)를 선택합니다. (예: Amazon Linux 2, Ubuntu 등)인스턴스 유형을 선택합니다. (예: t2.micro - 무료 티어)키 페어(Key Pair)를 생성하거나 기존 키 ..

[ 코딩온 ] KDT 웹 풀스택 13기 / 7월 3주차 회고 / 비밀번호 암호화

2024.07.18 목 보안을 위해 비밀번호는 암호화해서 저장하는 것이 좋다.암호화 종류로는 크게 단방향 암호화, 양방향 암호화 두가지가 있다.  단방향 암호화- 복호화 불가능- 동일한 데이터에 대해서는 동일한 해시값이 생성됨.단방향 암호화 구현 1.: Crypto - createHash, pbkdf2Sync- 암호화 알고리즘이 모여 있는 패키지.- 설치할 필요 없이 아래 정의로 사용 가능.   const crypto = require('crypto');       Crypto 모듈 - 메서드사용createHash(algorithm)const crypto = require('crypto');const createHashedPassword = (password) => {     //createHash(알고..

[ 코딩온 ] KDT 웹 풀스택 13기 / 7월 3주차 회고 / Sequelize 폴더 구조

2024.07.15 월 이번시간에는 Model파일에 Mysql 구조를 맵핑하는 방식이 아닌Sequelize를 이용해 Model에서 직접 테이블을 생성하는 방법을 배웠다. 전반적인 흐름은 지난시간에 배운 MVC - MySQL연결하는 것과 비슷하다.하지만 Sequelize를 사용하면 Model부분과 Controller부분이 바뀌고, 몇 개의 폴더가 추가된다.이번 포스팅에는 Sequelize 폴더 구조와 추가로 필요한 폴더까지 정리해 보려고 한다.  Sequelize란?- Node.js에서 사용할 수 있는 강력한 ORM(Object-Relational Mapping) 라이브러리.- 데이터베이스 테이블을 정의하기 위해 모델을 사용한다. - 데이터베이스에 대한 CRUD를 Controller에서 손쉽게 수행할 수 ..

[ 코딩온 ] KDT 웹 풀스택 13기 / 7월 2주차 회고 / MVC - MySQL 연결

2024.07.12 금 Mysql과 node.js(Model)연결하는 방법 1. vs code에 mysql2 설치.         //npm i mysql22. Mysql에서 테이블 미리 만들기.3. env파일에 Mysql 로그인 정보 입력.//.envHOST=localhostMYUSER= //아이디 입력PASS= //비밀번호 입력DATA= //사용할 DB이름 입력  4. env파일에서 정의한 환경 변수를 이용해 MySQL 연결.//user.js//modelrequire('dotenv').confing(); //.env파일 사용하기 위함const mysql = require('mysql2/promise'); //mysql을 이용하기 위함//Mysql에 연결할때 사용할 함수const getConn = a..

[ 코딩온 ] KDT 웹 풀스택 13기 / 7월 2주차 회고 / MVC(MySQL 연결x)

2024.07.10 수 MVC란?- Model, View, Controller- 소프트웨어 설계와 관련된 디자인 패턴. - 코딩 방법론. MVC 흐름 Model : 데이터 처리View : UI관련된 것 처리. 프론트엔드Controller : View, Model 연결. 라우터의 콜백함수 수행. 백엔드 실습 : 동적폼전송 코드를 MVC 로 바꾸기server.js : 동적 폼전송. MVC분리X//server.js//동적 폼전송 ( MVC 분리 X )const express = require('express');const app = express();const PORT = 8000;//설정//view engineapp.set('view engine', 'ejs');//body-parserapp.use(expr..

[ 코딩온 ] KDT 웹 풀스택 13기 / 7월 2주차 회고 / MySQL : JOIN

2024.07.09 화 JOIN이란?: 두 개의 테이블을 묶어 하나의 테이블로 만드는 것.customer의 pk와 orderlist의 fk값이 일치해야 한다. JOIN의 종류1. INNER JOINSELECTFROM 테이블A INNER JOIN 테이블BON 조인조건WHERE 검색조건; 예시코드select * from people as a inner join department as bon a.department_id = b.id; INNER JOIN을 SELECT로 출력하면공통열인 ID(department_id, id)를 기준으로 출력된다.2. LEFT OUTER JOINSELECTFROM 테이블A LEFT [OUTER] JOIN 테이블BON 조인조건; 예시코드select * from people as ..