πŸ‘©πŸ»β€πŸ’» λ‚˜ ν™€λ‘œ ν”„λ‘œμ νŠΈ - 1

sebinnnnnΒ·2022λ…„ 12μ›” 24일
0
post-thumbnail

μ›Ή 개발 μ’…ν•©λ°˜ 2νšŒλ…μ„ 마무리 ν•œ 후에 처음으둜 ν™€λ‘œ μž‘μ€ ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν–ˆλ‹€.

μ›Ή 개발 μ’…ν•©λ°˜μ—μ„œ 배우고 μ΅ν˜”λ˜ 지식을 λ°”νƒ•μœΌλ‘œ μœ μ‚¬ν•œ μ‚¬μ΄νŠΈλ₯Ό 혼자 κΈ°νšλΆ€ν„° μ„œλ²„ 배포 및 도메인 μ—°κ²°κΉŒμ§€ μ„±κ³΅μ‹œν‚€λŠ” 것이 λͺ©ν‘œμ˜€λ‹€.

(1) λ¨Όμ € λŒ€λž΅μ μΈ 전체 λ””μžμΈκ³Ό μ€‘μš”ν•œ κΈ°λŠ₯을 μ •λ¦¬ν•˜κΈ° μœ„ν•΄ draw.ioλ₯Ό μ‚¬μš©ν–ˆκ³  μ•„λž˜ 사진과 같이 색 νŒ”λ ˆνŠΈλ„ ν•¨κ»˜ λ„£μ–΄μ„œ κ°„λ‹¨ν•œ 기획 ꡬ상을 μ§„ν–‰ν–ˆλ‹€.

(2) 그리고 μ™„μ„±λœ μ΅œμ’… 이미지!

(3) AWSλ₯Ό μ΄μš©ν•΄μ„œ μ„œλ²„ 배포에 μ„±κ³΅ν–ˆκ³  κ°€λΉ„μ•„ μ‚¬μ΄νŠΈμ—μ„œ 도메인을 κ΅¬μž…ν•΄μ„œ 도메인 μ—°κ²°κΉŒμ§€ μ„±κ³΅ν–ˆλ‹€!

-> 사싀 전체적인 틀은 μ›Ή 개발 μ’…ν•©λ°˜μ—μ„œ μ‹€μŠ΅ν–ˆλ˜ λ‚΄μš©λ“€κ³Ό 크게 닀름이 μ—†μ–΄, 어렀움을 λŠλΌμ§€λŠ” μ•Šμ•˜λŠ”λ° λ‹€λ₯Έ μ„Έμ„Έν•œ κΈ°λŠ₯듀을 κ΅¬ν˜„ν•˜λŠ” 것에 μžˆμ–΄μ„œλŠ” μ²˜μŒμ΄λ‹€ λ³΄λ‹ˆ 많이 헀맀기도 ν–ˆλ‹€.


css에 μžˆμ–΄μ„œ κ°€μž₯ 신경을 썼던 뢀뢄은 λͺ¨λ°”일 버전과 λ°μŠ€ν¬νƒ‘ 버전과 같이 ν™”λ©΄ 크기에 따라 ν™”λ©΄ ꡬ성을 λ‹¬λ¦¬ν•˜λŠ” λΆ€λΆ„μ΄μ—ˆλ‹€.
μ„Έλ―Έ(?) λ°˜μ‘ν˜• μ›Ή κ΅¬ν˜„μ΄λΌκ³  말할 수 μžˆμ„ 것 κ°™λ‹€...γ…Ž
λ°μŠ€ν¬νƒ‘ ν™”λ©΄ λΉ„μœ¨μ—μ„œλŠ” μœ„μ— 사진과 같이 input이 ν–‰(κ°€λ‘œ)으둜 정렬이 λ˜μ–΄ μžˆλ‹€λ©΄ λͺ¨λ°”일 버전 ν™”λ©΄ λΉ„μœ¨μ—μ„œλŠ” input을 μ—΄(μ„Έλ‘œ)둜 정렬을 ν•˜κ³  μ‹Άμ—ˆλ‹€.
μ²˜μŒμ— μ–΄λ–»κ²Œ κ΅¬ν˜„μ„ ν•˜λ©΄ μ’‹μ„κΉŒ 생각을 ν•˜λ‹€κ°€... 미디어쿼리λ₯Ό μ΄μš©ν•΄μ„œ max-widthλ₯Ό μ„€μ •ν•˜κ³  flex λ°©ν–₯만 λ°”κΎΈλ©΄ λ˜κ² λ‹€λŠ” 생각을 ν–ˆλ‹€.

κ·Έ κ²°κ³Ό...!

μ΄λ ‡κ²Œ 성곡!!

λ””μžμΈμ μœΌλ‘œλŠ” 크게 차이가 μ—†μ§€λ§Œ 일단 미디어쿼리λ₯Ό ν™œμš©ν–ˆλ‹€λŠ” μ μ—μ„œ λΏŒλ“―ν–ˆλ‹€...!

