굉장히 오랜만에 회고를 작성한다. 5주차 마무리 이후 1~5주차를 한번 더 진행 했는데, 진행하는 동안 문법의 한계를 너무 느껴서 javascript까지 따로 공부했었다.
아무래도 코딩을 하기 위해선 전반적인 플로우도 중요하지만 사용하고자 하는 언어 문법을 먼저 알고있는 게 훨씬 더 중요한 일인 것 같다.
클라이언트 페이지와 서버 페이지가 서로 연결되면서 주고 받아야 하는 데이터의 형식이나 구조도 미리 생각해둬야 한다.
@app.route("/bucket", methods=["POST"])
def bucket_post():
bucket_receive = request.form["bucket_give"]
count = list(db.bucket.find({},{'_id':False}))
num = len(count) + 1
doc = {
'num':num,
'bucket': bucket_receive,
'done':0
}
db.bucket.insert_one(doc)
return jsonify({'msg':'등록 완료!'})
function save_bucket(){
let bucket = $('#bucket').val()
$.ajax({
type: "POST",
url: "/bucket",
data: {bucket_give:bucket},
success: function (response) {
alert(response["msg"])
window.location.reload()
}
});
}
@app.route("/bucket", methods=["GET"])
def bucket_get():
buckets_list = list(db.bucket.find({},{'_id':False}))
return jsonify({'buckets':buckets_list})
function show_bucket(){
$('#bucket-list').empty()
$.ajax({
type: "GET",
url: "/bucket",
data: {},
success: function (response) {
let rows = response['buckets']
for (let i = 0; i < rows.length; i++) {
let bucket = rows[i]['bucket']
let num = rows[i]['num']
let done = rows[i]['done']
let temp_html = ``
if (done == 0) {
temp_html = `<li>
<h2>✅ ${bucket}</h2>
<buttontoken interpolation">${num})" type="button" class="btn btn-outline-primary">완료!</button>
</li>`
} else {
temp_html = `<li>
<h2 class="done">✅ ${bucket}</h2>
</li>`
}
$('#bucket-list').append(temp_html)
}
}
});
}
@app.route("/bucket/done", methods=["POST"])
def bucket_done():
num_receive = request.form["num_give"]
db.bucket.update_one({'num': int(num_receive)}, {'$set': {'done': 1}})
return jsonify({'msg': '버킷 완료!'})
function done_bucket(num){
$.ajax({
type: "POST",
url: "/bucket/done",
data: {'num_give':num},
success: function (response) {
alert(response["msg"])
window.location.reload()
}
});
}
5주차 강의가 끝났다. 5주차는 코딩보단 완성된 웹사이트를 어떻게 배포하는지가 주된 목적이었지만, 배포 과정은 여기에 올리기에 비효율적으로 길기 때문에 코딩 해석을 한번 작성해봤다.
강의를 보고 코드를 따라 치면서 느끼는건 내가 이 코드들을 해석할 수 있나? 이해하고 사용하는게 맞나? 이런 질문에 어느정도 "그렇다"라고 답변할 수 있어야 한다는 것이다.
일련의 과정을 이해하는 것도 중요하지만 어쨌든 직접 코딩을 하려면 코드들의 의미, 사용하는 방법, 왜 이렇게 사용했는지 등등을 알아야 한다고 생각한다.
앞으로 더 많은 내용을 항해99를 하며 배우겠지만, 확실히 점점 헤이해지는게 느껴진다. 공부를 쉬지 않고 할 수 있도록 노력해야겠다.