๋กœ์ผ“๐Ÿพ
article thumbnail
[Elastic Search+Java] Java์—์„œ Elastic Search ์‹œ์ž‘ํ•˜๊ธฐ
... 2021. 8. 19. 15:19

์ € ๊ฐ™์€ ๊ฒฝ์šฐ Elasitc Search๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ง์ ‘ API ๋ฌธ์„œ ๋ณด๊ณ  ์ž๋ฐ” ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. API ๋ฌธ์„œ๊ฐ€ ์˜์–ด์ด๊ธด ํ•˜์ง€๋งŒ ์ƒ๋‹นํžˆ ์ž์„ธํžˆ ๋‚˜์™€์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ๋งํฌ๋Š” Elasitc Search ๊ณต์‹ API ๋ฐ ์‚ฌ์šฉ๋ฒ• ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค. Java High Level REST Client | Java REST Client [master] | Elastic The Java High Level REST Client works on top of the Java Low Level REST client. Its main goal is to expose API specific methods, that accept request objects as an argument and return response objects,..

article thumbnail
[Elastic Search+Java] ์‚ฌ์šฉ์ž ์ธ์ฆ ๊ตฌํ˜„ํ•˜๊ธฐ Basic Authentication
... 2021. 8. 19. 14:50

์ € ๊ฐ™์€ ๊ฒฝ์šฐ Elasitc Search๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ง์ ‘ API ๋ฌธ์„œ ๋ณด๊ณ  ์ž๋ฐ” ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ๋งํฌ๋Š” Elasitc Search ๊ณต์‹ API Basic Authentication ์ž…๋‹ˆ๋‹ค. Basic authentication | Java REST Client [7.14] | Elastic Configuring basic authentication can be done by providing an HttpClientConfigCallback while building the RestClient through its builder. The interface has one method that receives an instance of org.apache.http.impl.nio.client.Ht..

article thumbnail
[ElasticSearch] ElasticSearch ์™ธ๋ถ€ ์ ‘์†ํ•˜๊ธฐ
... 2021. 8. 18. 17:34

์„œ๋ฒ„์— ElasticSearch๋ฅผ ๊ตฌ์ถ•ํ–ˆ์œผ๋ฉด ๋‚ด๋ถ€ ๋ง๊ณ  ์™ธ๋ถ€์—์„œ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์™ธ๋ถ€ ์ ‘๊ทผ์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” CentOS7์ด๊ณ , ElasticSearch์€ 7.13.4๋ฒ„์ „์ž…๋‹ˆ๋‹ค. ๋‹น์—ฐํžˆ ElasticSearch๋Š” ์ •์ƒ ์„ค์น˜๋˜์–ด์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. [ElasticSearch] ์„œ๋ฒ„ ๋‚ด ElasticSearch ์„ค์น˜ํ•˜๊ธฐ ์„œ๋ฒ„๋Š” CentOS7 ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค. Elastic Search๋Š” JVM์—์„œ ๋Œ์•„๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— 1.8 ์ด์ƒ์˜ JDK๊ฐ€ ์„ค์น˜๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. JDK๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์„ค์น˜๋˜์—ˆ๋‹ค ๊ฐ€์ •ํ•˜๊ฒŒ ์ง„ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. [STEP1] Elastic Search repo ํŒŒ์ผ ์ƒ์„ฑ $.. kingofbackend.tistory.com [STEP1] ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์ค๋‹ˆ๋‹ค. $ vi /hom..

article thumbnail
[ElasticSearch]Elasticsearch ๋ณด์•ˆ ์ ์šฉ ๋ฐฉ๋ฒ•
... 2021. 8. 18. 16:24

ElasticSearch๋Š” url์„ ์ด์šฉํ•ด์„œ ์‰ฝ๊ฒŒ ๋ฐ์ดํ„ฐ ์ „์†ก์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ElasticSearch๋ฅผ ์ด์šฉํ•˜์—ฌ ์„œ๋น„์Šค๋ฅผ ํ•  ๋•Œ ๋ฐ˜๋“œ์‹œ ๋ณด์•ˆ์„ค์ •์„ ํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ํ•ด์ฃผ์ง€ ์•Š๋Š”๋‹ค๋ฉด ์ž„์˜์˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋งˆ์Œ๋Œ€๋กœ CRUD ์ž‘์—…์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ElasticSearch์™€ Kibana์— ๋ณด์•ˆ์„ ์ ์šฉํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. *์ฐธ๊ณ  : ๋ณด์•ˆ ์ ์šฉ ๋ฒ•์€ ์•„๋ž˜ ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€์— ์ž์„ธํžˆ ๋‚˜์™€์žˆ์Šต๋‹ˆ๋‹ค. Set up minimal security for Elasticsearch | Elasticsearch Guide [7.12] | Elastic The ES_PATH_CONF variable is the path for the Elasticsearch configuration files. If you inst..

article thumbnail
[Linux] CentOS 7์— OpenJDK 1.8 ์„ค์น˜ํ•˜๊ธฐ
... 2021. 8. 18. 16:10

[STEP1] open-jdk 1.8 ์„ค์น˜ # yum install java-1.8.0-openjdk # yum install java-1.8.0-openjdk-devel ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด /usr/bin/๊ฒฝ๋กœ์— java๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. * ์ฐธ๊ณ  : ๋ฆฌ๋ˆ…์Šค์—์„œ๋„ JDK์™€ JRE๋Š” ๋ณ„๋„์˜ ํŒจํ‚ค์ง€์ž…๋‹ˆ๋‹ค. java-๋ฒ„์ „-openjdk ํŒจํ‚ค์ง€๊ฐ€ JRE, java-๋ฒ„์ „-openjdk-devel ํŒจํ‚ค์ง€๊ฐ€ JDK๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. JDK๊ฐ€ JRE์— ์˜์กด์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. yum์œผ๋กœ JDK๋ฅผ ์„ค์น˜ํ•˜๋ผ๊ณ  ํ•˜๋ฉด JRE๋ฅผ ๋จผ์ € ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. [STEP2] ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋“ฑ๋ก /usr/bin/java ๊ฒฝ๋กœ์— ์‹ฌ๋ณผ๋ฆญ๋งํฌ๊ฐ€ ๊ฑธ๋ ค์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ ๊ฒฝ๋กœ๋ฅผ ์ฐพ์•„์„œ ํ™˜๊ฒฝ๋ณ€์ˆ˜์— ๋“ฑ๋กํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. # readlink -f /usr/bin/java..

article thumbnail
[Kubernetes] nodeport, port, targetport ์ฐจ์ด
... 2021. 8. 17. 21:03

