๐Ÿ“์ž๊ฒฉ์ฆ ๊ณต๋ถ€

    [Linux] ๋ฆฌ๋ˆ…์Šค ์‹ค์Šต - ์„ค์น˜

    [Linux] ๋ฆฌ๋ˆ…์Šค ์‹ค์Šต - ์„ค์น˜

    ํ•„์š”ํ•œ ํ”„๋กœ๊ทธ๋žจ๊ณผ ํŒŒ์ผ ๋‹ค์šด - VMware (๊ฐ€์ƒ๋จธ์‹ )์— ๋ฆฌ๋ˆ…์Šค ์ข…๋ฅ˜์ค‘ CentOS๋ฅผ ์„ค์น˜ํ•˜๊ธฐ VMware Workstation16 Player ๋‹ค์šด https://www.vmware.com/kr/products/workstation-player/workstation-player-evaluation.html Download VMware Workstation Player | VMware Download VMware Workstation Player for free today to run a single virtual machine on a Windows or Linux PC, and experience the multi-functional capabilities. www.vmware.com CentOS ..

    [Linux] ๋ฆฌ๋ˆ…์Šค์ผ๋ฐ˜ - ๋ฆฌ๋ˆ…์Šค์˜ ์ดํ•ด

    ๋ฆฌ๋ˆ…์Šค์˜ ๊ฐœ์š” - ํŠน์ง• ์˜คํ”ˆ์†Œ์Šค ์šด์˜์ฒด์ œ์ด๋‹ค. ๋ฉ€ํ‹ฐ์œ ์ €, ๋ฉ€ํ‹ฐํƒœ์Šคํ‚น ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ์ง€์› ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ ์ง€์› (ext2, ext3, ext4, FAT, SMB ๋“ฑ) ์œ ๋‹‰์Šค์™€ ์™„๋ฒฝํ•˜๊ฒŒ ํ˜ธํ™˜ ๊ฐ€๋Šฅ POSIX(์œ ๋‹‰์Šค ๊ธฐ๋ฐ˜ ํ‘œ์ค€ ์šด์˜์ฒด์ œ ์ธํ„ฐํŽ˜์ด์Šค) ๊ทœ๊ฒฉ PC์šฉ ์šด์˜์ฒด์ œ๋ณด๋‹ค ์•ˆ์ •์  (๋„คํŠธ์›Œํฌ ์‚ฌ์šฉ์„ ์ „์ œ๋กœ ์„ค๊ณ„๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•ญ์ƒ ์ผœ๋†“์•„๋„ ์•ˆ์ •์ ์ด๋‹ค.) ์ ์€ ์–‘์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ (SWAP ๋ฐฉ์‹) - ๋””๋ ‰ํ„ฐ๋ฆฌ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ €์žฅ ๋‚ด์šฉ / ์ตœ์ƒ์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ, ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ /boot ๋ถ€ํŒ… ์‹œ ์ปค๋„ ์ด๋ฏธ์ง€์™€ ๋ถ€ํŒ… ์ •๋ณด ํŒŒ์ผ ์ €์žฅ /proc ์ปค๋„ ๊ธฐ๋Šฅ ์ œ์–ด, ํ˜„์žฌ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค์™€ ์‹ค์ œ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์žฅ์น˜, ํ•˜๋“œ์›จ์–ด ์ •๋ณด ์ €์žฅ /lib ์ปค๋„ ๋ชจ๋“ˆ ํŒŒ์ผ๊ณผ ๋™์  ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ €์žฅ /bin ๊ธฐ๋ณธ์ ์ธ ๋ช…๋ น์–ด ์ €์žฅ /dev ์žฅ์น˜..

    [SQLD] SQL ํ™œ์šฉ

    ํ‘œ์ค€ JOIN - ์ผ๋ฐ˜ ์ง‘ํ•ฉ ์—ฐ์‚ฐ์ž UNION : ํ•ฉ์ง‘ํ•ฉ (๊ณตํ†ต ๊ต์ง‘ํ•ฉ์˜ ์ค‘๋ณต ์ œ๊ฑฐ) / UNION ALL (๊ณตํ†ต์ง‘ํ•ฉ์„ ์ค‘๋ณตํ•ด์„œ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ) => ๋‘˜์˜ ์ถœ๋ ฅ ๊ฒฐ๊ณผ๊ฐ€ ๊ฐ™๋‹ค๋ฉด UNION ALL ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ๊ณ  INTERSECTION : ๊ต์ง‘ํ•ฉ => INTERSECT DIFFERENCE : ์ฐจ์ง‘ํ•ฉ => Oracle์€ MINUS / SQL์€ EXCEPT PRODUCT : ๊ณฑ์ง‘ํ•ฉ(์ƒ๊ธธ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์กฐํ•ฉ) => CROSS JOIN - ์ˆœ์ˆ˜ ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž SELECT ์—ฐ์‚ฐ์€ WHERE ์ ˆ๋กœ ๊ตฌํ˜„๋˜์—ˆ๋‹ค. PROJECT ์—ฐ์‚ฐ์€ SELECT ์ ˆ๋กœ ๊ตฌํ˜„๋˜์—ˆ๋‹ค. JOIN ์—ฐ์‚ฐ์€ NATUORAL JOIN, INNER JOIN, OUTER JOIN, USING ์กฐ๊ฑด์ ˆ, ON ์กฐ๊ฑด์ ˆ DIVIDE ์—ฐ์‚ฐ์€ ํ˜„์žฌ ์‚ฌ์šฉ๋˜์ง€ ์•Š..

    [SQLD] SQL ๊ธฐ๋ณธ - ์กฐ์ธ JOIN

    - ๋‘๊ฐœ ์ด์ƒ์˜ ํ…Œ์ด๋ธ” ๋“ค์„ ์—ฐ๊ฒฐ ๋˜๋Š” ๊ฒฐํ•ฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ EQUI JOIN - ๋‘ ๊ฐœ์˜ ํ…Œ์ด๋ธ” ๊ฐ„์— ์นผ๋Ÿผ ๊ฐ’๋“ค์ด ์„œ๋กœ ์ •ํ™•ํ•˜๊ฒŒ ์ผ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉ SELECT ํ…Œ์ด๋ธ”1.์นผ๋Ÿผ๋ช…, ํ…Œ์ด๋ธ”2.์นผ๋Ÿผ๋ช… FROM ํ…Œ์ด๋ธ”1 INNER JOIN ํ…Œ์ด๋ธ”2 ON ํ…Œ์ด๋ธ”1.์นผ๋Ÿผ๋ช…1 = ํ…Œ์ด๋ธ”2.์นผ๋Ÿผ๋ช…2; NON EQUI JOIN - ๋‘ ๊ฐœ์˜ ํ…Œ์ด๋ธ” ๊ฐ„์— ์นผ๋Ÿผ ๊ฐ’๋“ค์ด ์„œ๋กœ ์ •ํ™•ํ•˜๊ฒŒ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉ - "="๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ(BETWEEN, >, =,

    [SQLD] SQL ๊ธฐ๋ณธ - ํ•จ์ˆ˜, GROUP BY, HAVING, ORDER BY

    ํ•จ์ˆ˜ - ๋‚ด์žฅํ˜• ํ•จ์ˆ˜ : ๋ฌธ์žํ˜• ํ•จ์ˆ˜, ์ˆซ์žํ˜• ํ•จ์ˆ˜, ๋‚ ์งœํ˜• ํ•จ์ˆ˜, ๋ณ€ํ™˜ํ˜• ํ•จ์ˆ˜ , NULL ๊ด€๋ จ ํ•จ์ˆ˜ - ๋ฌธ์žํ˜• ํ•จ์ˆ˜ ๋ฌธ์žํ˜• ํ•จ์ˆ˜ ํ•จ์ˆ˜ ์„ค๋ช… LOWER(๋ฌธ์ž์—ด) ๋ฌธ์ž์—ด์„ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ ๋ณ€๊ฒฝ UPPER(๋ฌธ์ž์—ด) ๋ฌธ์ž์—ด์„ ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€๊ฒฝ ASCII(๋ฌธ์ž) ๋ฌธ์ž๋ฅผ ASCII ์ฝ”๋“œ ๋ฒˆํ˜ธ๋กœ ๋ณ€๊ฒฝ CHR/CHAR(ASCII๋ฒˆํ˜ธ) ASCII ์ฝ”๋“œ ๋ฒˆํ˜ธ๋ฅผ ๋ฌธ์ž๋‚˜ ์ˆซ์ž๋กœ ๋ณ€๊ฒฝ CONCAT(๋ฌธ์ž์—ด1, ๋ฌธ์ž์—ด2) ๋ฌธ์ž์—ด1๊ณผ ๋ฌธ์ž์—ด2๋ฅผ ์—ฐ๊ฒฐํ•œ๋‹ค => Oracle์€ || / SQL์€ + SUBSTR/SUBSTRING(๋ฌธ์ž์—ด, m, n) ๋ฌธ์ž์—ด์„ m์œ„์น˜์—์„œ n๊ฐœ์˜ ๋ฌธ์ž๋งŒ ์ถœ๋ ฅ => n์—†์œผ๋ฉด ๋๊นŒ์ง€ LENGTH/LEN(๋ฌธ์ž์—ด) ๋ฌธ์ž์—ด์˜ ๊ฐœ์ˆ˜๋ฅผ ์ˆซ์ž๊ฐ’์œผ๋กœ ์ถœ๋ ฅ LTRIM(๋ฌธ์ž์—ด, ์ง€์ •๋ฌธ์ž) ๋ฌธ์ž์—ด์˜ ์ฒซ ๋ฌธ์ž๋ถ€ํ„ฐ '์ง€์ •๋ฌธ์ž'..

    [SQLD] SQL ๊ธฐ๋ณธ

    ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ์š”- DB : ๋ฐ์ดํ„ฐ๋ฅผ ์ผ์ •ํ•œ ํ˜•ํƒœ๋กœ ์ €์žฅํ•ด ๋†“์€ ๊ฒƒ => DBMS(DataBase Management System) ์ด์šฉ - ๊ด€๊ณ„ํ˜• DB์ •๊ทœํ™”๋ฅผ ํ†ตํ•ด ์ด์ƒํ˜„์ƒ ๋ฐ ์ค‘๋ณต๋ฐ์ดํ„ฐ ์ œ๊ฑฐ๋™์‹œ์„ฑ ๊ด€๋ฆฌ์™€ ๋ณ‘ํ–‰์ œ์–ด๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ๋™์‹œ ์กฐ์ž‘ ๊ฐ€๋Šฅ - SQL : ๊ด€๊ณ„ํ˜• DB์—์„œ ๋ฐ์ดํ„ฐ ์ •์˜ใ†์กฐ์ž‘ใ†์ œ์–ด๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ ํ•˜๋Š” ์–ธ์–ดDML (Data Manipulation Language, ๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ด) : INSERT, SELECT, UPDATE, DELETE =>ISUDDDL (Data Definition Language, ๋ฐ์ดํ„ฐ ์ •์˜์–ด) : CREATE, ALTER, RENAME, DROP => CARDDCL (Data Control Language, ๋ฐ์ดํ„ฐ ์ œ์–ด์–ด) : GRANT(๊ถŒํ•œ๋ถ€์—ฌ), R..

    [SQLD] ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๊ณผ ์„ฑ๋Šฅ

    ์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ๊ฐœ์š” - ์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง : DB ์„ฑ๋Šฅํ–ฅ์ƒ์„ ์œ„ํ•œ ์‚ฌํ•ญ๋“ค์ด ๋ชจ๋ธ๋ง์— ๋ฐฉ์˜๋˜๋„๋ก ํ•˜๋Š” ๊ฒƒ - ์ˆ˜ํ–‰ ์‹œ์  : ๋ถ„์„/์„ค๊ณ„ ๋‹จ๊ณ„ (๋Šฆ๊ฒŒ ํ• ์ˆ˜๋ก ๋น„์šฉ ์ฆ๊ฐ€) - ๊ณ ๋ ค ์‚ฌํ•ญ ์ •๊ทœํ™”๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์ˆ˜ํ–‰ DB ์šฉ๋Ÿ‰ ์‚ฐ์ • DB์— ๋ฐœ์ƒ๋˜๋Š” ํŠธ๋žœ์žญ์…˜ ์œ ํ˜• ํŒŒ์•… ์šฉ๋Ÿ‰๊ณผ ํŠธ๋žœ์žญ์…˜์˜ ์œ ํ˜•์— ๋”ฐ๋ผ ๋ฐ˜์ •๊ทœํ™” ์ˆ˜ํ–‰ ์ด๋ ฅ๋ชจ๋ธ์˜ ์กฐ์ •, PK/FK์กฐ์ •, ์Šˆํผํƒ€์ž…/์„œ๋ธŒํƒ€์ž… ์กฐ์ • ์„ฑ๋Šฅ๊ด€์ ์—์„œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ๊ฒ€์ฆ - DB์—์„œ์˜ ์„ฑ๋Šฅ ์กฐํšŒ ์ž…๋ ฅ / ์ˆ˜์ • / ์‚ญ์ œ ์ •๊ทœํ™”์™€ ์„ฑ๋Šฅ - ์ •๊ทœํ™” : ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต์†์„ฑ์„ ์ œ๊ฑฐํ•˜๊ณ  ๊ฒฐ์ •์ž์— ์˜ํ•ด ๋™์ผํ•œ ์˜๋ฏธ(ํ•จ์ˆ˜์  ์ข…์†์„ฑ)์˜ ์ผ๋ฐ˜์†์„ฑ์„ ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”๋กœ ์ง‘์•ฝ์‹œํ‚ค๋Š” ๊ฒƒ (ํ•œ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ ์šฉ๋Ÿ‰์ด ์ตœ์†Œํ™”) 1์ฐจ ์ •๊ทœํ™” : ์ค‘๋ณต ์†์„ฑ์— ๋Œ€ํ•œ ๋ถ„๋ฆฌ (๋กœ์šฐ๋‹จ์œ„, ์นผ๋Ÿผ๋‹จ์œ„) 2์ฐจ ์ •๊ทœํ™” : ๋ถ€๋ถ„ ํ•จ์ˆ˜ ..

    [SQLD] ์—”ํ„ฐํ‹ฐ, ์†์„ฑ, ๊ด€๊ณ„, ์‹๋ณ„์ž

    [SQLD] ์—”ํ„ฐํ‹ฐ, ์†์„ฑ, ๊ด€๊ณ„, ์‹๋ณ„์ž

    ์—”ํ„ฐํ‹ฐ - ์—…๋ฌด์—์„œ ๊ด€๋ฆฌํ•ด์•ผ ํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ, ์ธ์Šคํ„ด์Šค์˜ ์ง‘ํ•ฉ - ํŠน์ง• ์—…๋ฌด์—์„œ ํ•„์š”๋กœ ํ•˜๋Š” ์ •๋ณด์—ฌ์•ผ ํ•œ๋‹ค. ์œ ์ผํ•œ ์‹๋ณ„์ž 2๊ฐœ ์ด์ƒ์˜ ์ธ์Šคํ„ด์Šค์˜ ์ง‘ํ•ฉ ์—…๋ฌด ํ”„๋กœ์„ธ์Šค์— ์˜ํ•ด ์ด์šฉ๋˜์–ด์•ผ ํ•จ 2๊ฐœ ์ด์ƒ์˜ ์†์„ฑ์„ ๊ฐ€์ง (๋ฐ˜๋“œ์‹œ ์†์„ฑ์ด ์žˆ์–ด์•ผ ํ•จ) ์ตœ์†Œ 1๊ฐœ ์ด์ƒ์˜ ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง - ERD / ์˜ˆ - ๋ถ„๋ฅ˜ ์œ ํ˜• ์—”ํ„ฐํ‹ฐ : ๋ฌผ๋ฆฌ์ ์ธ ํ˜•ํƒœO, ์ง€์†์ ์œผ๋กœ ํ™œ์šฉ ex) ์‚ฌ์›, ๋ฌผํ’ˆ ๊ฐœ๋… ์—”ํ„ฐํ‹ฐ : ๋ฌผ๋ฆฌ์ ์ธ ํ˜•ํƒœX ex) ์กฐ์ง, ์žฅ์†Œ ์‚ฌ๊ฑด ์—”ํ„ฐํ‹ฐ : ์—…๋ฌด๋ฅผ ์ˆ˜ํ–‰ํ•จ์— ๋”ฐ๋ผ ๋ฐœ์ƒ ex)์ฃผ๋ฌธ, ์ฐฝ๊ตฌ ๊ธฐ๋ณธ ์—”ํ„ฐํ‹ฐ : ์—…๋ฌด์— ์›๋ž˜ ์กด์žฌํ•˜๋Š” ์ •๋ณด, ๋…๋ฆฝ์ ์œผ๋กœ ์ƒ์„ฑ ๊ฐ€๋Šฅ ex)์‚ฌ์›, ๋ถ€์„œ, ์ƒํ’ˆ ์ค‘์‹ฌ ์—”ํ„ฐํ‹ฐ : ๊ธฐ๋ณธ์—”ํ„ฐํ‹ฐ๋กœ๋ถ€ํ„ฐ ๋ฐœ์ƒ, ํ–‰์œ„ ์—”ํ„ฐํ‹ฐ๋ฅผ ์ƒ์„ฑ ex) ๊ณ„์•ฝ, ์ฃผ๋ฌธ ํ–‰์œ„ ํ…ํ„ฐํ‹ฐ : ๋‘๊ฐœ ์ด์ƒ์˜ ๋ถ€๋ชจ ์—”ํ„ฐํ‹ฐ๋กœ๋ถ€ํ„ฐ ๋ฐœ์ƒ, ์ž์ฃผ..

    [SQLD] ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ์ดํ•ด

    [SQLD] ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ์ดํ•ด

    ๋ชจ๋ธ๋ง - ํ˜„์‹ค์„ธ๊ณ„๋ฅผ ํ‘œ๊ธฐ๋ฒ•์— ์˜ํ•ด ํ‘œ๊ธฐํ•˜๋Š” ๊ฒƒ - ํŠน์ง• ์ถ”์ƒํ™” : ์ผ์ •ํ•œ ํ˜•์‹์— ๋งž์ถฐ ํ‘œํ˜„ํ•จ ๋‹จ์ˆœํ™” : ์ œํ•œ๋œ ํ‘œ๊ธฐ๋ฒ•์ด๋‚˜ ์–ธ์–ด๋กœ ์‰ฝ๊ฒŒ ํ‘œํ˜„ํ•จ ๋ช…ํ™•์„ฑ : ์• ๋งค๋ชจํ˜ธํ•จ ์ œ๊ฑฐ, ์ •ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„ํ•จ - ๊ด€์  ๋ฐ์ดํ„ฐ ๊ด€์  : ์—…๋ฌด๊ฐ€ ์–ด๋–ค ๋ฐ์ดํ„ฐ์™€ ๊ด€๋ จ์ด ์žˆ๋Š”์ง€, ๊ด€๊ณ„๊ฐ€ ๋ฌด์—‡์ธ์ง€์— ๋Œ€ํ•ด ๋ชจ๋ธ๋งํ•˜๋Š” ๋ฐฉ๋ฒ• ํ”„๋กœ์„ธ์Šค ๊ด€์  : ์—…๋ฌด๊ฐ€ ์‹ค์ œ ํ•˜๊ณ  ์žˆ๋Š” ์ผ์€ ๋ฌด์—‡์ด๊ณ , ๋ฌด์—‡์„ ํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋ชจ๋ธ๋งํ•˜๋Š” ๋ฐฉ๋ฒ• ์ƒ๊ด€ ๊ด€์  : ์—…๋ฌด๊ฐ€ ์ฒ˜๋ฆฌํ•˜๋Š” ์ผ์˜ ๋ฐฉ๋ฒ•์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋Š” ์–ด๋–ป๊ฒŒ ์˜ํ–ฅ์„ ๋ฐ›๊ณ  ์žˆ๋Š”์ง€ ๋ชจ๋ธ๋งํ•˜๋Š” ๋ฐฉ๋ฒ• ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง -์ •๋ณด์‹œ์Šคํ…œ ๊ตฌ์ถ•์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ๊ด€์ ์˜ ์—…๋ฌด๋ถ„์„ ๊ธฐ๋ฒ• (DB๊ตฌ์ถ•์„ ์œ„ํ•œ ๋ถ„์„/์„ค๊ณ„ ๊ณผ์ •) - ๋ชฉ์  ์—…๋ฌด ์ •๋ณด์— ๋Œ€ํ•œ ํ‘œ๊ธฐ๋ฒ•์„ ํ†ต์ผํ•˜์—ฌ ์—…๋ฌด ๋‚ด์šฉ ๋ถ„์„ ์ •ํ™•๋„ ์ฆ๋Œ€ ๋ถ„์„๋œ ๋ชจ๋ธ๋กœ DB๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๊ฐœ๋ฐœ ๋ฐ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ..

    [Linux] ํŒŒ์ผ๋ฐ ํด๋” ๊ถŒํ•œ ๋ณ€๊ฒฝ

    [Linux] ํŒŒ์ผ๋ฐ ํด๋” ๊ถŒํ•œ ๋ณ€๊ฒฝ

    print('hello') ์ ‘๊ทผ๊ฐ€๋Šฅ์ž ๋ณ€๊ฒฝ chown -R www-data storag chown -R $USER:www-data storage chown -R www-data:www-data storage ์ ‘๊ทผ๊ฐ€๋Šฅ๋ฒ”์œ„ ๋ณ€๊ฒฝ chmod -R 775 storage