본문 바로가기

개발자 일지/Phython17

[인프런]파이썬 알고리즘 기초 문법 정리2 -파이썬의 기초적인 문법과 새로 알게된 문법 등을 정리한다. -인프런의 김태원님 파이썬 강의를 학습한 내용을 간단하게 정리한다. 문자열과 내장함수 파이썬은 문자열과 관련한 여러가지 내장함수가 있다. 문자를 대문자료 표현, 소문자로 표현, 문자 안의 특정 값 찾기, 문자 길이 찾기 등 여러가지 함수가 있으니 기본적인 건 다 익혀둬야 할 것 같다. msg="It is Time" print(msg.upper()) #IT IS TIME print(msg.lower()) #it is time tmp=msg.upper() print(tmp.find('T')) #1 (T라는 문자 찾아 인덱스 번호 반환) print(tmp.count('T') #2 (T라는 문자 개수 반환) print(msg[:2]) #It (처음부터.. 2021. 4. 18.
[인프런]파이썬 알고리즘 기초 문법 정리1 -파이썬의 기초적인 문법과 새로 알게된 문법 등을 정리한다. -인프런의 김태원님 파이썬 강의를 학습한 내용을 간단하게 정리한다. 변수와 출력 등 변수 대입 방법과 출력 방법 등을 아래와 같이 정리하였다. a,b=10,20 #a=10, b=20과 같은 의미 print(type(a)) #a의 타입을 알려준다(int) c=10.5 print(type(c)) #c의 타입을 알려준다(float) d='student' print(type(d)) #d의 타입을 알려준다(str) a,b,c = 1,2,3 print(a,b,c, sep=',') #1,2,3이라는 결과가 나옴. sep은 separator의 약자로 출력값 사이에 원하는 sep을 넣을 수 있음 #end로 내려쓰기를 띄어쓰기로 바꾸기(결과는 1 2 3) pri.. 2021. 4. 11.
[파이썬 기초]XSS(Cross-Site Scripting) 개념 및 방어 방법 -보안공격인 XSS(Cross-Site Scripting)에 대해 알아보고 이를 파이썬에서 막는 방법을 살펴본다. -CSRF(Cross-Site Request Forgery)와의 차이점을 간단하게 살펴본다. -생활코딩 파이썬 강의를 바탕으로 학습 및 보충학습 하였다. -파이썬은 3.9.2 ver를 사용한다. XSS란? 가장 흔한 보안 공격 중 하나로 공격자가 웹사이트에 스크립트 태그()를 사용하여 쿠키탈취나 특정 코드를 실행하여 공격하는 보안 공격을 말한다. 학습 중 CSRF(Cross-Site Request Forgery)라는 보안 공격이 생각나서 차이점을 찾아보았다. CSRF의 개념 및 XSS와 CSRF 차이점 CSRF는 해석하면 사이트 간 요청 위조이다. 사용자가 자신의 의지와 무관하게 공격자가 의.. 2021. 4. 4.
[파이썬 기초]함수,모듈 작성법 및 활용 -함수를 작성하는 방법과 모듈을 작성하는 방법을 학습한다. -함수,모듈로 이전에 만든 웹어플리케이션 예제를 리팩토링 해본다. -생활코딩 파이썬 강의를 바탕으로 학습 및 보충학습 하였다. -파이썬은 3.9.2 ver를 사용한다. 함수 사용법 파이썬에서 함수 작성법은 다음과 같다. def 함수명(): 코드... 평균값을 구하는 함수를 작성하면 다음과 같다. func.py #평균을 구하는 함수 def average(a,b,c): s=a+b+c r=s/3 return r #합을 구하는 함수 def plus(a,b): return a+b #pi값 pi = 3.14 #평균값 출력 print(average(10,20,30)) def라는 키워드는 함수의 시작을 의미한다. average() 함수를 예로 살펴보면, 함수명.. 2021. 3. 28.
[파이썬 기초]form 데이터 전송 및 처리방법(CRUD-Delete) -HTML form태그를 이용하여 파이썬 애플리케이션이 데이터를 받아서 처리하는 방법을 알아본다. CRUD중 Delete를 구현한다. -생활코딩 파이썬 강의를 바탕으로 학습 및 보충학습 하였다. -파이썬은 3.9.2 ver를 사용한다. (이전 파이썬 포스팅 예제와 연결되니 참고 부탁드립니다) CRUD의 마지막인 Delete를 만들어본다. Delete는 os.remove 함수로 간단하게 만들 수 있다. Delete 버튼 만들기 우선 delete버튼을 만드는데 delete버튼을 a태그를 통한 링크 방식으로 만들면, 누군가 링크를 공유한 경우 그 사람들도 delete를 할 수 있는 보안 문제가 발생하기 때문에 form 방식으로 다음과 같이 만든다. index.py 일부 if 'id' in form: pageI.. 2021. 3. 24.
[파이썬 기초]form 데이터 전송 및 처리방법(CRUD-Update) -HTML form태그를 이용하여 파이썬 애플리케이션이 데이터를 받아서 처리하는 방법을 알아본다. CRUD중 Update를 구현한다. -생활코딩 파이썬 강의를 바탕으로 학습 및 보충학습 하였다. -파이썬은 3.9.2 ver를 사용한다. (이전 파이썬 포스팅 예제와 연결되니 참고 부탁드립니다) 목록의 데이터를 클릭하여 목록제목과 내용을 업데이트하는 방법을 알아본다.create버튼 옆에 update버튼을 만드는데, WEB이라는 메인페이지로 이동하면 update버튼이 안보이고 목록을 클릭하면 update버튼이 보이도록 분기처리한다. update 버튼 만들기 index.py 일부 form = cgi.FieldStorage() #a태그 클릭시 id값에 따른 pageId 분기처리 if 'id' in form: pa.. 2021. 3. 24.
[파이썬 기초]form 데이터 전송 및 처리방법(CRUD-Create,Read) -HTML form태그를 이용하여 파이썬 애플리케이션이 데이터를 받아서 처리하는 방법을 알아본다. CRUD중 Create, Read를 구현한다. -생활코딩 파이썬 강의를 바탕으로 학습 및 보충학습 하였다. -파이썬은 3.9.2 ver를 사용한다. (이전 파이썬 포스팅 예제와 연결되니 참고 부탁드립니다) form을 통해서 데이터를 입력하고 submit(제출,전송)하는 방법을 알아본다. form은 HTML의 주요태그로 내부의 input,textarea 등의 태그에 입력된 값을 서버쪽으로 전송해주는 기능을 한다. 이를 통해 CRUD의 Create, Read를 구현한다.(Read는 이미 구현되어 있기에 Create만 구현한다) 다음 예제는 index.py 화면에 create버튼을 만들고, 버튼을 클릭하면 for.. 2021. 3. 21.
[파이썬 기초]반복문(for,range,while) 및 반복문 활용 -파이썬의 반복문(for,range,while)에 대해 학습한다. -반복문을 활용하여 예제 화면의 서브타이틀(서브메뉴)를 반복문으로 뽑아본다. -생활코딩 파이썬 강의를 바탕으로 학습 및 보충 학습하였다. -파이썬은 3.9.2 ver를 사용한다. 반복문이란 프로그래밍에서 조건문(if)과 함께 가장 대표적인 문법이다. 특정 로직이나 명령 등을 여러 번 실행해야 한다면 여러 번 코드를 써주는 것이 아니라 반복문을 통해 자동적으로 반복되도록 해주는 문법이다. 대표적으로 for,while이 있으며 파이썬에는 range()라는 함수가 존재한다. 반복문 예제 예제는 아래와 같다. #for문을 사용한 list for value in ['kim','park','yoon']: #kim park yoon print(valu.. 2021. 3. 19.
[파이썬 기초]데이터타입 - list, 기타 컨테이너 타입(튜플,딕셔너리) -파이썬 데이터 타입인 컨테이너 타입 중 하나인 list에 대해 알아보며, 기타 다른 컨테이너 타입도 간단하게 알아본다. -공식 문서와 강의 학습을 함께 하였다. -생활코딩 파이썬 강의를 바탕으로 학습 및 보충학습 하였다. -파이썬은 3.9.2 ver를 사용한다. 파이썬에는 크게 다음과 같은 타입이 있다. 문자열 타입 숫자 타입 : 정수(int), 실수(float), 복소수(complex) 컨테이너 타입 : 리스트(list), 튜플(tuple), 딕셔너리(dictionary) 여기서는 컨테이너 타입에 대해 집중적으로 알아보려고 한다. 리스트(list) 변수 하나에는 하나의 값이 존재할 수 있다. 한 변수에 2개 이상의 값을 담기 위해서는 컨테이너 타입을 사용해야 한다. 여기서는 컨테이너 타입 중 list.. 2021. 3. 16.
[파이썬 기초]open() 함수로 파일 읽기 -파이썬 index.py 내부의 내용을 파일로 따로 만들어 open() 함수로 읽어본다. -생활코딩 파이썬 강의를 기반으로 학습 및 보충학습하였다. -파이썬은 3.9.2 ver를 사용한다. 현재 index.py라는 파일은 다음과 같다. #!Python print("Content-Type: text/html") print() import cgi form = cgi.FieldStorage() #a태그 클릭시 id값에 따른 pageId 분기처리 if 'id' in form: pageId = form["id"].value else : pageId = 'welcome' print(''' WEB HTML CSS JavaScript {title} The World Wide Web (abbreviated WWW or .. 2021. 3. 15.
[파이썬 기초]제어문 - 조건문(if)과 논리연산자(and,or) -파이썬에서 조건에 따라 명령을 해석하는 조건문에 대해 알아본다. -논리연산자 and,or에 대해 알아본다. -생활코딩 파이썬 강의를 기반으로 학습 및 보충 학습하였다. -파이썬은 3.9.2 ver를 사용한다. 조건문 사용 방법 및 예제 조건문이란 조건에 따라 원하는 코드를 수행할 수 있도록 해주는 문법이다. Java 등의 언어에서 그렇듯이 파이썬도 if가 기본적인 조건문 명령어이다. 차이점은 else if인데 else if는 elif라고 표현한다. 예제를 보면 더 쉽게 이해된다. 예제는 아이디가 'kim'이면 Hello Kim을 출력하고 kim이 아니면 Who are you?를 출력하는 간단한 프로그램이다. 우선 입력값을 받는 방법에 대해 먼저 알아야 한다. 다음과 같이 사용한다. user_id = i.. 2021. 3. 14.
[파이썬 기초]데이터타입-Boolean다루기 -파이썬에서 Boolean 타입에 대해 알아본다. -생활코딩 파이썬 강의를 학습 및 보충 학습하였다. -파이썬은 3.9.2 ver를 사용한다. Boolean 문법 사용방법 파이썬 역시 True,False 등의 불리언(Boolean) 타입이 있다. 사용법은 다음과 같이 한 번에 정리하였다. #비교 연산자(Comparision operator) print(1==1) #True print(1 파이썬 – os.path 모듈 ◎ os.path는 파일 경로를 생성 및 수정하고, 파일 정보를 쉽게 다룰 수 있게 해주는 모듈. os.path.abspath(path) 현재 경로를 Prefix로 하여 입력받은 경로를 절대경로로 바꿔서 반환합니다. >>> abspath('tmp' devanix.tistory.com 위 블로.. 2021. 3. 14.
[파이썬 기초]URL 쿼리스트링(Query String) 가져오기 -URL의 쿼리스트링(Query String) 값을 가져오는 방법을 알아본다. -생활코딩의 파이썬 강의를 바탕으로 학습하였다. -파이썬은 3.9.2 ver를 사용한다. 쿼리스트링이란? URL의 뒤에 입력 데이터를 함께 제공하는 가장 단순한 데이터 전달 방법이다. 웹개발에서 데이터를 요청하는 방식 중 대표적인 것이 GET방식과 POST방식인데, 주로 GET방식으로 데이터를 요청할 때 쓰이는 방법이다. URL주소뒤에 물음표(?)를 붙이고 key1=value1&key2=value2...방식으로 데이터를 요청한다. 예를 들어 다음과 같은 URL을 가정해보자. https://roadofdevelopment.tistory.com?category=python&category=1 이 경우라면 category=pytho.. 2021. 3. 12.
[파이썬 기초]홈페이지 CGI 구현하기 -웹사이트를 CGI를 연동하여 구현한다. -생활코딩의 파이썬 강의를 기반으로 학습하였다. -파이썬은 3.9.2 ver를 사용한다. 단순한 웹사이트를 CGI를 이용하여 프로그래밍적으로 다룰 수 있는 웹애플리케이션을 구현해본다. htdocs디렉토리에 index.py 파일을 만들었다. 이 상태에서 그냥 127.0.0.1/index.py로 접근하면 파이썬 포맷팅 에러가 발생하니 최상단에 #!Python이라는 시작 주석을 넣어준다.(윈도우 기준이며 리눅스는 다름) 이후 다시 127.0.0.1/index.py로 접근하면 여전히 Internal Error가 발생하지만, 에러 로그의 내용이 바뀌어 있다. 에러 내용은 End of script output before headers라고 나온다. 참고로 에러 로그는 C:\.. 2021. 3. 10.
[파이썬 기초]데이터타입-숫자,문자열 다루기 -파이썬 데이터타입 숫자,문자열을 다루는 여러 방법을 학습한다. -생활코딩의 파이썬 강의를 기반으로 학습하였다. -파이썬은 3.9.2 ver를 사용한다. 숫자 잘 정리된 것이 있어서 가져와봤다.(출처는 맨 아래 명시) a = 10, b = 20, c = 3 이라 가정한다. + 더하기 a + b = 30 - 빼기 a - b = -10 * 곱하기 a * b = 200 / 나누기 b / a = 2.0 % 나머지 b % a = 0 ** 제곱 a ** c = 1000 // 몫 a // c = 3 문자열 기본 #기본적인 문자열 출력 print('Hello world') print("Hello world") #escape 사용 print("Hell'o' \"w\"orld") #newline1 print('H') pr.. 2021. 3. 10.
[파이썬 기초]웹서버 및 파이썬 설치, CGI 연동 -웹서버와 파이썬을 설치하는 방법을 간단히 정리한다. -CGI로 파이썬과 웹서버를 연동하는 방법을 학습한다. -생활코딩의 파이썬 강의를 기반으로 학습하였다. -파이썬은 3.9.2 ver를 사용한다. 웹서버 설치 웹서버로 사용하기 위한 bitnami WAMP라는 것을 설치해야 한다. java와 톰캣 등만 사용하다보니 생소한 용어 및 프로그램들이 많이 나와서 차근차근 정리해야겠다. bitnami WAMP란 bitnami라는 오픈소스 통합 소프트웨어 번들을 제공하는 기업에서 제공하는 통합 솔루션이다. WAMP는 Window, Apache, Mysql, Php의 약자라고 한다. 이 것들을 한 번에 설치, 사용할 수 있는 프로그램이다. bitnami.com/stack/wamp WAMP Bitnami WAMP St.. 2021. 3. 8.
[개인적인 포스팅]파이썬을 시작 하는 이유 Java 개발자이고 아직 Java도 고수가 아니기 때문에 새로운 언어를 배우려는 생각은 하지 않았다. 괜히 이곳저곳 걸터놓은 잡(?)한 개발자가 되기 싫었던 것도 있었다. 하지만 이제 나중에 이직을 위한 코딩테스트를 준비해야겠다는 생각을 했고, 여기서 유리하거나 많이 쓰이는 언어들을 검색해본 결과 파이썬,C++이 많이 쓰인다는 것을 알았다. 그래서 파이썬과 C++중 고민을 많이 했다. 알고리즘 테스트 목적 자체가 쓰는 언어가 무엇인지가 아니라 어떤 문제해결능력을 가졌는지 보는 것이기 때문에 사실 도구는 그렇게 중요하지 않다는 의견이 많았다. 그러나 Java는 정말 많이 안 쓴다는 의견이 많아서 결국 고민 끝에 파이썬을 공부하기로 결심했다! C++을 공부할까도 생각했는데, C++이 아닌 파이썬을 선택한 이.. 2021. 3. 7.