Kubernetes์—์„œ ์„œ๋น„์Šค ์—ฐ๊ฒฐ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” port ์œ ํ˜•์„ ์ •๋ฆฌ Port ์œ ํ˜• ์ •๋ฆฌ NodePort ์™ธ๋ถ€์—์„œ ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ํฌํŠธ port Cluster ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉํ•  Service ๊ฐ์ฒด์˜ ํฌํŠธ targetPort Service๊ฐ์ฒด๋กœ ์ „๋‹ฌ๋œ ์š”์ฒญ์„ Pod(deployment)๋กœ ์ „๋‹ฌํ• ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํฌํŠธ โ€‹ ์ „์ฒด ์„œ๋น„์Šค ํ๋ฆ„์œผ๋กœ ๋ณด๋ฉด NodePort --> Port --> targetPort โ€‹ ์˜ˆ์‹œ - ์•„๋ž˜ Service ๋ฆฌ์†Œ์Šค์—์„œ ์ •์˜ํ•œ port์˜ ํ๋ฆ„์„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ํ‘œํ˜„ ๊ฐ€๋Šฅํ•จ. apiVersion: v1 kind: Service metadata: name: helloworld-service spec: ports: - nodePort: 31001 port: 8080 targetPort..

article thumbnail
[Linux] max user processes ๋Š˜๋ฆฌ๋Š” ๋ฐฉ๋ฒ•
... 2021. 8. 17. 17:36

์›์ธ java.lang.OutofMemoryError: unable to create new native thread ๋ฆฌ๋ˆ…์Šค์—์„œ ElasticSearch๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์‹คํ–‰ํ•˜๋ ค๋Š”๋ฐ ์œ„์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋ˆ…์Šค์—์„œ๋Š” OS์—์„œ์˜ ์“ฐ๋ ˆ๋“œ ์ œํ•œ ์„ค์ •์ด ๊ฑธ๋ ค์žˆ์Šต๋‹ˆ๋‹ค. unlimit -a ๋ช…๋ น์–ด๋กœ soft์˜ process๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [root@femarketWEB default]# ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 15026 max locked memo..

article thumbnail
[Tomcat] server.xml ์—์„œ appBase, docBase ์„ค์ • ๋ฐฉ๋ฒ•
... 2021. 8. 13. 18:07

์„œ๋ฒ„๋Š” CentOS7๋ฒ„์ „์ด๊ณ , ํ†ฐ์บฃ 8๋ฒ„์ „์ž…๋‹ˆ๋‹ค. ์  ํ‚จ์Šค์— ์˜ฌ๋ผ๊ฐ€ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ์˜ server.xml ์ค‘ ์ •๋ณด๋Š” ์•„๋ž˜ ์ฝ”๋“œ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์  ํ‚จ์Šค์—์„œ ๋นŒ๋“œ ๊ตฌ์„ฑ์„ ์‹œ์ž‘ํ•˜๋ฉด, ์ž๋™์œผ๋กœ ์  ํ‚จ์Šค๊ฐ€ ํ”„๋กœ์ ํŠธ.war ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์ค๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ž๋™๋ฐฐํฌ ์„ค์ •๊นŒ์ง€ ์ง„ํ–‰ํ•˜๋ฉด ์œ„์— ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ•ด๋‹น ๋””๋ ‰ํ„ฐ๋ฆฌ์— war ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  unpackWARs ํ”„๋กœํผํ‹ฐ๋กœ ์ธํ•ด war ํŒŒ์ผ์€ ์••์ถ•์ด ํ•ด์ œ๋ฉ๋‹ˆ๋‹ค. /var/lib/jenkins/workspace ์œ„์น˜์— job ์ด๋ฆ„ ๊ธฐ์ค€์œผ๋กœ ๋””๋ ‰ํ„ฐ๋ฆฌ๋“ค์ด ์ƒ์„ฑ๋˜๊ณ , ๋””๋ ‰ํ„ฐ๋ฆฌ ์•ˆ์— warํŒŒ์ผ์ด ๋งŒ๋“ค์–ด์ง‘๋‹ˆ๋‹ค. ์ด ๋””๋ ‰ํ„ฐ๋ฆฌ ์•ˆ์— ๋งŒ๋“ค์–ด์ง„ war๊ฐ€ ์–ด๋–ป๊ฒŒ ์— ์„ค์ •ํ•œ ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ด๋™๋˜๋Š” ์ง€๋Š” ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค .. ์•„๋งˆ Deploy war/ear to a container ๋ผ๋Š” ์  ํ‚จ..

article thumbnail
[ElasticSearch] org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
... 2021. 8. 11. 18:06

Elasticsearch 5.0 ์ดํ›„์—์„œ๋Š” root์—์„œ elasticsearch๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์—†๊ฒŒ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— sudo ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  Elasticsearch๋ฅผ ์‹คํ–‰ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ณ„์ •์„ ์ƒˆ๋กœ ์ƒ์„ฑ ํ•œ ํ›„ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜์—ฌ ๊ทธ ๊ณ„์ •์œผ๋กœ ์‹คํ–‰ํ•˜๋ฉด ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค. es ๊ณ„์ •์„ ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค. $ useradd es ํ•ด๋‹น ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์†Œ์œ ์ž๋ฅผ es๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. $ chown -R es:es /usr/share/elasticsearch ๊ณ„์ •์„ es๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. $ su es es ๊ณ„์ •์œผ๋กœ Elastic Search๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. $ /usr/share/elasticsearch/bin/elasticsearch *์ฐธ๊ณ  : /usr/share/elasticsearch ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ง๊ณ ๋„ ์ถ”๊ฐ€์ ์œผ๋กœ elasticsear..

article thumbnail
[ElasticSearch] ์„œ๋ฒ„ ๋‚ด ElasticSearch ์„ค์น˜ํ•˜๊ธฐ
... 2021. 8. 11. 17:57

์„œ๋ฒ„๋Š” CentOS7 ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค. Elastic Search๋Š” JVM์—์„œ ๋Œ์•„๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— 1.8 ์ด์ƒ์˜ JDK๊ฐ€ ์„ค์น˜๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. JDK๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์„ค์น˜๋˜์—ˆ๋‹ค ๊ฐ€์ •ํ•˜๊ฒŒ ์ง„ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. [STEP1] Elastic Search repo ํŒŒ์ผ ์ƒ์„ฑ $ vi /etc/yum.repos.d/elasticsearch.repo repo ํŒŒ์ผ์„ ์ƒ์„ฑ ํ›„ elasticsearch.repo์— ์•„๋ž˜์™€ ๊ฐ™์€ ๋‚ด์šฉ์„ ์ ์Šต๋‹ˆ๋‹ค. * ์ฐธ๊ณ  : yum์ด ์•„๋‹Œ tar.gz ๋กœ ๋‹ค์šด๋ฐ›๊ณ  ์‹ถ์œผ์‹  ๋ถ„๋“ค์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ํ™•์ธํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. Install Elasticsearch from archive on Linux or MacOS | Elasticsearch Guide [7.14] | Elastic Typically, any clus..

