이번 주는 aws와 파이썬을 활용한 웹 개발 심화과정을 배웠다.
aws는 방대하고 신경 쓸 옵션이 많아 아직 어렵다. 하지만 이번 주에 배우면서 인스턴스 생성, 활용, 삭제를 그래도 자유롭게 할 수 있어졌다. 그리고 aws 사용을 할 때 단순히 블로그를 보고 따라 하는 것이 아니라, 내가 무엇을 위해 aws를 사용하는지 정확히 정말 나에게 맞춰 활용하는 방법을 배운 것 같아 뿌듯하다. 그리고 앞으로 더 공부해야겠지만 이제 점점 내가 생각하는 기본적인 기능들을 구현할 수 있는 수준으로 웹을 배우는 것 같아 기쁘다.
mongodb는 저장을 할때 자동으로 _id 속성을 생성하면서 튜플들을 구분하긴하지만, _id 속성을 json으로 변경을 하려할때 오류가 나기때문에 id를 따로 붙이곤한다.
id를 붙이는 방법 중에는 가장 최근에 저장된 id에 +1을 하는 방법이 있다.
if post_count == 0:
max_value = 1
else:
max_value = db.test.find_one(sort=[("idx", -1)])['idx'] + 1
max_value = (list(db.test.find({}).sort([("idx", -1)])))[0]['idx'] + 1
max_value = list(db.posts.find({}, sort=[('_id', -1)]).limit(1))[0]['idx'] + 1
자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기능
$.ajax({
type: "POST", //http 요청 타입 (ex. GET,POST)
url: "/diary", //호출 url
data: form_data, //data
async: false, // 1.
cache: false, // 2.
contentType: false, //서버로 전송할 데이터의 content-type
processData: false, // 3.
beforeSend: function(xhr) {
// 요청하기 전에 함수를 실행하는 이벤트 핸들러 입니다.
}
success: function (response) {
// 전송에 성공하면 실행될 코드
}
error:function(){
// 전송에 실패하면 실행될 코드
}
});
async :
기본값은 true이므로 설정을 하지 않으면 비동기처리이다.
false일 경우 동기 처리이다.
만일 비동기 방식으로 설정되어 있다면 사용자 컴퓨터에서 서버로 데이터를 전송하고 요청하는 동안에도 다른 작업을 할 수 있다.
cache:
브라우저에 따라 데이터가 갱신이 안되고 이전 데이터가 남아있을때 가 있다. 그 이유는 새로 url 호출 안하고 cache값 노출해 주기때문이다. false로 이러한 현상을 방지 가능하다.
processData:
요청으로 보낸 데이터를 query string 형태로 변환할지 여부를 나타냄 기본값은 true이다.