본문 바로가기

프로그래밍32

컴알못의 SQL 공부 (2) 저번 글에 이어서 다시 글을 이어가겠습니다. 저번에는 SELECT라는 DML에 대해서 알아보고 있었습니다. 집합 연산자 SELECT는 테이블을 인자로 받아 테이블을 반환하는 함수입니다. 그렇기 때문에 결과는 항상 테이블이 나올 것입니다. 그렇다면 SELECT 함수들로 반환받은 테이블들을 집합 연산자로 다루는 것도 가능할 겁니다. 예를 들어서, 두개의 SELECT 함수로 반환한 테이블들을 UNION으로 합집합 연산을 한다거나? SELECT 이름 FROM 학생 WHERE 학년 = 3 UNION SELECT 이름 FROM 교사 WHERE 담당학년 = 3 이런 식으로 말이죠. 관계 대수에는 수학적 집합 개념을 적용한 집합 연산과 관계형 데이터베이스를 위한 관계 연산으로 나뉜다고는 알고 계실 겁니다. 집합 연산자.. 2022. 1. 4.
컴알못의 SQL 공부 데이터베이스는 데이터베이스 관리 시스템 DBMS가 관리합니다. 사람은 DBMS에게 데이터베이스 언어로 데이터베이스에게 요청을 보낼 수가 있습니다. SQL은 관계형 데이터베이스 표준 언어로서 가장 많이 사용됩니다. 특징이라고 한다면 선언적 언어이기 때문에 어떤 데이터를 원하는지 명시만하고 어떻게 그 정보를 얻어올지에 대한 절차는 기술하지 않습니당. 현재는 대부분의 DBMS가 SQL을 지원한다고 하네요. SQL은 1970년대에 IBM 연구소에서 처음 개발되었습니다. 처음에는 DBMS별로 여러 변형된 SQL이나 저마다의 데이터언어가 나와 혼란이 있었다고 하는데 지금은 SQL이 데이터베이스 표준 언어로 승인되어 이러한 혼란이 해결되었습니다. SQL은 그 기능으로 3가지로 분류할 수 있습니다. 데이터 정의어(DD.. 2022. 1. 3.
컴알못의 사이트 정보 수집 웹 해킹 책을 샀는데 적을 알아야 전쟁에서 승리할 수 있다고 합니다. 즉, 상대의 정보를 파악하는게 해킹의 첫걸음이랍니다. 정보를 수집하는 방법은 다양하지만 우선 whois를 사용하는 방법이 있습니다. 웹사이트들은 도메인을 등록할 때 정보를 제공해야하는데 그 정보를 열람할 수 있는게 바로 whois입니다. pip install pyhton-whois 파이썬 모듈도 있으니 설치해서 사용가능합니다. import whois information = whois.whois(url or ip) 사용 방법도 비교적 간단합니다. whois 함수에 url 혹은 ip 같이 탐색가능한 정보를 넘겨주면 정보를 조회할 수 있습니다. 그리고 정보 수집을 위해서 스캐너를 구현해볼 수도 있습니다. 제가 말하는 스캐너가 하는 역할은 .. 2022. 1. 3.
React로 카페 만들기 프로젝트 (3) 서론 이번 프로젝트의 핵심은 뭐니뭐니해도 Typescript라고 생각한다. 깃허브를 뒤지면서 다른 사람의 Typescript 코드를 본적이 있는데 확실히 Javascript랑은 확연히 달랐다. 근본적인건 똑같지만 좀 더 모듈화에 초점을 맞춘 느낌이 들었다고 해야하나? 들어오는 값의 타입과 나가는 값의 타입을 명시하는 것 때문에 정말 함수가 하나의 출입관리국처럼 보였기 때문일지도 모르겠다. 내가 지난번에 Typescript로 카카오톡 클론을 만들었지만 솔직히 그건 상당히 죽쑨 코드가 됐다고 생각하고.. 그걸 반성해서 이번에는 Typescript의 Interface 기능을 좀 더 잘 살려보겠다는 마음가짐으로 개발에 임했다. Interface란 Typescript에서 타입 체크를 위해 사용되는 기능이다. "자.. 2021. 10. 30.