study 80

[Python] 암호화를 하는 bcrypt

bcrypt는 단방향 암호화해주는 파이썬 라이브러리 단방향이라면 평문→암호화는 가능하지만 암호화→평문으로 복호화는 어렵다 비밀번호를 관리할 때 유용하게 쓰인다 db에 암호화되어 저장된 비밀번호를 복호화하는 것도 불가능하기 때문에 내부자가 회원의 비밀번호를 알아내는 것도 불가능하며, 회원이 입력한 비밀번호화 일치하는지만 확인한다 hahsing : 원본의 의미를 알 수 없게 섞어놓은 것 salting : 실제 비밀번호에 랜덤 값을 더해서 해시값을 계산하는 방법 key stretching : 해쉬 값을 여러번 반복하는 행위 pip install bcrypt pip install pyjwt → pyjwt는 jwt(json web token)을 암호화, 복호화해주는 라이브러리이다 >>> import bcrypt ..

study/Python 🌼 2021.05.28

[Python] classmethod vs staticmethod

정적메소드 정적 메소드라 함은 클래스에서 직접 접근할 수 있는 메소드이다 파이썬에서는 클래스에 직접 접근할 수 있는 메소드가 두 가지이다 정적메소드임에도 불구하고 인스턴스에서도 접근이 가능하다 class CustomClass: # instance method def add_instance_method(self, a,b): return a + b # classmethod @classmethod def add_class_method(cls, a, b): return a + b # staticmethod @staticmethod def add_static_method(a, b): return a + b 인스턴스 메소드를 클래스에서 바로 접근하기 >>> from static_method import Custom..

study/Python 🌼 2021.05.28

[MacOS] Python3 설치 및 fastapi 설치

사용 환경 : mac OS Python3 Mac OS에 설치 Mac에는 기본적으로 파이썬2가 설치되어 있다. 버전을 알 수 있는 방법은 터미널에서 python -V 명령어로 현재 설치된 파이썬의 버전을 알 수 있다. 파이썬은 2버전과 3버전이 많이 다르기에 3버전을 설치하도록 하자. https://www.python.org/downloads/ Download Python The official home of the Python Programming Language www.python.org 위 사이트로 들어가면 현재 OS에 맞는 다운로드 버전을 제시하니까 위 버튼을 눌러서 다운로드를 받자. 설치가 완료되면 파이썬3의 버전을 확인하기 위해 python3 -V 의 명령어를 입력하여 설치된 버전을 확인하자. ..

study/TIL🐥 2021.05.25

SQL/NoSQL/DynamoDB

구분 SQL NoSQL 처리데이터 정형 데이터 정형, 비정형, 반정형 대용량 데이터 대용량 처리시 성능 저하 대용량 데이터 처리 지원 스키마 미리 정해진 스키마가 있다 스키마가 없거나 변경이 자유로움 트랜젝션 트랜젝션을 통해 일관성 유지 보장 트랜젝션을 완전히 지원하지 않아 일관성 유지가 힘들다 검색기능 join등의 어렵고 복잡한 검색이 가능 단순한 데이터 검색 가능 확장성 클러스터랑 환경에 비적합 클러스터링에 적합 라이센스 고가의 라이센스 비용 오픈소스 대표적 사례 oracle, MySQL, MS SQL 카산드라, 몽고DB 장, 단점 복잡한 질의 가능, 트랜젝션을 통해 일관성 유지 대량의 비정형 데이터 처리시 비효율적 대랴의 비정형 데이터 처리에 용이, 질의 속도 빠름 정해진 스키마가 없어 편리하지만 ..

study/TIL🐥 2021.04.28

[javascript] 하나의 form 안에 두개 이상의 submit이 있는 경우