article thumbnail
[Jenkins] Maven Job ์„ค์ • ๊ฐ„๋‹จํ•œ ์„ค๋ช…
... 2021. 8. 11. 17:38

๊ฐ„๋‹จํžˆ Maven Job์„ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๊ทธ ์„ค์ •์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌ๊ทธ์ธ ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ๊ธฐ๋ณธ ์„ค์ •์œผ๋กœ ์„ค์น˜๋˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ ์™ธ ๋‹ค์Œ 2๊ฐ€์ง€๋ฅผ ์„ค์น˜ํ•˜์˜€์Šต๋‹ˆ๋‹ค. Maven Integration plugin์€ Maven Project Job์„ ์ƒ์„ฑ ๊ฐ€๋Šฅ์ผ€ ํ•ด์ฃผ๊ณ , Deploy to container Plugin์€ ๋นŒ๋“œ ํ›„ ํ†ฐ์บฃ ์„œ๋ฒ„์— ์ž๋™๋ฐฐํฌํ•˜๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Subversion Plug-in์€ SVN์„ ์‚ฌ์šฉํ•˜๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ์ƒ์„ฑํ•œ Job ์ข…๋ฅ˜ Maven project๋กœ Job์„ ์ƒ์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. Job ์„ค์ • General job์˜ ๊ธฐ๋ณธ์ ์ธ ์„ค์ •์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ํฌ๊ฒŒ ๋ˆˆ์—ฌ๊ฒจ๋ณผ๋งŒํ•œ ์˜ต์…˜์€ ์—†์Šต๋‹ˆ๋‹ค. ํ•˜๋‹จ์— ๋ณด์‹œ๋ฉด JDK ๋ผ๋Š”๊ฒŒ ์žˆ๋Š”๋ฐ ์•ˆ๋ณด์ด์‹œ๋Š” ๋ถ„๋„ ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค. Global Tool Configuration..

article thumbnail
[Jenkins] Jenkins ์‹œ๊ฐ„ ๋ณ€๊ฒฝ
... 2021. 8. 11. 16:42

vi /etc/sysconfig/jenkins ๋กœ vi ์—๋””ํ„ฐ๋ฅผ ์—ฐ ํ›„ ๋นจ๊ฐ„์ƒ‰ ๋ถ€๋ถ„์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ˆ˜์ •ํ•ด์ค๋‹ˆ๋‹ค. JENKINS_JAVA_OPTIONS="-Dorg.apache.commons.jelly.tags.fmt.timeZone=Asia/Seoul"

article thumbnail
[Jenkins] ์šฐ๋ฆฌ์˜ ์นœ์ ˆํ•œ ๋น„์„œ Jenkins
... 2021. 8. 11. 15:29

์  ํ‚จ์Šค๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์‹œ ์ง€์†์ ์œผ๋กœ ํ†ตํ•ฉ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ํˆด์ž…๋‹ˆ๋‹ค. CI(Continuous Integration) ํˆด ์ด๋ผ๊ณ  ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์  ํ‚จ์Šค์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ ์ „์— ์šฐ์„  CI/CD์— ๋Œ€ํ•ด ๋จผ์ € ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. CI/CD๋ž€? CI๋Š” Continuous Integration ์ฆ‰, ์ง€์†์ ์ธ ํ†ตํ•ฉ์ด๋ผ๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ์ง€์†์ ์ธ ํ†ตํ•ฉ์ด๋ž€, ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒˆ๋กœ์šด ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ •๊ธฐ์ ์œผ๋กœ ๋นŒ๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ๋˜์–ด ๊ณต์œ  ๋ ˆํฌ์ง€ํ† ๋ฆฌ์— ํ†ตํ•ฉํžˆ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. (๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ํ•˜๋ฃจ์— ์—ฌ๋Ÿฌ๋ฒˆ๊นŒ์ง€) ์ด๋Ÿฌํ•œ CI์˜ ํ•ต์‹ฌ ๋ชฉํ‘œ๋Š” ๋ฒ„๊ทธ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ์ฐพ์•„ ํ•ด๊ฒฐํ•˜๊ณ , ์†Œํ”„ํŠธ์›จ์–ด์˜ ํ’ˆ์งˆ์„ ๊ฐœ์„ ํ•˜๊ณ , ์ƒˆ๋กœ์šด ์—…๋ฐ์ดํŠธ์˜ ๊ฒ€์ฆ ๋ฐ ๋ฆด๋ฆฌ์ฆˆ์˜ ์‹œ๊ฐ„์„ ๋‹จ์ถ•์‹œํ‚ค๋Š” ๊ฒƒ์— ์žˆ์Šต๋‹ˆ๋‹ค. CD๋ž€? ํ•ด์„ํ•˜์ž๋ฉด, ์ง€์†์ ์ธ ์„œ๋น„์Šค ์ œ๊ณต ํ˜น์€ ์ง€์†์ ์ธ ๋ฐฐํฌ ๋ผ๋Š”..

article thumbnail
[Jenkins] warํŒŒ์ผ์— 1.0.0-BUILD-SNAPSHOT ์•ˆ๋ถ™๊ฒŒ ํ•˜๊ธฐ
... 2021. 8. 11. 14:41

/var/lib/jenkins/workspace/ ๋กœ ์ด๋™ ํ›„ ๋ถ™์ง€ ์•Š๊ฒŒ ํ•˜๋ ค๋Š” ํ”„๋กœ์ ํŠธ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ํ†ฐ์บฃ์ด ์•„๋‹Œ ์  ํ‚จ์Šค ๋‚ด workplace์ž…๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์˜ pom.xml์— ์•„๋ž˜์™€ ๊ฐ™์ด ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค. ..... ${project.name} .... ๊ทธ ํ›„ ๋‹ค์‹œ ๋นŒ๋“œํ•˜๊ฒŒ ๋˜๋ฉด ๋’ค์— 1.0.0-BUILD-SNAPSHOT์ด ๋ถ™์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

article thumbnail
[Jenkins] ์„œ๋ฒ„ ๋‚ด Jenkins(์  ํ‚จ์Šค) ์„ค์น˜ํ•˜๊ธฐ
... 2021. 8. 11. 14:05