μž‘μ„±ν•œ μ½”λ“œ(미디어쿼리)

@media screen and (max-width: 1060px) {
    .myinput {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        /* μ„Έλ‘œ μ •λ ¬λ‘œ λ³€κ²½ */

        width: 85%;

        margin: 50px auto 0px auto;
    }

    .input-box {
        margin-bottom: 20px;

        width: 100%;
    }

    .mydate {
        margin-top: 30px;
    }
}

cssμ—μ„œ 생각지도 λͺ»ν•œ λ‚œκ΄€μ€... λ°”λ‘œ λΆ€νŠΈμŠ€νŠΈλž© λ³€κ²½ λ°©λ²•μ΄μ—ˆλ‹€.
input λ°•μŠ€λ‚˜ button의 경우 λΆ€νŠΈμŠ€νŠΈλž©μ—μ„œ κ°€μ Έμ™”κΈ° λ•Œλ¬Έμ— 색상을 직접 λ³€κ²½ν•΄μ•Όλ§Œ ν–ˆλ‹€. 근데 μ„ νƒμžλ‘œ classλ₯Ό λΆˆλŸ¬μ™€λ„ λ¨Ήνžˆμ§€ μ•ŠλŠ” κ±°... γ…œγ…œγ…œγ…œγ…œ
κ·Έλ ‡λ‹€κ³  !important을 μ‚¬μš©ν•  μˆ˜λ„ μ—†μ—ˆλ‹€(!importantλŠ” μ΅œλŒ€ν•œ μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” 게 μ’‹λ‹€κ³  ν•΄μ„œ)
κ·Έλž˜μ„œ μ–΄λ–»κ²Œ ν•΄μ•Ό ν•˜λ‚˜ 막 ꡬ글링을 ν•˜λ˜ 쀑에 css의 μš°μ„ μˆœμœ„λ₯Ό κΉ¨λ‹«κ²Œ 되고 classκ°€ μ•„λ‹Œ id 값을 μ€˜μ„œ μ„ νƒμžλ‘œ κ°€μ Έμ˜€λ©΄ λ˜κ² κ΅¬λ‚˜! μ‹Άμ—ˆλ‹€.
cssμ—μ„œλŠ” class보닀 idλ₯Ό 더 μš°μ„ μœΌλ‘œ νŒλ‹¨ν•˜κΈ° λ•Œλ¬Έμ— id 값을 λΆˆλŸ¬μ™€μ„œ cssλ₯Ό λ³€κ²½ν•˜λ©΄ κ·ΈλŒ€λ‘œ 반영이 λ˜λŠ” κ²ƒμ΄μ—ˆλ‹€.
μ™„μ „νžˆ κΈ°λ³Έ μ§€μ‹μ΄μ—ˆλŠ”λ°... 막상 ν•„μš”ν•  λ•ŒλŠ” μ•„μ˜ˆ 생각도 μ•ˆ 났닀.


μ–΄μ°Œμ–΄μ°Œ λΆ€νŠΈμŠ€νŠΈλž© λ³€κ²½ 방법도 ν•΄κ²°ν•˜κ³  순쑰둭게 μ½”λ“œλ₯Ό μž‘μ„±ν•˜κ³  μžˆλŠ” 와쀑에 μ„œλ²„ 였λ₯˜κ°€ λ°œμƒ...

flask둜 μ„œλ²„μ™€ 클라λ₯Ό μ—°κ²°ν•˜κ³  μžˆλŠ” 도쀑에 κ°‘μžκΈ° input λ°•μŠ€μ—μ„œ μž…λ ₯된 값이 DB둜 λ“€μ–΄κ°€μ§€ λͺ»ν•˜κ³  μžˆμ—ˆλ‹€.
(μ„œλ²„μ—μ„œ 였λ₯˜ 생길 λ•Œλ§ˆλ‹€ 심μž₯이 μ² λ ν•œλ‹€;;)

werkzeug.exceptions.BadRequestKeyError: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand.
KeyError: 'work_give'

Bad RequestλŠ” 잘λͺ»λœ url을 μ—°κ²°μ‹œν‚€κ±°λ‚˜ 호슀트 이름을 μ œλŒ€λ‘œ μž…λ ₯ν•˜μ§€ μ•Šλ‹€κ±°λ‚˜ λ“±λ“±μ˜ 이유둜 잘λͺ»λœ μš”μ²­μ΄ λ“€μ–΄μ™”λ‹€λŠ” 건데..
μ°¨κ·Όμ°¨κ·Ό μ½”λ“œλ“€μ„ μ‚΄νŽ΄λ΄€λŠ”λ° url 연결도 잘 λ˜μ—ˆκ³  νŒŒλΌλ―Έν„°μ—λ„ μ˜€νƒ€ 없이 잘 λ“€μ–΄κ°€ μžˆμ—ˆλ‹€.
λŒ€μ²΄ 무슨 μ΄μœ μΈκ°€ μ—΄μ‹¬νžˆ κ΅¬κΈ€λ§ν•˜κ³  또 κ΅¬κΈ€λ§ν•˜κ³  또 κ΅¬κΈ€λ§ν–ˆλŠ”λ° ν•΄κ²°λ˜μ§€ μ•Šκ³  λ˜‘κ°™μ•˜λ‹€.
κ²°κ΅­, λ‹΅λ‹΅ν•œ λ§ˆμŒμ— λ©˜ν† λ‹˜κ»˜ 도움을 μš”μ²­ν–ˆλŠ”λ° 였λ₯˜ 원인이 λ„ˆλ¬΄ 어이가 μ—†μ—ˆλ‹€ γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹
μ˜€νƒ€λž€λ‹€...

