일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- SSA
- git
- lambda
- wetube
- merge
- docker
- 카톡
- SAA
- NeXT
- dict
- async
- flask
- S3
- react
- Class
- EC2
- 튜플
- crud
- node
- AWS
- Props
- 중급파이썬
- TypeScript
- RDS
- socket io
- Vue
- 파이썬
- MongoDB
- 채팅
- pandas
- Today
- Total
목록전체 글 (420)
초보 개발자
URL.createObjectURL 먼저 이미지 파일을 선택하면 화면에 보이도록 해주는 방법에 대해서 알아보겠다. #image-uploader는 태그이다. 여기에 이벤트 리스너를 주어서 상태가 변했을 때 (파일을 선택했을 때 , 'change' 이벤트) 실제 서버에 존재 하지는 않고, 해당 브라우저에서만 사용가능한 URL. 즉, 브라우저 내에서 해당 파일(객체)를 임시로 사용하기 위한 URL을 만들어 준다. 그리고 그 URL을 preview(img 태그)의 src에 넣어주면 화면에 잘 출력이 된다. 그리고 url을 사용하면 revoke를 통해서 해제 시켜주어야 메모리에 누수가 생기지 않는다. 위 처럼 읽어드린 후 바로 URL을 해제해도 image 는 이미지 출력 및 사용에 문제 없다. 하지만 해제된 이후..
jsonify는 JSON 데이터를 내보내도록 제공하는 flask의 함수이며 기본 헤더가 'content-type': 'application/json'로 되어 있는 flask.Response() 객체를 리턴한다. jsonify : 딕셔너리 , 리스트를 매개변수로 받을 수 있다. json.dumps : jsonify 보다 더 다양한 type을 받을 수 있다고 나와있다. from bson.json_util import dumps 콘텐츠 타입은 아래와 같다. jsonify : application/json json.dumps : text/html; charset=utf-8 return 값을 jsonify나 dumps를 안쓰고 그냥 dictionary로 했을 경우에도 : application/json 따라서 그냥..
로그인을 한번 해보자. 로그인 버튼을 누르면 api/login으로 data를가지고 POST요청을 보낸다. ID와 PW를 가져온 뒤 pw는 다시 해쉬화를 시킨 후 db속에 일치하는 데이터가 존재하면 result로 담아온다. 만약 존재하지 않는다면 else문으로 빠져 '아이디/비밀번호가 일치하지 않습니다.'라는 메시지를 보낸다. 이제 JWT토큰을 만들어 웹 페이지에게 보내는 작업을 시작한다. payload 부분에는 토큰에 담을 정보가 들어있다. 여기에 담는 정보의 한 ‘조각’ 을 클레임(claim) 이라고 부르고, 이는 name / value 의 한 쌍으로 이뤄져있다. 토큰에는 여러개의 클레임 들을 넣을 수 있다. 그 중에 exp(만료시간)와 같은 특정기능을 수행하는 클레임 같은경우는 꼭 이름을 지켜주어야 ..
먼저 redirect함수는 서버에서 프론트엔드로 ~~ url로 이동시키는 것이다. @app.route('/where') def where(): return redirect('http://naver.com') localhost:5000/where로 접근하였을 때 redirect로 네이버 주소를 적어주었으니 저 url로 이동을 시킨다. @app.route('/where') def where(): return redirect('/here') @app.route('/here') def here(): return 'hi' 마찬가지로 /where에 접근했을 때 redirect를 사용해 /here로 토스 시키면 웹브라우저에 hi를 출력시킬 것이다. 그런데 만약 여기서 /where로 접근했을 떼 /here이라는 url..
@app.route('/') def home(): # 현재 이용자의 컴퓨터에 저장된 cookie 에서 mytoken 을 가져옵니다. token_receive = request.cookies.get('mytoken') print(token_receive) try: # 암호화되어있는 token의 값을 우리가 사용할 수 있도록 디코딩(암호화 풀기)해줍니다! payload = jwt.decode(token_receive, SECRET_KEY, algorithms=['HS256']) user_info = db.user.find_one({"id": payload['id']}) return render_template('index.html', nickname=user_info["nick"]) # 만약 해당 token..
mongoDB Compass로 로컬 DB에 접속하려고 하는데 구글링 결과 mongod를 켜라, mongo를 켜라, OK 다했는데 안된다.. cmd가 켜지자마자 꺼져버린다..왜지?? 해결 방법: 윈10기준) 서비스 -> MongoDB Service (MongoDB) 찾아서 시작 누르시면 됩니다.
머지병합.. 근데 머지가 병합아닌가? 족발 같은건가??ㅋㅋ 머지병합은 [1,2,5,6] [3,4,7,8] 이런식으로 정렬이 되어 있는 두 개의 리스트를 정렬된 하나의 리스트로 합치는 것을 말한다. [1,2,3,4,5,6,7,8] 이렇게 ~! array_a = [1, 2, 3, 5] array_b = [4, 6, 7, 8] def merge(array1, array2): a_idx = 0 b_idx = 0 array3 = [] while True: if array1[a_idx] > array2[b_idx]: array3.append(array2[b_idx]) b_idx += 1 else: array3.append(array1[a_idx]) a_idx += 1 if not (len(array1) > a_id..
정렬이라고 검색하면 무조건 나오는 이 세가지를 배워보겠다!!! 버블 정렬 버블정렬이란 가장 원초적인 방법이다. 앞 숫자와 뒷 숫자를 비교하면서 앞의 숫자가 크다면 순서를 바꾸고 작다면 pass 이걸 첫 인덱스부터 마지막 인덱스까지 차례로하면 마지막에는 제일 큰 숫자가 있을 것이다. 이런 일련의 반복을 거쳐 정렬하는 방법을 버블 정렬이라고 한다. input = [4, 6, 2, 9, 1] def bubble_sort(array): for i in range(len(array)-1): for j in range(len(array)-i-1): print(j) if array[j] > array[j+1]: array[j], array[j+1] = array[j+1],array[j] return bubble_so..