🥅 주간회고의 목적

1. 지난 일주일을 되돌아봄으로써 나의 현재 상태를 파악하기

- 내일배움캠프 멤버들과 비교했을땐, CSS부분은 평균 이상일 수 있지만,

  직접 코딩하고 검색해서 원하는 기능을 만들어내는 집념은 부족하다.

 

2. 더 나은 다음주를 만들기 위해 어떤 부분을 어떻게 채워나갈 지를 고민하는 것

- 첫 프로젝트이기에 웹개발 종합반을 통해 가볍게 복습만 한다고 생각했기에

  빠르게 완성하고나서 직접 코딩은 안하고 강의만 들었던 것을 반성해야 겠다.

  다음주부터는 강의를 듣고 나서 가벼운 기능이라도 1일 1코딩하는 버릇을 들이려 한다.

 

 이런 질문들을 가지고 접근해보세요

1. 지난 일주일 동안 가장 인상 깊었던 배움에는 뭐가 있었지?

- 가장 인상깊었던 배움은 다른 사람들의 집념이었다.

  삭제, 랜덤이미지, 게시판, 검색 기능과 같이 어려운 기능을 밤새서 라도 만들려하는 집념

 

2. 그 배움까지 다가가는데 어떤 어려움이 있었지?

- 이론도 모르고 실행력도 부족하다는 생각이 들었다.

  아직 모르겠으면 나중에 다시 듣지 뭐~ 라는 안일한 생각이 있는데

  이해가 안된다면 적어두고 이해할때까지 계속 생각해봐야 겠다.

 

3. 그 과정에서 나는 무엇을 깨달았고, 어떤 감정/생각이 들었었지?

- 집념이 부족하다는 걸 깨달았고, 나는 개발자가 될 수 있을까?

  개발자 성향이 부족한 것 같아서 맘이 급해졌다.

  그래도 자격지김 가지지 않고 앞으로 많은 시간이 남아있으니

  꾸준히 노력해서 따라가야 겠다고 생각들었다.

 

4. 결과적으로, 현재 나의 상태는?

- 실력의 상태는 그대로겠지만, 개발자로서의 집념을 가져야 겠다는 작은 불씨는 일으킨 것 같다.

 

5. 이 상태에서 다음 일주일을 더 잘 보내려면 어떻게 해야 할까?

- 1일 1코딩(or 문제풀이)를 하며 깃허브에 커밋하는 버릇을 들이려 한다.

728x90

'일기 > WIL(Sun)' 카테고리의 다른 글

WIL: Week I Learned 6주차 [클론코딩]  (0) 2023.01.02
WIL: Week I Learned 5주차 [TIL특강]  (0) 2022.12.22
WIL: Week I Learned4주차  (0) 2022.12.16
WIL: Week I Learned 3주차  (0) 2022.12.04
WIL: Week I Learned 2주차  (0) 2022.11.28

app.py

from flask import Flask, render_template, request, jsonify
app = Flask(__name__)

from pymongo import MongoClient
client = MongoClient('mongodb+srv://text:sparta@cluster0.tvnfddc.mongodb.net/Cluster0?retryWrites=true&w=majority')
db = client.dbsparta

@app.route('/')
def home():
   return render_template('index.html')

@app.route("/homework", methods=["POST"])
def homework_post():
    name_receive = request.form['name_give']
    comment_receive = request.form['comment_give']

    doc = {
        'name' : name_receive,
        'comment' : comment_receive
    }
    db.homework.insert_one(doc)

    return jsonify({'msg':'댓글 완료~!'})

@app.route("/homework", methods=["GET"])
def homework_get():
    homework_list = list(db.homework.find({}, {'_id': False}))
    return jsonify({'homework': homework_list})

if __name__ == '__main__':
   app.run('0.0.0.0', port=5000, debug=True)

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"
        integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"
        crossorigin="anonymous"></script>

    <title>🎻릴러말즈 팬사이트🎻</title>

    <link href="https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@200;300;400;500;600;700;900&display=swap" rel="stylesheet">
    <style>
        * {
            font-family: 'Noto Serif KR', serif;
        }
        .mypic {
            width: 100%;
            height: 300px;

            background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('https://mblogthumb-phinf.pstatic.net/MjAyMTEyMzBfMjU3/MDAxNjQwODIzNTM5ODU4.4N5iYjgtyzTpiKCe5RlPuNM5aRqP-rxu8Lv4M7PIYy8g.FYFlO1cup4cXoyBEgOtSEWpw_baR76D5h_JwiJdCQyIg.JPEG.letis_make_idea/asdasd.jpg?type=w800');
            background-position: center 30%;
            background-size: cover;

            color: white;

            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }

        .mypost {
            width: 95%;
            max-width: 500px;
            margin: 20px auto 20px auto;

            box-shadow: 0px 0px 3px 0px black;
            padding: 20px;
        }

        .mypost > button {
            margin-top: 15px;
        }

        .mycards {
            width: 95%;
            max-width: 500px;
            margin: auto;
        }

        .mycards > .card {
            margin-top: 10px;
            margin-bottom: 10px;
        }
    </style>
    <script>
        $(document).ready(function(){
            set_temp()
            show_comment()
        });
        function set_temp(){
            $.ajax({
                type: "GET",
                url: "http://spartacodingclub.shop/sparta_api/weather/seoul",
                data: {},
                success: function (response) {
                    $('#temp').text(response['temp'])
                }
            })
        }
        function save_comment(){
            let name = $('#name').val()
            let comment = $('#comment').val()

            $.ajax({
                type: 'POST',
                url: '/homework',
                data: { name_give:name, comment_give:comment},
                success: function (response) {
                    alert(response['msg'])
                    window.location.reload()
                }
            })
        }
        function show_comment(){
            $.ajax({
                type: "GET",
                url: "/homework",
                data: {},
                success: function (response) {
                    let rows = response['homework']
                    for ( i=0; i < rows.length; i++){
                        let name = rows[i]['name']
                        let comment = rows[i]['comment']

                        let temp_html = ` <div class="card">
                                            <div class="card-body">
                                                <blockquote class="blockquote mb-0">
                                                    <p>${comment}</p>
                                                    <footer class="blockquote-footer">${name}</footer>
                                                </blockquote>
                                            </div>
                                        </div>`
                        $('#comment-list').append(temp_html)
                    }
                }
            });
        }
    </script>
