본문 바로가기

dev/javascript158

[javascript] 자바스크립트 툴팁 (tooltip) 참고: https://stackdiary.com/hover-tooltip-javascript/ 이 포스트에서는 JavaScript의 addEventListener 메소드를 활용해 선택한 요소에 대한 툴팁(hover effect)을 만드는 방법을 알아보겠습니다. 이는 attr() 속성을 사용하여 CSS로도 만들 수 있습니다. .addEventListener()는 다양한 DOM 이벤트를 모니터링한 다음 해당 이벤트 타입에 따라 작업을 수행합니다. 이 글에서는 mouseover 및 mouseleave 이벤트에 중점을 두겠습니다. 다음은 결과물 확인을 위한 codepen 입니다. See the Pen tooltip by shinyks (@shinyks) on CodePen. 코드는 상당히 간단합니다. getEl.. 2023. 4. 26.
[javascript] 자바스크립트 로딩 버튼 만들기 참고: https://dev.to/dcodeyt/create-a-button-with-a-loading-spinner-in-html-css-1c0h 이 포스트에서는 HTML과 CSS를 사용하여 클릭했을 때 로딩 이미지가 나타나는 버튼을 만들어보겠습니다. 소스코드 & 미리보기 전체 소스코드를 미리 보려면 다음 codepen에서 확인할 수 있습니다. See the Pen loading button by shinyks (@shinyks) on CodePen. HTML 버튼에 대한 HTML 작성부터 시작하겠습니다. 이는 매우 간단합니다. 먼저 클래스가 button인 요소를 만들고 그 안에 넣을 텍스트로 을 사용합니다. Save Changes 이게 HTML의 전부입니다. 이제 다음의 CSS로 넘어가겠습니다. CS.. 2023. 4. 26.
[javascript] 자바스크립트 scroll to top 버튼 만들기 참고: https://w3collective.com/scroll-to-top-button-javascript/ 이 포스트에서는 JavaScript를 사용하여 화면을 맨 위로 스크롤하는 버튼을 만들어 보겠습니다. 이 버튼을 사용하면 사용자가 아래로 스크롤 했다가 빠르게 페이지 상단으로 돌아갈 수 있으므로 콘텐츠 페이지가 긴 모바일 페이지를 만들 때 특히 유용합니다. 먼저 JavaScript 코드를 실행할 scrollTop 함수를 생성하겠습니다. const scrollTop = function () { // JavaScript 코드 위치 }; scrollTop(); 다음으로 scrollTop 함수 안에서 HTML 버튼을 생성하겠습니다. const scrollTop = function () { const sc.. 2023. 4. 25.
[javascript] 자바스크립트 SHA-256 해시 생성하기 참고: https://www.debugpointer.com/javascript/create-sha256-hash-in-javascript 암호화 및 해싱은 네트워크 보안 모듈의 기반 역할을 했습니다. 가장 많이 사용되는 해시 알고리즘은 다이제스트 크기가 256비트인 SHA(Secure Hash Algorithm) 또는 SHA 256 입니다. 다양한 변형이 있지만 SHA 256이 실제 응용 프로그램에서 가장 많이 사용되었습니다. SHA-256은 SHA 2 알고리즘 제품군의 일부이며 SHA는 Secure Hash Algorithm을 나타냅니다. 이는 보다 쉽게 크랙되는 SHA 1 제품군의 후속으로 도입하기위해 NAS와 NIST의 공동 노력이 있었습니다. SHA 2는 2001년에 발표되었으며 그 이후로 계속 .. 2023. 4. 25.
[javascript] 자바스크립트 MD5 해시 생성하기 참고: https://ourcodeworld.com/articles/read/1547/how-to-create-md5-hashes-in-javascript 이 포스트에서는 JavaScript로 MD5 해시를 쉽게 만드는 방법을 알아보겠습니다. MD5는 원래 디지털 서명 인증을 위한 보안 암호화 해시 알고리즘으로 쓰기위해 설계되었습니다. 하지만 데이터 무결성 확인, 의도치 않은 데이터 손상 감지 체크섬 이외의 다른 용도로 사용하는 것을 권장하지 않습니다. 즉 파일의 무결성 입증에 이 알고리즘을 사용하는게 일반적입니다. JavaScript에는 암호화 유틸리티가 없지만 외부 라이브러리를 사용하여 동일한 기능을 구현할 수 있습니다. 이 경우 오픈소스에 @blueimp가 작성한 MD5 라이브러리를 Github에서.. 2023. 4. 24.
[javascript] 자바스크립트 getElementById 사용방법 참고: https://www.tutorialspoint.com/how-getelementbyid-works-in-javascript 이 포스트에서는 JavaScript의 getElementById() 메소드가 어떻게 동작하는지에 대해 알아보겠습니다. JavaScript의 getElementById() 메소드는 document의 메소드 입니다. 이는 HTML 요소의 ID에 해당하는 특정 문자열을 전달하면 요소 객체를 반환합니다. 모든 HTML 요소에는 고유한 ID를 할당할 수 있습니다. 두 개 이상의 요소가 동일한 ID를 갖는 경우 getElementById() 메소드는 첫 번째 요소를 반환합니다. 또한 이는 document 내에서 HTML 요소를 조작하는데 도움을 줍니다. 만일 ID에 매치되는 요소가 없.. 2023. 4. 24.
[javascript] 에러 제어 (try, catch, throw) 참고: https://www.javatpoint.com/javascript-try-catch try...catch 일반적으로 try...catch 구문은 다양한 프로그래밍 언어에서 사용되고 있습니다. 기본적으로 오류가 발생하기 쉬운 코드의 처리를 위해 사용합니다. 할 수 있는 모든 가능한 오류를 처리 했음에도 또 다른 오류가 발생할지도 모를 때에 사용하기 좋은 구문입니다. 좋은 프로그래밍 접근 방식은 복잡한 코드를 try...catch 구문 안에 유지하는 것 입니다. 이제 각각의 구문에 대해 알아보겠습니다: try{} 구문: 여기에 오류 테스트가 필요한 코드를 넣습니다. 오류가 발생하면 적절한 조치를 취하기위해 catch{} 블록으로 실행이 전달됩니다. 오류가 발생하지 않으면 try{} 구문의 코드만 실.. 2023. 4. 18.
[javascript] 반복문 루프 (while, for, for...of, for...in, loop) 참고: https://www.codecademy.com/resources/docs/javascript/loops 루프는 연속적으로 명령을 반복하게 하는 프로그래밍 툴입니다. iterate라는 용어는 일반적으로 "반복하다"를 의미합니다. 일반적으로 stop condition이라고 하는 지정된 조건이 충족될 때까지 루프는 계속 반복됩니다. while loop while 루프는 지정된 조건이 true면 실행되는 루프를 만듭니다. 루프는 조건이 거짓이 될 때까지 계속 실행됩니다. 조건은 루프 전에 지정되며 일반적으로 루프를 중지해야할 타이밍을 결정하기 위해 while 루프 본문에서 변수를 증가시키거나 변경합니다. while (condition) { // Code block to be executed } 예제 코.. 2023. 4. 18.
[javascript] 자바스크립트 로그인 페이지 만들기 (login) 참고: https://medium.com/swlh/how-to-create-your-first-login-page-with-html-css-and-javascript-602dd71144f1 이 포스트에서는 HTML, CSS, JavaScript를 사용하여 로그인 페이지를 만드는 방법을 알아보겠습니다. 스크립트를 작성하기 전에 먼저 무엇을 만들 것인지 보겠습니다: 보다시피 페이지에는 제목, 로그인 form(사용자 이름 및 비밀번호용), 입력 값을 제출하는 로그인 버튼이 있습니다. 이 예제에서는 사용자 이름이나 암호 확인을 위해 서버로 전송하지 않고, 대신 JavaScript를 사용하여 사용자 이름이 "user"이고 암호가 "web_dev"인지 확인합니다. 만일 이름과 암호가 일치하면 얼럿박스를 표시하고 페.. 2023. 4. 16.
[javascript] 자바스크립트 브라우저 탭 열기 닫기 참고: https://www.scaler.com/topics/javascript-close-window/ 때때로 우리가 연 브라우저 창을 닫아야 하는 경우가 있습니다. JavaScript를 사용하여 브라우저를 닫을 수 있지만 보안상의 이유로 사용자가 연 창이 아니면 닫을 수 없습니다. 이 포스트에서는 먼저 JavaScript 코드를 사용하여 새 창을 여는 방법을 알아보고 close() 메소드를 사용하여 새로 열린 창을 닫는 방법을 알아보겠습니다. 소개 여기서 주목해야 할 사항은 자바스크립트를 사용하여 열은 브라우저 창만 닫을 수 있다는 것입니다. 오늘날의 보안 표준은 사용자가 열은 브라우저 창은 코드로 닫을 수 없도록 합니다. 아래 단계는 스크립트를 사용하여 URL을 닫기 위해 URL을 여는 방법을 보여.. 2023. 3. 30.
[javascript] 자바스크립트 반응형 메뉴 (navigation bar) 참고: https://levelup.gitconnected.com/how-to-create-a-responsive-navigation-bar-with-and-without-javascript-81f6d0671c6d 많은 페이지를 가진 웹 사이트를 만들어야 한다고 할 때, 사용자가 쉽게 페이지에 액세스할 수 있도록 각 페이지를 디자인하는 것은 노력이 필요합니다. 따라서 사용자가 쉽게 사용할 수 있도록 웹 사이트에 내비게이션 바를 구현해야 합니다. 내비게이션 바를 추가하면 데스크톱 화면에서 웹사이트를 더 쉽게 사용할 수 있습니다. 하지만 모바일 및 태블릿 화면은 어떻게 해야할까요? 모바일은 인터넷 사용량의 50% 이상을 차지합니다. 따라서 navbar를 반응형으로 만드는 것은 중요합니다. 이 포스트에서는 J.. 2023. 3. 29.
[javascript] 자바스크립트 apply() 사용 예제 참고: https://www.javascripttutorial.net/javascript-apply-method/ 이 포스트에서는 JavaScript의 Function 타입의 apply() 메소드에 대해 알아보고 이를 효과적으로 사용하는 방법을 알아보겠습니다. JavaScript apply() 메소드 Function.prototype.apply() 메소드는 주어진 this 값과 배열로 받은 매개변수를 사용하여 함수를 호출합니다. 다음은 apply() 메소드의 문법입니다: fn.apply(thisArg, [args]); apply() 메소드는 두개의 매개변수를 받습니다: thisArg는 함수 fn에 대한 this의 값입니다. args는 fn 함수의 매개변수를 지정하는 배열입니다. ES5 부터 args는 a.. 2023. 3. 28.
[javascript] 자바스크립트 퍼센트, 백분율 구하기 참고: https://linuxhint.com/calculate-percentage-in-javascript/ 백분율 계산은 수학, 금융, 교육 등의 분야에서 중요시 합니다. 웹 개발 및 JavaScript 개발에서 백분율 계산은 보다 동적이고 사용자 친화적인 애플리케이션을 구축하게 하고 데이터를 명확하고 의미 있게 표현할 수 있도록 하기 때문에 중요한 면을 가집니다. 이 포스트에서는 JavaScript에서 백분율을 계산하는 과정을 알아보겠습니다. JavaScript에서 백분율 계산하는 방법 JavaScript에서 퍼센트를 계산하려면 나눗셈과 곱셈과 같은 기본 산술 연산을 사용합니다. 퍼센트를 계산하는 데 일반적으로 사용하는 공식은 "(부분/전체) * 100"입니다. 예제 두개의 매개변수 "part"와 .. 2023. 3. 24.
[javascript] 자바스크립트 라디안(radians)을 각도(degrees)로 변환 참고: https://www.delftstack.com/howto/javascript/javascript-radians-to-degrees/ 이 포스트에서는 JavaScript의 수식을 사용하여 라디안(radians) 값을 각도(degrees)로 변환하는 방법을 알아보겠습니다. JavaScript 라디안 각도 변환 자바스크립트에서는 산술 연산자(+, -, *, /)를 사용하여 덧셈, 뺄셈, 곱셈, 나눗셈 등의 계산을 할 수 있습니다. 그리고 이 연산자를 사용해 자바스크립트 프로그램에서 수학 공식을 만들 수 있습니다. 라디안을 각도로 변환하려면 다음 공식을 사용하여 각도 값을 계산할 수 있습니다: [라디안 값] * ([반원의 각도] / [파이]) JavaScript에는 3.14를 리턴하는 파이 메소드 Ma.. 2023. 3. 21.
[javascript] 자바스크립트 정규표현식 비밀번호 강도 확인 참고: https://www.section.io/engineering-education/password-strength-checker-javascript/ 비밀번호는 애플리케이션 보안에서 매우 중요합니다. 누구나 자신의 시스템과 계정을 보호하기 위해 강력한 암호가 필요합니다. 이 포스트에서는 최종 사용자가 JavaScript의 정규식을 사용하여 계정을 보호할 수 있을 만큼 강력한 암호를 선택했는지 확인하는 방법에 대해 설명 하겠습니다. 정규표현식 정규식은 문자열의 문자 조합을 매치하는 데 사용하는 패턴입니다. JavaScript에서 정규식은 객체이기도 하고 RegExp로도 표시합니다. 이는 다음과 같이 구성할 수 있습니다: - 패턴을 두개의 슬래시로 묶은 정규식 리터럴 let check = /vet/ -.. 2023. 3. 21.
[javascript] 자바스크립트 performance.now() 참고: https://blog.bitsrc.io/a-very-quick-introduction-to-performance-now-c95493e77d06 performance.now()에 대해 들어본적 있습니까? 이는 DOMHighResTimeStamp(High Resolution Time Stamp)를 리턴하는 Performance API의 메소드로, 즉 두 시점 사이의 소수점 값의 밀리초 단위 시간 값입니다. performance.now()의 일반적인 사용 예는 코드가 실행되는 시간을 모니터링하는 것입니다. 실제 사용 사례로는 비디오, 오디오, 게임 및 기타 미디어의 벤치마킹 및 모니터링 등이 있습니다. 그럼 어떻게 작동하는지 알아보겠습니다. 일단 특정 기능이 실행되는 데 걸리는 시간을 모니터링하고 싶.. 2023. 3. 20.
[javascript] 자바스크립트 지수 연산자(제곱, Math.pow) 참고: https://www.javascripttutorial.net/es-next/javascript-exponentiation-operator/ 이 포스트에서는 JavaScript의 지수 연산자(**)를 사용하여 지수로 거듭제곱하는 방법을 알아보겠습니다. JavaScript 지수 연산자 소개 거듭제곱을 하려면 다음 구문과 같이 정적 메소드 Math.pow()를 사용합니다: Math.pow(base, exponent) 예제: let result = Math.pow(2,2); console.log(result); result = Math.pow(2,3); console.log(result); ECMAScript 2016에서는 아래 구문과 같이 지수 연산자(**)를 사용하여 지수 거듭제곱을 얻을 수 있는 .. 2023. 3. 20.
[javascript] 자바스크립트 debounce 함수 지연 시키기 참고: https://www.freecodecamp.org/news/javascript-debounce-example/ JavaScript에서 debounce 기능은 사용자 입력당 한 번만 코드가 트리거되도록 합니다. 사용 사례로는 검색 추천, 텍스트 필드 자동 저장 및 버튼 연속 클릭 제거 등이 있습니다. 이 포스트에서는 JavaScript로 debounce 함수를 만드는 방법에 대해 알아보겠습니다. debounce 란? 디바운스라는 용어는 전자 공학에서 부터 시작됐습니다. 예를 들어 TV 리모컨을 누르는 경우 버튼의 신호가 리모컨의 마이크로칩으로 너무 빨리 전달되어 버튼에서 손을 떼기 전에 신호가 튀어 마이크로칩이 "클릭"을 여러 번 인식하는 경우입니다. 이를 개선하려면 버튼 신호를 받은 경우 물리적.. 2023. 3. 19.
[알고리즘] SHA 해시 알고리즘 이란? 참고: https://www.encryptionconsulting.com/education-center/what-is-sha/ SHA 소개 SHA는 보안 해시 알고리즘입니다. SHA는 MD5를 수정한 버전이고 데이터 및 인증서를 해시하는 데 사용합니다. 해시 알고리즘은 입력 데이터를 비트 연산, 모듈러 합 및 압축 함수를 사용하여 알아보기 힘든 더 작은 형태로 줄입니다. 해싱을 크랙하거나 해독할 수 있는지 궁금할 것입니다. 해시는 암호화와 유사하며, 해시와 암호화의 유일한 차이점은 해시가 단방향이라는 것입니다. 즉, 일단 데이터를 해시해 놓으면 브루트 포스 공격을 하지 않는 한 해시 다이제스트를 크래킹할 수 없습니다. SHA 알고리즘의 작동에 대해서는 아래 이미지를 참조하기 바랍니다. SHA는 메시지의 .. 2023. 3. 16.
[javascript] 자바스크립트 TTS (Text to Speech) 참고: https://www.assemblyai.com/blog/javascript-text-to-speech-easy-way/ 앱을 만들 때 접근성, 편의성 또는 기타 이유로 텍스트의 음성 변환 기능을 구현할 수 있습니다. 이 포스트에서는 JavaScript의 내장 Web Speech API를 사용하여 매우 간단한 TTS 애플리케이션을 만드는 방법을 알아보겠습니다. 1. 기본 설정 먼저 index.html 이라는 HTML 파일과 script.js 라는 자바스크립트 파일을 사용하여 기본적인 애플리케이션을 설정하겠습니다. HTML 파일 index.html은 JavaScript 파일과 함께 기능을 추가할 애플리케이션의 구조를 정의합니다. 애플리케이션의 제목 역할을 하는 요소, 말하고 싶은 텍스트를 입력하는 .. 2023. 3. 16.