성완님이 토글 버튼 만드는 과정을 함께 생각해 보았다.
토글 버튼을 만들 때, 미디어 쿼리를 이용해서 max=768px 이하일 때 버튼의 display 속성을 주고, 이벤트 리스너로 메뉴를 토글 하는 함수를 등록했다.
사이즈를 줄인 상태에서 토글 버튼을 눌러 메뉴를 사라지게 만들고 (이벤트 리스너로 display=none
적용) 나서 다시 사이즈를 늘리면 버튼이 나타나지 않았다. (적용된 display 속성이 돌아오지 않음)
window.onresize()
함수로 윈도우 inner width가 768 이상일 때, 메뉴의 display를 적용했다.
window.onresize()
함수는 말그대로 창을 조절할 때마다 이벤트가 발생하기 때문에 성능에 좋지 않다.
대신 active 클래스를 만들어서 미디어 쿼리 내 클래스로 적용하는 방법을 사용해볼 수 있다.
드림코딩 영상
처음에 서버 없이 정적인 웹사이트를 만들어서, html 파일끼리 a 태그에 상대경로를 링크해서 이동하게 했다.
서버 적용을 위해 Flask를 실행하면, 상대경로로 이동한 html 파일에서 Not Found 오류가 발생한다.
원인은 Flask 상에서는 @app.route()
라우팅으로 지정해준 페이지로 이동하게 된다는 것..!
Flask @app.route()
로 라우팅 경로와 함수를 지정해서 html 파일을 렌더링 해주어야 한다.
일단 모든 정적 페이지 라우팅을 설정해야 한다. - ⭐️Flask 라우팅 참고 Link⭐️
@app.route('/tmi')
def tmi():
return render_template('tmi.html')
Flask 서버를 실행하면 왜 상대경로 이동이 안되는지 알아볼 것. Flask 경로 구조는 어떻게 되어 있나?
-> 근데 이걸 당장 알 필요가 있을까? 나중에 알아보자~!
GitHub 상에서 공동작업을 하기 위해 팀원들에게 권한을 부여했다.
각자 branch를 생성하고, 작업을 한 뒤 commit - push - Pull Request
단계를 거쳐 Merge 했다.
pull - push 사이에 다른 사람이 push한 이력이 있어 내 로컬 저장소에 최신 파일이 반영되지 않은 경우, conflict가 발생해 merge가 되지 않았다. 일단 코드 상에서 충돌 부분을 직접 확인해서 제거해주니 해결 되었다. - Link
conflict가 발생하지 않더라도, 최신 commit 이력이 반영되어 있지 않은 branch를 merge하면 main 파일이 과거로 돌아가는 현상?이 발생했다.
이번 프로젝트에서는 git을 사용해보았다는 것에 의의를 두고, 다음 프로젝트 전까지 git 강의를 들어 git 협업에 익숙해져야겠다. 그때그때 부딪히다 보면 깨닫게 되리라...
VSC 상에서 Python 가상환경을 설정했다. - Link
IntelliJ 기능은 좋지만 너무 무거워서, 가벼운 VSC로 갈아타기 위해 Python 가상환경을 설정해 보았다. 간단하게 터미널 명령어 python -m venv venv
로 설정했는데, IntelliJ 메뉴보다 그냥 터미널 명령어를 사용하는 방법이 훨씬 더 편한 것 같다. 당연히 IntelliJ와 차이점은 없다.
터미널 명령어에 익숙해지자.
IntelliJ는 디버깅 하기에 좋아서 많이 쓴다는데, 난 아직 디버깅 할 것도 없다.
어서 빨리 IntelliJ의 (무겁지만) 강력한 기능들이 필요할 정도로? 코딩을 할 수 있게 되면 좋겠다.
근데 프로젝트 좀 재밌는 것 같다. 우당탕탕이긴 하지만 하나씩 되어 가는게 뿌듯하다.
개발자가 천직인 사람이 있다던데 나도 그랬으면..!개발 영역에서는 팀 프로젝트도 처음이고, 팀장도 처음이라 소통이 조심스럽다.
도움이 되는 팀원이 되고 싶다. (내 안의 극강 T 성향을 조금 잠재워보자 😊)
👇 css 적용 전이라 뜬금없는 토글버튼과 함께 마무리