ํ…Œ์ŠคํŠธ ์„œ๋ฒ„ ๋‚ด ์  ํ‚จ์Šค ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” CentOS7 ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค. [STEP1] ์  ํ‚จ์Šค๊ฐ€ ์„ค์น˜๋˜์–ด์žˆ๋Š” ํ™•์ธํ•˜๊ธฐ $ yum list installed | grep jenkins [STEP2] ์  ํ‚จ์Šค ์„ค์น˜ํ•˜๊ธฐ [STEP2-1] url์— ํ•ด๋‹นํ•˜๋Š” ํŒŒ์ผ์„ /etc/yum.repos.d/jenkins.repo ๊ฒฝ๋กœ์— ๋‹ค์šด $ wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo [STEP2-2] key import $ rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key [STEP2-3] ์  ํ‚จ์Šค ์„ค์น˜ $ yum install jenkin..

article thumbnail
[Tomcat] ์„œ๋ฒ„ ๋‚ด tomcat ์„ค์น˜ํ•˜๊ธฐ
... 2021. 8. 11. 13:48

๋กœ์ปฌ์ด ์•„๋‹Œ ํ…Œ์ŠคํŠธ ์„œ๋ฒ„๋‚ด tomcat8 ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” CentOS ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค. ์•„์ฃผ ๊ธฐ์ดˆ์ ์ธ ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด๋Š” ์•ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์—ฌ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. [STEP1] Apach Tomcat ์‚ฌ์ดํŠธ ์ ‘์† Apach Tomcat ์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ์ €๋Š” 8๋ฒ„์ „์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๊ธฐ์— Tomcat8์„ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค. ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ "๋งํฌ ์ฃผ์†Œ ๋ณต์‚ฌ"๋ฅผ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค. [STEP2] wget ์„ค์น˜ํ•˜๊ธฐ ์„œ๋ฒ„์— ์ ‘์† ํ›„ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์ค๋‹ˆ๋‹ค. yum install -y wget * ์ฐธ๊ณ  : yum์€ ๋ ˆ๋“œํ–‡ ๊ณ„์—ด์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €, wget๋Š” ์›น ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์ปจํ…์ธ ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ํ”„๋กœ๊ทธ๋žจ [STEP3] ์•Œ๋งž์€ ์œ„์น˜์— ํ†ฐ์บฃ ์„ค์น˜ ๋ฐ ์••์ถ• ํ’€๊ธฐ ์ €๋Š” /var/lib/tomcat-feadmin ์œ„์น˜์— ํ†ฐ์บฃ..

article thumbnail
๋ˆ„๊ฐ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํŒŒ๊ดดํ•  ์ˆ˜ ์žˆ์„๊นŒ?
... 2021. 8. 11. 11:41

์ด ๊ธ€์€ Song Seunggeun ๋‹˜์˜ ๊ธ€์„ ๋ณด๊ณ  ์ž‘์„ฑํ•œ ๊ธ€์ด๋ฉฐ, ํ—ˆ๋ฝ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๋…ผ๋ž€์˜ ์—ฌ์ง€๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” 2021๋…„ ํ˜„์žฌ ์†Œํ”„ํŠธ์›จ์–ด ์—…๊ณ„์—์„œ ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ์–ธ์–ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2020๋…„ Github์˜ ๋ถ„์„์— ๋”ฐ๋ฅด๋ฉด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” 2014๋…„ ์ด๋ž˜๋กœ ํ•ญ์ƒ ์˜ํ–ฅ๋ ฅ ์žˆ๋Š” ์–ธ์–ด์˜€๊ณ , ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์นœ์ฒ™์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š” ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ๋˜ํ•œ ๊ทธ ์ˆœ์œ„๊ฐ€ 4์œ„์— ๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์–ด๋–ป๊ฒŒ ์ด๋ ‡๊ฒŒ ์œ ๋ช…ํ•ด์งˆ ์ˆ˜ ์žˆ์—ˆ์„๊นŒ์š”? ํŒŒ์ด์ฌ, ์ž๋ฐ”, C ๋“ฑ์˜ ์ „ํ†ต์˜ ๊ฐ•์ž๋“ค, ๊ทธ๋ฆฌ๊ณ  Golang, Rust, Swift, Dart ๋“ฑ์˜ ์‹ ํฅ ๊ฐ•์ž๋“ค๊ณผ์˜ ๊ฒฝ์Ÿ์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์–ด๋–ป๊ฒŒ ์šฐ์œ„๋ฅผ ์ ํ•  ์ˆ˜ ์žˆ์—ˆ์„๊นŒ์š”? ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ํด๋ ˆ์ดํŠผ ํฌ๋ฆฌ์Šคํ…์Šจ ๊ต์ˆ˜์˜ ํŒŒ๊ดด์  ํ˜์‹  ์ด๋ก ์„ ์ด์šฉํ•ด์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์„ฑ์žฅํ• ..

article thumbnail
[Jenkins] ์  ํ‚จ์Šค + SVN+ ๋ฉ”์ด๋ธ+์Šคํ”„๋ง์„ ์ด์šฉํ•˜์—ฌ ๋นŒ๋“œ์—…๊ณผ ์ž๋™๋ฐฐํฌ ํ•˜๊ธฐ
... 2021. 8. 9. 16:55

๋กœ์ปฌ ์„œ๋ฒ„๊ฐ€ ์•„๋‹Œ ํ…Œ์ŠคํŠธ ์„œ๋ฒ„์—์„œ ์  ํ‚จ์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ CI/CD๋ฅผ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” CentOS7 ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. KTCloud๋ฅผ ์ด์šฉํ•˜์—ฌ ์„œ๋ฒ„ ๊ตฌ์ถ•(์ƒ๋žต) ํ…Œ์ŠคํŠธ ์„œ๋ฒ„ ๋‚ด ํ†ฐ์บฃ(port80), JDK(1.8.x) ์„ค์น˜ ํ…Œ์ŠคํŠธ ์  ํ‚จ์Šค ์„œ๋ฒ„ ๊ตฌ์ถ• ํ…Œ์ŠคํŠธ ์„œ๋ฒ„ ๋‚ด ์  ํ‚จ์Šค๋ฅผ ํ†ตํ•ด ๋นŒ๋“œ์—…๊ณผ ์ž๋™๋ฐฐํฌ ์ง„ํ–‰ [Jenkins] CI/CD์™€ ์šฐ๋ฆฌ์˜ ์นœ์ ˆํ•œ ๋น„์„œ Jenkins ์  ํ‚จ์Šค๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์‹œ ์ง€์†์ ์œผ๋กœ ํ†ตํ•ฉ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ํˆด์ž…๋‹ˆ๋‹ค. CI(Continuous Integration) ํˆด ์ด๋ผ๊ณ  ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์  ํ‚จ์Šค์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ ์ „์— ์šฐ์„  CI/CD์— ๋Œ€ํ•ด ๋จผ์ € ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. CI kingofbackend.tistory.com [STEP1] ํ…Œ์ŠคํŠธ ์„œ๋ฒ„ ๋‚ด ํ†ฐ์บฃ(port80)..

