λ°˜μ‘ν˜•

Programming 76

[TypeScript] Property 'offsetTop' does not exist on type 'Element'.ts(2339) 였λ₯˜

Intro νƒ€μž…μŠ€ν¬λ¦½νŠΈλ₯Ό μ‚¬μš©ν•˜λ˜ 도쀑 μ•„λž˜μ™€ 같은 μ—λŸ¬κ°€ λ°œμƒν•˜μ˜€μŠ΅λ‹ˆλ‹€. Property 'offsetTop' does not exist on type 'Element'.ts(2339) Why? document.querySelector('.page').offsetTop λ‹€μŒμ˜ μ½”λ“œκ°€ μžˆλ‹€κ³  κ°€μ •ν•΄λ΄…μ‹œλ‹€. 이 μ½”λ“œλŠ” λ§žλŠ” μ½”λ“œμ΄μ§€λ§Œ, 결과값이 null이 될 수 μžˆμœΌλ―€λ‘œ null 체크λ₯Ό ν•΄μ€˜μ•Ό ν•©λ‹ˆλ‹€. λ‘λ²ˆμ§Έλ‘œλŠ”, ν˜„μž¬ 리턴 νƒ€μž…μ€ Elementμž…λ‹ˆλ‹€. ν•˜μ§€λ§Œ ElementλŠ” offsetTopμ΄λΌλŠ” ν”„λ‘œνΌν‹°λ₯Ό κ°–κ³  μžˆμ§€ μ•ŠμŠ΅λ‹ˆλ‹€. HtmlElement둜 λ°˜ν™˜λ  것이라고 μ˜ˆμƒν•  순 μžˆμ§€λ§Œ, SVGElementκ°€ 될 수 있기 λ•Œλ¬Έμ— μ»΄νŒŒμΌλŸ¬μ—κ²ŒλŠ” 이 정보가 μ •ν™•ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ 이 λΆ€λΆ„ μ—­μ‹œ type-a..

[Java] overloading μ΄λž€? μ˜€λ²„λ‘œλ”© 뜻