회사의 업무를 배우다가 하나의 폼 안에 두 개의 submit 버튼이 있는 경우가 있었다. input의 type이 imgae일 때도 submit으로 분류되므로 위 코드는 submit으로 분류가 된다. 1. 보편적인 방법 input 태그 안에 onclick 이벤트 넣어 주기 이런 식으로 onclick 안에 정해진 form action을 이 버튼을 누를 때만 바꿔주게 하는 방법이 있다. 2. 내가 사용한 방법 새로운 함수 만들어 onclick 이벤트에 함수만 넣어주기 let theform = document.frmsub; if(certkey != inputkey) { return false; } else if(inputkey.length != 6) { return false; } else { theform.a..

study/TIL🐥 2021.04.26

Node - 1

node.js 시작하기 사용 환경 : macos npm init -> node 사용하기 위한 기초 작업 : 해당 작업 위치 초기화, 설치 완료시 pakage.json 설치 npm install express --save -> express 서버 사용 위한 패키지 설치 [--save] 옵션은 pakage.json에 등록 위한 옵션 서버 실행을 위한 app.js 작성 var express = require('express') var app = express() app.listen(3000, function() { console.log("start!! express server on port 3000"); }); 서버 실행 명령어 node app.js -> 내용이 변경될 때마다 계속 재구동을 해야 한다 nod..

study/Node 🐯 2021.04.26

OAuth2란?

OAuth를 사용하는 이유 보안의 수준을 알 수 없는 애플리케이션에서 일일히 계정을 만들어 사용하면 ID/PW 관리가 어렵고 개인정보가 유출되면 연쇄적으로 피해가 심각하기에, 보안 수준이 어느정도 검증된 사이트(ex, google, facebook)의 API를 이용해서 인증을 받는 방법이 보안상 좋기 때문이다. OAuth2 동장 방식 OAuth 인증 방식은 인증의 과정을 '타 서비스에게 위임'하는 인증방식. 예를 들어 내 사이트에 구글 로그인 인증을 넣었다고 해서 사용자가 구글 웹사이트에 직접 로그인하는 것이 아니라, 사용자의 정보는 내 사이트에서 관리하고, 구글 로그인 기능을 통해 구글에게 전송한 구글 계정 정보가 유효한지 확인한 후, 유효하다면 해당하는 구글 유저 정보 중 일부를 내 사..

study/TIL🐥 2021.04.26

Data lake란?

데이터 레이크는 모든 규모의 정형 및 비정형 데이터를 저장할 수 있는 중앙 집중식 저장소. 데이터를 구조화하지 않고도 데이터를 그대로 저장할 수 있으며, 대시 보드 및 시각화부터 빅 데이터 처리, 실시간 분석, 기계 학습에 이르기까지 다양한 유형의 분석을 실행하여 더 나은 결정을 내릴 수 있다. 데이터 레이크가 필요한 이유? 데이터에서 비즈니스 가치를 성공적으로 생성하는 조직은 동료보다 우수한 성과를 거둡니다. 매출 성장을 이룬 회사의 리더들은 로그 파일, 클릭 스트림의 데이터, 소셜 미디어, 데이터 레이크에 저장된 인터넷 연결 장치와 같은 새로운 소스에 대한 기계 학습과 같은 새로운 유형의 분석을 수행하였습니다. 이를 통해 고객을 유치 및 유지하고 생산성을 높이고, 장치를 사전에 유지관리하고, 정보에 ..

study/TIL🐥 2021.03.30

[codingTest] 프로그래머스 문자열 내 p와 y의 개수 파이썬

문제 설명 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다. 제한사항 문자열 s의 길이 : 50 이하의 자연수 문자열 s는 알파벳으로만 이루어져 있습니다. 입출력 예 s answer "pPoooyY" true "Pyy" false 입출력 예 설명 입출력 예 #1 'p'의 개수 2개, 'y'의 개수 2개로 같으므로 true를 return 합..

study/TIL🐥 2021.03.16

[codingTest] 프로그래머스 두 정수 사이의 합 파이썬

문제 설명 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. 입출력 예 a b return 3 5 12 3 3 3 5 3 12 ✅ 내 코드 def solution(a, b): answer = 0 if a==b: return a elif a>b: for i in range(b, a+1): answer+=i elif a 되게 간단한 문제인데도 else if를 몰라서 ..

study/TIL🐥 2021.03.16