목록전체 글 (182)
취미가 좋다

마지막 계층인 응용 계층을 알아보자. 이 글에서 말하는 응용 계층은 세션 계층과 표현 계층을 포함한다. 응용 계층에서 동작하는 애플리케이션은 사용자가 하고 싶은 일을 할 수 있도록 돕는 프로그램이다. 애플리케이션은 서비스를 요청하는 클라이언트와 서비스를 제공하는 서버로 나눌 수 있다. 클라이언트에는 웹 페이지를 보기 위한 인터넷 익스플로러 같은 웹 브라우저, 메일을 주고 받기 위한 Outlook 같은 메일 프로그램이 있다. 서버에는 웹 서버 프로그램과 메일 서버 프로그램이 있다. 응용 계층에는 다양한 프로토콜이 있고, 아래는 대표적인 5가지 예시이다. 프로토콜 내용 HTTP 웹 사이트 접속 DNS 이름 해석 FTP 파일 전송 SMTP 메일 송신 POP3 메일 수신 응용 계층의 애플레케이션에서 데이터를 전..

웹 보안에 대해서 알아보자. 보안이 왜 필요할까? 통신이 이루어질 때 데이터가 암호화되어 있지 않다면 다른 사람이 가로채서 보거나 데이터를 조작할 수 있다. 그래서 개인정보를 보호하기 위해 웹 보안이 필요하다. 보안을 지키기 위해 필요한 3가지 기밀성 (Confidentiality) 내 정보를 탈취되지 않도록 하는 것 무결성 (Integrity) 내 정보가 조작되지 않았다는 것을 증빙하는 것 인증 (Authentication) 권한이 있는 사람에게만 정보에 접근할 수 있는 것 암호 관련 용어 암호화 (Encryption) 특정 방법을 통해 평문을 암호문으로 변경하는 작업 복호화 (Decryption) 암호화 된 문구를 해독하여 평문으로 변경하는 작업 평문 (Plaintext) 일반인 누구나 읽을 수 있는..

관계형 데이터베이스 관리 시스템(RDBMS) 중 4가지를 살펴보자. MySQL SQL 문법 기반 거의 모든 운영체제에서 사용 가능 MySQL 데이터베이스는 무료 처리 속도가 빠르고 대용량 데이터 처리에 용이 설치 방법과 사용법이 쉬움 보안성이 우수 구글, 링크드인, 아마존, 넷플릭스, 트위터 등에서 사용 Oracle 오라클 회사에서 만든 데이터베이스 세계 점유율 1위 대부분의 운영체제를 지원 분산처리를 통해 효율성 증대 DBMS 실행 컴퓨터 / 서버 역할 컴퓨터 / DB응용 프로그램 실행 컴퓨터를 다르게 분산처리 대규모 데이터베이스와 영역 관리 고가의 HW를 효율적으로 활용할 수 있도록 영역 사용을 완벽하게 제어 다중 동시 데이터 베이스 사용자 지원 여러 사용자가 동일한 데이터에서 작동하는 다양한 데이터..
https://leetcode.com/problems/sliding-window-maximum/submissions/ Sliding Window Maximum - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com Solution import heapq from collections import defaultdict class Solution: def maxSlidingWindow(self, nums, k): ans = [max(nums[:k])] pq = [] ou..

SQL 인젝션이란? 데이터 베이스와 연동된 웹 어플리케이션에서 공격자가 입력이 가능한 폼에 조작된 질의문을 삽입하여 웹 서비스의 데이터베이스 정보를 열람 또는 조작할 수 있는 취약점 풀어서 설명하자면, 사용자가 게시글을 올리거나 아이디와 비밀번호를 입력할 수 있는 환경이 있다. 그러한 웹 서버는 데이터 베이스와 연결되어 있다. 그곳에 공격자가 SQL문을 사용하여 원하는 데이터를 얻거나 삭제하는 공격이 가능하다. 이러한 공격을 SQL 인젝션이라고 한다. 아래와 같이 게시글에 글을 작성하면 SQL 문이 생성되는데 이를 활용한 공격이다. Character Escaping 이라는 방법으로 이를 방지할 수 있다. 프레임워크나 라이브러리는 이런 기능을 자동으로 제공한다. 또는 Parameter Binding이나 받..
https://leetcode.com/problems/product-of-array-except-self/ Product of Array Except Self - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com Solution class Solution: def productExceptSelf(self, nums): if nums.count(0) > 1: return [0]*len(nums) idx = -1 total = 1 for i, n in enumerate..