[Linux] yum, apt-get ์ฐจ์ด
... 2021. 7. 30. 09:20

OS ์ข…๋ฅ˜ OS ๋Š” ํฌ๊ฒŒ Windows, Linux, Unix, MacOS 4๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜๋ฉ๋‹ˆ๋‹ค. Linux ์ข…๋ฅ˜ Linux ๋Š” ํฌ๊ฒŒ ๋ ˆ๋“œํ–‡, ๋ฐ๋น„์•ˆ, ์šฐ๋ถ„ํˆฌ 3๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜๋˜๋ฉฐ, ๊ณ„์—ด์— ๋”ฐ๋ฅธ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ๋ช…๋ น์–ด๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค ๋ ˆ๋“œํ–‡ ๊ณ„์—ด์€ yum ์„ ์‚ฌ์šฉํ•˜๊ณ  ๋ ˆ๋“œํ–‡ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ํŽ˜๋„๋ผ CentOS ๋ฐ๋น„์•ˆ, ์šฐ๋ถ„ํˆฌ ๊ณ„์—ด์€ apt-get ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

[Linux] wget, curl ์ฐจ์ด
... 2021. 7. 30. 09:05

wget vs curl wget ๊ณผ curl ์€ ๋‘˜ ๋‹ค ์›น ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์ปจํ…์ธ ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” Linux ์ปค๋งจ๋“œ์ž…๋‹ˆ๋‹ค. wget ๊ณผ curl ์€ ๊ฑฐ์˜ ์œ ์‚ฌํ•˜์ง€๋งŒ ์กฐ๊ธˆ ๋‹ค๋ฅธ ๋ถ€๋ถ„์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณตํ†ต์  HTTP, HTTPS, FTP ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ์ปจํ…์ธ ๋ฅผ ๋‹ค์šด๋กœ๋“œ ํ•˜๋Š” ์ปค๋งจํŠธ ๋ผ์ธ ํˆด์ž…๋‹ˆ๋‹ค. HTTP POST request ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. (์ฆ‰, ์›น์‚ฌ์ดํŠธ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.) HTTP ์ฟ ํ‚ค๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ์ฒ˜๋Ÿผ ์‚ฌ์šฉ์ž ์ธํ„ฐ๋ ‰์…˜์—†์ด ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜คํ”ˆ์†Œ์Šค์ด๋ฉฐ ๋ฌด๋ฃŒ์ž…๋‹ˆ๋‹ค. 90๋…„๋Œ€์— ์‹œ์ž‘ํ•œ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. (wget ์€ 1995๋…„, curl ์€ 1996๋…„์— ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.) metalink ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ฐจ์ด์  wget ๊ฐ„๋‹จํ•˜๊ณ  ์ง๊ด€์ ์ž…๋‹ˆ๋‹ค. ๋ณ„๋„์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค...

article thumbnail
[Spring] ํŠธ๋žœ์žญ์…˜์˜ propagation ์„ค์ •๋ณ„ ๋™์ž‘
... 2021. 6. 23. 15:40

์ด ๊ธ€์€ DevEric ๋‹˜์˜ ๊ธ€์„ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜์˜ propagation ์„ค์ •์ด๋ž€ Spring์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์–ด๋…ธํ…Œ์ด์…˜ '@Transactional'์€ ํ•ด๋‹น ๋ฉ”์„œ๋“œ๋ฅผ ํ•˜๋‚˜์˜ ํŠธ๋žœ์žญ์…˜ ์•ˆ์—์„œ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด์ฃผ๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ํŠธ๋žœ์žญ์…˜ ๋‚ด๋ถ€์—์„œ ํŠธ๋žœ์žญ์…˜์„ ๋˜ ํ˜ธ์ถœํ•œ๋‹ค๋ฉด ์Šคํ”„๋ง์—์„œ๋Š” ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ณ  ์žˆ์„๊นŒ์š”? ์ƒˆ๋กœ์šด ํŠธ๋žœ์žญ์…˜์ด ์ƒ์„ฑ๋  ์ˆ˜๋„ ์žˆ๊ณ , ์ด๋ฏธ ํŠธ๋žœ์žญ์…˜์ด ์žˆ๋‹ค๋ฉด ๋ถ€๋ชจ ํŠธ๋žœ์žญ์…˜์— ํ•ฉ๋ฅ˜ํ•  ์ˆ˜๋„ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ง„ํ–‰๋˜๊ณ  ์žˆ๋Š” ํŠธ๋žœ์žญ์…˜์—์„œ ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์ด ํ˜ธ์ถœ๋  ๋•Œ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ• ์ง€ ์ •ํ•˜๋Š” ๊ฒƒ์„ 'ํŠธ๋žœ์žญ์…˜์˜ ์ „ํŒŒ ์„ค์ •'์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ์ „ํŒŒ ์„ค์ • ์˜ต์…˜ ํŠธ๋žœ์žญ์…˜์˜ ์ „ํŒŒ ์„ค์ •์€ '@Transactional'์˜ ์˜ต์…˜ 'propagation'์„ ํ†ตํ•ด ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์˜ต์…˜์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ..

article thumbnail
[Java] try ~ catch๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ํ•˜๊ธฐ
... 2021. 6. 22. 09:51

