🎂 자바스크립트로 나이 계산하는 3가지 방법
·
Programing/javascript
웹 개발을 하다 보면 사용자의 생년월일로 나이를 계산해야 하는 경우가 자주 생깁니다. 예를 들어 회원가입 시 나이 제한을 두거나, 생일을 기준으로 혜택을 주는 이벤트 등을 만들 때 꼭 필요한 기능이죠.이 글에서는 자바스크립트를 사용해서 생년월일로 나이를 계산하는 3가지 방법을 소개하고, 만 나이 계산 팁까지 함께 알려드립니다.✅ 방법 1: 기본적인 연도 차이 계산function getAge(birthYear) { const currentYear = new Date().getFullYear(); return currentYear - birthYear;}console.log(getAge(2000)); // 출력: 25 (2025년 기준)🔸 단점: 생일이 지나지 않은 경우까지 포함해서 정확한 만 나이는 ..
JavaScript로 URL 파라미터 업데이트하는 방법
·
Programing/javascript
웹 애플리케이션을 개발하다 보면 URL의 파라미터(query string)를 추가하거나 변경해야 하는 상황이 자주 발생합니다. 예를 들어, 필터링 조건을 URL에 반영하거나, 특정 상태를 공유 가능한 URL로 만들고 싶을 때죠.이번 포스팅에서는 JavaScript를 사용해서 URL 파라미터를 동적으로 업데이트하는 방법을 실전 예제와 함께 알아보겠습니다. 📌 URL 파라미터란?URL 파라미터는 ? 뒤에 붙는 쿼리 스트링을 의미합니다.https://example.com/page?category=books&page=2 위 URL에서 category=books, page=2는 URL 파라미터입니다. 🛠️ URL 파라미터 업데이트 방법1. URLSearchParams 사용하기 (추천)현대적인 브라우저에서는 U..
javascript array sort(나이순 정렬)
·
Programing/javascript
var user_list = { '김': 16, '이': 32, '박': 5 }; var sort_user_list = {}; Object.keys(user_list).sort(function(_a, _b){ return user_list[_b] - user_list[_a]; // DESC // return user_list[_a] - user_list[_b]; // ASC }).forEach(function(_key){ sort_user_list[_key] = user_list[_key]; });
jQuery 이름이 비슷한 여러 요소 한번에 선택(like selector for jquery)
·
Programing/javascript
1 2 3 4 5 // 기본, class요소 값이 'name'과 정확히 일하는 class를 선택한다. $('div[class="name"]').html('change'); // change: 1 // class요소의 값이 'name'으로 시작하는 모든 class를 선택한다. $('div[class^="name"]').html('change'); // change: 1, 2, 3 // class요소의 값이 'name'이 포함된 모든 class를 선택한다. $('div[class*="name"]').html('change'); // change: all // class요소의 값이 'name'으로 끝나는 모든 class를 선택한다. $('div[class$="name"]').html('change'); // ..
jQuery css 애니메이션 반복/초기화(removeclass, addclass)
·
Programing/javascript
$(document).on('DOMSubtreeModified', 'div', function(e){ $(this).removeClass('animation'); // offsetWidth을 사용해서 요소의 상태를 초기화 처리 e.currentTarget.offsetWidth; $(this).show().addClass('animation'); }); remoClass와 addClass를 반복하면 .animation의 애니메이션효과는 반복되지 않는 현상이 있다. 이럴 때 e.currentTarget.offsetWidth; 를 사용하여 요소의 상태를 초기화를 해주면 애니메이션을 반복하여 실행시킬 수 있다.
jQuery 요소의 내용이 바뀌었을때 감지 이벤트
·
Programing/javascript
$(document).on('DOMSubtreeModified', 'div', function(e){ console.log('내용 변경됨'); }); 위 코드를 이용하요 DOM의 내용 및 구조가 바뀌었을때 감지 가능하다.
PHP SEED ECB 암/복호화 샘플코드
·
Programing/PHP
KISA에서 제공하는 PHP을 다운로드 받아 적용해 봤지만 원하는 값이 나오지 않아 아래 사이트들을 참조하여 SEED ECB 작성했습니다. https://github.com/eGovFrame/egovframework.rte.root/blob/master/Foundation/egovframework.rte.fdl.crypto/src/main/java/egovframework/rte/fdl/cryptography/impl/aria/AnsiX923Padding.java https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=koku_ma&logNo=70071610300 https://github.com/qnibus/seed128 https://..
jvascript array 경우의 수 구하기 (permute)
·
Programing/Algorithm
var permute_list = []; function permute(_arr, _temp) { if (_temp.length === _arr.length) { permute_list.push(_temp.slice()); return; } _arr.forEach(num => { if (!_temp.includes(num)) { _temp.push(num); permute(_arr, _temp); _temp.pop(); } }); } permute([0, 1, 2], []); console.log(permute_list); /* [ [ 0, 1, 2 ], [ 0, 2, 1 ], [ 1, 0, 2 ], [ 1, 2, 0 ], [ 2, 0, 1 ], [ 2, 1, 0 ] ] */
LRU Cache (Least Recently Used) / 프로그래머스 캐시
·
Programing/Algorithm
- 사용한지 가장 오래된 페이지를 교체. - 현 시점에서 가장 오랫동안 사용하지 않은 페이지와 교체. - 각 페이지마다 계수기를 두어 사용하는 기법 개념설명: https://youtu.be/6wulDqi6z-s function solution(cacheSize, cities) { var cache = [], answer = 0, cache_idx = 0; if (cacheSize == 0) return cities.length * 5; cities.map(city => { city = city.toLowerCase(); cache_idx = cache.indexOf(city); if (cache_idx > -1) { cache.splice(cache_idx, 1); answer++; // Cache Hi..
MySQL 속도 측정을 위한 SQL_NO_CACHE
·
Programing/MySQL
설명 MySQL 5.3 버전의 GUI에서 실행된 쿼리가 캐싱되어 다음에 다시 실행할때 실행 속도가 줄어 정확한 속도 측정이 되지 않을때 SQL_NO_CACHE를 사용하면 실행할 때마다 캐싱 되지 않은 속도를 확인할 수 있다. 쿼리 캐시는 5.7.2 부터 사용되지 않으며, 8.0에선 제거되었기 때문에 다른 방법이 필요할 수 있다. 사용법 SELECT SQL_NO_CACHE * FROM `TABLE_NAME`; SELECT SQL_NO_CACHE `col_name` FROM `TABLE_NAME`; 기본 문법은 위와 같다.