Development

[TIL] 미니 프로젝트, Git 강의

개발자 강정 2022. 1. 12. 21:33

미니 프로젝트

timezone 문제 해결

function getFormatDate(date) {
    let year = date.getFullYear();              //yyyy
    let month = (1 + date.getMonth());          //M
    month = month >= 10 ? month : '0' + month;  //month 두자리로 저장
    let day = date.getDate();                   //d
    day = day >= 10 ? day : '0' + day;          //day 두자리로 저장
    return year + '-' + month + '-' + day;
}
let today = getFormatDate(new Date())

오늘의 년-월-일을 불러올 수 있었다.

 

운동 종류 별로 기록을 불러오는 기능 구현

let logData;

function showLog() {
    // 서버의 데이터를 받아오기
    $.ajax({
        type: "GET",
        url: "/log/{{ user_id }}",
        data: {},
        success: function (response) {
            logData = JSON.parse(response['all_logData']);
        }
    })
}

function showtable() {
    $('#logs-table').empty();
    for (let i = 0; i < logData.length; i++) {
        let date = logData[i]['date']
        let wod = logData[i]['wod']
        let weight = logData[i]['weight']
        let round = logData[i]['round']
        let time = logData[i]['time']
        let _id = JSON.stringify(logData[i]['_id'])

        let weight_form = "";
        let round_form = "";
        let time_form = "";

        if (weight != "") {
            weight_form = weight + 'lb ';
        }
        if (round != "") {
            round_form = round + 'round ';
        }
        if (time != "") {
            time_form = time + 'min';
        }

        if (wod == $('#wod_name').text()) {
            let temp_html = `<tr class="has-text-grey">
                                    <td>${date}</td>
                                    <td>${weight_form}${round_form}${time_form}</td>
                                    <td><button class="delete is-medium" onclick=delete_log(${_id})></button></td>
                                </tr>`
            $('#logs-table').append(temp_html)
        }
    }
}

 

크롤링을 이용해서 크로스핏 wod 정보를 가져옴

import requests
from bs4 import BeautifulSoup

from pymongo import MongoClient

client = MongoClient('mongodb://15.165.203.11', 27017, username="test", password="test")
db = client.dbsparta_plus_week4

headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get('https://www.crossfit.com/heroes',headers=headers)

soup = BeautifulSoup(data.text, 'html.parser')

divs = soup.select('#main > div')

for div in divs:
    name = div.select_one('div > h3> strong')
    if name is None: continue
    final_name = name.text.strip()

    content = div.select_one('div > p')
    type = content.text.splitlines()[0]
    if type == ' ': continue
    final_type = type

    contents = content.text.splitlines()[1:]
    txt = ''
    for cont in contents:
        txt += '<li>' + cont + '</li>'
    if txt == '': continue
    final_content = txt

    img = div.select_one('img')['src']

    doc = {
        'name': final_name,
        'type': final_type,
        'content': final_content,
        'img': img
    }

    db.hero_tribute.insert_one(doc)

 

Git 강의 수강

Sourcetree 설치 및 활용

Git 강의를 들으면서 sourcetree를 사용해보고 있는데, 버전 관리라는 신세계를 만난 기분이다. 앞으로 더 유용하게 쓸 수 있을 것 같다.