오늘은 Nginx와 daphne을 이용한 django channels(web socket)에 보안 연결을 적용하는 방법을 소개합니다. 위 목적을 이루기 위해서는 크게 2가지 방법이 있습니다. 첫 번째 방법은 Nginx에 직접 ssl 보안 설정을 하는 것이고, 두 번쨰 방법은 daphne의 -e 옵션을 사용해 소켓 연결에 ssl 보안을 설정하는 방법입니다. 두 가지 방식의 차이점 첫 번째 방식은 web server 단계에서, 두 번째 방식은 django Application 단계에서 보안 인증서를 적용합니다. 만약 Nginx와 daphne을 이용해 web socket을 배포하신다면 첫 번째 방식을 추천드립니다. 첫 번째 방식을 사용하시면 모든 https(https://...), wss(wss://...) ..
jinja를 사용해 로그인한 유저 값에 따라 다른 페이지로 이동시키는 방법입니다. 1. django의 auth를 사용해 로그인 view 만들기 2. html에서 jinja로 로그인한 유저의 정보 구분하고 페이지 이동시키기 1. django의 auth 사용해 로그인 함수 작성하기 def login_function(request): if request.method == "POST": print(request.POST) username = request.POST['user_id'] password = request.POST['user_pw'] user = authenticate(username=username, password=password) if user is not None: login(request, ..
React프로젝트에 Tailwind를 사용하기 위해 초기 세팅하기 1. 리액트 프로젝트 생성 먼저 리액트 프로젝트를 생성합니다. npx create-react-app React-Tailwind-App 2. tailwind 설치 npm install -D tailwindcss@npm:@tailwindcss/postcss7-compat postcss@^8 autoprefixer@^9 3. craco 설치 npm install @craco/craco 4. package.json 변경 package.json에서 scripts 부분을 변경한다. //경로:react-tailwind-app/package.json { ... "scripts": { "start": "craco start", "build": "craco..
처음 방식 getClubInfo 함수를 통해 Promise를 처리한 후, LenArray라는 배열에 해당 값을 추가하는 것을 목표로 하였다. LenArray에 처리된 데이터가 들어가 있을 거라고 생각한 후 console로 출력한 결과 처리된 값이 아닌 Promise가 배열에 추가된 것을 확인했다.. 기존의 코드 async function getClubInfo(i){ await axios.get(`${baseUrl}/clubs/${clubIdList[i]}/concise_info`).then((resConciseInfo) =>{ const DetailClubInfoOne = { id : i, CurNumPeople : resConciseInfo.data["body"]["current_number_of_pe..
CS : 고객 세그먼트 → “누가 우리의 잠재고객이라고 할 수 있을까” → 누가 : 구체적이고 세분화된 그룹 또는 집단 Depth 1. 국내 20대 여성 Depth 2. 00대학교 재학중인 4학년 여학생 Depth 3. 00대학교 식품영양학과 4학년에 재학중이며 취업을 준비하는 여학생 → 잠재고객 : 우리가 정의한 문제를 현재 겪고 있는 사람 ⇒ 포괄적일수록 잠재고객수가 늘어난다. ↔ 국체적일수록 잠재고객수가 줄어든다. 매주 만나봐야 한다. 구체적인 타겟을 잡고 자주 만나라. VP : 가치 제안 → “우리가 잠재고객이 겪는 문제를 해결하기 위해 만들 제품/서비스 → 제품/서비스의 조건: 잠재고객의 문제가 해결되어야 해요. 해당 문제의 해결을 통해 잠재고객이 가치를 느껴야 해요. 그 가치를 돈으로 지불할 ..
View, Text, StyleSheet는 react-native에서 불러와 사용해야 한다. 기존 html의 div대신 View를 사용하고 문자열은 무조건 Text 컨포넌트 안에 들어있어야 한다. CSS 기능을 대부분 사용할 수 있지만, 사용할 수 없는 것들도 존재한다. (ex : border) import { StatusBar } from 'expo-status-bar'; import { StyleSheet, Text, View } from 'react-native'; export default function App() { return ( Hello! I made a APP! ); } //View = container 모드 div 대신 view를 사용 // 모든 text는 text Component안..
C++ 문법 Input/output cin 표준 입력 스트림 객체 키보드에 입력된 내용을 읽어드림 cout(씨아웃) 표준 출력 스트림 객체 컴퓨터 모니터에 출력을 함 cerr(씨에러) 표준 에러 스트림 객체 스크린에 출력을 함 1. using std::X 로 X가 std에 라이브러리에 포함된 멤버임을 알려주는 방법 #include //# == 전처리 명령어, ;으로 끝내지 않음 using std::endl; using std::cout; int main() { cout
from notion.client import NotionClient from notion.block import * from notion.collection import * from datetime import datetime import notion token_v2 = 'F12 -> application -> token_v2 값을 복사해서 입력해주세요.' client = NotionClient(token_v2=token_v2) url = 'https://www.notion.so/처럼 생긴 페이지 url을 입력해주세요.' #사진1의 노란색 줄친 부분 page = client.get_block(url) Block = page.children[0] row = Block.collection.add_row()..
- Total
- Today
- Yesterday
- 아나콘다
- promise반환
- 1253
- 1255
- 티처블 머신
- 사칙연산
- 컨트롤타임
- 문제풀이
- 타이탄의도구들
- localstorage
- 크롤링
- Python
- JavaScript
- 2022.02.05
- notion api
- django
- SMTP
- 바닐라 javascript
- 코드업
- 1252
- Codeup
- 주석
- 1254
- 1251
- 꿈두레
- Anaconda
- 바닐라 js
- pygame
- 도전
- 코드설명
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |