AI · 자동화 · 홈페이지 제작 · IT 강의

업무를 자동화하고
수익형 웹 시스템을 만듭니다

코드콕콕은 실무 중심의 IT 강의, AI 사무자동화, 홈페이지 제작, 업무 자동화 외주 상담을 제공하는 기술 블로그입니다.

Code KokKok

배우고, 만들고, 자동화하는 실무형 IT 블로그

AI 사무자동화

엑셀, 문서, PPT, 반복 업무를 자동화합니다.

자세히 보기

홈페이지 제작

회사, 교육원, 상담 사이트를 목적에 맞게 제작합니다.

자세히 보기

IT 실무 강의

HTML, CSS, JavaScript, Python, 자동화 강의를 제공합니다.

강의 보기

최신 글

총 44개의 글

사다리타기
No Image
로또번호 추천
No Image
HTML Canvas로 테트리스 게임 만들기
No Image
이미지 용량 줄이기
No Image
빈 줄 제거기 - 공백 줄 · 숨겨진 문자 자동 정리
No Image

사다리타기

사다리타기 게임 만들기 (JavaScript 구현)

이 예제는 HTML Canvas와 JavaScript를 활용하여 만든 사다리타기 게임입니다. 인원수를 입력하고 결과 항목을 설정하면, 자동으로 사다리가 생성되고 각 참가자의 이동 경로를 애니메이션으로 확인할 수 있습니다.

Canvas 위에 세로선과 가로선을 그리고, JavaScript로 경로를 계산하여 참가자가 어떤 결과에 도착하는지 보여주는 구조입니다.

사다리 설정

Player 1

선물1

사용 방법

  1. 인원수를 입력합니다. 최소 2명부터 최대 10명까지 설정할 수 있습니다.
  2. 사다리 생성 버튼을 누르면 인원수에 맞게 결과 입력칸이 만들어집니다.
  3. 각 입력칸에 선물, 벌칙, 메뉴, 팀 이름 등 원하는 결과를 입력합니다.
  4. 1번부터 시작 버튼을 누르면 1번 참가자부터 순서대로 사다리를 타기 시작합니다.
  5. 각 참가자의 이동 경로가 색상 선으로 표시되고, 도착한 결과가 팝업으로 나타납니다.
  6. 모든 참가자가 완료되면 버튼이 전부 완료 상태로 바뀝니다.

결과를 다시 정하고 싶다면 인원수나 결과 항목을 수정한 뒤 사다리 생성 버튼을 다시 누르면 됩니다.

활용 예시

  • 점심 메뉴 정하기
  • 벌칙 정하기
  • 선물 추첨하기
  • 팀 배정하기
  • 발표 순서 정하기

사다리타기 게임은 단순한 놀이처럼 보이지만, JavaScript의 배열 처리, Canvas 그리기, 이벤트 처리, 애니메이션 로직을 함께 학습할 수 있는 좋은 예제입니다.

웹 개발을 처음 배우는 분들도 이 구조를 따라가면 인터랙티브한 웹 도구를 만드는 흐름을 이해할 수 있습니다.

반응형

'IT_Internet > Game' 카테고리의 다른 글

로또번호 추천  (0) 2026.05.01
HTML Canvas로 테트리스 게임 만들기  (0) 2026.05.01

업무 자동화나 홈페이지 제작이 필요하신가요?

AI 자동화, 엑셀/문서 자동화, 홈페이지 제작, IT 강의 상담을 도와드립니다.

상담 신청하기

로또번호 추천

로또 번호 추첨기 (JavaScript 구현)

이 프로그램은 JavaScript와 Canvas를 활용하여 만든 로또 번호 추첨기입니다. 공이 회전하며 섞인 후 랜덤으로 6개의 번호가 추출되는 구조로 구현되어 있습니다.

실제 로또 머신처럼 물리 움직임을 적용하여 자연스럽게 번호가 선택되도록 구성하였습니다. 아래 버튼을 눌러 직접 추첨을 실행해보세요.

Lotto 6/45

 

핵심 기능

  • 1 ~ 45번 공 랜덤 생성  1번부터 45번 공을 전부 만들어서 원 안에 넣습니다.
  • for (let i = 1; i <= 45; i++) balls.push(new Ball(i));
    
  • 공의 충돌 및 회전 물리 구현
  • 6개 번호 자동 추출
  • 다시 추첨 기능

이 코드를 활용하면 다양한 랜덤 추첨 프로그램이나 게임 기능으로 확장할 수 있습니다.

로또 당첨은 어떤 사람이 될까?

1. 꿈이 정말 알려줄까?

실제로 당첨자들 사이에서 '꿈'은 가장 흔한 당첨 징조로 꼽힙니다. 당첨자 인터뷰 사례에서 좋은 꿈 이야기가 자주 등장하며, 아래와 같은 유형이 특히 많이 언급됩니다.

  • 조상님 꿈: 가장 대표적인 사례입니다. 조상님이 나타나 밝은 미소를 지으시거나, 숫자를 알려주거나, 보따리를 주시는 꿈이 많습니다.
  • 동물 및 자연 꿈: 돼지 떼가 집으로 들어오는 꿈, 온 세상이 불바다가 되는 꿈, 맑은 물이 집 안에 가득 차는 꿈 등이 자주 언급됩니다.
  • 유명인 꿈: 대통령이나 유명한 연예인과 악수를 하거나 함께 식사를 하는 꿈을 꾸고 당첨된 사례도 있다고 알려져 있습니다.

물론 꿈이 당첨을 보장하는 것은 아닙니다. 다만 기대감과 설렘이 생겼을 때 복권을 구매하게 되는 심리적 계기가 된다는 점에서 흥미로운 현상입니다.

2. 통계로 분석이 가능할까?

로또는 기계에서 공이 무작위로 추출되는 독립 시행입니다. 따라서 엄밀히 말하면 '다음 번호'를 예측하는 수학적 방법은 존재하지 않습니다. 하지만 '기록'으로서의 통계는 존재합니다.

  • 자주 나오는 번호: 특정 회차 동안 유난히 자주 등장한 '핫 넘버(Hot Numbers)'와 오랫동안 나오지 않은 '콜드 넘버(Cold Numbers)'를 조합하는 방식입니다.
  • 번호대별 균형: 1번대, 10번대, 20번대 등 각 구간에서 골고루 번호가 섞여 나오는 비율을 분석합니다.
  • 홀짝 및 총합: 홀수와 짝수의 비율(3:3 또는 2:4), 그리고 여섯 숫자 합계의 평균 범위(보통 120~180 사이)를 참고하기도 합니다.
  • 현실적인 통계: 역대 당첨자들의 통계를 보면, 자동 선택 비중이 수동보다 압도적으로 높습니다(약 60~70%). 결국 통계적 분석보다는 '운'과 '꾸준함'이 더 큰 요인임을 보여줍니다.

3. 당첨된 사람들의 실제 사례

어떤 사람들이 당첨되는지에 대한 흥미로운 특징들입니다.

  • 소액으로 꾸준히: 당첨자들의 상당수는 한꺼번에 수십만 원어치를 사는 사람이 아니라, 매주 5,000원에서 10,000원 정도를 규칙적으로 구매해 온 사람들이라고 합니다.
  • 우연한 구매: 거스름돈으로 샀거나, 평소에 안 가던 길에서 눈에 띄는 판매점에 들어가 샀다가 당첨된 사례가 아주 많습니다.
  • 나눔의 습관: 당첨자 인터뷰 중에는 "평소에 주변에 베푸는 마음으로 살았는데 복을 받은 것 같다"는 이야기가 종종 등장합니다.

로또 역대 최다 빈출 번호 알아볼까요?

역대 로또(1회~1222회)에서 통계적으로 가장 자주 등장한 숫자 상위 6개와 최근 흐름을 반영한 조합의 예시는 다음과 같습니다.

 

📊 역대 최다 빈출 번호 (보너스 번호 포함 기준)

역대 가장 많이 뽑힌 숫자들을 순서대로 나열하면 보통 다음과 같은 번호들이 상위권을 차지합니다. (데이터 집계 시점에 따라 1~2단계 차이는 있을 수 있습니다.)

  1. 43: 압도적인 1위 후보로 자주 등장합니다.
  2. 34: 최근 몇 년간 빈도가 급상승한 번호입니다.
  3. 12: 초창기부터 꾸준히 나오는 번호입니다.
  4. 27: 20번대 중 가장 강력한 통계를 가집니다.
  5. 1: 첫 번째 번호로 자주 등장하는 상징적인 숫자입니다.
  6. 33: 쌍둥이 번호 중 가장 출현 빈도가 높습니다.

🎲 'Hot Numbers' 기반 추천 조합

위의 통계적 빈도와 최근 10회차 이내의 흐름을 섞어서 번호를 구성해 본다면 다음과 같은 조합이 가능합니다.

[ 1, 12, 27, 33, 34, 43 ]

 

반응형

'IT_Internet > Game' 카테고리의 다른 글

사다리타기  (0) 2026.05.01
HTML Canvas로 테트리스 게임 만들기  (0) 2026.05.01

업무 자동화나 홈페이지 제작이 필요하신가요?

AI 자동화, 엑셀/문서 자동화, 홈페이지 제작, IT 강의 상담을 도와드립니다.

상담 신청하기

HTML Canvas로 테트리스 게임 만들기

HTML5 Canvas로 테트리스 게임 만들기

이 글에서는 JavaScript와 Canvas를 활용하여 테트리스 게임을 구현하는 방법을 설명합니다. 블록 이동, 회전, 충돌 판정, 점수 계산 등 게임의 핵심 로직을 직접 구현할 수 있습니다.

아래 게임을 직접 실행해보면서 동작 원리를 확인해보세요.

Score

0

Level

1

Lines

0

Rotate
← → Move
Soft Drop
Space Hard Drop

GAME OVER

Next Piece

핵심 로직

1. createMatrix()
게임판 배열을 생성하는 함수입니다.
테트리스 게임판은 10칸 × 20줄 구조이며, 각 칸은 0 또는 블록 번호를 저장합니다.
0은 빈 칸을 의미하고, 1~7은 서로 다른 테트리스 블록 색상을 의미합니다.

 

2. drawBoard()
canvas 위에 현재 게임판을 다시 그리는 함수입니다.
먼저 기존 화면을 지우고, 격자선을 그린 다음, 고정된 블록과 현재 떨어지고 있는 블록을 함께 출력합니다.

 

3. collide()
현재 블록이 벽, 바닥, 기존 블록과 충돌했는지 확인합니다.
블록이 이동하거나 회전할 때마다 이 함수를 사용하여 가능한 움직임인지 검사합니다.

 

4. merge()
떨어지던 블록이 더 이상 내려갈 수 없을 때, 해당 블록을 게임판 배열에 고정합니다.
이후 새로운 블록이 생성됩니다.

 

5. sweep()
가로 한 줄이 모두 채워졌는지 검사하고, 채워진 줄을 제거합니다.
줄이 제거되면 점수가 올라가고, 일정 줄 수 이상이 되면 레벨이 증가합니다.

 

6. update()
게임 루프를 담당하는 함수입니다.
requestAnimationFrame()을 이용해 화면을 계속 갱신하고, 일정 시간이 지나면 블록이 자동으로 한 칸씩 내려가도록 처리합니다.

 

테트리스 구현 핵심 정리

테트리스는 2차원 배열을 활용하여 블록의 위치를 관리하며, 충돌 감지와 회전 알고리즘을 통해 동작합니다.

이러한 구조를 이해하면 다양한 게임이나 인터랙티브 웹 기능으로 확장할 수 있습니다.

 

 
반응형

'IT_Internet > Game' 카테고리의 다른 글

사다리타기  (0) 2026.05.01
로또번호 추천  (0) 2026.05.01

업무 자동화나 홈페이지 제작이 필요하신가요?

AI 자동화, 엑셀/문서 자동화, 홈페이지 제작, IT 강의 상담을 도와드립니다.

상담 신청하기

이미지 용량 줄이기

이미지 용량 줄이기 · 배경 투명 변환기 — 브라우저에서 바로 처리

이미지 파일을 선택하거나 드래그&드롭하면 용량 압축·포맷 변환·배경 투명 처리를 브라우저에서 바로 실행합니다.
이미지가 서버로 전송되지 않아 개인 사진이나 업무 자료도 안심하고 사용할 수 있습니다.

  • 용량 압축 — 최대 크기(px)와 품질(%) 조절로 파일 크기 대폭 감소
  • 포맷 변환 — WEBP · JPG · PNG 세 가지 포맷으로 자유롭게 변환
  • 배경 투명 처리 — 단색 배경을 지정 색상·오차 범위로 제거해 투명 PNG/WEBP 생성
  • 다중 파일 지원 — 여러 이미지를 한 번에 선택해 일괄 변환
  • 드래그&드롭 — 파일 탐색기에서 직접 끌어다 놓기 가능
  • 완전 로컬 처리 — 이미지가 외부 서버로 전송되지 않아 개인정보 안전

이미지 용량 줄이기 , 배경 투명

