2021.09.26.さぎょう


🔥今日の決意🔥


🥅n/a.ターゲット

  • [プロジェクト]フロントで提供する利用時間データをdbに格納機能
  • .
  • 一昨日TIL答弁記
  • 💪 心の準備


    今日は進度を落として、今週はやっと気持ちがいいです.

    📚今日の勉強📚


    学習時間

  • 10時間49分
  • 📝 学習内容


    垂直方向中央揃え


    <body><div class="helper"></div><div class="container"><div></body>
        body {
            height: 1000px;
            background-color: gray;
            text-align: center;
     	}
        
        .helper {
            display: inline-block;
            height: 100%;
            vertical-align: middle;
    
            /* 설명을 위해서 */
            /*width: 10px;*/
            /*background-color: red;*/
        }
    
        .container {
            margin: auto;
            width: 100%;
            background-color: gray;
            display: inline-block;
            vertical-align: middle;
        }
    垂直方向の中央揃えが行われています.ダミー要素を作成し、そのダミー要素を中央に配置したい要素に垂直に配置します.中央に配置し、ダミー要素のheight:100%を中央に配置します.

    チェックイン/チェックアウト機能

  • mongoDB
  • -app.py
    @app.route('/check-in', methods=['POST'])
    def check_in():
        start_time = request.form['start_time']
        status = request.form['status']
        year = request.form['year']
        month = request.form['month']
        day = request.form['day']
        week = request.form['week']
        # doc = {'name': 'bobby'}
        # db.user.insert_one(doc)
    
        db.user.update_one({'name': 'bobby'}, {'$set': {
            'status': status,
            'date.year': year,
            'date.month': month,
            'date.week': week,
            'date.day': day,
            'date.start_time': start_time,
        }})
    
        return jsonify({"msg": f'{start_time}{status} 하셨습니다'})
    
    @app.route('/check-out', methods=['POST'])
    def check_out():
        stop_time = request.form['stop_time']
        status = request.form['status']
        study_time = request.form['study_time'][:8]
    
        db.user.update_one({'name': 'bobby'}, {'$set': {
            'status': status,
            'date.stop_time': stop_time,
            'date.study_time': study_time
        }})
        return jsonify({"msg": f'오늘 총 {study_time} 동안 업무를 진행하셨습니다.'})
    
  • javascript
  • function check_in() {
        let present_time = $("#Clock").text()
    
        let date_list = $("#Clockday").text().split(' ')
        let year = date_list[0]
        let month = date_list[1]
        let day = date_list[2]
        let week = date_list[3]
        $.ajax({
            type: "POST",
            url: "/check-in",
            data: {
                start_time: present_time,
                status    : "출근",
                year : year,
                month: month,
                day: day,
                week: week,
            },
            success: function (response) {
                // window.location.reload();
            }
        })
    }
    
    
    function check_out() {
        let present_time = $("#Clock").text()
        let study_time = $("#time").text()
        $.ajax({
            type: "POST",
            url: "/check-out",
            data: {
                stop_time: present_time,
                status: "퇴근",
                study_time: study_time,
            },
            success: function (response) {
                alert(response["msg"]);
                // window.location.reload();
            }
        })
    }
    以下のチェックイン、チェックアウト機能を体現しています.チェックアウト機能の作成にはあまり時間がかかりませんでしたが、DBにどのように格納すべきか、機能を効率的に実行すべきかを考え、そのような試みがたくさんありました.まず、最初の挿入は、チェックイン/終了機能をapiにすることです.その時はいつもapiを1つ使うほうが効率的だと思っていました.だから私は何時間もかけて2つを合わせようと努力しましたが、合わせようとするコードが汚くなると思います.毒性が低下しても、それほど効率的ではありません.しばらく休んで、ベッドに横になって以前のプロジェクトの経験を思い出し、当時コメント機能を行っていたときは、もちろん同じサイトでしたが、コメントを生成、修正、削除する際に、それぞれ異なる方法でapiを作成しました.似たような機能であれば、1つのapiで作るのも正しいようで、可読性のために2つのapiに分けるのも正しいようです.重要なのは両者の関係をバランスさせることだと思います.

    🎯一日振り返る🎯


    今朝の休みに偶然明日の学习生ナヨンのブログを见ました.彼も毎日TILを使っていて、本当に具体的で、たくさん使っていて、新鮮な衝撃です.それから私も今日そのように书きたいと思っていますが、本当に书くので、本当に疲れました.「欲張らないで、ブログをアップするのは簡単なことです.私はまず韓居福を貼って、簡単に説明して、振り返って終わります.

    📋 明日やること

  • 気象apiを使用してデータを受信し、対応する写真をホームページに
  • 配置する.
  • 成勲はブランキーから電話を受けて登録し、レコーダーテンプレート
  • を見つけた.