Sims๋‹˜์˜ ๊ธ€์„ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋‹ค ๋ณด๋ฉด ๋‹ค์–‘ํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ๋Š” file์„ ์ฝ์œผ๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ํ•ด๋‹น file์ด ์—†๋Š” ๊ฒฝ์šฐ, 0์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒฝ์šฐ ๋“ฑ๋“ฑ.. ์‰ฝ๊ฒŒ ์ ‘ํ•  ์ˆ˜ ์žˆ๋Š” ์˜ค๋ฅ˜๋“ค์ด ๋งŽ์ด ์žˆ์ฃ . ์ด๋Ÿฌํ•œ ์˜ค๋ฅ˜๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์„ '์˜ˆ์™ธ ์ฒ˜๋ฆฌ'๋ผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์–ด๋–ป๊ฒŒ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์‚ดํŽด๋ณด๋„๋ก ํ•ฉ์‹œ๋‹ค. ์˜ˆ์™ธ์ฒ˜๋ฆฌ != ๋ฒ„๊ทธ ์ž, ์ผ๋‹จ ์˜ค๋ฅ˜๋ฅผ ๋ถ„๋ฅ˜ํ•ด ๋ด…์‹œ๋‹ค. ์œ„์—์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ 2๊ฐ€์ง€ ์˜ค๋ฅ˜๋ฅผ ๋ง์”€๋“œ๋ ธ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋Š” ํŒŒ์ผ์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, ๋‘ ๋ฒˆ์งธ๋Š” 0์œผ๋กœ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ๋‘˜ ๋‹ค ์˜ค๋ฅ˜์ง€๋งŒ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๋ฉด ํŠน์ง•์ด ์กฐ๊ธˆ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ, ํŒŒ์ผ์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์˜ ์˜ค๋ฅ˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์˜ˆ์ƒ์„ ํ•˜๊ณ  ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ค˜์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ..

article thumbnail
[JSP] <c:forEach> varStatus ํ™œ์šฉ๋ฒ•
... 2021. 6. 10. 14:12

// ๋ฐ˜๋ณตํ•ด์„œ ํ‘œ์‹œํ•  ๋‚ด์šฉ ํ˜น์€ ๋ฐ˜๋ณตํ•  ๊ตฌ๋ฌธ ์ด ๋•Œ, ์ƒํƒœ์šฉ ๋ณ€์ˆ˜๋ฅผ status๋ผ๊ณ  ์ง€์ •ํ–ˆ๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ${status.current} ํ˜„์žฌ for๋ฌธ์˜ ํ•ด๋‹นํ•˜๋Š” ๋ฒˆํ˜ธ ${status.index} 0๋ถ€ํ„ฐ์˜ ์ˆœ์„œ ${status.count} 1๋ถ€ํ„ฐ์˜ ์ˆœ์„œ ${status.first} ์ฒซ ๋ฒˆ์งธ์ธ์ง€ ์—ฌ๋ถ€ ${status.last} ๋งˆ์ง€๋ง‰์ธ์ง€ ์—ฌ๋ถ€ ${status.begin} for๋ฌธ์˜ ์‹œ์ž‘ ๋ฒˆํ˜ธ ${status.end} for๋ฌธ์˜ ๋ ๋ฒˆํ˜ธ ${status.step} for๋ฌธ์˜ ์ฆ๊ฐ€๊ฐ’ ํ™œ์šฉ ์˜ˆ / ์ฝ์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

article thumbnail
[Java] ์ž๋ฐ” static์˜ ์˜๋ฏธ์™€ ์‚ฌ์šฉ๋ฒ•
... 2021. 6. 6. 21:53

์ •์ (Static)์ด๋ž€? ์ •์ (static)์€ ๊ณ ์ •๋œ์ด๋ž€ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Static์ด๋ผ๋Š” ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Static๋ณ€์ˆ˜์™€ Static๋ฉ”์†Œ๋“œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”๋ฐ ๋‹ค๋ฅธ๋ง๋กœ ์ •์ ํ•„๋“œ์™€ ์ •์  ๋ฉ”์†Œ๋“œ๋ผ๊ณ ๋„ ํ•˜๋ฉฐ ์ด ๋‘˜์„ ํ•ฉ์ณ ์ •์  ๋ฉค๋ฒ„๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. (ํด๋ž˜์Šค ๋ฉค๋ฒ„๋ผ๊ณ ๋„ ํ•ฉ๋‹ˆ๋‹ค.) ์ •์  ํ•„๋“œ์™€ ์ •์  ๋ฉ”์†Œ๋“œ๋Š” ๊ฐ์ฒด(์ธ์Šคํ„ด์Šค)์— ์†Œ์†๋œ ๋ฉค๋ฒ„๊ฐ€ ์•„๋‹ˆ๋ผ ํด๋ž˜์Šค์— ๊ณ ์ •๋œ ๋ฉค๋ฒ„์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ํด๋ž˜์Šค ๋กœ๋”๊ฐ€ ํด๋ž˜์Šค๋ฅผ ๋กœ๋”ฉํ•ด์„œ ๋ฉ”์†Œ๋“œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ์ ์žฌํ• ๋•Œ ํด๋ž˜์Šค๋ณ„๋กœ ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํด๋ž˜์Šค์˜ ๋กœ๋”ฉ์ด ๋๋‚˜๋Š” ์ฆ‰์‹œ ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ •์ (Static) ๋ฉค๋ฒ„ ์ƒ์„ฑ Static ํ‚ค์›Œ๋“œ๋ฅผ ํ†ตํ•ด ์ƒ์„ฑ๋œ ์ •์ ๋ฉค๋ฒ„๋“ค์€ Heap์˜์—ญ์ด ์•„๋‹Œ Static์˜์—ญ์— ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. Static ์˜์—ญ์— ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ๋Š” ๋ชจ๋“  ๊ฐ์ฒด๊ฐ€ ๊ณต..

article thumbnail
์™œ ๊ฐœ๋ฐœ์ž๋Š” ์ž˜๋ชป๋œ ๊ธฐ์ˆ  ์„ ํƒ์„ ๋ฐฅ ๋จน๋“ฏ์ด ํ•˜๋‚˜?
... 2021. 6. 5. 19:02

