html, css 수업을 열심히 듣고 있던 중에 두려운 단어를 듣게 되었으니,
강사님: "~까지 과제를 제출해주세요."
나: ?!
자유롭게 하는 방식이기는 하지만 과제라는 것은 매번 할 때마다 부담되는 것 같습니다... 첫 과제라서 더 그런것 같기도 하고요...
하지만, 중요한 것은 꺾이지 않는 마음이겠죠?
두려움이 있지만 마음을 다시 잡고 과제를 하면서 이 과정을 기록으로 남기면 나중에 저에게도 도움이 될 것 같아 작성해보려고 합니다.
실제로 코드를 작성하기 이전에 설계를 먼저하고 작성하는 습관이 되면 좋을 것 같아서 기술셋을 먼저 선정해보려고 합니다.
시퀀스 다이어그램과 같은 것은 이 과제와는 어울리지 않는다고 생각되기 때문에 이후 기회가 될 경우 학습해보면서 적용해보고자 합니다.
html, css 중심의 레이아웃 과제이다보니 여러가지 기술들에 대해 비교해보고 선택하는 것은 무의미할 수 있겠지만 제 나름대로 생각해본 결과는 아래와 같습니다.
css 전처리: SCSS
비교항목 | SASS | SCSS |
---|---|---|
가독성 | △ | ○ |
호환성 | X | ○ |
가독성
호환성
CSS 전처리기이기 때문에, CSS와의 호환성을 기준으로 비교해보겠습니다.
결론
CSS와 호환이 되는 SCSS를 사용하는 것이 좋을 것 같습니다.
번들러: Parcel
reference
https://velog.io/@subin1224/Parcel-vs-Rollup-vs-Webpack-%EB%B9%84%EA%B5%90
비교항목 | Parcel | Rollup | Webpack |
---|---|---|---|
환경설정(configuration) | zero-config | entry, output, loaders, plugins 등을 설정하는 구성파일이 필요, 파일변환을 위해서는@svgr/rollup과 같은 라이브러리가 필요함 | entry, output, loaders, plugins 등을 설정하는 구성파일이 필요, 파일변환을 위해서는 loader가 필요 |
devServer | devServer가 내장되있음 | rollup-plugin-serve 제공, live-reload가 필요한 경우 rollup-plugin-livereload 필요함 | webpack-dev-server 제공, live-reload 지원 |
환경설정
css-loader
, babel-loader
와 같은 loader
가 필요하고 관련 설정이 필요합니다.=> Parcel > Rollup > Webpack
devServer
=> Webpack > Parcel > Rollup
결론
배포: netlify
Vercel
Vercel은 주로 Nextjs로 만든 사이트를 배포할 때 여러 이점을 얻을 수 있다고 생각합니다.
Heroku
Heroku의 경우 예전에는 무료여서 간단한 프로젝트에 많이 사용하는 추세인 것 같았지만, 최근에 유료 정책으로 변환되어서 이용하고 싶다는 생각이 들지 않는것 같습니다(AWS기반이고 Heroku자체 이익도 있어야 되기 때문에 AWS를 이용하는 것보다 비용이 더 비싼것 같습니다)
Netlify
비용을 지불하지 않더라도 간편하고 빠르게 사이트를 배포할 수 있는 것 같습니다.
결론
현재 과제에서는 Vercel보다는 Netlify를 이용해 배포하는 것이 좋다고 생각합니다.
요약
Parcel을 사용해 SCSS를 컴파일하여 CSS를 생성하고, 다른 사람들이 확인 가능해야 되기 때문에 배포도 해야됩니다. 배포 사이트는 여러 사이트가 있지만, 레이아웃 위주의 클론코딩이기때문에 여러가지를 고려해야 될 필요가 없다고 생각이 됩니다. 그래서 배포는 netlify를 활용하여 진행해보려고 합니다.
생각이 나는 사이트는 네이버, 슬랙, bugs 등의 여러가지가 있었지만 ... 저는 카카오 프렌즈의 캐릭터를 좋아하기 때문에(제 블로그 이름이 devrun_ryan 이네요?) 카카오 공식 홈페이지의 랜딩페이지를 클론코딩 해보려고 합니다. 그리고 카카오 공식 홈페이지에서는 position: sticky
를 사용하는 것 같아서 관련한 css도 학습이 될 것 같습니다.
앞으로 진행하면서 내용을 더 남길 수 있도록 노력하겠습니다.