2020년 3월 25일 보안정보 스크래핑

2020년 3월 25일 보안정보 스크래핑 3월 25일 보안정보 스크래핑 ==================================================================== + 주요 취약점 - 메일전송 프로토콜을 이용한 원격 명령어 실행 주의 권고 외 1건 1. 메일전송 프로토콜을 이용한 원격 명령어 실행 주의 권고 최근 OpenSMTPD* 취약점이 발견되는 등 메일전송 프로토콜에서 원격 명령어 실행이 가능하여 주의를 권고함 공격자는 취약점을 악용하여 피해를 발생시킬 수 있으므로, 해결방안을 참고하여 조치 필요 - https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=35302 2. Django 제품 SQL Injection 취약점 보안 업데이트 권고 최근 Django*에서 SQL Injection취약점(CVE-2020-9402)을 악용할 수 있는 개념증명코드(Proof of concept, PoC)가 인터넷상에 공개되어 사용자의 보안 업데이트 필요 - https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=35301 ==================================================================== + 취약점 - Apple Safari 취약점 1. Apple Safari 취약점 Apple Safari security bypass CVE-2020-3885 - https://exchange.xforce.ibmcloud.com/vulnerabilities/178339 Apple Safari security bypass CVE-2020-3887 - https://exchange.xforce.ibmcloud.com/vulnerabilities/178338 Apple Safari inform...

Python을 본격적으로 학습하기 전에

Python을 본격적으로 학습하기 전에

python을 본격적으로 학습하기 전에 알아야할 상식 및 특징을 정리해보겠다!

현재 가장 뜨거운 언어인 Python의 기초부터 시작하여 Django 및 각종 AI 알고리즘 적용까지 다양한 분야를 위한 학습이다.

Python은 구글, 유튜브, 드롭박스, 넥플릭스 등 많은 회사들이 애용하고 있고 그의 사용 목적에 따라 다양한 분야를 막론하고 사용되는데 그 이유는 아마도 생산성이 큰 이유가 될 것이다.

파이썬과 C, Java, C++

소제목 처럼 파이썬과 각기 다른 언어들 사이에는 큰 특징이 존재하는데 바로 인터프리터의 유무로 나뉜다.

더욱 이해가 되기 쉽게 들여다 보기 위해서는 정적 언어와 동적 언어 사이의 차이점을 이해해야 한다.

정적 언어

동적 언어란 자료에 타입이 정해져 컴파일 시에 결정이 되는 특징을 갖는 언어를 뜻한다.

int a = 10; char b = 'c';

String name = "jang"; int[] a = new int[3];

이러한 언어들은 컴파일 시에 자료형이 결정되고 한 번 타입이 정해지면 바뀌지 않기 때문에 컴파일러의 무리가 덜 가게 되며 결정적으로 빠르며 타입에 대한 안전성이 있다.

동적 언어

정적 언어는 컴파일 도중에 자료의 형이 변경될 수 있는 언어를 말 한다. Python, Ruby, Javascript 등이 있으며 현재 대세를 이룬다.

var name = "Jang" name = 10

name = 123 name = "aaa"

왜 파이썬?

이와 같은 형식으로 자료의 형이 가변적이므로 타입에 대한 특별한 제약이 존재하지 않는다. **인터프리터**가 실행 시점에 한 줄 한 줄 코드를 읽어드리며 변환하는 과정을 거치므로 **비교적 느린 속도**를 갖고 있지만 현재 인터프리터 최적화를 통해 많이 향상되었다.

파이썬은 위와 같이 동적 언어의 특성을 갖고 인터프리터의 역할이 존재하는데 왜 우리는 파이썬을 배워야 하고 이렇게 파이썬이 중요한 위치에 와 있는가? 를 알아보자

가독성

일단 파이썬은 인간이 쓰는 언어와 가장 유사하다.

if 4 in [1,2,3,4]: print("4가 있습니다")

만약 4가 [1,2,3,4] 안에 존재하면 4가 있습니다. 를 출력하는 내용이다.

위와 같이 인간이 쉽게 이해할 수 있는 언어인데 이 말은 곧 인간이 배우기 쉽다는 특징을 갖고 있다

void method(){ if(){ while(){ statements; } } }

또한 파이썬은 **중괄호의 역할을 들여쓰기가 수행한다.**

중괄호가 너무 보기 불편하지 않은가..? 이러한 단점들을 파이썬은

def solve if(): while

이러한 방식으로 처리할 수 있는 장점이 있다.

파이썬을 사용하지 말아라

이러한 장점에도 불구하고 모든 상황에서 파이썬이 반가운 언어임이 아닌 경우가 있다.

프로그램이 계산 작업을 많이 하는 경우

이러한 경우는 파이썬 보다 다른 컴파일 언어가 효과적일 수 있다.

공유하기 글 요소 저작자표시 동일조건

이제 파이썬 학습을 위한 배경지식을 조금 갖췄다고 할 수 있는데 다음 강의부터 파이썬에 대한 학습을 시작해보자.

from http://wonit.tistory.com/53 by ccl(S) rewrite - 2020-03-06 17:54:32

댓글

이 블로그의 인기 게시물

엑스브레인(XBrain) 기업 정보

django 설치 방법

[aws] deploy Angular app with s3 | AWS S3로 angular 앱 배포하기