</head>
<body>
    <div class="mypic">
         <h1>🎻릴러말즈 팬사이트🎻</h1>
        <p>현재기온: <span id="temp">36</span>도</p>
    </div>
    <div class="mypost">
        <div class="form-floating mb-3">
            <input type="text" class="form-control" id="name" placeholder="url">
            <label for="floatingInput">닉네임</label>
        </div>
        <div class="form-floating">
            <textarea class="form-control" placeholder="Leave a comment here" id="comment"
                style="height: 100px"></textarea>
            <label for="floatingTextarea2">응원댓글</label>
        </div>
        <button onclick="save_comment()" type="button" class="btn btn-dark">응원 남기기</button>
    </div>
    <div class="mycards" id="comment-list">

    </div>
</body>
</html>
728x90

2-2강

 

[성씨별 회원수를 Group by로 쉽게 구해보기]

select name, count(*) from users
group by name;

 

[users 테이블 전체 불러오기]

select * from users;

 

[users 테이블에서 '신'씨를 가진 데이터만 불러와서 개수 살펴보기]

select * from users 
where name = "신**";

 

[group by를 사용해서 '신'씨를 가진 데이터가 몇 개인지 살펴보기]

select name, count(*) fro[m users
group by name;

 

2-3강

[주차별 '오늘의 다짐' 개수 구하기]

select week, count(*) from checkins
group by week;

 

[주차별 '오늘의 다짐'의 좋아요 최소,최대,평균,합계값 구하기]

select week, min(likes) from checkins
group by week;

 

select week, max(likes) from checkins
group by week;

 

select week, avg(likes) from checkins
group by week;

 

select week, sum(likes) from checkins
group by week;

 

[원본 쿼리 살펴보기]

select name, count(*) from users
group by name;

 

[결과의 개수 오름차순으로 정렬해보기]

select name, count(*) from users
group by name
order by count(*);

 

[결과의 개수 내림차순으로 정렬해보기]

select name, count(*) from users
group by name
order by count(*) desc;

 

2-4강

없음

 

2-5강

쿼리 작성하는 꿀팁!

1) show tables로 어떤 테이블이 있는지 살펴보기

2) 제일 원하는 정보가 있을 것 같은 테이블에 select * from 테이블명 limit 10 쿼리 날려보기

3) 원하는 정보가 없으면 다른 테이블에도 2)를 해보기

4) 테이블을 찾았다! 범주를 나눠서 보고싶은 필드를 찾기

5) 범주별로 통계를 보고싶은 필드를 찾기

6) SQL 쿼리 작성하기!

728x90

'코딩공부 > SQL' 카테고리의 다른 글

SQL 4주차  (0) 2022.10.27
SQL 3주차  (0) 2022.10.26
SQL 1주차  (0) 2022.10.24

개인적인 후기

백앤드에 대한 기초 지식을 쌓기 위해서 SQL을 신청하였다.

1주차는 정말 간단한 문법을 공부하면서 실습하였고,

짧은 영상으로 부담이 없었다.

select * from orders

where email like '%naver.com' 과 같은 간단한 문제를 반복해서 풀다보니

자신감도 생기고 아직은 잘 따라가서 다행이라는 생각이 든다.

 

2주차 정도까진 괜찮았는데

3~4주차 되니 문법이 길어지면서

생각을 요하는 문제가 많아져서 조금 따라가기 힘들었다...

열심히 따라서 코딩했지만 다른 공부가 우선 필요하다고

생각하고 대충넘겼다.....

 

문법은 어느정도 정리했고 익숙해졌으니,

다음에 다시 복습해야겠다!

 

 

728x90

1주차에는 HTML , CSS , Javascript
2주차에 JQuery, Ajax

3주차 파이썬, MonggoDB

 

지금까지 프론트앤드 눈 앞에 보이는 것만 배웠었는데

드디어 백앤드 서버단을 시작했다.

 

내일배움캠프 시작전에도 프론트앤드

눈앞에 보이는 것을 만드는 작업만 했는데,

화면에 안보이지만 뒤에서 데이터를 정리해보니

이것도 나름의 재미가 있는 것 같다.

 

3주차 개인적인 후기

 

3주차만에 여러가지 언어를 배우다보니

다 배울 수 있을까 걱정이 많았다.

 

그러나 생각보다 비슷한 문법이기에

이해하는데 어렵지는 않았다.

 

다만 비슷하면서 다른 문법이기에

계속 반복하여 코드를 작성하여 익숙해지는 방법밖에는 없을 것 같다.

 

728x90

+ Recent posts