function save_work(){
            let work = $('#work').val()

            $.ajax({
                type: "POST",
                url: "/work",
                date: {work_give: work}, // 이 λΆ€λΆ„μ—μ„œ data κ°€ date 둜 μ˜€νƒ€κ°€ λ‚œ 것 κ°™μŠ΅λ‹ˆλ‹€!
                success: function (response){
                    alert(response['msg'])
                }
            });
        }

dataλ₯Ό date둜 잘λͺ» μž…λ ₯ν•˜κ³  뭐가 ν‹€λ ΈλŠ”μ§€ λͺ¨λ₯΄κ³  μžˆμ—ˆλ‹€ 🀣
이런 ν—ˆμ ‘ν•œ 였λ₯˜λ‘œ 도움을 μš”μ²­ν•œ λ©˜ν† λ‹˜κ»˜λ„ λ„ˆλ¬΄ μ£„μ†‘ν–ˆκ³  이런 μ‚¬μ†Œν•œ μ˜€νƒ€ ν•˜λ‚˜ μ œλŒ€λ‘œ 확인도 μ•ˆν•œ λ‚˜ μžμ‹ μ—κ²Œ 화도 났닀...

κ·Έλž˜λ„ μ§€κΈˆ ν•œλ²ˆ λ‹€μ‹œ κΉ¨λ‹«κ²Œ 된 게 μ–΄λ”˜κ°€ 싢기도 ν•˜λ‹€.

덕뢄에 ꡬ글링도 μ‹€μ»· 해보고 μ—λŸ¬λ©”μ‹œμ§€λ₯Ό 잘 읽고 νŒλ‹¨ν•˜λŠ” 법도 μ–΄λŠ 정도 배운 것 κ°™μ•„μ„œ μ΅œλŒ€ν•œ κΈμ •μ μœΌλ‘œ μƒκ°ν•˜κ³  μžˆλ‹€.

=> ν™€λ‘œ μ‚¬μ΄νŠΈλ₯Ό λ§Œλ“€μ–΄λ³΄λ©΄μ„œ 느꼈던 것은 아직 κΈ°λ³ΈκΈ°κ°€ μ•„μ£Ό 많이 많이 많이 λΆ€μ‘±ν•˜λ‹€λŠ” 것!
사싀 λ„ˆλ¬΄ λ‹Ήμ—°ν•œ κ±°λ‹€.. ν‰μ†Œμ—λ„ μƒκ°ν•˜κ³  μžˆμ—ˆλ˜ 뢀뢄이라 λ³Έ κ³Όμ • μ „κΉŒμ§€ μ°¨κ·Όμ°¨κ·Ό κΈ°λ³ΈκΈ°λ₯Ό μ€€λΉ„ν•΄μ•Όκ² λ‹€κ³  생각도 ν–ˆλ‹€.
또 ν•˜λ‚˜λŠ” μ΅œλŒ€ν•œ λ§Žμ€ μ—λŸ¬λ₯Ό λ§Œλ‚˜κ³  μ‹Άλ‹€λŠ” 것!
ν™•μ‹€νžˆ ν•œλ²ˆ μ—λŸ¬λ‘œ 고생을 ν•΄λ³΄λ‹ˆκΉ 였히렀 μ–»κ²Œ λ˜λŠ” 것도 많고 ꡬ글링을 ν•˜λ©΄μ„œ μ•Œκ²Œ λ˜λŠ” 지식듀도 있고 κ°€μž₯ μ€‘μš”ν•œ 건 ν•΄κ²°ν–ˆμ„ λ•Œμ˜ 희열감..??
μ—λŸ¬λ©”μ‹œμ§€λ₯Ό λ§Œλ‚˜λ©΄ 겁먹지 말고 μ°¨κ·Όμ°¨κ·Ό ν•΄κ²°ν•΄λ‚˜κ°€λŠ” νƒœλ„λ₯Ό κ°€μ Έμ•Όκ² λ‹€κ³  λ‹€μ‹œ 닀짐할 수 μžˆλŠ” κΈ°νšŒμ˜€λ‹€.

결둠은... μ›Ή 개발 μ’…ν•©λ°˜ λ‚˜μ€‘μ— 2νšŒλ… 더 ν•΄μ•Όκ² λ‹€ :)

profile
🏠 λΈ”λ‘œκ·Έ 이전 쀑 β†’ https://medium.com/@sebinndev

0개의 λŒ“κΈ€