출처: https://bumcrush.tistory.com/182 [맑음때때로 여름]
const mongoose = require('mongoose')

const userSchema = mongoose.Schema({

    name :{
        type : String,
        maxlength : 50
    },
    email : {
        type : String,
        trim : true,
        unique : 1
    },
    passworld : {
        type : String,
        minlegth : 5
    },
    lastname :{
        type : String,
        maxlength : 50
    },
    role : {
        type : Number,
        default : 0
    },
    image : String,
    token : {
        type : String
    },
    tokenExp : {
        type : Number
    }

})

const User = mongoose.model('User', userSchema)
module.exports = {User}

'DB > ETC' 카테고리의 다른 글

[GIT] git 설치  (0) 2021.02.24
[mongodb] 유저생성 및 nodejs 몽고 DB연결  (0) 2021.02.24
[mongodb] 몽고DB 클러스터 생성하기  (0) 2021.02.24

connect 누르고 username과 password 입력후 생성

 

체크 ~ 체크~

 

 

저 부분 복사해놓는다.

혹시몰라서 일단 가렸는데 별로 그럴 필요없었네;

 

 

몽구스 설치하기

 

VSCODE 터미널 혹은 cmd에서 npm install mongoose --save

 

 

package.json에 보면 mongoose가 생긴 것을 볼 수 있다.

 

 

몽고 DB 연결하기

 

const express = require('express')
const app = express()
const port = 3000


const mongoose = require('mongoose')
mongoose.connect('mongodb+srv://HYOSEON:비번@hyseonbolierplate.9vvek.mongodb.net/myFirstDatabase?retryWrites=true&w=majority',{
    useNewUrlParser: true, useUnifiedTopology:true, useCreateIndex:true, useFindAndModify :false
}).then(() => console.log('mongoDB Connected..'))
 .catch(err => console.log(err))

app.get('/', (req, res) => {  res.send('Hello World!')})

app.listen(port, () => {  console.log(`Example app listening at http://localhost:${port}`)})

 

비번이라고 된 부분엔 비번 쳐준다

복사할땐 <password>라고 되있지만 <>도 다 지워야함.

 

 

 

 

 

 

-- 인강이 너무 미리 설치된게 많아서 알아보고 다 다시해야했던 부분도 기록

npm 설치해야 터미널에서 npm run start 이런거 다 쓸 수 있음.

그리고 비밀번호에 @가 있을때도 에러가 난다고 한다.. 난 그냥 영문+숫자 조합으로 했다.

cloud.mongodb.com/v2/6035f632c682c16cee78ea88#security/database/users

비번 수정 등등은 여기서 가능..

 

 

cloud.mongodb.com/v2/6035f632c682c16cee78ea88#security/network/accessList

첫부분에 IP 추가해주던가 네트워크엑세스(링크) 들어가서 IP추가해줘야됌..

인강에서는 미리 다 추가가 되있어서 에러가 나지 않았던 것이었다.

 

연결 완료~

 

'DB > ETC' 카테고리의 다른 글

[GIT] git 설치  (0) 2021.02.24
[mongodb] model & Schema 생성  (0) 2021.02.24
[mongodb] 몽고DB 클러스터 생성하기  (0) 2021.02.24

인강을 듣는데 몽고 DB에서 클러스터 생성하는 페이지가 바뀌어서 헤매다가 찾아서 기록으로 남긴다.

 

인강에서는 맨처음에 들어가면 클러스터 생성이 뜨는데 바뀌어서 

일단 create an organizations를 눌러준다(초록버튼)

뭐라뭐라 뜨는데 그냥 이름 아무거나 입력해줌..

 

그럼 이제는 new Project를 생성하라고 한다.

역시 생성해줌..

 

프로젝트까지 생성하고 나면 클러스터를 생성할 수 있다.

 

 

당연히 프리선택 ^^^^

 

세개 중에 맘에 드는거 선택..

무료중에서는 한국이랑 제일 가까운 싱가폴 선택 추천

 

선택하고 클러스터네임은 자기맘대로 아무거나..

 

 

클러스터 생성되는데 몇분 걸린다. 끝!

'DB > ETC' 카테고리의 다른 글

[GIT] git 설치  (0) 2021.02.24
[mongodb] model & Schema 생성  (0) 2021.02.24
[mongodb] 유저생성 및 nodejs 몽고 DB연결  (0) 2021.02.24
C:\Users\bit>node -v
v14.16.0

C:\Users\bit>cd documents

C:\Users\bit\Documents>mkdir boiler-plate

C:\Users\bit\Documents>cd boiler-plate