이미지는 서버로 업로드되지 않고, 내 브라우저에서만 변환됩니다.

여기로 이미지를 드래그&드롭해도 됩니다.
파일 원본 결과 절감 다운로드

사용 방법

  1. 파일 선택 버튼으로 이미지를 고르거나, 드래그&드롭 영역에 파일을 끌어다 놓습니다.
  2. 최대 크기(px)를 설정합니다. 가로·세로 중 긴 쪽이 이 값을 넘지 않도록 자동 축소됩니다.
  3. 품질(%) 슬라이더로 압축 강도를 조절합니다. 낮을수록 용량이 작아지고 화질이 떨어집니다.
  4. 저장할 포맷(WEBP·JPG·PNG)을 선택합니다. 가장 작은 용량을 원한다면 WEBP를 추천합니다.
  5. 배경을 투명하게 만들고 싶다면 배경 투명 체크 후 제거할 색상과 오차 범위를 설정합니다.
  6. 변환 시작을 누르면 결과 표에 원본·결과 용량·절감량이 표시되고 다운로드 버튼이 나타납니다.

포맷별 특징 비교

포맷 특징 추천 용도
WEBP JPG 대비 30~40% 더 작은 용량, 투명 지원 블로그·웹사이트 이미지 최적화
JPG 범용 포맷, 투명 미지원, 호환성 최고 사진·일반 이미지 공유
PNG 무손실 압축, 투명 지원, 용량 큰 편 로고·아이콘·투명 배경 이미지

자주 묻는 질문 (FAQ)

Q. 이미지가 서버로 업로드되나요?

아니요. 모든 변환은 내 브라우저의 Canvas API에서 처리됩니다. 파일이 외부 서버로 전송되지 않으므로 개인 사진이나 업무 문서 이미지도 안심하고 사용할 수 있습니다.

Q. 품질(%)을 얼마로 설정하는 게 좋나요?

일반적으로 75~85%가 화질과 용량의 균형이 좋습니다. SNS·블로그용이라면 80% 전후, 인쇄용처럼 화질이 중요하다면 90% 이상을 권장합니다. 30% 이하로 낮추면 눈에 띄게 화질이 저하될 수 있습니다.

Q. 배경 투명 처리가 잘 안 되는 경우가 있나요?

배경이 단색이 아닌 그라데이션이나 복잡한 패턴인 경우 완전히 제거되지 않을 수 있습니다. 이럴 때는 오차 슬라이더를 조금씩 높여보세요. 단, 오차가 너무 크면 배경과 색이 비슷한 피사체 부분도 함께 투명해질 수 있습니다.

Q. 배경 투명 처리 시 JPG를 선택할 수 없는 이유는 무엇인가요?

JPG 포맷은 투명(알파 채널)을 지원하지 않습니다. 배경 투명 옵션을 켜면 JPG 선택이 자동으로 비활성화되며, 투명을 지원하는 WEBP 또는 PNG로 변환됩니다.

Q. 변환 후 용량이 오히려 커지는 경우가 있나요?

네. 원본이 이미 고도로 압축된 JPG라면 PNG나 높은 품질 설정으로 변환 시 용량이 늘어날 수 있습니다. 이 경우 WEBP 포맷과 품질을 낮춰보거나, 원본 파일을 그대로 사용하는 것이 나을 수 있습니다.

이용 안내
• 모든 이미지 처리는 브라우저 내 Canvas API를 사용하며, 파일이 외부로 전송되지 않습니다.
• 브라우저 또는 이미지 포맷에 따라 WEBP 변환이 지원되지 않을 수 있습니다(구형 브라우저 제외).
• 배경 투명 처리는 단색 계열 배경에 적합하며, 복잡한 배경은 전문 이미지 편집 도구를 권장합니다.
반응형

'IT_Internet > Utility' 카테고리의 다른 글

빈 줄 제거기 - 공백 줄 · 숨겨진 문자 자동 정리  (0) 2026.02.09
우편번호 검색 / 영어 주소  (0) 2026.02.09
근무일 계산기 / 근속기간 계산기  (0) 2026.02.09
D-Day 계산기  (0) 2026.02.09
급여 계산기  (0) 2026.02.09

업무 자동화나 홈페이지 제작이 필요하신가요?

AI 자동화, 엑셀/문서 자동화, 홈페이지 제작, IT 강의 상담을 도와드립니다.

상담 신청하기

빈 줄 제거기 - 공백 줄 · 숨겨진 문자 자동 정리