이 글은 μƒν™œμ½”λ”©μ˜ 'Java' κ°•μ’Œλ₯Ό λ°”νƒ•μœΌλ‘œ μ •λ¦¬ν•œ λ‚΄μš©μž…λ‹ˆλ‹€. 같은 μ΄λ¦„μ΄μ§€λ§Œ μ„œλ‘œ λ‹€λ₯Έ λ§€κ°œλ³€μˆ˜μ˜ ν˜•μ‹μ„ κ°€μ§„ λ©”μ†Œλ“œλ₯Ό μ—¬λŸ¬κ°œ μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. class Calculator{ int left, right; int third = 0; public void setOprands(int left, int right){ System.out.println("setOprands(int left, int right)"); this.left = left; this.right = right; } public void setOprands(int left, int right, int third){ System.out.println("setOprands(int left, int right, int third)");..

Programming/Java 2022.11.01

[Java] overriding μ˜€λ²„λΌμ΄λ”©μ΄λž€?

이 글은 μƒν™œμ½”λ”©μ˜ 'Java' κ°•μ’Œλ₯Ό λ°”νƒ•μœΌλ‘œ μ •λ¦¬ν•œ λ‚΄μš©μž…λ‹ˆλ‹€. 창의적인 상속 상속은 μƒμœ„ 클래슀의 κΈ°λŠ₯을 ν•˜μœ„ ν΄λž˜μŠ€μ—κ²Œ λ¬Όλ €μ£ΌλŠ” κΈ°λŠ₯μž…λ‹ˆλ‹€. κ·Έλ ‡λ‹€λ©΄ ν•˜μœ„ ν΄λž˜μŠ€λŠ” μƒμœ„ 클래슀의 λ©”μ†Œλ“œλ₯Ό μ£Όμ–΄μ§„ κ·ΈλŒ€λ‘œ μ‚¬μš©ν•΄μ•Ό ν• κΉŒμš”? λ§Œμ•½ κ·Έλž˜μ•Ό ν•œλ‹€λ©΄ μ œμ•½μ΄ 상당할 κ²ƒμž…λ‹ˆλ‹€. 이런 μ œμ•½μ„ λ²—μ–΄λ‚˜λ €λ©΄ ν•˜μœ„ ν΄λž˜μŠ€κ°€ λΆ€λͺ¨ 클래슀의 기본적인 λ™μž‘λ°©λ²•μ„ λ³€κ²½ν•  수 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. 이런 λ§₯λ½μ—μ„œ λ„μž…λœ κΈ°λŠ₯이 λ©”μ†Œλ“œ μ˜€λ²„λΌμ΄λ”©(overriding)μž…λ‹ˆλ‹€. package org.opentutorials.javatutorials.overriding.example1; class Calculator { int left, right; public void setOprands(int left, int right) { this.l..

Programming/Java 2022.10.25

[Java] 상속과 μƒμ„±μž

이 글은 μƒν™œμ½”λ”©μ˜ 'Java' κ°•μ’Œλ₯Ό λ°”νƒ•μœΌλ‘œ μ •λ¦¬ν•œ λ‚΄μš©μž…λ‹ˆλ‹€. 상속과 μƒμ„±μž package org.opentutorials.javatutorials.Inheritance.example4; public class ConstructorDemo { public static void main(String[] args) { ConstructorDemo c = new ConstructorDemo(); } } μœ„ μ½”λ“œλŠ” μ—λŸ¬κ°€ λ°œμƒν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ConstructorDemo 객체λ₯Ό 생성할 λ•Œ μžλ™μœΌλ‘œ μƒμ„±μžλ₯Ό λ§Œλ“€μ–΄μ£ΌκΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. package org.opentutorials.javatutorials.Inheritance.example4; public class ConstructorDemo { public C..

Programming/Java 2022.10.25

[Java] 상속

이 글은 μƒν™œμ½”λ”©μ˜ 'Java' κ°•μ’Œλ₯Ό λ°”νƒ•μœΌλ‘œ μ •λ¦¬ν•œ λ‚΄μš©μž…λ‹ˆλ‹€. μƒμ†μ΄λž€? 객체 μ§€ν–₯μ—μ„œ κ°€μž₯ μ€‘μš”ν•œ λͺ©ν‘œ 쀑 ν•˜λ‚˜λŠ” λ°”λ‘œ μž¬ν™œμš©μ„±μž…λ‹ˆλ‹€. 상속은 객체지ν–₯의 μž¬ν™œμš©μ„±μ„ κ·ΉλŒ€ν™”μ‹œν‚¨ ν”„λ‘œκ·Έλž˜λ° 기법이라고 ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ™μ‹œμ— 객체 μ§€ν–₯을 λ³΅μž‘ν•˜κ²Œ ν•˜λŠ” μ£Όμš” 원인이라고도 ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 상속(Inheritance)μ΄λž€ λ¬Όλ €μ€€λ‹€λŠ” μ˜λ―Έμž…λ‹ˆλ‹€. μ–΄λ–€ 객체가 μžˆμ„ λ•Œ κ·Έ 객체의 ν•„λ“œ(λ³€μˆ˜)와 λ©”μ†Œλ“œλ₯Ό λ‹€λ₯Έ 객체가 물렀받을 수 μžˆλŠ” κΈ°λŠ₯을 상속이라고 ν•©λ‹ˆλ‹€. package org.opentutorials.javatutorials.object; class Calculator{ int left, right; public void setOprands(int left, int right){ this.left = l..

Programming/Java 2022.10.24

[Java] μ΄ˆκΈ°ν™”μ™€ μƒμ„±μž

이 글은 μƒν™œμ½”λ”©μ˜ 'Java' κ°•μ’Œλ₯Ό λ°”νƒ•μœΌλ‘œ μ •λ¦¬ν•œ λ‚΄μš©μž…λ‹ˆλ‹€. μ΄ˆκΈ°ν™” μ–΄λ–€ 일을 μ‹œμž‘ν•˜κΈ° 전에 μ€€λΉ„ν•˜κ²Œ λ˜λŠ”λ°, 이λ₯Ό μ΄ˆκΈ°ν™”λΌκ³  ν•©λ‹ˆλ‹€. 객체 μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ°λ„ μ΄ˆκΈ°ν™”μ— ν•΄λ‹Ήν•˜λŠ” κΈ°λŠ₯이 μ œκ³΅λ˜λŠ”λ° 이λ₯Ό μƒμ„±μž (constructor)라고 ν•©λ‹ˆλ‹€. μ•žμ„œ μ‚΄νŽ΄λ΄€λ˜ 계산기 예제λ₯Ό λ‹€μ‹œ λ΄…μ‹œλ‹€. Calculator c1 = new Calculator(); c1.setOprands(10, 20); c1.sum(); c1.avg(); λ©”μ†Œλ“œ setOperands의 κ°’μœΌλ‘œ 10κ³Ό 20을 μ§€μ •ν–ˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” 객체 λ‚΄λΆ€μ—μ„œ μΈμŠ€ν„΄μŠ€ λ³€μˆ˜ leftκ³Ό right의 κ°’μœΌλ‘œ μ„€μ •λ˜μ–΄ μœ μ§€λ©λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ•„λž˜μ™€ 같이 λ©”μ†Œλ“œ setOperands ν˜ΈμΆœν•˜κΈ° 전에 sumκ³Ό avgλ₯Ό ν˜ΈμΆœν•œλ‹€λ©΄ μ›ν•˜λŠ” κ²°κ³Όλ₯Ό 얻을 수 μ—†μŠ΅λ‹ˆλ‹€. C..

Programming/Java 2022.10.24

[JavaScript] 읡λͺ…ν•¨μˆ˜(Anonymous function) λž€ 무엇인가?

Intro javascript의 읡λͺ…ν•¨μˆ˜μ— λŒ€ν•΄ μ•Œμ•„λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€. Anonymous function 읡λͺ… ν•¨μˆ˜λŠ” μ—°κ²°λœ 이름이 μ—†λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€. 일반적으둜 JavaScriptμ—μ„œ ν•¨μˆ˜λ₯Ό μ •μ˜ν•˜κΈ° μœ„ν•΄ ν•¨μˆ˜ 이름 μ•žμ— function ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜μ§€λ§Œ JavaScript의 읡λͺ… ν•¨μˆ˜μ—μ„œλŠ” ν•¨μˆ˜ 이름 없이 function ν‚€μ›Œλ“œλ§Œ μ‚¬μš©ν•©λ‹ˆλ‹€. 읡λͺ… ν•¨μˆ˜λŠ” 처음 μƒμ„±λœ ν›„μ—λŠ” μ ‘κ·Όν•  수 μ—†μœΌλ©° κ°’μœΌλ‘œ ν•¨μˆ˜λ‘œ μ €μž₯된 λ³€μˆ˜λ‘œλ§Œ μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€. 읡λͺ… ν•¨μˆ˜λŠ” μ—¬λŸ¬ 인수λ₯Ό κ°€μ§ˆ μˆ˜λ„ μžˆμ§€λ§Œ ν•˜λ‚˜μ˜ ν‘œν˜„μ‹λ§Œ κ°€μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€. Syntax function() { // Function Body } → function ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ μ„ μ–Έν•˜μ˜€μŠ΅λ‹ˆλ‹€. ( () => { // Function Body... } )..

[Html] input tag μ΅œμ†Œκ°’(min)κ³Ό μ΅œλŒ€κ°’(max) μ„€μ •ν•˜λŠ” 방법

Intro input tag μ—μ„œ μ΅œμ†Œκ°’κ³Ό μ΅œλŒ€κ°’μ„ μ„€μ •ν•˜λŠ” 방법에 λŒ€ν•΄ μ•Œμ•„λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€. Syntax 숫자 (number) : μ΅œμ†Ÿκ°’ ν˜Ήμ€ μ΅œλŒ€κ°’μ„ λͺ…μ‹œν•¨ λ‚ μ§œ (date) : μ΅œμ†Ÿκ°’ ν˜Ήμ€ μ΅œλŒ€κ°’μ„ λͺ…μ‹œν•¨ Example http://www.tcpschool.com/html-tag-attrs/input-min

Programming/Html 2022.10.07

[Kotlin] μ΄μŠ€μΌ€μ΄ν”„ 문자 (escape character) 와 RAW λ¬Έμžμ—΄

Intro μ½”ν‹€λ¦°μ—μ„œμ˜ μ΄μŠ€μΌ€μ΄ν”„ 문자 (escape character), 그리고 Raw에 λŒ€ν•΄ μ•Œμ•„λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€. Escape character μ΄μŠ€μΌ€μ΄ν”„ λ¬Έμžλž€, λ¬Έμžμ—΄ λ‚΄μ—μ„œ νŠΉμˆ˜ν•œ κΈ°λŠ₯을 μˆ˜ν–‰ν•˜λŠ” λ¬Έμžμž…λ‹ˆλ‹€. μ—­μŠ¬λž˜μ‹œ(\) κΈ°ν˜Έκ°€ 뢙은 νŠΉμˆ˜ν•œ κΈ°λŠ₯을 ν•˜λŠ” 문자 λ¦¬ν„°λŸ΄ μž…λ‹ˆλ‹€. 즉 λ¬Έμžμ—΄ μ•ˆμ—μ„œ νŠΉλ³„ν•œ 의미둜 ν•΄μ„λ˜λŠ” λ¬Έμžμž…λ‹ˆλ‹€. ꡬ뢄 의미 \a 경고음 좜λ ₯ \n 쀄 λ°”κΏˆ, κ°œν–‰ (new line) \t μˆ˜ν‰ νƒ­μœΌλ‘œ μΌμ •ν•œ 가격 λ„μš°κΈ°, νƒ­ (tab) \b 백슀페이슀둜 λ’€λ‘œ ν•œ μΉΈ 이동 (backspace) \r λ™μΌν•œ μ€„μ˜ 맨 μ•ž 칸으둜 μ»€μ„œ 이동 (carriage return) \f 좜λ ₯ μš©μ§€λ₯Ό ν•œ νŽ˜μ΄μ§€ λ„˜κΉ€ (form feed) \\ \(μ—­μŠ¬λž˜μ‹œ) 문자 좜λ ₯ \' 'μž‘μ€ λ”°μŒν‘œ 문자 좜λ ₯..

Programming/Kotlin 2022.10.05

[JavaScript] Axios 였λ₯˜ 처리 / catch λ¬Έμ—μ„œ Status Code λ°›μ•„μ˜€λŠ” 방법

Intro Axios의 catch() λ¬Έμ—μ„œ Status Code λ₯Ό λ°›μ•„μ˜€λŠ” 방법에 λŒ€ν•΄ μ•Œμ•„λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ λ‹€μŒμ˜ axios μš”μ²­μ΄ μžˆλ‹€κ³  κ°€μ •ν•΄ λ΄…μ‹œλ‹€. axios .get('foo.example') .then((response) => {}) .catch((error) => { console.log(error); //Logs a string: Error: Request failed with status code 404 }); λ‹€μŒμ˜ λ°©λ²•μœΌλ‘œ console.log 둜 찍어볼 경우 λ‹¨μˆœ string 만 λ°˜ν™˜ν•˜κ²Œ λ©λ‹ˆλ‹€. return 된 objectλ₯Ό λ°›κ³  싢을 경우 μ–΄λ–»κ²Œ ν•΄μ•Ό ν• κΉŒμš”? How to solve the problem axios.get('/foo') .catch(functio..

λ°˜μ‘ν˜•