목록분류 전체보기 (64)
프로그래밍 공부방

로그인 기능을 구현하기 위해서 먼저 세션을 공부해보겠습니다! 먼저 아래와 같이 입력해서 설치해주세요. npm install -s express-session npm install express-mysql-session MYSQL 세션 저장 저는 mysql에 세션을 저장하는 방식을 이용했습니다. 그렇기 때문에 mysql도 미리 설치를 해주고 시작해주세요. options에는 본인 데이터베이스의 포트번호와 패스워드 등을 입력해주세요. const session = require("express-session"); const MySQLStore = require('express-mysql-session')(session); var options = { host: "localhost", port: 포트번호, use..

HTML 파일에서 중복으로 사용되는 부분을 계속 코드를 작성해서 따로 넣어주기에는 비효율적인 일입니다. 따라서 ejs파일로 만들어서 html 파일 안에 다른 html 코드를 include 해주도록 하겠습니다. 1. app.js 코드 var fs = require('fs'); const ejs = require("ejs"); app.get('/', function(req, res){ fs.readFile('./views/index.ejs', "utf-8", function(error, data){ res.writeHead(200, {'Content-Type': 'text/html' }); res.end(ejs.render(data)); }) }) ejs를 사용하기 위해서 ejs 모듈을 require 해주세..

저는 식물 커뮤니티 프로젝트를 진행하고 있었습니다. 문제없이 잘 진행하고 있다가 openAPI에서 값을 받아온 후 화면에 출력하는 과정에서 문제가 생겼는데...ㅠ 바로 CORS 에러!!!!!!!!!!! 동일한 출처일 땐 자원에 접근할 권한이 주어지지만 그렇지 않을 때는 권한이 없기 때문에 생기는 에러입니다. 프론트엔드쪽만 공부하면서 개발하고 있었기 때문에 이 문제도 프론트엔드 상에서 해결하려고 했습니다. 하지만.. 실패... !!!!!!! -_-.... 저는 클라이언트쪽에서 공공데이터포털쪽 서버로 XMLHttpRequest를 이용해서 바로 데이터를 요청했습니다. 그렇게 한 결과 위에 사진처럼 cors 에러가 생겼죠 좀 더 알아보니깐 cors 에러를 해결하려면 서버 측에서 코드를 수정해야했습니다. 저는 기..

사용된 openAPI : 산림청 국립수목원_식물자원 서비스 | 공공데이터포털 (data.go.kr) 1. parser.toJson(xml데이터) : xml → json 이 때 parser = require(xml2json') 입니다. parser.toJson은 xml을 json 형태로 바꾸어줍니다. 결과값 보시면 json으로 잘 바뀐 것을 확인할 수 있습니다. 2. JSON.parse( ) : json 데이터 → js 객체 위에 json 데이터를 JSON.parse()를 해 준 후의 결과입니다. typeof로 위 결과값이 어떤 타입인지 확인해보면 object로 뜹니다. 위 결과값을 결과를 요청한 클라이언트쪽으로 전달한 후에 console.log로 확인했을 때의 결과입니다. js 객체로 바꾼 후에는 아래와..
SQL 데이터베이스란? 관계형 데이터베이스 시스템 NoSQL 데이터베이스란? 비관계형 데이터베이스 시스템 SQL - 고정된 열과 행을 가지고 있는 테이블에 데이터를 저장할 수 있다. - 확실한 데이터 구조를 가지고 있다. NoSQL - NoSQL 데이터베이스 유형은 다음과 같다. 1. 문서 데이터베이스: JSON 객체와 비슷한 문서에 데이터 저장 2. 키-값 데이터베이스: 각 항목에 키, 값이 포함 3. 와이드 컬럼 스토어: 테이블, 행 및 동적 열에 데이터 저장 4. 그래프 데이터베이스: 노드와 에지에 데이터 저장 - 자유로운 데이터 구조를 가지고 있다.
def solution(n, arr1, arr2): answer = [] binaryarr1 = [] binaryarr2 = [] binary_result = '' for i in range(len(arr1)): binaryNum1 = format(arr1[i], 'b') binaryNum2 = format(arr2[i], 'b') if len(binaryNum1) < n: binaryNum1 = ('0'*(n-len(binaryNum1))) + binaryNum1 if len(binaryNum2) < n: binaryNum2 = ('0'*(n-len(binaryNum2))) + binaryNum2 binaryarr1.append(binaryNum1) binaryarr2.append(binaryNum2)..
def solution(dartResult): answer = [] dartResult_set_list = [] for i in range(len(dartResult)): if (dartResult[i].isdigit() == True and dartResult[i-1].isdigit() == True): dartResult_set_list[-1] += dartResult[i] else: dartResult_set_list.append(dartResult[i]) for i in range(len(dartResult_set_list)): if (dartResult_set_list[i] == "S"): answer.append(pow(int(dartResult_set_list[i-1]), 1)) elif (..