C:\Users\bit\Documents\boiler-plate>npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help init` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (boiler-plate)
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)
About to write to C:\Users\bit\Documents\boiler-plate\package.json:

{
  "name": "boiler-plate",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}


Is this OK? (yes)

expressjs.com/en/starter/hello-world.html

 

 

 

Express "Hello World" example

Hello world example Embedded below is essentially the simplest Express app you can create. It is a single file app — not what you’d get if you use the Express generator, which creates the scaffolding for a full app with numerous JavaScript files, Jade

expressjs.com

const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {  res.send('Hello World!')})

app.listen(port, () => {  console.log(`Example app listening at http://localhost:${port}`)})

 

 

 

 

 

자바에서 콘솔에는 한글이 안깨지는데 받아오면 깨지는 경우 @GetMapping

	@GetMapping(produces="text/plain;charset=UTF-8")

 

 

pip install --upgrade pip

 

 

from urllib import request
from bs4 import BeautifulSoup as bs
import re

url = 'https://search.musinsa.com/ranking/brand'

target = request.urlopen(url)
soup = bs(target, 'html.parser')

brand = soup.select('.brandLogo img')
brandname = []

print('----------------------------------------------------')

for alt in brand[:5] :
    #print(alt.get('alt'))
    brandname.append(alt.get('alt'))


print(brandname)
print('----------------------------------------------------')

import json
jsonString = json.dumps(brandname, ensure_ascii=False)

print(jsonString)


from flask import Flask

# 웹서버 생성
app = Flask(__name__)
print(app)
print(__name__)

#url
@app.route('/brand')
def brandName():
    return jsonString
    
if __name__ == '__main__':
     app.run(debug=True, port=8000)

 

 

 

 

from urllib import request
from bs4 import BeautifulSoup as bs
import re

url = 'https://search.musinsa.com/ranking/brand'

target = request.urlopen(url)
soup = bs(target, 'html.parser')

brand = soup.select('.brandLogo img')
rankup = soup.select('.rank')
result_list = soup.find_all('span', class_="rank")

brandname = []
brandrank = []
brandrank_data = []
rank_data = []

for span in result_list[:10] :
    brandrank_data.append(span.text)

print(brandrank_data)

print('----------------------------시작------------------------')

for alt in brand[:10] :
    #print(alt.get('alt'))
    brandname.append(alt.get('alt'))


print(brandname)
print(brandname[0])
print('----------------------------------------------------')


for cla in rankup[:10] :
    brandrank.append(cla.get('class'))

print(brandrank)
print('----------------------------------------------------')


for i in range(10) :
    rank_data.append(
        {
            'name':brandname[i],
            'rank':brandrank_data[i]
        }
        
        )

print(rank_data)
print('----------------------------------------------------')





import json
jsonString = json.dumps(rank_data, ensure_ascii=False)

print(jsonString)


from flask import Flask

# 웹서버 생성
app = Flask(__name__)
#print(app)
#print(__name__)


from flask_cors import CORS
CORS(app)

#url
@app.route('/brand')
def brandName():
    return jsonString
    
if __name__ == '__main__':
     app.run(debug=True, port=8000)

'memo' 카테고리의 다른 글

[JAVA] 이미지 파일 크롭하여 저장하기 (썸네일 생성)  (0) 2021.03.02
[자바] REST API 요청 시 한글깨짐  (0) 2021.02.17
[파이썬] pip 업그레이드  (0) 2021.02.17
자바스크립트 파일 절대경로 / decode  (0) 2021.02.08
최근 에러 참고  (0) 2021.02.03
[스프링] ajax 참고  (0) 2021.01.29
RESTCLIENT  (0) 2021.01.28

 

 

없으면 cmd에서 pip install pymysql 해준다.

포트는 기본 3306

import pymysql
project_db = pymysql.connect(host='127.0.0.1', db='open', user='aia', password='aia')

cursor1=project_db.cursor()

sql_select = 'select * from member'
cursor1.execute(sql_select)

while True :

    row = cursor1.fetchone()

    if row==None :
        break;
    print(row)

project_db.close()

 

 

import sys
import io
 
sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8')
#한글깨짐 방지

를 위에 넣어주거나

 

 

 

 

 

환경변수에 인코딩 추가하는 방법

 

사용하는 윈도우 환경 변수에 "PYTHONIOENCODING=utf-8" 추가합니다.

환경변수를 추가하려면 "제어판 -> 시스템 -> 고급시스템설정 -> 고급탭 -> 환경변수"로 이동 하셔서

 

 

 

 

 

환경변수 창 아래쪽에 있는 시스템 변수 항목에서 "새로만들기" 버튼 을 클릭 하고 새 시스템 변수에서 아래의 그림과 같이 변수 이름과 변수 값을 적어 넣으시고 확인 버튼을 누르시면 

 

 

 

 

 

 

 

위의 그림과 같이 시스템 변수에 인코딩이 추가된 모습을 볼 수 있습니다. 여기서 "확인" 버튼을 누르면 끝!!!

 



출처: https://mrcoding.tistory.com/entry/아톰에서-파이썬-스크립트-실행시-한글-깨짐현상-잡는-꿀팁 [Mr. Coding]

=

+ Recent posts