728x90 ๐ฅ๏ธ135 [Linux] ์ฐ๋ถํฌ Tomcat ์ค์น + ๊ฐ์ํธ์คํ ์ค์ 1. ์ ์ฅ์ ์ ๋ฐ์ดํธํ๊ธฐ ์๋ก์ด ํ๋ก๊ทธ๋จ์ ๊น๊ธฐ ์ ์ $sudo apt update && apt upgrade ๋ก ํญ์ ์ ์ฅ์๋ฅผ ์ ๋ฐ์ดํธ ๋ฐ ์ ๊ทธ๋ ์ด๋๋ฅผ ํ๋ ์ต๊ด์ ๋ค์ด์. 2. Apache Tomcat ์ค์นํ๊ธฐ $sudo apt install tomcat9 tomcat์ ๊ตฌ์ฑ ํ์ผ๋ค์ ๋ค์๊ณผ ๊ฐ๋ค. /etc/tomcat9 --> ํ๊ฒฝ ์ค์ ๋๋ ํ ๋ฆฌ /var/lib/tomcat9/webapps --> ๋ฌธ์ ๋๋ ํ ๋ฆฌ /var/log/tomcat9 --> ๋ก๊ทธ ํ์ผ ๋๋ ํ ๋ฆฌ /usr/share/tomcat9/lib --> ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋๋ ํ ๋ฆฌ /usr/share/tomcat9/bin --> ์คํํ์ผ ๋๋ ํ ๋ฆฌ $sudo /usr/share/tomcat9/bin/version.sh --> ๋ฒ์ ํ์ธ 3. man.. 2023. 3. 31. [Linux] ์ฐ๋ถํฌ Apache ์ค์น 1. ์ ์ฅ์ ์ ๋ฐ์ดํธํ๊ธฐ ์๋ก์ด ํ๋ก๊ทธ๋จ์ ๊น๊ธฐ ์ ์ $sudo apt update && apt upgrade ๋ก ํญ์ ์ ์ฅ์๋ฅผ ์ ๋ฐ์ดํธ ๋ฐ ์ ๊ทธ๋ ์ด๋๋ฅผ ํ๋ ์ต๊ด์ ๋ค์ด์. 2. Apache Webserver ์ค์นํ๊ธฐ $sudo apt -y install apache2 ๋ก Apache๋ฅผ ์ค์นํด์ค๋ค. Apache Webserver์ ๊ตฌ์ฑํ์ผ๋ค์ ๋ค์๊ณผ ๊ฐ๋ค. /etc/apache2 --> ํ๊ฒฝ ์ค์ ํ์ผ๋ค์ด ์๋ ๋๋ ํ ๋ฆฌ /var/www --> ๋ฌธ์๋ค์ด ์๋ ๋๋ ํ ๋ฆฌ /var/log/apache2 --> ๋ก๊ทธ ํ์ผ๋ค์ด ์๋ ๋๋ ํ ๋ฆฌ /usr/sbin/apache2 --> ์คํ ํ์ผ $apache2 -version --> ๋ฒ์ ํ์ธ 3. ๋ฌธ์ ์์น ๋ณ๊ฒฝํ๊ธฐ $sudo vi /etc/apache2/sites.. 2023. 3. 31. [Linux] ์ฐ๋ถํฌ์ ์๋ฐ ์ค์นํ๊ธฐ 1. ์ ์ฅ์ ์ ๋ฐ์ดํธํ๊ธฐ ์๋ก์ด ํ๋ก๊ทธ๋จ์ ๊น๊ธฐ ์ ์ $sudo apt update && apt upgrade ๋ก ํญ์ ์ ์ฅ์๋ฅผ ์ ๋ฐ์ดํธ ๋ฐ ์ ๊ทธ๋ ์ด๋๋ฅผ ํ๋ ์ต๊ด์ ๋ค์ด์. 2. ์๋ฐ Open JDK 17๋ฒ์ ์ค์นํ๊ธฐ $sudo apt –y install openjdk-17-jdk ๋ก ์๋ฐ Open JDK 17 ๋ฒ์ ์ ์ค์น๋ฅผ ํ๋ค. ์ค์น๊ฐ ๋๋๋ฉด, ์ค์น๊ฐ ์ ๋๋ก ๋์๋์ง ํ์ธ์ ํด๋ณด์. $java –version ์ ์๋ฐ ๊ฐ์๋จธ์ ์ค์น ๋ฒ์ ์ ํ์ธํ ์ ์๊ณ , $javac –version ์ ์๋ฐ ์ปดํ์ผ๋ฌ ์ค์น ๋ฒ์ ์ ํ์ธํ ์ ์๋ค. ๊ทธ๋ผ ์๋ฐ๊ฐ ์ด๋์ ์ค์น๋ ๊ฒ์ผ๊น? ์๋ฐ ์คํํ์ผ์ด ์ค์น๋ ์์น๋ฅผ ์ฐพ๊ธฐ ์ํด $which java ๋ฅผ ์ณ๋ณด๋ฉด /usr/bin/java ๋ผ๋ ๊ฒฝ๋ก๊ฐ ๋์จ๋ค. ํ์ง๋ง ์ด ๊ฒฝ.. 2023. 3. 30. [Linux] ์ฐ๋ถํฌ ์ค์นํ๊ณ ํด์ผ ํ ๊ธฐ๋ณธ ์ค์ ๋ค ์ฒ์์ ์ฐ๋ถํฌ๋ผ๋ ๊ฑธ ๋ฃ๊ณ ์ ์ผ ๋จผ์ ๊ถ๊ธํ๋ ๊ฑด ๋ป์ด์๋ค. ์์ด๋ ์๋ ๊ฒ ๊ฐ๊ณ ์ด๋ฆ๋ ์๋ ๊ฒ ๊ฐ๊ณ .. ์ฐ๋ถํฌ(ubuntu)๋ '๋จ์ํ๋ฆฌ์นด ๋ฐํฌ์ด๋ก '๋ค๊ฐ ์์ผ๋ ๋ด๊ฐ ์๋ค'๋ผ๋ ์ค๋ฆฌ ์ฌ์์ ์ผ์ปซ๋ ๋ง๋ก ๊ณต๋์ฒด ์ ์ , ์ธ๋ฅ์ ๋ฅผ ๋ปํ๋ ๋จ์ด๋ผ๊ณ ํ๋ค. ์ค์ ๋ก ์ฐ๋ถํฌ ๋ฆฌ๋ ์ค๋ฅผ ๋ฐฐํฌํ๋ ์ฐ๋ถํฌ ์ฌ๋จ์ ๋จ์ํ๋ฆฌ์นด ์ฌ๋์ด ์ค๋ฆฝํ์๊ณ , ์ฐ๋ถํฌ ์ ์ ์ ๋ฐ์ ์ฐ๋ถํฌ ๋ฆฌ๋ ์ค๋ฅผ ๋ฌด๋ฃ๋ก ๋ฐฐํฌํ๊ณ ์ฅ๊ธฐ์ ์ผ๋ก ์ง์ํ๋ค๊ณ ํ๋ค. ์ด๋ฌํ ์ฌ์์ ์ค์ฒํ๋ ์ฌ๋๋ค์ด ์์ด์ ์ธ์์ ๋ ๋ฐ์ ํ ์ ์๋ ๊ฒ ๊ฐ๋ค. ์ฐ๋ถํฌ๋ฅผ ์ฒ์ ๊น๊ณ ๋๋ผ ์ค์ , ์ธ์ด ์ค์ (Korean ์ ์ ํํ๋ค๋ฉด, Korean-Korean(101 ์ด์ฉ๊ณ ..)๊ฐ ์๋ ๊ทธ๋ฅ Korean์ ์ ํํด์ผ ํ๋ค), ๊ทธ๋ฆฌ๊ณ ์์คํ ์ค์ (๊ณ์ ์์ด๋์ ์ํธ)์ ๋ค ํด์ฃผ๊ณ ๋ ๋ค ํด.. 2023. 3. 30. [MariaDB] ํ ์ด๋ธ ๋ง๋ค๊ธฐ, CRUD๋? ๋ง๋ฆฌ์DB๋ MySQL๊ณผ ์์ค์ฝ๋๋ฅผ ๊ฐ์ด ํ๋ฏ๋ก ์ฌ์ฉ๋ฐฉ๋ฒ๊ณผ ๊ตฌ์กฐ๊ฐ MySQL๊ณผ ๋์ผํ๋ค. ์ด๋ฆ๋ง ๋ค๋ฅด์ง ๋ช ๋ น์ด๋ ์ฌ์ฉ๋ฐฉ๋ฒ (5.5๊น์ง) ๋ชจ๋ MySQL๊ณผ ๋์ผํ๋ค. ํธ์๋ฅผ ์ํด ๋ง๋ฆฌ์DB๋ ๋์ผํ MySQL ๋ฒ์ ๊ณผ ๋ฐ์ด๋๋ฆฌ ๋๋กญ์ธ ๊ต์ฒด๋ฅผ ์ง์ํ๋ค. MariaDB 1. ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ฅผ ๋ง๋ฆ 2. ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ ๊ณ์ ์ ๋ง๋ฆ 3. ๊ณ์ ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ ๋ ๊ฐ์ง ์ ์๋ ๊ถํ ์ค์ 4. ๊ณ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๋ค์ด์์ (๋ก๊ทธ์ธํด์) ํ ์ด๋ธ ์์ฑ >> ์ปฌ๋ผ ์์ฑ >> row ์์ฑ 5. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ(DBA: Database Administrator - ๋ฐ์ดํฐ ์ ๋ฐ์ ๊ด๋ฆฌํจ) ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์ ํ ์ด๋ธ ๋ฑ์ ๊ด๋ฆฌํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ language๋ฅผ SQL(Structure Query Langua.. 2023. 3. 23. DB(Database)์ DBMS (Database Management System)์ ๋ํ ๊ฐ๋จํ ์ค๋ช ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์กด์ฌํ๊ธฐ ์ด์ ์๋ ํ์ผ ์์คํ ์ ์ด์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ์๋ค. ํ์ง๋ง ํ์ผ์ ๊ตฌ์กฐ๊ฐ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ฐ์๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ ํ๋ก๊ทธ๋จ ์ค ํ๋๊ฐ ๋ฐ๋๋ฉด ๋ค๋ฅธ ํ๋๋ ์์ ํด์ผ ํ๋ ๋ฒ๊ฑฐ๋ก์์ด ์์๋ค. ๋ ํ๋ก๊ทธ๋จ๋ง๋ค ๋ณ๋์ ํ์ผ๋ก ๊ด๋ฆฌํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๊ฐ ์ค๋ณต๋๊ฑฐ๋, ํ๋์ ํ์ผ์ ์ฌ๋ฌ ๊ฐ์ ์์ฉํ๋ก๊ทธ๋จ์ด ์ ๊ทผํ์ฌ ์ฌ์ฉํ ์๊ฐ ์์๋ค. ์ด๋ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๊ฑฐ๋ ์ ์ง๋ณด์๋ฅผ ํ ๋ ๋ฌธ์ ๊ฐ ๋์๋ค. ๊ทธ๋ฌ๋ค๊ฐ ์ ์ฅํ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๊ฑฐ๋ ์ญ์ , ์์ , ๊ด๋ฆฌํ๊ธฐ ํธํ๊ฒ ํ๊ณ , ํ๊ฐ๋ ์ฌ์ฉ์๋ ๋์์ ์ ์๋ ๊ฐ๋ฅํ๊ณ , ๋ฌด์๋ณด๋ค๋ ๋ฐ์ดํฐ๊ฐ ํ๋ก๊ทธ๋จ์ ์ข ์์ ์ด์ง ์๊ณ ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋๋๋ผ๋ ์ฌ๋ผ์ง์ง ์๊ฒ ํ ์๋ ์์๊น ํด์ ๋ง๋ค์ด์ง ๊ฒ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค(Database)๋ ์ฌ๋ฌ .. 2023. 3. 23. [Java] ๋๊ธฐ ์ฒ๋ฆฌ(Synchronization) / ๋น๋๊ธฐ ์ฒ๋ฆฌ(Asynchronization) ๋๊ธฐํ(Synchronization) : SW์ชฝ์์๋ ํ๋ก๊ทธ๋จ์ด ์์๋๋ก ์ฐจ๋ก์ฐจ๋ก ์คํ๋๋ ๊ฒ ๋๊ธฐํ๋ฅผ ์ฌ์ฉํ๋ฉด ์์ ๋ค์ด ์๋ก์ ์ํ์ ์ํฅ์ ์ฃผ์ง ์๊ณ ์์๋๋ก ์คํ๋ ์ ์๋ค. ์ด๋ฅผ ํตํด ์ฌ๋ฌ ์ค๋ ๋๊ฐ ๋์์ ์ ๊ทผํ๋ ๊ฒ์ ๋ฐฉ์งํ๊ณ , ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ์ ์งํ ์ ์๋ค. ๋๊ธฐํ๋ ์์ ์ ์๋ฃ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๋์ ๋ค๋ฅธ ์์ ์ ์ค๋จ์ํค๊ฑฐ๋ ๋๊ธฐ์ํค๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ๋น๋๊ธฐํ(Asynchronization) : SW์ชฝ์์๋ ๊ฐ๊ฐ์ ํ๋ก๊ทธ๋จ์ด ์์์ ์๊ด์์ด ์คํ๋๋ ๊ฒ ๋น๋๊ธฐํ๋ฅผ ์ฌ์ฉํ๋ฉด ์์ ๋ค์ด ๋ ๋ฆฝ์ ์ผ๋ก ์คํ๋๋ฉฐ, ํ ์์ ์ ์๋ฃ ์ฌ๋ถ๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋ค์ ์์ ์ ์คํํ ์ ์๋ค. ์ด๋ฅผ ํตํด ์์ ๋ค์ ๋ณ๋ ฌ ์ฒ๋ฆฌ์ ๋์์ฑ์ ๋์ผ ์ ์๋ค. ๋น๋๊ธฐํ๋ ์์ ์ ์๋ฃ ์ฌ๋ถ๋ฅผ ํ์ธํ๊ธฐ ์ํด ์ฝ๋ฐฑ(Callback)์ด๋ .. 2023. 3. 22. [Java] Generic ๊ธฐ๋ฒ Generic์ ๋ชจ๋ ์ข ๋ฅ์ ํ์ ์ ๋ค๋ฃฐ ์ ์๋๋ก ํด๋์ค๋ ๋ฉ์๋๋ฅผ ์ ๋ค๋ฆญ ํ์ ๋งค๊ฐ๋ณ์๋ฅผ ์ด์ฉํ์ฌ ์ ์ธํ๋ ๊ธฐ๋ฒ์ด๋ค. ์ฝ๊ฒ ๋งํ๋ฉด, ์ ๋ค๋ฆญ์ ๋ฐ์ดํฐ ํ์ ์ ๋ณ์์ฒ๋ผ ์ ์ธํ๋ ๊ฒ์ด๋ค. ์ ๋ค๋ฆญ์ ์ฌ์ฉํจ์ผ๋ก์ ์ป๋ ์ฅ์ ์ ์๋์ ๊ฐ๋ค. 1. ํ์ ์์ ์ฑ(Type Safety): ์ ๋ค๋ฆญ์ ์ฌ์ฉํ๋ฉด ์ปดํ์ผ๋ฌ๊ฐ ์ฝ๋์์ ๋ฐ์ํ ์ ์๋ ํ์ ๊ด๋ จ ์ค๋ฅ๋ฅผ ๋ฏธ๋ฆฌ ๊ฒ์ถํ ์ ์๋ค. 2. ์ฝ๋ ์ฌ์ฌ์ฉ์ฑ: ๋์ผํ ๊ธฐ๋ฅ์ ๊ฐ์ง ํด๋์ค๋ ๋ฉ์๋๋ฅผ ์ฌ๋ฌ ๋ฐ์ดํฐ ํ์ ์ ๋ํด ๋ค์ ์์ฑํ์ง ์๊ณ ์ฌ์ฌ์ฉํ ์ ์๋ค. 3. ์ค๊ณ์ ์ผ๋ฐํ: ์ ๋ค๋ฆญ์ ์ฌ์ฉํ๋ฉด ํน์ ํ์ ์ ์์กดํ์ง ์๋ ์ผ๋ฐ์ ์ธ ๋์์ธ์ ํ ์ ์๋ค. 4. ์ฑ๋ฅ ๊ฐ์ : ์ ๋ค๋ฆญ์ ์ฌ์ฉํ๋ฉด ์ปดํ์ผ ์๊ฐ์ ํ์ ๋ณํ ์ฝ๋๊ฐ ์์ฑ๋๋ฏ๋ก ์คํ ์๊ฐ์ ๋ถํ์ํ ํ์ ๊ฒ์ฌ๋ ํ ๋ณ.. 2023. 3. 22. ์ด์ 1 ยทยทยท 12 13 14 15 16 17 ๋ค์ 728x90