๊ฐœ๋ฐœ ์ด์Šˆ๊ฐ€ ๋Œ€๋ถ€๋ถ„ ๊ทธ๋ ‡์ง€๋งŒ, ๊ธฐ์ˆ ์ ์ธ ์ธก๋ฉด๋ณด๋‹ค ์˜์™ธ๋กœ ์˜์‚ฌ์†Œํ†ต ๋ฌธ์ œ ๊ฐ™์€ ์ธ์  ์š”์†Œ๊ฐ€ ์›์ธ์ด ๋  ๋•Œ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์บ๋ฆฌ ํ”Œ๋ฆฌ์ฒผ์€ "์™œ ๊ฐœ๋ฐœ์ž๋Š” ์ž˜๋ชป๋œ ๊ธฐ์ˆ  ์„ ํƒ์„ ๋ฐฅ ๋จน๋“ฏ์ด ํ•˜๋‚˜?"๋ผ๋Š” ์ œ๋ชฉ์˜ ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€์—์„œ ๊ทธ ์›์ธ์„ ๋‹ค์„ฏ ๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜์”ฉ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ๊ธ€์€ ์™œ ๊ฐœ๋ฐœ์ž๋Š” ์ž˜๋ชป๋œ ๊ธฐ์ˆ  ์„ ํƒ์„ ๋ฐฅ ๋จน๋“ฏ์ด ํ•˜๋‚˜? ์™€ Optimizing Java ๋ผ๋Š” ์„œ์ ์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ง€๋ฃจํ•จ ๊ฐœ๋ฐœ์ž๋Š” ๋Œ€๋ถ€๋ถ„ ์ž๊ธฐ ์—ญํ• ์— ์ง€๋ฃจํ•จ์„ ๋Š๋ผ๊ณ  ๋ญ”๊ฐ€ ์ƒˆ๋กญ๊ณ  ๋„์ „์ ์ธ ์ผ์„ ์ฐพ์•„ ๊ฐ™์€ ํšŒ์‚ฌ ๋˜๋Š” ์•„์˜ˆ ๋‹ค๋ฅธ ๊ณณ์œผ๋กœ ๋– ๋‚  ๊ถ๋ฆฌ๋ฅผ ํ•˜๋Š” ์‚ฌ๋žŒ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์‚ฌ๋‚ด์— ๋”ฑํžˆ ๋งˆ๋•…ํ•œ ๊ธฐํšŒ๊ฐ€ ์—†๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ํšŒ์‚ฌ๋กœ ์ด์งํ•˜๋Š” ๊ฒŒ ์—ฌ์˜์น˜ ์•Š์„ ๋•Œ๋„ ์žˆ๊ฒ ์ฃ . ๋ฌผ๋ก , ์ง€๋ฃจํ•œ ์ผ์ƒ์„ ์ž˜ ์ฐธ๊ณ  ๊ฒฌ๋”œ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์™ธ๋ ค ๋” ์‰ฝ๊ณ  ํŽธ..

article thumbnail
[Java] ์ธํ„ฐํŽ˜์ด์Šค์™€ ์ถ”์ƒํด๋ž˜์Šค
... 2021. 6. 1. 20:27

์ถ”์ƒํด๋ž˜์Šค๋Š” abstarct๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์ธํ„ฐํŽ˜์ด์Šค๋Š” interface๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์–ธ์ œ ์ถ”์ƒํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์–ธ์ œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ์š”? ์•„๋งˆ ๋งŽ์€ ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๋ถ„๋“ค์ด ๋ช…์พŒํ•œ ๋‹ต์„ ๋‚ด๋†“์ง€ ๋ชปํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ € ๋˜ํ•œ ์ถ”์ƒํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ ์ ˆํ•œ ์‚ฌ์šฉ ์šฉ๋„๋ฅผ ์ธ์ง€ํ•˜์ง€ ๋ชปํ•œ ์ฑ„ ๊ฐœ๋ฐœ์„ ํ•ด์™”์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฒˆ์— ์ถ”์ƒํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•ด ์•Œ์•„ ๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์ถ”์ƒํด๋ž˜์Šค ์ถ”์ƒํด๋ž˜์Šค๋Š” ์ผ๋ฐ˜ํด๋ž˜์Šค์™€ ๋ณ„๋ฐ˜ ๋‹ค๋ฅผ ๊ฒƒ์ด ์—†์Šต๋‹ˆ๋‹ค. ๋‹จ์ง€, ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ์„ ์–ธํ•˜์—ฌ ์ƒ์†์„ ํ†ตํ•˜์—ฌ ์ž์† ํด๋ž˜์Šค์—์„œ ์™„์„ฑํ•˜๋„๋ก ์œ ๋„ํ•˜๋Š” ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ฏธ์™„์„ฑ ์„ค๊ณ„๋„๋ผ๊ณ ๋„ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์•„๋ž˜ ์ฝ”๋“œ์™€ ๊ฐ™์ด ์ž‘์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. public abstract class ํด๋ž˜์Šค์ด๋ฆ„{ public..

article thumbnail
[AWS] EC2๋ฅผ ์ด์šฉํ•˜์—ฌ Node.js ์„œ๋ฒ„ ๋ฐฐํฌํ•˜๊ธฐ
... 2021. 5. 23. 18:24

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” AWS EC2๋ฅผ ์ด์šฉํ•˜์—ฌ Node.js๋ฅผ ๋ฐฐํฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ๋ถ„ํˆฌ๋ฅผ ํ•ด๋ณด์‹œ์ง€ ์•Š์•˜๋‹ค๋ฉด ์กฐ๊ธˆ ์–ด๋ ค์šด ๋ถ€๋ถ„์ด ์žˆ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. AWS EC2 ์‹œ์ž‘ํ•˜๊ธฐ EC2 ๊ฐ™์€ ๊ฒฝ์šฐ S3์™€ ๋‹ค๋ฅด๊ฒŒ ๋น„์šฉ์ด ๊ฝค ๋‚˜์˜ต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ํ•„์š”ํ•  ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹ˆ๋ฉด ๋ฐ˜๋“œ์‹œ ์ธ์Šคํ„ด์Šค๋ฅผ ์ค‘์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์•„๋‹ ๊ฒฝ์šฐ ์ฒญ๊ตฌ์„œ ๋ณด๊ณ  ์ €์ฒ˜๋Ÿผ ๊นœ์ง ๋†€๋ž๋‹ˆ๋‹ค ใ…œใ…œ AWS EC2์— ์ ‘์†ํ•˜๊ณ , ์ธ์Šคํ„ด์Šค ์‹œ์ž‘ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค. ์šฐ๋ถ„ํˆฌ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๊ธฐ์— 18.04 ๋ฒ„์ „์˜ ์šฐ๋ถ„ํˆฌ๋ฅผ ์„ ํƒํ•ด์ค๋‹ˆ๋‹ค. ์ธ์Šคํ„ด์Šค ์œ ํ˜• ์„ ํƒ์—์„œ ์ด๋ฏธ์ง€์™€ ๊ฐ™์ด ์ฒดํฌํ•˜๊ณ  ๊ฒ€ํ†  ๋ฐ ์‹œ์ž‘ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค. ์ญ‰์ญ‰ ๋„˜์–ด์™€์„œ 7๋‹จ๊ณ„์—์„œ ๋ณด์•ˆ ๊ทธ๋ฃน ํŽธ์ง‘์„ ํด๋ฆญํ•ด์ค๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ์šฉ์ด๊ธฐ์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ „์„ธ๊ณ„ ๋ˆ„๊ตฌ๋‚˜ ์•„๋ฌด ๊ณณ์—์„œ ๋“ค์–ด์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฒ€ํ†  ๋ฐ ์‹œ์ž‘ ..

article thumbnail
[AWS] HTTP to HTTPS๋กœ ๋ฐฐํฌํ•˜๊ธฐ (S3 ๊ธฐ์ค€)
AWS 2021. 5. 21. 20:39

์ด์ „ ๊ธ€ 'Route 53 ๋„๋ฉ”์ธ ๊ตฌ๋งค ํ›„ ์—ฐ๊ฒฐํ•˜๊ธฐ'์—์„œ ๋„๋ฉ”์ธ ๊ตฌ๋งค ํ›„ S3์™€ ์—ฐ๋™์‹œ์ผฐ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Http๋กœ ์ ‘์†๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ Https๋กœ ๋ฐ”๊ฟ”๋ณด๋Š” ์ž‘์—…์„ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Https๋กœ ๋ฐ”๊พธ๊ธฐ ์œ„ํ•ด์„œ๋Š” S3, CloudFront, AWS Certificate Manager, Route53 ์„ ์ด์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. S3๋Š” ์ •์ ์ธ ์›น ํ˜ธ์ŠคํŒ…์ด์—ฌ์„œ EC2์™€ ๊ฐ™์€ ๋™์ ์ธ ์›น ํ˜ธ์ŠคํŒ…์˜ Https๋Š” EC2์˜ Load Balancer๋ฅผ ์ด์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Route53์—์„œ ๋„๋ฉ”์ธ ๊ตฌ๋งค ํ›„ S3๋กœ ๋ฐฐํฌํ–ˆ๋‹ค๋Š” ๊ฐ€์ •ํ•˜์— ์ง„ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. AWS Certificate Manager AWS์— ์ ‘์†ํ•˜์…”์„œ Certificate Manager๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ฃผ์˜ํ•  ์ ์ด ์žˆ๋Š”๋ฐ ๋ฐ˜๋“œ์‹œ ๋ฏธ๊ตญ๋™๋ถ€(๋ฒ„์ง€๋‹ˆ์•„ ๋ถ๋ถ€)us-east-1๋กœ ..

article thumbnail
[AWS] Route 53 ๋„๋ฉ”์ธ ๊ตฌ๋งค ํ›„ ์—ฐ๊ฒฐํ•˜๊ธฐ
AWS 2021. 5. 19. 14:19

๊ธ€์ž๊ฐ€ ๊ฒ€์€ ์ƒ‰์œผ๋กœ ๋ณด์ผ ์‹œ ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์— ๋‹ฌ ๋ชจ์–‘์„ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š” :) Amazon Route 53๋Š” ๋†’์€ ๊ฐ€์šฉ์„ฑ๊ณผ ํ™•์žฅ์„ฑ์ด ๋›ฐ์–ด๋‚œ ํด๋ผ์šฐ๋“œ ์›น ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ํ™ˆํŽ˜์ด์ง€ ๊ฐ€์‹œ๋ฉด ๋” ์ž์„ธํžˆ ๋ณด์‹ค ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ๋„๋ฉ”์ธ์„ ๊ตฌ๋งคํ•˜์—ฌ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ € ๊ฐ™์€ ๊ฒฝ์šฐ ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ example.com ์˜ ๋„๋ฉ”์ธ์„ ๊ฐ€์ง„ ์›น ์‚ฌ์ดํŠธ๋กœ ๋งŒ๋“ค๊ณ  ์‹ถ์–ด์„œ ์นดํŽ˜24, ๊ฐ€๋น„์•„ ๋“ฑ์„ ์•Œ์•„๋ณด๋‹ค๊ฐ€ AWS S3, EC2, RDS ๋“ฑ AWS ๊ด€๋ จํ•œ ํด๋ผ์šฐ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ ์ ์ด ์žˆ์–ด์„œ ์ด๋ฒˆ์—๋„ AWS Route 53์„ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. AWS๋Š” 1๋…„ ๊ธฐ์ค€ ํ•œํ™” 15,000์›(com ๊ธฐ์ค€, 12$) ์ •๋„์ž…๋‹ˆ๋‹ค. ์นดํŽ˜24๊ฐ€ 22,000์›, ๊ฐ€๋น„์•„๊ฐ€ 13,500์› ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์นดํŽ˜24์—์„œ .com์ด ๋“ฑ๋ก๋ถˆ..

