λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

πŸ—£ Language에 ν•΄λ‹Ήν•˜λŠ” κΈ€λ“€

47 Articles matched
λͺ©λ‘μ΄ μ—†μŠ΅λ‹ˆλ‹€.
Java νž™λ€ν”„ 뢄석 (Out of memoryν˜„μƒμ΄ μ•„λ‹Œ μˆ˜λ™λΆ„μ„) μ–΄..? λ©”λͺ¨λ¦¬ λΆ€μ‘±..? μ„œλ²„ 운영 쀑에 κ°„ν—μ μœΌλ‘œ 접속 μž₯μ• κ°€ λ°œμƒν–ˆλ‹€. 우리 μ„œλ²„μ—λŠ” scouter둜 λͺ¨λ‹ˆν„°λ§ μ‹œμŠ€ν…œμ„ κ΅¬μΆ•ν•΄λ†“μ•˜μ—ˆκ³  이상 증상이 있으면 사내 slack에 νŠΉμ • μ±„λ„λ‘œ μ•Œλ¦Όμ΄ 였게 ν•΄λ‘μ—ˆλ‹€. λ©°μΉ  μ „λΆ€ν„° μ„œλ²„μ˜ λ©”λͺ¨λ¦¬κ°€ λΆ€μ‘±ν•˜λ‹€λŠ” μ•Œλ¦Όμ΄ 였기 μ‹œμž‘ν–ˆλ‹€. ν•˜μ§€λ§Œ λ‹€λ₯Έ 업무듀이 λ°€λ € μžˆμ–΄μ„œ 신경쓰지 λͺ»ν–ˆλ‹€. 상황 λ°œμƒ!! 비상!! 그런데 μ–΄μ œλΆ€ν„° νŠΉμ • μ‚¬μ΄νŠΈμ— 접속이 κ°„ν—μ μœΌλ‘œ μ•ˆλœλ‹€λŠ” λ¬Έμ˜κ°€ λ“€μ–΄μ™”λ‹€. 확인을 μ•ˆν•  수 μ—†λŠ” 상황이 λ˜μ—ˆλ‹€. μš°λ¦¬λŠ” μ•„νŒŒμΉ˜ μ›Ήμ„œλ²„λ₯Ό μ•žμ— 두고 λ‘œλ“œλ°ΈλŸ°μ„œμ²˜λŸΌ μ‚¬μš©ν•˜κ³  μžˆμ—ˆλ‹€. κ·Έ λ’€μ—λŠ” Tomcat WASλ₯Ό μ΄μ€‘ν™”ν•΄λ†“μ•˜κ³  이 쀑에 ν•œ μ„œλ²„μ—μ„œλ§Œ λ©”λͺ¨λ¦¬κ°€ λΆ€μ‘±ν•΄μ Έ μžˆμ—ˆλ‹€. λ¬Όλ‘  λ‚˜λ¨Έμ§€ ν•œ μ„œλ²„λ„ λ©”λͺ¨λ¦¬κ°€ 많이 μ˜¬λΌμ™€μžˆκΈ°λŠ” λ§ˆμ°¬κ°€μ§€μ˜€λ‹€. μš°μ„  tomcat을 ..
[Java] jmap μ‚¬μš©ν•˜μ—¬ JVM μƒνƒœ 확인 Java μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ°°ν¬ν•˜κ³  μ„œλ²„ μœ μ§€λ₯Ό ν•˜λŠ” κ²½μš°μ— JVM의 μƒνƒœλ₯Ό ν™•μΈν•΄μ•Όν•˜λŠ” 상황이 μ’…μ’… λ°œμƒν•œλ‹€. 이 λ•Œ λ‹€λ₯Έ ν”„λ‘œκ·Έλž¨μ΄λ‚˜ νŒ¨ν‚€μ§€ μ„€μΉ˜ 없이 λ°”λ‘œ μ‚¬μš©ν•  수 μžˆλŠ” κ°„λ‹¨ν•œ 방법이 λ°”λ‘œ jmap을 ν™œμš©ν•˜μ—¬ ν™•μΈν•˜λŠ” 방법이닀. 방법은 μ•„λž˜μ™€ 같이 κ°„λ‹¨ν•˜λ‹€. (Java λ²„μ „λ³„λ‘œ 쑰금 λ‹€λ₯Ό 수 μžˆλ‹€) java 11 이전 버전 $ jmap --heap java 11 포함 이후 버전 $ jhsdb jmap --heap --pid * jhsdb κ΄€λ ¨ λ¬Έμ„œλŠ” 였라클 λ¬Έμ„œ μ°Έμ‘°: https://docs.oracle.com/javase/9/tools/jhsdb.htm#JSWOR-GUID-0345CAEB-71CE-4D71-97FE-AA53A4AB028E μ‹€ν–‰ κ²°κ³Ό (jdk 11 버전 κΈ°μ€€) $ jhsdb jmap ..
[Ubuntu] μ‹œμž‘ 슀크립트(init script) μž‘μ„± 및 λ“±λ‘ν•˜κΈ° μ„œλ²„λ₯Ό μ…‹νŒ…ν•˜κ³  μš΄μ˜ν•˜λ‹€λ³΄λ©΄ 가끔 μ„œλ²„κ°€ λ‹€μš΄λ˜λŠ”(λ»—λŠ”?) ν˜„μƒμ΄ μžˆλ‹€. 이런 경우 μž¬λΆ€νŒ…μ„ ν†΅ν•΄μ„œ μ„œλ²„λ₯Ό λ‹€μ‹œ μ‚΄λ €μ£Όμ–΄μ•Όν•˜λŠ”λ° μž¬λΆ€νŒ…μ€ ν–ˆλŠ”λ° μ›Ήμ„œλ²„(λ˜λŠ” λ‹€λ₯Έ λͺ©μ μ˜ μ„œλ²„)κ°€ μ •μƒμ μœΌλ‘œ μž‘λ™ν•˜μ§€ μ•ŠλŠ”λ‹€. 처음 μ…‹νŒ…ν•  λ•Œ μž‘μ—…λ“€ 쀑에 ν•΄μ£Όμ–΄μ•Όν•  λͺ‡λͺ‡ μž‘μ—…λ“€μ΄ μžˆλŠ”λ° μ΄λŸ°κ²ƒλ“€μ„ μž¬λΆ€νŒ… μ‹œ μ•Œμ•„μ„œ 되게 μ²˜μŒμ— ν•΄λ†“μœΌλ©΄ μ•ˆκ·Έλž˜λ„ λ‹Ήν™©μŠ€λŸ¬μš΄ μ„œλ²„μ˜ νŒŒμ—…μ„ μ–Έμ— μ‘°κΈˆμ΄λ‚˜λ§ˆ μΉ¨μ°©ν•˜κ²Œ λŒ€μ‘ν•  수 μžˆμ„ 것이닀. 1. μ‰˜ 슀크립트 μž‘μ„± 2. μ‰˜μŠ€ν¬λ¦½νŠΈ μ‹€ν–‰κΆŒν•œ μ„€μ • 3. μ‹œμž‘μŠ€ν¬λ¦½νŠΈ 등둝 1. μ‰˜ 슀크립트 μž‘μ„± μš°μ„  λ™μž‘ν•  μ‰˜ 슀크립트λ₯Ό μž‘μ„±ν•΄μ€€λ‹€. # vi /etc/init.d/슀크립트파일λͺ… vi /etc/init.d/startup.sh #!/bin/bash ### BEGIN INIT INFO # Provides: s..
[Javascript] κΈ°λ³Ένƒ€μž… Javascript의 κΈ°λ³Ένƒ€μž…(Primitive type)은 λ‹€μŒκ³Ό 같이 6가지가 μžˆμŠ΅λ‹ˆλ‹€. Javascript κΈ°λ³Ένƒ€μž… 6가지 1. 숫자 (number) λ‹€λ₯Έ μ–Έμ–΄μ™€λŠ” λ‹€λ₯΄κ²Œ JavascriptλŠ” μˆ«μžμ— λŒ€ν•΄μ„œ μ •μˆ˜, μ‹€μˆ˜λ₯Ό λ‚˜λˆ„μ§€ μ•Šκ³  λͺ¨λ“  수λ₯Ό μ‹€μˆ˜λ‘œ ν‘œν˜„ν•©λ‹ˆλ‹€. μš°λ¦¬κ°€ ν‰μ†Œ κ°œλ°œν•  λ•Œμ— μ •μˆ˜λ‘œ ν‘œν˜„ν•˜λŠ” μˆ«μžλ“€μ€ λͺ¨λ‘ μ†Œμˆ˜μ μ„ ν‘œκΈ°ν•˜μ§€ μ•Šμ€ μ‹€μˆ˜λ‘œ μΈμ‹λ©λ‹ˆλ‹€. λ˜ν•œ 맀우 큰 수 λ˜λŠ” 맀우 μž‘μ€ μˆ˜λŠ” 뒀에 μ•ŒνŒŒλ²³ eλ₯Ό λΆ™μ—¬μ„œ ν‘œν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 10 -> 10.0 10.0 -> 10.0 10e6 -> 10000000 10-e6 -> 0.00001 2. λ¬Έμžμ—΄ (string) ν™‘λ”°μ˜΄ν‘œ=μž‘μ€λ”°μ˜΄ν‘œ(') λ˜λŠ” μŒλ”°μ˜΄ν‘œ=ν°λ”°μ˜΄ν‘œ(")둜 λ‘˜λŸ¬μ‹ΈμΈ λ¬Έμžλ“€μ„ λ§ν•©λ‹ˆλ‹€. ν°λ”°μ˜΄ν‘œλŠ” μž‘μ€λ”°μ˜΄ν‘œλ‘œ λ‘˜λŸ¬μ‹ΈμΈ λΆ€λΆ„μ—λ§Œ ..
[JAVA] split λΉˆκ°’ 처리 λ¬Έμ œμƒν™© Java μ„œλΈ”λ¦Ώ λ‘œμ§μ—μ„œ splitν•˜λŠ” 둜직이 μžˆμ—ˆλŠ”λ° μ•„λž˜μ™€ 같은 μƒν™©μ—μ„œ μ˜λ„μΉ˜ μ•Šμ€ λ™μž‘μ΄ λ°œκ²¬λ˜μ—ˆμŠ΅λ‹ˆλ‹€. String data = "1,2,3,,,"; String[] split_data = data.split(","); System.out.println("split length : " + split_data.length); for (String str : split_data) { System.out.println(str); } μœ„μ˜ λ‘œμ§μ„ λŒλ €λ³΄μ•˜μ„ λ•Œ μ˜ˆμƒλ˜λŠ” 좜λ ₯값은 μ•„λž˜μ™€ κ°™μ•˜μŠ΅λ‹ˆλ‹€. split length : 6 1 2 3 μ›λž˜ μ˜ˆμƒν–ˆλ˜ 좜λ ₯ λ‚΄μš© ν•˜μ§€λ§Œ μ˜ˆμƒκ³ΌλŠ” 달리 μ•„λž˜μ™€ 같이 좜λ ₯λ˜μ—ˆμŠ΅λ‹ˆλ‹€. split length : 3 1 2 3 Javaμ—μ„œ splitλ©”μ„œλ“œμ˜ κΈ°λ³Έλ™μž‘μ€ ..
[Javascript] 이메일 검증 μ •κ·œμ‹ (졜근 ν˜•μ‹) ꡬ글에 이메일 검증 μ •κ·œμ‹μ„ κ²€μƒ‰ν•˜λ©΄ λ§Žμ€ μ •κ·œμ‹λ“€μ΄ λ‚˜μ˜€μ§€λ§Œ λŒ€λΆ€λΆ„ μ˜ˆμ „μ— μž‘μ„±λœ κΈ€μ΄μ–΄μ„œ μ΅œκ·Όμ— λ³€κ²½λœ 이메일 ν˜•μ‹μ— λŒ€ν•΄μ„œλŠ” μ ν•©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ΅œκ·Όμ—λŠ” 이메일에 λ§Žμ€ νŠΉμˆ˜λ¬Έμžκ°€ ν—ˆμš©μ΄ λ˜μ—ˆκ³  이에 λ”°λΌμ„œ μ •κ·œμ‹λ„ μ—…λ°μ΄νŠΈκ°€ ν•„μš”ν•΄μ‘ŒμŠ΅λ‹ˆλ‹€. 이메일 검증 μ •κ·œμ‹ const EMAIL_REGEX = /^(([^()\[\]\.,;:\s@\"]+(\.[^()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^()[\]\.,;:\s@\"]+\.)+[^()[\]\.,;:\s@\"]{2,})$/i // 이메일 ν˜•μ‹μ΄ λ§žμ§€ μ•Šμ„ 경우 (not valid) if (!EMAIL_REGEX.test('test@test.com')) { something do.. } // λ˜λŠ” // 이메일 ν˜•μ‹μ΄ λ§žμ§€ μ•Šμ„ 경우..
[Shell Script] μ‰˜μŠ€ν¬λ¦½νŠΈ 쑰건문 정리 μ‰˜μŠ€ν¬λ¦½νŠΈλŠ” λŒ€ν•™κ΅ ν•™λΆ€μƒμœΌλ‘œ κ°•μ˜ μ‹œκ°„μ— 만져본 ν›„λ‘œλŠ” μ „ν˜€ 손을 λŒ€μ§€ μ•Šμ•˜λ˜ μ˜μ—­μΈλ°μš” μ΄λ²ˆμ— μ ‘ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. μš”μ¦˜μ—λŠ” λ°°ν¬νˆ΄λ“€μ΄ μ›Œλ‚™ 잘 λ‚˜μ˜€κ³  잘 λ˜μ–΄μžˆκΈ° λ•Œλ¬Έμ— 운영되고 μžˆλŠ” μ„œλΉ„μŠ€λ₯Ό μˆ˜μ •ν•˜κΈ°κ°€ μ°Έ νŽΈν•œλ°μš” jenkinsλ₯Ό μ‚¬μš©ν•΄μ„œ λ°°ν¬ν•˜λŠ” κ²½μš°μ— item을 λ§Œλ“€μ–΄μ„œ ν•΄λ‹Ή item에 μ‰˜μŠ€ν¬λ¦½νŠΈλ₯Ό μž‘μ„±ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ €λŠ” 배포 μ‹œ μœ μ—°ν•˜κ²Œ λ™μž‘μ‹œν‚€κΈ° μœ„ν•΄μ„œ μ‰˜μŠ€ν¬λ¦½νŠΈμ˜ 기본적인 문법을 곡뢀해야겠닀 생각이 λ“€μ—ˆκ³  이 ν¬μŠ€νŒ…μ—μ„œ 닀뀄보렀고 ν•©λ‹ˆλ‹€. (이미 μ‰˜μŠ€ν¬λ¦½νŠΈλ₯Ό 잘 μ•„μ‹œκ±°λ‚˜ 잘 λ‹€λ£¨μ‹œλŠ” 뢄듀은 의미 μ—†λŠ” ν¬μŠ€νŒ…μ΄ 될 수 μžˆμŠ΅λ‹ˆλ‹€) μ‰˜μŠ€ν¬λ¦½νŠΈ(Shell script) μ‰˜μŠ€ν¬λ¦½νŠΈλŠ” λ¦¬λˆ…μŠ€κΈ°λ°˜ μš΄μ˜μ²΄μ œμ—μ„œ λ™μž‘ν•˜λŠ” μ‰½κ²Œλ§ν•΄ ν”„λ‘œκ·Έλž¨μ΄λΌκ³  λ³΄μ‹œλ©΄ λ©λ‹ˆλ‹€. μœˆλ„μš°μ—μ„œ λ™μž‘ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ€ ν™•μž₯μžκ°€ ...
[JAVA] Arrays.asList java.lang.UnsupportedOperationException ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜λ‹€κ°€ 원본 λ°°μ—΄λ₯Ό λ³΅μ‚¬ν•œ 후에 λ³΅μ‚¬λœ λ°°μ—΄μ•ˆμ— μΆ”κ°€ν•΄μ•Όν•˜λŠ” 상황이 μƒκ²ΌμŠ΅λ‹ˆλ‹€. λ‹¨μˆœν•œ μž‘μ—…μ΄μ§€λ§Œ μ²˜μŒμ— μ–΄λ–»κ²Œ μž˜λΌμ„œ μ–΄λ–»κ²Œ μ‚¬μš©ν•΄μ•Όν• μ§€ λ­”κ°€ μ‰¬μš΄ 방법은 없을지 μƒκ°ν•˜λ©° 찾아보닀가 Arrays.asListλΌλŠ” λ©”μ„œλ“œλ₯Ό λ°œκ²¬ν–ˆκ³  이λ₯Ό 톡해 배열을 리슀트둜 λ³€κ²½(casting)ν•˜μ—¬ add λ©”μ„œλ“œλ₯Ό ν†΅ν•΄μ„œ λ¦¬μŠ€νŠΈμ— 좔가해보렀고 ν–ˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ 제λͺ©κ³Ό 같은 μ—λŸ¬κ°€ λ°œμƒν–ˆκ³  또 λ‹€μ‹œ ꡬ글링을 ν•˜λ‹€λ³΄λ‹ˆ λ°œκ²¬ν•œ λ‚΄μš©μž…λ‹ˆλ‹€. Arrays.asList둜 μƒμ„±λœ Listκ°μ²΄λŠ” immutableν•œ κ°μ²΄μ΄λ―€λ‘œ add λ˜λŠ” removeλ₯Ό μ§€μ›ν•˜μ§€ μ•ŠλŠ”λ‹€. immutableν•˜λ‹€λŠ”κ²Œ μ²˜μŒμ—λŠ” 무슨 μ˜λ―ΈμΈμ§€ 와닿지 μ•Šμ•„μ„œ μ˜μ–΄ 단어λ₯Ό μ°Ύμ•„λ³΄μ•˜μŠ΅λ‹ˆλ‹€. immutableν•˜λ‹€λŠ”κ²ƒμ€ λ³€ν•  수 μ—†λ‹€λŠ” 의미이고 Arrays..