목록백 (43)
SOCO
파이썬 가상머신 : JVM처럼 파이썬 가상머신이 있으면 운영체제에 상관없이 파이썬 프로그램을 실행시킬 수 있음 파이썬 가상환경 : 하나의 컴퓨터에 서로 다른 버전의 파이썬과 라이브러리를 실행시킬 수 있음 anaconda를 이용해 가상환경을 만들고 이를 관리하는 방법 1. ananconda update : 터미널에서 conda update conda 2. 가상환경 만들기 : 터미널에서 conda create -n 가상환경 이름 3. 가상환경 진입 : source activate 가상환경이름 => (가상환경이름) 로컬이름 : 이렇게 나오면 진입한 것 4. 가상환경 종료 : source deactivate 5. 가상환경 제거 : conda env remove -h 가상환경이름 참고 https://teddyle..
pip : 파이썬 패키지 관리자 pip3 install [패키지이름] 마이크로 프레임워크인 플라스크는 필요할 때마다 외부 모듈을 별도로 설치해야함 플라스크 앱 구조 사용자가 웹 페이지를 보기 위해서 url호출 플라스크로 구성된 웹 페이지는 url과 연결된 뷰 함수 호출 논리 실행함 결과를 반환하여 응답전송 전송된 응답값이 html로 표현되어 웹페이지를 구성해서 사용자에게 보여짐 사용자가 url호출시 플라스크안에서 사용하는 기능은 라우트, 데코레이터, 템플릿, 뷰함수가 있음 기본적으로 5000번 포트를 사용함 127.0.0.1:5000 from flaks import Flask #Flask모듈 import app = Flask(__name__)#앱 instance생성 : 기본뼈대 생성 @app.route(..
파이썬 기본문법 + 라이브러리 사용방법 + 각 기능별 라이브러리 사용방법 라이브러리 : 미리 만들어 놓은 함수의 집합 Ex.수학함수를 모아놓은 라이브러리 : math 라이브러리 import math #math 라이브러리 #ex1. num = math.pow(3,3) print(num) #ex2. math.factorial(5) 기능별 함수를 모아놓은 라이브러리가 다양함 ex. 크롤링, 데이터베이스 접근 등 모든 기능을 다 구현할 필요 없이 라이브러리를 가지고와서 미리 구현되어있는 함수를 쓰면 바로바로 코드를 쓸 수 있음 원하는 라이브러리가 해당 pc에 설치되어있어야 함 설치가 되어있지 않은 라이브러리를 import 하면 No module 오류가 발생함 #방법1 import math #import 라이브러..
1. type() == int 2. isinstance(key, int) 둘 다 true,false를 반환하므로 if문에 쓰이기 좋음 print(type(2) == int)) print(isinstance(2,int))
# 코딩테스트 대회가 개최되었습니다. 이 때, 참여자들 이름을 공백을 통해 구분을 하여 입력을 합니다. # 예) "홍길동" "김길동" "최길동" # 그 후 코딩테스트에서 순차대로 각 대회에서 맞춘 문제를 공백을 통해 구분하여 입력이 됩니다. # 예) 2 10 4 # 만약 중간에 기권을 했을 경우 '기권'이라고 입력이 됩니다. # 예) 2 10 기권 # 이 때 기권을 하지 않은 학생들의 성적의 평균을 넘긴 학생들만은 참가상을 모두 받을 수 있습니다. # 참가상을 받은 학생들을 푼 점수가 높은 순서대로 공백으로 구분하여 출력해 주세요 names = input().split(' ') #print("참가자", names) scores = input().split(' ') #print("점수", sores) sc..
1. html 파일을 불러옴 : http://localhost:8080/calc.html //html 파일 분석 1) html 파일에서 form 태그 action="calc" 속성 : 해당 html에서 form이 제출되는 경우 연결될 서블릿의 url : /calc method="post"속성 : 쿼리스트링은 url에서 보여지지 않도록 2) form 태그의 자식 태그 input type = "text" name = "x" input type = "text" name = "y" input type = "submit" name ="operator" value="덧셈" 사용자가 첫 번째 text에 3입력 두 번째 text에 4입력 후 덧셈이라고 적혀진 버튼 누른다면 name ="x"의 value ="3"으로 n..
웹 서버 프로그램은 애플리케이션이 조각나있음 => 서블릿!이라는 이름에서도 알 수 있다 조각 나 있다보니 전역변수 같은 개념을 갖고있지 않음. 이렇게 조각 나 있는 애플리케이션(서블릿) 사이에서 전역변수처럼 값을 유지해줄 역할이 필요함 예를 들면 실제 계산기는 2 개의 숫자와 버튼을 동시에 입력하는 게 아님. 한 숫자 입력 후 연산자(버튼) 누르면 첫 번째 숫자가 보내지고, 다른 숫자 입력 후 연산자(버튼) 누르면 두 번째 숫자가 보내지면서 계산이 됨 그런데, 버튼을 누르는 순간 서블릿은 잠깐 올라왔다가 사라짐(죽음) -> 지역변수 까지도 다 의미없어짐 첫번째 버튼을 누르는 순간 받은 값을 어딘가에 기록해둬야함 그래야 두번째 버튼을 누르는 순간 앞의 값을 가지고 계산을 할 수 있음 => 즉 상태유지가 필..
1. input text박스의 이름이 모두 다르지 않을 수도 있음 ex. 입력박스를 동적으로 추가해야하는 경우 2. name이 같은 개 2개 이상인 경우 서블릿은 배열로 입력을 받음 request.getParmeterValues("") 3. 서블릿에서는 반복문을 사용해서 해당 배열을 활용할 수 있음 : 배열의 인덱스 개념 @WebServlet("/add") public class Add extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setCharacterEncodin..
1. 브라우저에서 필요한 정보 얻기 ctrl + F12 = > 개발자도구 개발자도구 > Network > Header 내려보면 Form data 2. input 태그의 name 속성 input 태그가 name값을 가지면 그 값이 서블릿에 전달됨 3. type = "text"와 type = "submit" 차이 submit의 경우 해당 버튼을 눌러야 name의 값으로 value가 전달되지만 (누르지 않은 버튼의 경우 name값 자체가 전달되지 않음) text의 경우 어떤 버튼이든 누르기만 하면 name값으로 사용자가 입력한 value가 전달됨 ex1. 덧셈이라고 적혀있는 버튼을 누른 경우(submit됨) "x"라는 name값으로 사용자가 해당 text박스에 입력한 값(이게 text의 value)이 전달됨 ..
1. 내가 쓴 코드 @WebServlet("/add") public class Add extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setCharacterEncoding("UTF-8"); response.setContentType("text/html; charset=UTF-8"); PrintWriter out = response.getWriter(); int num1 = Integer.parseInt(request.getParameter("num1")); int nu..