article thumbnail
[Java] ์ž๋ฐ”์˜ ๋™์ž‘๊ณผ์ • Java Compiler์™€ JVM
... 2021. 5. 11. 14:12

์ดํด๋ฆฝ์Šค์—์„œ *.java๋ฅผ ๋‹จ์ถ•ํ‚ค ๋ˆŒ๋Ÿฌ์„œ ์‹คํ–‰์‹œํ‚ฌ ์ค„๋งŒ ์•Œ์•˜์ง€ *.java ํŒŒ์ผ์ด ์–ด๋– ํ•œ ๊ณผ์ •์„ ๊ฑฐ์ณ ์‹คํ–‰์ด ๋˜๋Š”์ง€๋Š” ์•Œ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ž๋ฐ” ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์–ด๋–ค ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ์–ด๋””์„œ ๋งŽ์ด ๋“ค์–ด๋ณธ JVM์€ ๋ฌด์—‡์ธ์ง€ ๊ทธ๋ฆฌ๊ณ  ์ž๋ฐ”์—์„œ *.java๋ฅผ ์–ด๋–ป๊ฒŒ ์ปดํ“จํ„ฐ๊ฐ€ ์‹คํ–‰์‹œํ‚ค๋Š” ์ง€์— ๋Œ€ํ•œ ๊ณผ์ •์„ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํ‹€๋ฆฐ ๋ถ€๋ถ„์ด๋‚˜ ์งˆ๋ฌธ ์‚ฌํ•ญ์ด ์žˆ์œผ์‹œ๋ฉด ์–ธ์ œ๋“ ์ง€ ๋ง์”€ํ•ด์ฃผ์„ธ์š” :) ์ „์ฒด์ ์ธ ์ž๋ฐ”์˜ ์‹คํ–‰๊ณผ์ • ์œ„ ๊ทธ๋ฆผ์€ ์ „์ฒด์ ์ธ ์ž๋ฐ”์˜ ์‹คํ–‰๊ณผ์ •์„ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค ๋” ๊นŠ์ˆ™์ด ํŒŒ๊ณ ๋“ค๋ฉด ์ด๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ๋งŽ์€ ๊ฒƒ๋“ค์ด ์กด์žฌํ•˜์ง€๋งŒ, ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ด์ •๋„๋งŒ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•ต์‹ฌํ‚ค์›Œ๋“œ *Java Compiler , *JVM , *Interpreter , *JIT compiler Java Compiler with binar..

profile on loading

Loading...