목록
'홈' 734건
-
로컬 로그인 구현하기(1)로컬 로그인이란 다른 SNS 서비스를 통해 로그인하지 않고 자체적으로 회원가입 후 로그인하는 것을 의미합니다. 즉, 아이디/비밀번호 또는 이메일/비밀번호를 통해 로그인하는 것입니다.Passport에서 이를 구현하려면 passport-local 모듈이 필요합니다. 이미 설치했으므로 로컬 로그인 전략만 세우면 됩니다. 로그인에만 해당하는 전략이므로 회원가입은 따로 만들어야 합니다.routes/middlewares.jsexports.isLoggedId = (req, res, next) => { if (req.isAuthenticated()) { next(); } else { res.status(403).send("로그인 필요"); }};exports.isNotLoggedIn = (req, re..
-
session 내장 객체에 데이터 바인딩 실습1. JSP 파일이 많아지므로 test01 폴더를 만든 후 session1.jsp, session2.jsp 등 실습 파일들을 생성합니다. 2. SessionTest 클래스를 다음과 같이 작성합니다. 서블릿에서 getSession() 메서드를 이용해 session 객체를 얻은 후 name을 바인딩합니다.package sec01.ex01;import java.io.IOException;import java.io.PrintWriter;import java.rmi.ServerException;import jakarta.servlet.http.HttpServlet;import jakarta.servlet.http.HttpServletRequest;import jakarta.servlet.http.HttpServl..
-
월별 카드 지출 내역 분석 - 파이썬 패키지 준비하기패키지(package)는 특정 기능을 구현한 모듈(module)을 모아 둔 폴더로, 패키지를 활용하면 미리 작성된 코드를 재사용할 수 있어 매우 유용합니다. 파이썬은 방대한 커뮤니티를 기반으로 다양한 패키지를 제공하며, 이 패키지들 외부 데이터를 손쉽게 불러오고 처리하는 기능을 제공합니다. 이러한 장점 덕분에 파이썬은 데이터 관리와 분석에 최적화된 프로그래밍 언어로 자리잡았습니다. 파이썬 패키지 준비하기 pathlib 패키지현재 작업 폴더를 'ch_02'로 가정하고 하위 경로에 두 폴더 'input'과 'output'을 생성합니다.'input' 폴더는 앞으로 실습 프로젝트를 진행하며 불러올 액셀 파일을 저장하는 폴더로 사용하고, 'output' 폴더는 코드의 실행 결과를 저장하는 폴더로 사용합니다.비주얼..
-
Passport 모듈로 로그인 구현하기SNS 서비스이므로 회원가입과 로그인이 필요합니다. 회원가입과 로그인을 직접 구현할 수도 있지만, 세션과 쿠키 처리 등 복잡한 작업이 많으므로 검증된 모듈을 사용하는 것이 좋습니다. 바로 Passport를 사용하는 것입니다.이 모듈은 이름처럼 우리의 서비스를 사용할 수 있게 해주는 여권 같은 역할을 합니다.요즘에는 서비스에 로그인할 때 아이디와 비밀번호를 사용하지 않고 구글, 페이스북, 카카오톡 같은 기존의 SNS 서비스 계정으로 로그인하기도 합니다. 이 또한 Passport를 사용해서 해결할 수 있습니다. 먼저 Passport 관련 패키지들을 설치합니다.$ npm i passport passport-local passport-kakao bcrypt app.jsconst express = require(..
-
내장 객체(내장 변수) 기능JSP 페이지의 내장 객체(내장 변수)란 JSP가 서블릿으로 변환될 때 컨테이너가 자동으로 생성시키는 서블릿 멤버 변수를 말합니다. 즉, 서블릿으로 구현 시 자주 사용했던 객체를 개발자가 일일이 만드는 것이 아니라 서블릿으로 변환 시 컨테이너가 자동으로 생성하여 사용하게끔 제공하는 것입니다. JSP 파일이 서블릿으로 변환되었을 때 _jspService() 메서드에 생성된 내장 객체를 저장하는 내장 변수가 선언된 코드입니다. JSP 페이지에서 제공하는 여러 가지 내장 객체를 정리한 것입니다. JSP에서 제공하는 내장 객체들내장 객체서블릿 타입설명requestjavax.servlet.http.HttpServletRequest클라이언트의 요청 정보를 저장합니다.responsejavax.servlet.http...
-
보기 좋은 차트 만들기matplotlib 패키지와 numpy 패키지를 활용해서 바 차트를 보기 좋게 만들어 보겠습니다. 비주얼 스튜디오 코드에서 새로운 파일을 생성하고 파일명을 'step_3_3.py'로 변경하세요. 코드를 입력한 뒤, 대화형 창에서 실행하면 'output' 폴더에 실행 결과가 png 파일로 생성됩니다.from pathlib import Pathimport matplotlib.pyplot as pltimport numpy as np # 3from step_2_1 import OUT_DIR # 이전에 작성한 모듈을 불러옵니더.from step_3_1 import load_plot_dataplot_data = load_plot_data()log_size = np.log(plot_data["size"]) # 8fi..
-
데이터베이스 세팅하기 (3)이제 생성한 모델을 데이터베이스 및 서버와 연결합니다. 아직 데이터베이스를 만들지 않았으므로 데이터베이스로부터 만들겠습니다. 데이터베이스의 이름은 nodebird입니다.MySQL 프롬프트를 통해 SQL문을 데이터베이스를 만들었습니다. 하지만 시퀄라이즈는 config.jspm을 읽어 데이터베이스를 생성해주는 기능이 있습니다. 따라서 config.json을 먼저 수정합니다. MySQL 비밀번호를 password에 넣고 데이터베이스 이름을 nodebird러 바꿉니다. 자동 생성한 config.json에 operatorAliaxes 속성이 들어 있다면 삭제합니다.{ "development": { "username": "root", "password": "1234", "database": "no..
-
이미지 리스트 출력 예제1. imageList.jsp를 생성하고 실습 이미지인 duke.png를 추가합니다. 2. imageList.jsp를 다음과 같이 작성합니다. for 반복문을 이용해 태그 안에 태그를 연속적으로 출력해서 이미지를 나타냅니다. 이미지 이미지 이름 선택하기 이미지 이름: 듀크 ' type='checkbox'/> 3. http:///localhost:8090/pro12/image1.jsp로 요청하면 다음과 같이 출력됩니다. 리스트로 출력하는 기능은 웹 페이지에서 많아 사용하는 기능입니다.
-
데이터 시각화 첫걸음 떼기이제 matplotlib 패키지를 사용해 폴더 크기 데이터를 시각화해 봅시다.비주얼 스튜디오 코드에서 새로운 파일을 생성한 뒤 파일명을 'step3_2.py'로 변경합니다. 다음과 같이 코드를 입력하고, 대화형 창에서 실행하세요. 실행 결과를 'output' 폴더에 'step_3_2.png' 파일을 생성됩니다.from pathlib import Pathimport matplotlib.pyplot as plt # 2from step_2_1 import OUT_DIR # 이전에 작성한 모듈운 불러옵니다.from step_3_1 import load_plot_dataplot_data = load_plot_data()fig, ax = plt.subplots() # 7ax.barh(plot_data["stem"]..
-
데이터베이스 세팅하기이제 생성한 모델들을 시퀄라이즈에 등록합니다. models/index.js에는 시퀄라이즈가 자동으로 생성한 코드들이 들어 있을 것입니다. 그것을 다음과 같이 통째로 바꿉닏다.models/index.jsconst Sequelize = require("sequelize");const env = process.env.NODE_ENV || "development";const config = require("../config/config")[env];const User = require("./user");const Post = require("./post");const Hashtag = require("./hashtag");const db = {};const sequelize = new Sequelize( co..
-
구구단 출력 예제1. 구구단 예제 실습 파일인 gugu.html, gugu.jsp, gugu2.jsp를 준비합니다. 2. gugu.html을 다음과 같이 작성합니다. 출력할 구구단의 단수를 입력받아 gugu.jsp로 포워딩합니다. 구구단의 단수를 입력하세요. 출력할 구구단: 3. gugu.jsp를 다음과 같이 작성합니다. 스크립트릿 안에서 자바 for문을 이용해 태그의 행을 나타내는 태그를 연속해서 브라우저로 출력합니다. 단 출력 * 4. http://localhost:8090/pro12/gugu.html로 요청하여 입력창에서 단수를 입력한 후 전송합니다. 5. for문을 이용해 구구단을 리스트로 출력합니다. 6. 다음과 같이 gugu2...
-
데이터 시각화하기 - 데이터 전처리하기데이터 분석과 시각화를 위해 수집한 원본 데이터를 원하는 형태로 제공하는 과정을 데이터 전처리라고 합니다. 데이터 전처리는 정확한 분석을 위해 반드시 필요한 과정입니다. 수집한 데이터에서 필요한 정보를 선별하고, 범위를 벗어나는 이상치 또는 측정하지 못한 결측치 등을 다른 다른 값으로 대체하거나 삭제함으로써 데이터의 품질을 향상시킬 수 있게 때문입니다.파이썬은 데이터 분석에 표준 언어로 쓰이는 만큼 다양한 데이터 분석 및 패키지를 제공합니다. 여기서는 폴더의 크기를 가로축에, 폴더의 이름을 세로 축에 두어 가로로 긴 막대 그래프를 그리겠습니다. 데이터 전처리하기이번 절에는 폴더 크기를 시각화하기 위해 matplotib 패키지를 사용합니다. 비주얼 스튜디오 코드에서 터미널을 열고, 다음 명령어를 입력하여 ..