전체 글
[Flask] Flask로 간단하게 웹 서버 구축하기
1. Flask 프레임워크 설치 python3 이상 버전을 사용하고 있어서 pip3로 설치해줬습니다. 당연하게도, Python 설치는 선행되어 있어야 합니다! $ pip3 install flask 2. 기본 코드 작성 python 파일 하나 원하는 이름으로 적당히 생성해서 from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return "Hello, World!" if __name__ == "__main__": app.run(host="0.0.0.0", port=8080) 작성하고 실행시켜 보자. 이런 식으로 실행이 될 텐데, port를 8080으로 설정했으니, 주소에 http://127.0.0.1:8080 쳐서 들어가 보..
[M1 Mac] (iterm2) zsh: command not found: python 오류
Error Message zsh: command not found: python python을 설치 후, zsh 터미널에서 환경변수 설정이 되어 있지 않아서 생기는 문제. 해결 과정 1. python 환경변수 지정 $ which python python 어디에 설치했는 지 찾아줌. 나는 /usr/bin/python3 에 설치되어 있었음. $ open ~/.zshrc zshrc 파일 열어서 alias python=(python 경로) 입력해주기. 내 경우에는 alias python=/usr/bin/python3 이였음. 이거 한 줄만 추가해주고 저장. 아니면 간단하게 $ echo "alias python=(python경로)" >> ~/.zshrc EX) $ echo "alias python=/usr/bin..
암호수학 - 유클리드 알고리즘, 확장 유클리드 알고리즘과 일차 디오판투스 방정식 (Euclidean Algorithm, Extended Euclidean Algorithm, Linear Diophantine Equation)
유클리드 알고리즘 (Euclidean Algorithm) gcd (a, 0) = a gcd (a, b) = gcd (b, r) (r = a % b) 의 두 가지 사실을 이용해, 두 양의 정수 a, b의 최대공약수를 구하는 알고리즘. Example a: gcd(25, 65) = ? ⇒ gcd(25, 65) = 5 확장 유클리드 알고리즘 (Extended Euclidean Algorithm) 두 정수 a, b가 주어졌을 때, 아래 식을 만족하는 다른 두 정수 s, t와 gcd(a, b)까지 동시에 구하는 방법. Example : a = 161, b = 28. s, t, gcd(161, 28) = ? ⇒ gcd(161, 28) = 7, s = -1, t = 6. 일차 디오판투스 방정식 (Linear Dioph..
암호학과네트워크보안 - 01. 서론(Introduction)
암호학의 3가지 보안 목표(SECURITY GOALS) 기밀성 무결성 가용성 1. 기밀성 기밀 정보는 보호되어야 함 조직은 기밀성을 위협하는 악의적인 행동에 대응해야 함 etc 2. 무결성 정보는 지속적으로 변경되어야 함 이 변경이, 변경이 인가된 자에 의해 인가된 매커니즘을 통해서만 이루어져야 한다는 것이 무결성. 무결성 왜곡이 항상 악의적인 행동의 결과는 아님. 3. 가용성 정보를 인가된 자가 사용할 수 있어야 함 (가용해야 함) 정보가 지속적으로 변경되어야 함 → 인가된 자가 접근할 수 있어야 함 공격(Attack) 보안의 3가지 목표는 보안 공격에 의해 위협받음. 1. 기밀성을 위협하는 공격 스누핑(Snooping) 데이터에 대한 비인가 접근, 탈취 트래픽 분석(Traffic analysis) 도..
데이터베이스프로그래밍 - 06. 데이터 모델을 데이터베이스 디자인으로 변환하기 (06. Transforming Data Models intoDatabase Designs)
The Database Design data model을 이제 Database Design으로 바꿀 수 있음. database design은 이제 특정 DBMS 제품에 따라 달라지는 DB 명세서의 집합임. 그러니까, MySQL을 사용하냐, Microsoft SQL Server를 사용하냐 이런 거에 따라서, 같은 data model이여도 다른 database design이 나올 수 있음. Logical Design + Some Physical Design 보통 아래 3개의 단계로 나누는데, Conceptual design Logical design Physical Design Database Design은 Logical design과 조금의 Physical design을 합친 꼴. Data Model ->..
데이터베이스프로그래밍 - 05. Entity Relationship 모델을 이용한 데이터 모델링 (05. Data Modeling with the Entity-Relationship Model)
The Data Model data model은 DB 디자인의 계획, 청사진임. DB design에 비해 좀 더 일반화하고 모호하게 만든 거. DB 디자인보다는 바꾸기도 쉬워서 개념적, 논리적인 문제 해결을 위해서 사용하면 좋음. E-R Model Entity-Relationship (E-R) model 은 개념과 기호(concepts and graphical symbols)들로 구성한 모델. 개념적(conceptual) 모델 만드는 데 좋음. Entity 그 객체지향에서 class랑 instance (클래스 - 객체) 처럼 Entity class, Entity instance가 있다나 봄. Attribute 직역하면 속성인데.. entity를 구성하는 놈임 그냥 이거 만약에 DB에서 user table..
데이터베이스프로그래밍 - 04. 정규화를 이용한 Database Design (04. Database Design Using Normalization)
Table Structure 평가 row 수 count / column examine(확인, 조사) data value를 확인, key / dependency 결정: Multivalued dependencies Functional dependencies Candidate keys (CK) Primary keys (PK) Foreign keys (FK) validity(유효성) / referential integrity constraint(참조 무결성 제약조건) 평가. Count Row SQL 내장함수 count(*) 사용. select count(*) from A; Examine Column SQL 내장함수 Top{Number of Rows} 사용. select top 5 * from A; Check r..
최근 블로그 글 작성에 대한 생각
2022년 3월, 개발팀 팀장님이 나에게 기술 블로그를 운영하냐고 물었을 때, 해야겠다 생각만 하면서.. 귀찮아서 블로그 생성도 안 하고 있었기에, 그 때 당장 시작했다. SwiftUI를 새로 공부하며 앱을 제작하던 시기였고, 그렇게 공부하며 머릿속에 흩뿌려져 저장되는 지식들을 정리하여 둘 필요성을 느꼈다. 또한 맥북에서의 개발환경 설정, 개발 과정에서의 오류 등등.. 도 후일을 위해 글로 정리해둬야겠다- 고 생각했기에, 2022년 3월 4일, [SwiftUI] @StateObject, @ObservedObject 를 작성하며, 블로그에 글을 써내려 가기 시작했다. 그러나 SwiftUI, JavaScript에 대해 글을 조금 작성한 이후, 알고리즘 문제(PS)나 오류(문제) 해결, 환경 세팅 같은 기록용..