빈 줄 제거기 — 공백 줄 · 숨겨진 특수 문자 자동 정리

텍스트를 붙여넣으면 불필요한 빈 줄(공백 줄)을 자동으로 제거하고, 눈에 보이지 않는 제로폭 공백 같은 숨겨진 특수 문자까지 함께 정리해주는 도구입니다.
블로그 글 편집, 문서 정리, 코드 클린업 등 빈 줄이 많아진 텍스트를 빠르게 다듬을 때 유용합니다.

  • 빈 줄 자동 제거 — 연속된 빈 줄·공백만 있는 줄을 한 번에 정리
  • 제로폭 공백 제거 — 눈에 보이지 않는 Zero-width 특수 문자(U+200B 등) 자동 삭제
  • 실시간 자동 변환 — 체크 옵션으로 입력 즉시 결과 반영
  • 결과 복사 — 변환된 텍스트를 클립보드에 바로 복사
  • 전체 삭제 — 입력·출력 칸을 한 번에 초기화
빈 줄 · 숨겨진 문자 제거기
빈 줄(공백 줄)과 제로폭 공백 등 숨겨진 특수 문자를 자동으로 제거합니다.
변환할 텍스트
변환 결과


사용 방법

  1. 왼쪽 변환할 텍스트 칸에 정리할 텍스트를 붙여넣습니다(Ctrl+V).
  2. 자동 변환 체크가 켜져 있으면 입력 즉시 오른쪽 변환 결과 칸에 결과가 나타납니다.
  3. 복사 버튼을 누르면 변환된 텍스트가 클립보드에 복사됩니다(Ctrl+C로도 가능).
  4. 다시 시작하려면 삭제 버튼으로 입력·출력 칸을 모두 초기화하세요.

제거되는 항목

항목 설명
빈 줄 / 공백만 있는 줄 줄바꿈 사이에 내용 없이 비어 있거나 공백·탭만 있는 줄을 한 줄로 압축
제로폭 공백 (Zero-width space) U+200B~U+200D, U+FEFF 등 눈에 보이지 않지만 텍스트에 섞여 있는 숨겨진 문자

자주 묻는 질문 (FAQ)

Q. 빈 줄이 여러 개 연속으로 있을 때 모두 없어지나요?

네. 연속된 빈 줄은 모두 제거되어 단락 사이 줄바꿈이 딱 하나만 남습니다. 예를 들어 빈 줄이 3개 연속이면 줄바꿈 1개로 합쳐집니다.

Q. 제로폭 공백(Zero-width space)이란 무엇인가요?

화면에 보이지 않지만 텍스트 안에 숨어 있는 특수 문자입니다. 카카오톡, 웹페이지, 일부 편집기에서 복사한 텍스트에 자주 섞여 있으며, 검색·정렬·저장 오류의 원인이 되기도 합니다. 이 도구는 해당 문자를 자동으로 감지해 제거합니다.

Q. 자동 변환을 끄면 어떻게 되나요?

자동 변환 체크를 해제하면 텍스트를 입력해도 즉시 반영되지 않습니다. 붙여넣기 후 내용을 직접 수정하거나 확인한 뒤, 원하는 시점에 체크를 켜서 변환할 수 있습니다.

Q. 원본 텍스트는 변경되나요?

아니요. 왼쪽 변환할 텍스트 칸의 원본은 그대로 유지되고, 오른쪽 변환 결과 칸에만 정리된 텍스트가 표시됩니다. 원본과 결과를 나란히 비교할 수 있습니다.

이용 안내
• 입력한 텍스트는 브라우저에서만 처리되며 외부 서버로 전송되지 않습니다.
• 제로폭 공백 외 다른 특수 문자(줄바꿈 종류 등)는 제거 대상이 아닙니다.
• 복사 기능은 브라우저 클립보드 권한이 필요하며, 실패 시 결과 칸을 직접 드래그해 복사(Ctrl+C)하세요.
반응형

'IT_Internet > Utility' 카테고리의 다른 글

이미지 용량 줄이기  (0) 2026.02.09
우편번호 검색 / 영어 주소  (0) 2026.02.09
근무일 계산기 / 근속기간 계산기  (0) 2026.02.09
D-Day 계산기  (0) 2026.02.09
급여 계산기  (0) 2026.02.09

업무 자동화나 홈페이지 제작이 필요하신가요?

AI 자동화, 엑셀/문서 자동화, 홈페이지 제작, IT 강의 상담을 도와드립니다.

상담 신청하기