java script6 [Chrome Extension] ๊ตฌ๊ธ ๋ฅ๋ค์ด๋ธ ํฌ๋กฌ ํ์ฅ ํ๋ก๊ทธ๋จ ์ ์๊ธฐ ๊ตฌ๊ธ ํฌ๋กฌ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ ์ํ์. ๋๋ ์ด๊ฑธ ์ ๋ง๋ค์์๊น?๊ตฌ๋ฆ ํ์คํ ๊ณผ์ 10๊ธฐ๋ฅผ ์ฐธ์ฌํ๋ฉด์ ๊ฐ์ ๋ฆฌ์คํธ ์ค ์ค๋ณต๋๋ ๊ฐ์ข๊ฐ ์์๋ค.์ค๋ณต๋๋ ๊ฐ์ข๋ฅผ ์๋ณํ๊ธฐ ์ํด์ ๋ง๋ค์ด๋ดค๋ค.ResultHow?์ฐ์ docs๋ฅผ ์ฐพ์๋ด์ผํ๋ค.https://developer.chrome.com/docs/extensions/get-started/tutorial/hello-world?hl=ko์ฌ๊ธฐ์ ์ ์ค๋ช ๋์ด์๋ค.์์ฝํด๋ณด์manifest.json ์ด๋ผ๋ ํ์ผ๊ณผbackground.js, ๊ทธ๋ฆฌ๊ณ ๋์์ ํ js๋ค์ด ํ์ํ๋ค. ์์ธํ ์ฝ๋๋ git์ ์์ฑํด๋์๋ค.์ด์ ๋ฆฌํฉํ ๋ง์ ํด๋ณด์.https://github.com/groom-study-team1-project/chrome-extension GitHub - groom-st.. 2024. 8. 7. [Vanila js] ์ต๊ทผ ๊ฒ์ ๊ตฌํํ๊ธฐ ResultViewexport default class HistoryListView extends KeywordListView { constructor() { super(qs("#history-list-view"), new Template()); } bindEvents() {} handleClickRemoveButton() {}} HistoryListView๋ฅผ ๋ณด๋ฉด KeywordListView ์ ๋งค์ฐ ์ ์ฌํ๋ค.์ถ์ฒ๊ฒ์๊ณผ ์ฐจ๋ณ์ ์ ์๊ฐํ๋ฉด, ๊ฒ์๊ธฐ๋ก์ ์ง์ฐ๋ ์์ ์ด ์ถ๊ฐ๋ก ์ํ๋๋๊น. ์๋ก์ด ์ด๋ฒคํธ๋ฅผ ๋ฐ์ธ๋ฉ ํด์ค๋ค.๋, KeywordListView๋ฅผ ์์๋ฐ์ผ๋ฏ๋ก KeywordListView์ ์์ฑ์์ ๊ตฌ์กฐ ๋ณ๊ฒฝ์ด ๋ฐ์ํ๋ค.Controllerexport defaul.. 2024. 8. 2. [Vanila js] ํญ ๊ตฌํํ๊ธฐ ResultViewexport default class TabView extends View { constructor() { super(qs('#tab-view')); this.template = new Template(); } show() {} bindEvents() {} } ์ ์ ํ์ด์ง์ tab-view id๋ฅผ ๊ฐ์ง ํ๊ทธ์ ์์ ์ ์ํํ๋ค.Result์ ๊ฐ์ด ํญ์ ๋ณด์ฌ์ค ๊ธฐ๋ฅ๊ณผ, ํญ์ ๋๋ฅด๋ ํ์๋ฅผ ํ๋ ๊ธฐ๋ฅ์ด ํ์Controllerexport default class Controller { constructor(store, {searchFormView, searchResultView, tabView}) { this.store.. 2024. 8. 1. [Vanila js] ๊ฒ์ ๊ฒฐ๊ณผ ๊ธฐ๋ฅ ๊ตฌํ Viewexport default class SearchResultView extends View { constructor() { super(qs("#search-result-view")); this.template = new Template(); } show(data = []) { if (data.length > 0) { this.element.innerHTML = this.template.getList(data); } else { this.element.innerHTML = this. template.getEmptyMessage(); } super.show(); }}.. 2024. 7. 31. [Vanila js] ๊ฒ์ ๊ธฐ๋ฅ ๊ตฌํํ๊ธฐ Branch - ready/search-form-1์์ ํฌ์คํ ์ ์์ ์ด ์ ๋๋ก ๋์๋ค๋ฉด main ๋ธ๋์น์์1. git checkout -b ready/search-form-12. ์ฝ๋ ์์ฑ3. git add .4. git commit -m "feat: ๋ด์ฉ"5. git push origin ready/search-form-1์ดํ PR ๋ ๋ฆฌ๊ณ Rebase Merge ํ๊ธฐ.git bash์์ ์ฝ๋๋ก ํ ์๋ ์์ง๋ง, ํ์ ์ค ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ํ๋ ๊ณผ์ ์ด ์์.๊ทธ๋์ ์ง์ github ์ฌ์ดํธ์์ Mergeํ๋ ๊ฒ์ ์ต์ํด์ง๊ธฐ ์์ผ๋ก ๋ชจ๋ ์์ ์ ์ ๊ณผ์ ์ ๋ฐ๋ณตํด์ branch๋ฅผ ์ ๋ฐ์ดํธ ํ ์์ // index.html // main.jsdocument.addEventListener("DOMContentL.. 2024. 7. 31. [Vanila.js] ์ฌ์ ์ฝ๋ ์ดํดํ๊ธฐ ๊ฐ์ฌ๋์ด ๋ฏธ๋ฆฌ ๊ตฌํํด ๋ ์๋น์ค branch : ready/scaffodingIn Memory DB์ถ์ฒ ๊ฒ์์ด, ๊ฒ์ ๊ธฐ๋ก, ์ํ ๋ฐ์ดํฐUtility์๊ฐ๊ด๋ จ UtilDOM Event๋ฅผ ํ์ฉํ Util๊ธฐ๋ณธ์ ์ผ๋ก JS์์ ์ ๊ณตํ๋ ๊ธฐ์ ๋ค์ ๋ชจ๋ํํ๋ค๊ณ ๋ณด์ธ๋ค.Model์ดํ์ ๋น์ฆ๋์ค ๋ก์ง ๋ฐ ์ค์ ๋ก์ง์ด ๋ด๊ธธ ๊ฒ์ผ๋ก ๋ณด์.View์ ์ ํ์ด์ง ์ ๋ณด๋ฅผ ๋ ๋๋ง(์์ )ํ๋ ํ์ด์งUtility๋ฅผ ํ์ฉํด ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ์ด ์ ๊ณต๋๋ค.ControllerView์ ์์ฑ๋ ๋ด์ฉ์ ์ ์ดModel์ ๋น์ฆ๋์ค ๋ก์ง์ ํ์ฉํ๊ฑฐ๋ ๋ฐ๋ก ์๋น์ค ๋ก์ง์ ์์ฑํ ๋ฏ 2024. 7. 31. ์ด์ 1 ๋ค์