๐Ÿ’ป ๊ฐœ๋ฐœ ์ผ์ง€

[ manifest.json ] ์‚ฌ์šฉ์ž์˜ Tab ์ •๋ณด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ™”๋ฉด์„ ์ œ์–ดํ•˜๊ธฐ ๋•Œ๋ฌธ์—, permissions์„ ์ถ”๊ฐ€ /* manifest.json */ ... "permissions": [ "...", "tabs", "scripting" ], "host_permissions":[ /* ํŠน์ • URL์— script ์ฃผ์ž…์„ ์œ„ํ•œ ๊ถŒํ•œ */ "http://*/", "https://*/" ], ... [ Background JS ] ๋‹ค์–‘ํ•œ ๋ธŒ๋ผ์šฐ์ € event๋“ค์„ monitoringํ•˜์—ฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค ํƒญ URL ๋ณ€๊ฒฝ ๊ฐ์ง€ chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab)=>{ if(changeInfo.status === 'complete')..
Chrome Extension ๋งŒ๋“ค๊ธฐ - 1 ๐Ÿ’ก Chrome Storage๋ฅผ ํ™œ์šฉํ•œ Extension์˜ CRUD [ ํ™˜๊ฒฝ ] [FE] HTML / CSS [BE] Javascript / JQuery [DB] Chrome Storage Chrome Extension ( MV3 ) [ manifest.json ] Chrome Extension์˜ ๋ผˆ๋Œ€๊ฐ™์€ ์กด์žฌ์ธ manifest.json ์ž‘์„ฑ! manifest๋งŒ ์ž‘์„ฑํ•ด๋„ Chrome Extension์— ์˜ฌ๋ ค ์•ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. { "name": "Docong", "description": "Docong Extension", "version": "1.0", "manifest_version": 3", "action": { "default_popup": "pop..
[ ์ •์˜ ] ์ •์  ํƒ€์ž…์„ ์ด์šฉํ•ด์„œ SQL๋“ฑ์˜ ์ฟผ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ → ์ฟผ๋ฆฌ๋ฅผ ์ž๋ฐ”์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์คŒ Spring Data JPA๋กœ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•˜๋Š” ์ฟผ๋ฆฌ ํ•ด๊ฒฐ ๊ฐ€๋Šฅ ์ฝ”๋“œ๋กœ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•จ์œผ๋กœ์จ, ์ปดํŒŒ์ผ ์‹œ์ ์— ๋ฌธ๋ฒ• ์˜ค๋ฅ˜๋ฅผ ์‰ฝ๊ฒŒ ํ™•์ธ ๊ฒฐ๊ณผ์ ์œผ๋กœ, QueryDsl๋กœ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋Š” JPQL์ด ๋จ [ QueryDSL Config ์„ค์ • ] @Configuration public class QueryDslConfig { @Bean public JPAQueryFactory jpaQueryFactory(EntityManager em){ return new JPAQueryFactory(em); } } JPAQueryFactory๋นˆ์„ ๋“ฑ๋ก → QueryRepository์—์„œ ์‚ฌ์šฉ [ Query Reposit..
[ Controller ์ƒ์„ฑ ] ์š”์ฒญ์— ๋”ฐ๋ฅธ ์ ์ ˆํ•œ ์‘๋‹ต์„ ๋ณด๋ƒ„ @RequiredArgsConstructor ํ•„๋“œ ์ฃผ์ž…(@Autowired) ๋Œ€์‹  ์‚ฌ์šฉํ•˜๋Š” ์ƒ์„ฑ์ž ์ฃผ์ž…! ์ˆœํ™˜ ์ฐธ์กฐ ๋ฐฉ์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ ์šฉ์ด ๊ฐ์ฒด ๋ณ€์ด ๋ฐฉ์ง€ ( final ํ‚ค์›Œ๋“œ ์‚ฌ์šฉ ) More: https://zorba91.tistory.com/238 @RequestBody ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ „์†กํ•˜๋Š” Json ํ˜•ํƒœ์˜ HTTP Body ๋‚ด์šฉ์„ Java Object๋กœ ๋ณ€ํ™˜ ๋ฉ”์„ธ์ง€๋ฅผ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์—์„œ ๊ฐ์ฒด์˜ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•ด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ๋‚ด๋ถ€์ ์œผ๋กœ Reflection์„ ์‚ฌ์šฉํ•ด ๊ฐ’์„ ํ• ๋‹น → ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋Š” ํ•„์š”ํ•˜๊ณ  Setter๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์€ ์ด์œ ! @PathVariable URI ๊ฒฝ๋กœ์˜ ์ผ๋ถ€๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์‚ฌ์šฉํ•  ๋•Œ ์‚ฌ์šฉ @RequestP..
์ ์ด
'๐Ÿ’ป ๊ฐœ๋ฐœ ์ผ์ง€' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (7 Page)