λ‘œμΌ“πŸΎ
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..

profile on loading

Loading...