분류 전체보기
![[JS] 클립보드에 특정 텍스트 복사하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FBLW4k%2FbtrFNGBZWFg%2FAAAAAAAAAAAAAAAAAAAAAGckxZjziYhK0s8tUm4FiOUN_pW8o6NNejlyS2MkQMbB%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DCKMH1bRNT98oTgTNT8wVPo9boxM%253D)
[JS] 클립보드에 특정 텍스트 복사하기
코드블럭 오른쪽 상단바에 존재하는 "복사 아이콘"을 클릭해보세요! "Ctrl + C" 단축키와 같은 기능 또는 블로그에 새로 추가한 "코드 복사" 기능을 웹 상에서 구현하기 위해서는 특정 텍스트를 클립보드에 추가시켜줘야 합니다. 코드 클립보드와 상호작용하는데 가장 많이 사용되는 document.execCommand() 방법을 사용하여 쉽게 구현할 수 있습니다. document.execCommand("copy") - 클립 보드에 텍스트 복사 기능 document.execCommand("cut") - 클립 보드에 텍스트 잘라내기 기능 document.execCommand("paste") - 클립 보드에 이미 존재하는 내용을 붙여넣기 기능 해당 기능은 input, textarea와 같은 입력창에 입력된 값 중..
![[JS] 글 작성 경과 시간 표시 (방금전, 몇분전, 몇시간전, 몇일전, 몇달전, 몇년전)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FcMxhRG%2FbtrEZDZpveY%2FAAAAAAAAAAAAAAAAAAAAALqH8SrXBPAgsFfumraGJixrkF-xwwGAGXMg_L9Pd9sE%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DfWdZ2nc1GWEqrrvKyEd253io470%253D)
[JS] 글 작성 경과 시간 표시 (방금전, 몇분전, 몇시간전, 몇일전, 몇달전, 몇년전)
유명 SNS 게시물을 보면 작성 날짜 항목에 "방금 전", "몇분 전", "몇시간 전", "몇일 전"에 작성됨, 과 같은 형식으로 표현하는 것을 볼 수 있습니다. See the Pen Untitled by hyukson (@hyukson) on CodePen. 코드 function elapsedTime(date) { const start = new Date(date); const end = new Date(); const diff = (end - start) / 1000; const times = [ { name: '년', milliSeconds: 60 * 60 * 24 * 365 }, { name: '개월', milliSeconds: 60 * 60 * 24 * 30 }, { name: '일', mill..
![[JS] 랜덤 날짜 생성하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FRPp0U%2FbtrESQdgJst%2FAAAAAAAAAAAAAAAAAAAAALwsREHe5ZnxAL2XSD0zJONhkyaCBmVUHxP6lpBGdjce%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3D0DnB2YbM2YDhoE3RVhlKoHftn1Q%253D)
[JS] 랜덤 날짜 생성하기
See the Pen Random Date by hyukson (@hyukson) on CodePen. 랜덤 한 수를 생성하는 방법은 Math.random() 메서드를 이용하면 임의의 값을 얻을 수 있습니다. end - start 날짜 수식을 통해 날짜의 차이 값을 구할 수 있습니다. 두 날짜 사이의 범위 function getRandomDate(start, end) { const startDate = start.getTime(); const endDate = end.getTime(); return new Date(startDate + Math.random() * (endDate - startDate)); } // 시작 날짜 ~ 종료 날짜 getRandomDate(new Date(2022, 1, 1), ..
![[JS] 밤하늘의 별 배경 만들기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FRfSl6%2FbtrEHW61Alc%2FAAAAAAAAAAAAAAAAAAAAALioibR7Wlut-i-eqyLiL_KrCllymKx4WkIcqWK4-ThC%2Fimg.gif%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3D84jvoWEYL2HM5YCkaBYUcmjLams%253D)
[JS] 밤하늘의 별 배경 만들기
여름이 시작되기도 하고 별이 가득한 밤하늘을 웹으로 나마 보고 싶어 제작해보았습니다. JavaScript로는 오로지 별을 랜덤 한 위치에 배치시키는 작업만 해주고, 스타일은 CSS 코드로 작성하였습니다. See the Pen stars Background by hyukson (@hyukson) on CodePen. 코드 HTML 태그 구성으로는 밤하늘 배경을 만들 부모 태그와 별들을 감쌀 태그를 만들어줍니다. 저는 Circle 태그를 사용하기 위해서 SVG를 사용하였습니다. (position 속성을 이용하여 div로도 가능) /* 배경 */ .backSky { width: 100vw; height: 100vh; position: relative; background: linear-gradient(to r..
![[JS] 숫자 카운트 애니메이션 만들기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fd345hr%2FbtrD19en7o3%2FAAAAAAAAAAAAAAAAAAAAAPCxoL42XnxmCoROR33bn9lCAfmBQ7jH4LLqBBL-uhMf%2Fimg.gif%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DImVP8Coo6vvEChdzvK7Ku99cVSI%253D)
[JS] 숫자 카운트 애니메이션 만들기
홈페이지에서 수치를 표현할 때 효과적으로 시선을 이끌 수 있는 방법 중 하나가 바로 카운트 애니메이션 효과를 사용하는 것입니다. 코드 See the Pen JS Number CountDown by hyukson (@hyukson) on CodePen. 예를 들어 17242까지 증가한다고 할 때, 일정한 간격으로 증가하는 것이 아닌 점점 증가하는 수치가 줄어들면서 훨씬 자연스러운 숫자 카운트 애니메이션으로 보이게 제작해 보았습니다. 코드 풀이 0 // 카운트를 표시할 요소 const $counter = document.querySelector(".count"); // 목표수치 const max = 17242; counter($counter, max); counter 함수를 하나 제작하고, 해당 함수로 카운..
![[JS] 배열 마지막 값 가져오기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbmT1ST%2FbtrD3SX9FWt%2FAAAAAAAAAAAAAAAAAAAAAAlJMQCWWTrdTOQ5oJVC9yoo7TWGoGUBZsFsZGSKwClI%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DH9jTGLibjxYIz4I0ef0OHsG8jmE%253D)
[JS] 배열 마지막 값 가져오기
JS에서 배열의 마지막 값을 가져오는 방법은 다양합니다. 많은 방법 중 배열의 마지막 값을 가져오는 대표적인 방법 3가지를 소개합니다. 배열의 길이를 통해 구하기 const arr = [1, 2, 3, 4, 5]; // 마지막 값 arr[arr.length - 1]; Array.length 속성을 이용해 배열의 길이에서 -1을 뺏 인덱스에 접근하면, 배열의 마지막 값을 가져올 수 있습니다. Array.at 메서드 사용하기 const arr = [1, 2, 3, 4, 5]; // 마지막 값 arr.at(-1); // 뒤에서 n번째 값 arr.at(-n); // arr.at(0) -> 1 == arr[0] -> 1 at() 메서드는 정수를 값으로 받아 배열의 해당 인덱스의 요소를 반환하는 메서드입니다. 흔히..
![[CSS] 토글 스위치 버튼 만들기 (Toggle Swtich)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbttyDg%2FbtrRvb3cfTy%2FAAAAAAAAAAAAAAAAAAAAAI4nkr2-oZehbK2yskb6epRdcoIY5SeIe43j5EMJDpqe%2Fimg.gif%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DTbynuMCxITlGhJ5E462szNyi7Bk%253D)
[CSS] 토글 스위치 버튼 만들기 (Toggle Swtich)
오직 CSS만을 사용해 제작한 토글과 JavaScript 코드로 토글을 제작할 수 있습니다. 전체 코드 See the Pen Untitled by hyukson (@hyukson) on CodePen. 코드 풀이 JavaScript를 사용하지 못하기 때문에 checkbox의 체크 여부로 토글의 상호작용 기능을 제작하였습니다. .toggleSwitch { width: 100px; height: 50px; display: block; position: relative; border-radius: 30px; background-color: #fff; box-shadow: 0 0 16px 3px rgba(0 0 0 / 15%); cursor: pointer; } /* 토글 버튼 */ .toggleSwitch ...
![[JS] 3자리 마다 콤마 표시하기 (소수점 제외)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FtNLfJ%2FbtrDy1tw2K3%2FAAAAAAAAAAAAAAAAAAAAAIg-6qRQQ4NFoo2dQp9IUZFqcmX39q8fHJ7N9gCFwSIk%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DyATQfOeW5EzDQaNpKUn7Qrt6hh8%253D)
[JS] 3자리 마다 콤마 표시하기 (소수점 제외)
정규식을 사용하거나 3자리마다 쪼개서 추가하는 방법 등, 다양한 방법이 존재하지만 가장 쉬운 방법은 toLocaleString() 메서드를 사용하는 방법입니다. 기본 코드 String.toLocaleString(); // 예시 (15000).toLocaleString(); // 15,000 포맷할 Number 타입의 숫자에 toLocaleString() 메서드를 사용하여 콤마를 표시해줍니다. 예시 코드 const price = "12000"; //
![[자소서] 자기소개서 작성 팁](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fdhobik%2FbtrDzxMsWrn%2FAAAAAAAAAAAAAAAAAAAAAFwva6vWDQ2Tfo-bw5W8uXt7op0Vz0-BccCA65TyZQRN%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DIfYmolgjhEnuIOdbMn1wk8VOMWk%253D)
[자소서] 자기소개서 작성 팁
소제목을 적극 활용하자 지원하는 직무 수행에 영향을 끼치는 단점은 피하자 줄임말을 사용하지 말자 경험을 위주로 풀어 작성하자 결과와 배운 점 같이 작성하자 거짓된 내용은 작성하지 말자 1. 소제목을 적극 활용하자 인사담당자는 절대적으로 자기소개서를 읽을 시간이 부족하기 때문에 자연스럽게 소제목에 눈길이 가게 됩니다. 하지만, 주의할 점은 소제목이 본문 내용과 전혀 다른 내용이면 안됩니다. "본문의 내용을 알 수 있는 강렬한 짧은 문구"가 효과적인 소제목이라 할 수 있습니다. 2. 지원하는 직무 수행에 영향을 끼치는 단점은 피하자 당연한 말이지만, 자기소개서를 작성하다 보면 해당 사항을 놓칠 때가 많습니다. 단점 또는 부정적이라 생각되는 문구는 다른 단어를 선택해 순화시키는 작업이 필요합니다. 예를 들어 ..
![[JS] 프로그래머스 주차 요금 계산](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fb81ICT%2FbtrAXCc2DhY%2FAAAAAAAAAAAAAAAAAAAAANk-_Aff85w09E_zfYchMCiq4c0kq82X0kuMLwy-8w6l%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DsA5Zqm4dGU1NqNQ%252FtpfJ9tHz1AY%253D)
[JS] 프로그래머스 주차 요금 계산
출처 https://programmers.co.kr/learn/courses/30/lessons/92341 코딩테스트 연습 - 주차 요금 계산 [180, 5000, 10, 600] ["05:34 5961 IN", "06:00 0000 IN", "06:34 0000 OUT", "07:59 5961 OUT", "07:59 0148 IN", "18:59 0000 IN", "19:09 0148 OUT", "22:59 5961 IN", "23:00 5961 OUT"] [14600, 34400, 5000] programmers.co.kr 문제 주차 요금을 나타내는 정수 배열 fees, 자동차의 입/출차 내역을 나타내는 문자열 배열 records가 매개변수로 주어집니다. 차량 번호가 작은 자동차부터 청구할 주차 요금..
![[CSS] 카드 뒤집기(플립) 효과](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fu03D0%2FbtrzgiMPQla%2FAAAAAAAAAAAAAAAAAAAAALimY6F27G2FoiJ7uSXgRrGMu9ye0NStrDUgMmbKt6vX%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3D%252FjafEnCBn7WHEItkHJr8XP0OMeY%253D)
[CSS] 카드 뒤집기(플립) 효과
코드 CSS를 이용하여 입체효과가 적용된 카드를 뒤집어 앞면, 뒷면 구분을 할 수 있습니다. .flip { width: 200px; height: 250px; perspective: 1100px; } .card { width: 100%; height: 100%; position: relative; transition: .4s; transform-style: preserve-3d; } .front, .back { position: absolute; width: 100%; height: 100%; backface-visibility: hidden; } .front { background: red; } // 뒷면은 사전에 미리 뒤집기 .back { background: royalblue; transform: ..
![[JS] 파일 용량(사이즈) 체크, 변환하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbpsCfp%2Fbtry9fqy7DB%2FAAAAAAAAAAAAAAAAAAAAAIj2Am7M7ieJE3qKHrwpsx3GxL2dJ4IN_IdgvVcVOyIg%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DRjfeIdqO4xCQi6jLLx3pNQVDaNw%253D)
[JS] 파일 용량(사이즈) 체크, 변환하기
흔히 사용하는 데이터의 크기로는 KB, MB, GB 등이 있습니다. 이때 KB는 1,024Byte이고, MB는 1,024KB입니다. 해당 코드와 같은 파일을 첨부하는 박스에서 파일을 선택하면 fileSize 함수로 해당 요소를 보내 선택한 파일 요소의 정보를 가져와 활용할 수 있습니다. const fileSize = ($target) => { // 유저가 선택한 파일 가져오기 const file = $target.files[0]; // 해당 파일의 용량(사이즈) 정보 console.log(file.size); } 해당 코드로 파일의 정보를 가져올 수 있으며, File.size로 해당 파일의 바이트(Byte) 크기를 알 수 있습니다. 용량(사이즈) 변환하기 const getByteSize = (size) ..