본문 바로가기

프로젝트/프리해요(부트캠프 프로젝트)16

어떤 이미지 포맷을 써야할까? PNG vs SVG 이번 메인프로젝트에서 메인페이지, 헤더, 푸터 등등 UI 구성을 위해 이미지를 써야 하는 상황이 많았다. 팀장님의 추천대로 PNG로 이미지를 다운받아서 사용하고 있었는데, 멘토님께서는 SVG을 사용하는 것을 추천하셨다. 사실, 메인프로젝트 전 프리프로젝트에서는 모든 이미지를 SVG로 써 왔었고 장점 또한 대충은 알고 있었다. 이번 기회를 통해 웹개발에서 많이 쓰이는 PNG와 SVG을 조금 더 자세히 알아보고 장단점을 제대로 알아보고 넘어가고자 한다. (+JPG) 1. JPG : 개발에 관심이 없던 '일반인' 시절 가장 많이 사용하였던 이미지 포맷이다. 언제부터인지, 왜 그랬는지는 모르겠지만, 항상 JPG로 저장하고 사용하였었다. 사진과 같은 다양하게 연결되는 톤을 가진 이미지에 적합하다. 사이즈를 줄이기.. 2023. 7. 17.
async와 await 자바스크립트는 싱글 스레드 프로그래밍 언어이기 때문에 비동기 처리가 기본이다. 비동기 처리는 그 결과가 언제 반환될 지 명확하게 알 수 없기 때문에 동기식으로 처리하려면 동기적인 기법들을 사용하여야한다. 대표적인 동기식 처리방식 중에는 callback, promise 등이 있다. async와 await는 promise를 사용한 코드보다 훨씬 직관적이기 때문에, promise를 대신하여 사용한다. async와 await 사용법 사용법은 간단하다. function 앞에 async를 붙여주고, promise 객체 앞에 await를 붙여주면 된다. async function getApple() { await delay(); return "apple"; } async의 예외처리 방법 promise 객체를 사용하.. 2023. 7. 16.
HTML/CSS 네이밍 시에 Wrapper와 Container 차이 메인프로젝트를 진행하면서 팀원들의 코드를 리뷰하다보니, 나 포함 모든 팀원들이 container와 wrapper를 사용함에 있어서 큰 규칙없이 혼용해서 사용하고 있다는걸 문득 깨닫게 되었다. 대충 맞게 쓰고는 있지만, 명확한 기준은 없이 쓰는 느낌이 강했다. 정확한 사용법을 알고 싶어서 찾아보니 스택오버플로우에 토론 게시글이 있었다. https://stackoverflow.com/questions/4059163/css-language-speak-container-vs-wrapper CSS Language Speak: Container vs Wrapper? What's the difference between container and wrapper? And what is meant by each? stac.. 2023. 7. 13.
Header와 Footer의 position 속성 Header CSS의 postion 속성은 엘리먼트가 브라우저 화면에 어떻게 배치되는가를 결정한다. Header의 경우 모든 상황에서 항상 최상단에 위치하는 것이 일반적이므로, Header의 postion 속성은 fixed로 지정해주는 것이 일반적이다. postion: fixed; top: 0; width: 100%; 이렇게하면 Header는 완전히 독립되어 브라우저 화면(viewport) 상에서 항상 최상단에 위치하게 되며, 브라우저 화면을 스크롤했을 때도 영향을 받지 않기때문에 움직이지 않는다. 하지만, 처음이라면 생각하지 못할 요소가 있는데 그것은 바로 '완전히 독립'되어 있다는 점이다. Header 밑에 바로 body를 만들었을 경우 Header는 body와는 완전히 독립되어 있기때문에 body의.. 2023. 7. 12.
메인페이지 완성! CSS는 어렵다.... 정말 어렵다! 지금은 메인프로젝트 진행 중.... 어제 밤에는 멘토님과의 멘토링이 진행되어서 블로깅을 하지 못해서 오늘 적어본다. 메인프로젝트 직전, 프리프로젝트 때는 StackOverflow를 클론코딩하는 것이 주제였다. 짧았던 기간에 비해 꽤 높은 싱크로율의 UI가 나왔고 기능 구현도 많이 해내서 다른 팀들에 비해 완성도가 높았다. 그 때 당시에도 CSS 때문에 참 머리가 아팠는데, 그래도 많이 익숙해져서 도움이 많이 되었던 시간이었다. 그래서 이번 메인프로젝트 때는 CSS 부분은 금방 넘어갈 수 있겠지... 라고 생각했는데 그렇지가 않다. 개발을 하다보면 어떻게 매번 이렇게 새로운 문제들이 매일같이 생기는지 정말 신기할 정도다. 프리프로젝트때는 로그인 / 회원가입을 맡았는데 이번에는 우선 헤더와 푸터 그리고 메인.. 2023. 7. 11.
브랜치 관리를 어떻게 해야할까? 프리프로젝트 때 브랜치 관리의 중요성을 몸소 겪으면서 이번 메인프로젝트 때는 완벽하게 브랜치를 관리해보자고 다짐했었다. 그러나 막상 프로젝트를 진행해보니 이게 쉽지 않다. 계속해서 잘게 쪼갠 컴포넌트들에 수정해야 할 상황들이 생겼기 때문이다. 원격 브랜치는 Main - Dev - FE - BE 이런 식으로 관리하고 있어서 아직까지는 문제가 없다. 문제는 로컬 브랜치이다. 예를들어 내가 FE_Footer 브랜치와 FE_Header 브랜치를 만들었었고, Footer와 Header의 개발을 끝내서 MainPage 개발을 위해 FE_MainPage 브랜치를 만들어서 작업을 시작했다고 생각해보자. Footer와 Header는 개발이 끝난 상태였으니(끝났다고 생각했으니) 원격브랜치 FE에 Merge를 한 상황. F.. 2023. 7. 11.