fullstack

[GAE] Google App Engine에 python flask 개발환경 셋팅하기

Web

google app engine 에서 python flask 개발환경을 셋팅해 보겠습니다



google app engine console - https://console.cloud.google.com/


우선 새 프로젝트를 생성해야겠죠?



언어는 당연히 python을 선택합니다



지역을 선택합니다




알아서 백엔드 서비스를 만들어줍니다



오른쪽 상단의 이 아이콘을 눌러 Google Cloud Shell을 활성화 해 줍니다




Shell 이 활성화 되었습니다




다음과 같이 입력합니다




DIR=src/yobot-1/python_flask => DIR 이라는 변수에 폴더경로를 지정합니다

git clone https://github.com/GoogleCloudPlatform/appengine-flask-skeleton $DIR 

=> DIR에 지정한 폴더 경로에 google에서 만들어놓은 flask 뼈대 저장소를 clone 합니다


그럼 벌써 기본적인 flask 개발환경 셋팅이 끝났습니다 

서버환경 만드는게 이렇게 쉽습니다 구글 갓 입니다 ..


빌드는 해당경로로 이동 후 ( cd DIR )

gcloud app deploy app.yaml --project myProject ( myProject = 내 프로젝트명) 명령어로 할 수 있습니다


빌드 후 다음과 같이 내프로젝트명.appspot.com 주소로 열어보시면 Hello World! 를 볼 수 있습니다



- 끝 -

[python] python에서 한글 사용하기

Web

python은 기본 인코딩이 ascii 이기 때문에, 그냥 사용시 한글은 ascii로 해석이 불가능 해

문법에러를 발생시킨다.


이를 해결하기위해 다음과 같이 스크립트 파일 맨위에 파일의 인코딩을 명시해 주어야 한다


1
2
#!/usr/bin/python  
# -*- coding: utf-8 



[JSP] JSP Scripting

Web

JSP의 스크립팅 요소(Scripting Element)에 대해 알아보자.




- 지시문 (Directive)


JSP 엔진 및 컨테이너에게 현재의 페이지 처리와 관련된 정보를 전달하는 목적으로 활용한다.

<%@ 와 %> 사이에 코드를 위치하여 사용한다.


1
<%@page contentType="text/html;charset=utf-8"%>





- 스크립트릿 (Scriptlet)


JSP가 강력한 이유이다. JSP 페이지 내에 Java 코드를 넣을 수 있다.

<% 와 %> 사이에 코드를 위치하여 사용한다.


1
2
3
4
5
<%
    for (int i=0; i<=10; i++) {
        out.println(i+"<bt/>");
    }
%>





- 표현식 (Expression)


간단한 데이터를 출력하기 위해 사용한다.

<%= 와 %> 사이에 코드를 위치하여 사용한다.


1
<%= result%>





- 선언 (Declaration)


JSP 페이지 전체에서 사용할 변수나 메소드 등을 선언한다.

<%! 와 %> 사이에 코드를 위치하여 사용한다.


1
2
3
4
5
6
<%!
    String text = "Hello World";
    public boolean isExist() {
        return true;
    }
%>





- 주석


코드 상에 설명을 덧붙이기 위해 사용한다.

<%-- 와 --%> 사이에 설명을 쓴다.


1
<%-- Comment --%>



[JSP] Google App Engine에서 Session 사용시 Error

Web

Google App Engine에서 JSP를 할때 Session 사용시 다음과 같은 500 Server Error가 발생한다.



해당 프로젝트 폴더의 war - WEB-INF 경로에 있는 appengine-web.xml 을 보면 다음과 같은 주석을 볼 수 있다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
  <!--
    HTTP Sessions are disabled by default. To enable HTTP sessions specify:
      <sessions-enabled>true</sessions-enabled>
    It's possible to reduce request latency by configuring your application to
    asynchronously write HTTP session data to the datastore:
      <async-session-persistence enabled="true" />
    With this feature enabled, there is a very small chance your app will see
    stale session data. For details, see
    http://code.google.com/appengine/docs/java/config/appconfig.html#Enabling_Sessions
  -->



이는 App Engine에서는 기본적으로 Session을 비활성화 한다고 되어있는데, 이유는 쓸모없이 낭비하는 자원을 막기 위해서인것 같다.

위의 주석을 해제하거나 아래 구문을 추가해주면 이제 Session을 사용할 수 있다.


1
<sessions-enabled>true</sessions-enabled>



[JSP] Google App Engine으로 JSP 시작하기

Web

- Google App Engine을 쓰는 이유


Google App Engine은 PaaS(platform as a service) 종류의 클라우드 서비스이다.

PaaS는 개발자가 서비스를 개발 할 수 있는 안정적인 플랫폼과 그 플랫폼을 이용하는 응용 프로그램을 개발 할 수 있는 API까지 제공하는 형태를 말한다.

즉, Google App Engine을 이용하면 서버 설비와 관련된 모든 백엔드 작업에 신경을 쓰지 않고 서비스 개발에 집중할 수 있다.




- 준비사항


Google 계정

Java (현재까지는 7버전 이하로 지원)

Eclipse




- Google App Engine 시작하기


https://appengine.google.com/

다음 주소로 들어가 구글 계정으로 로그인한다.


새 프로젝트를 만든다.



여기서 프로젝트 ID가 만들 사이트 주소가 된다. ( http://'프로젝트 ID'.appspot.com )


프로젝트를 만들었다면 이클립스를 실행한다.


Help -> Install New SoftWare



Add를 누르고 다음과 같이 http://dl.google.com/eclipse/plugin/4.4 를 추가한다.

나열되는 항목들 중 Eclipse Plugin / AppEngine for Java SDK 설치



설치가 다 되었다면 App Engine 프로젝트를 생성한다.



프로젝트 이름을 설정하고 Browse 버튼을 클릭하여 아까만든 Google App Engine 프로젝트와 연동한다.



프로젝트가 만들어졌다면 Deploy 해보자



다음과 같이 잘 실행되는걸 볼 수 있다.