Tip/Windows2026. 4. 12. 20:21

'Tip > Windows' 카테고리의 다른 글

[ImageMatch] 같은 그림 찾기  (0) 2026.04.12
Chobocho's Commander  (0) 2026.04.12
[uCalendar] Gemini와 함께 만든 달력 앱  (1) 2026.01.26
Posted by chobocho
Tip/Windows2026. 4. 12. 20:18
Tip/Windows2026. 4. 12. 20:14

'Tip > Windows' 카테고리의 다른 글

[ImageMatch] 같은 그림 찾기  (0) 2026.04.12
[uCalendar] Gemini와 함께 만든 달력 앱  (1) 2026.01.26
Gemini 로 만든 오델로 게임  (0) 2025.12.31
Posted by chobocho
Coding/Script2026. 3. 15. 19:23

1000! 의 값을 보여주는 코드 (By Gemini)

-- 팩토리얼을 계산하는 함수 (큰 수 처리)
function calculateFactorial(n)
    -- 숫자의 각 자릿수를 역순으로 저장하는 테이블 (예: 123 -> {3, 2, 1})
    local result = {1} 

    for i = 2, n do
        local carry = 0
        
        -- 현재 result에 저장된 각 자릿수에 i를 곱함
        for j = 1, #result do
            local prod = result[j] * i + carry
            result[j] = prod % 10          -- 1의 자리는 현재 자리에 남김
            carry = math.floor(prod / 10)  -- 올림수는 다음 자리로 넘김
        end

        -- 남은 올림수(carry)를 배열 끝에 추가
        while carry > 0 do
            table.insert(result, carry % 10)
            carry = math.floor(carry / 10)
        end
    end

    -- 테이블을 역순으로 읽어 문자열로 합침 (원래 숫자 형태로 복원)
    local str = ""
    for i = #result, 1, -1 do
        str = str .. tostring(result[i])
    end

    return str
end

-- 1000! 계산 및 출력
local num = 1000
local fact = calculateFactorial(num)

print(num .. "! 의 자릿수: " .. string.len(fact))
print("결과값:")
print(fact)

결과

1000! 의 자릿수: 2568
결과값:
402387260077093773543702433923003985719374864210714632543799910429938512398629020592044208486969404800479988610197196058631666872994808558901323829669944590997424504087073759918823627727188732519779505950995276120874975462497043601418278094646496291056393887437886487337119181045825783647849977012476632889835955735432513185323958463075557409114262417474349347553428646576611667797396668820291207379143853719588249808126867838374559731746136085379534524221586593201928090878297308431392844403281231558611036976801357304216168747609675871348312025478589320767169132448426236131412508780208000261683151027341827977704784635868170164365024153691398281264810213092761244896359928705114964975419909342221566832572080821333186116811553615836546984046708975602900950537616475847728421889679646244945160765353408198901385442487984959953319101723355556602139450399736280750137837615307127761926849034352625200015888535147331611702103968175921510907788019393178114194545257223865541461062892187960223838971476088506276862967146674697562911234082439208160153780889893964518263243671616762179168909779911903754031274622289988005195444414282012187361745992642956581746628302955570299024324153181617210465832036786906117260158783520751516284225540265170483304226143974286933061690897968482590125458327168226458066526769958652682272807075781391858178889652208164348344825993266043367660176999612831860788386150279465955131156552036093988180612138558600301435694527224206344631797460594682573103790084024432438465657245014402821885252470935190620929023136493273497565513958720559654228749774011413346962715422845862377387538230483865688976461927383814900140767310446640259899490222221765904339901886018566526485061799702356193897017860040811889729918311021171229845901641921068884387121855646124960798722908519296819372388642614839657382291123125024186649353143970137428531926649875337218940694281434118520158014123344828015051399694290153483077644569099073152433278288269864602789864321139083506217095002597389863554277196742822248757586765752344220207573630569498825087968928162753848863396909959826280956121450994871701244516461260379029309120889086942028510640182154399457156805941872748998094254742173582401063677404595741785160829230135358081840096996372524230560855903700624271243416909004153690105933983835777939410970027753472000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Posted by chobocho
Coding/Script2026. 3. 15. 19:17

'Coding > Script' 카테고리의 다른 글

[Lua] 1000!  (0) 2026.03.15
[DOS] Batch 파일  (0) 2023.09.07
[JsCalculator] 안드로이드 계산기 만들기 (Android Calculator 만들기)  (0) 2020.09.10
Posted by chobocho
Tip/Android2026. 3. 14. 13:49

Termux에 Neovim의 copilot chat 기능 사용시 에러가 발생할 때 해결 법

아래와 같이 먼저 설정
chmod 777 $PREFIX/tmp

.bashrc 에 아래 라인 추가
export XDG_RUNTIME_DIR=$PREFIX/tmp

참고:
https://github.com/CopilotC-Nvim/CopilotChat.nvim/discussions/382#discussioncomment-10315879

Posted by chobocho
Coding/JavsScript 삽질기2026. 2. 16. 14:48

Gemini 형과 함께 Maze 게임을 만들었다.



1. 게임 해보기
http://www.chobocho.com/game/maze/index.html

 

Chobocho's 미로 생성기 V0.2

새 미로 ✏️ 🧽 🗑️ 💾

www.chobocho.com

 

2. 미로 생 로직 소개 (Written by Gemini)

🧠 미로를 만드는 핵심 원리: DFS와 백트래킹

이 코드에서 사용할 핵심 기법은 깊이 우선 탐색(DFS, Depth-First Search) 기반의 백트래킹(Backtracking)입니다. 이름은 거창하지만 원리는 아주 단순합니다.
  1. 일단 갈 수 있는 방향 중 하나를 무작위로 골라 벽을 부수고 전진합니다.
  2. 지나온 길은 '수첩(Stack)'에 기록해 둡니다.
  3. 사방이 다 막혀있거나 이미 방문한 곳뿐이라면(막다른 길), 수첩을 보고 직전에 있었던 갈림길로 되돌아갑니다. (이것이 백트래킹!)
  4. 수첩에 적힌 모든 기록을 지우고 출발지로 돌아오면 미로 완성!
이제 이 원리가 코드로 어떻게 구현되는지 단계별로 살펴보겠습니다.
 

💻 코드 파헤치기
1. 꽉 막힌 방들로 이루어진 판 만들기 (초기화)
먼저 미로의 뼈대가 될 격자(grid)를 만듭니다. 처음에는 모든 칸의 사방(상, 하, 좌, 우)에 벽이 쳐져 있는 상태로 시작합니다.

2. 탐험 준비 및 시작
가장 왼쪽 위 [0][0]을 출발점으로 잡고 탐험을 시작합니다. 

3. ✨핵심 포인트: 가장 먼 종료 지점 찾기
보통 미로를 만들면 습관적으로 가장 반대편인 우측 하단([size-1][size-1])을 도착점으로 둡니다. 
하지만 미로의 길이 꼬불꼬불하다면, 물리적인 거리와 상관없이 실제로 가장 많이 걸어야 하는'가장 난이도가 높은 칸'은 다른 곳일 수 있습니다.
우리는 stack의 길이를 이용해 이 문제를 해결합니다. 
탐험 중 stack에 쌓인 데이터의 개수는 곧 '출발지로부터 현재 위치까지 꺾어 들어온 거리'를 의미하기 때문입니다.

4. 무작위로 벽 부수며 전진하기
이제 인접한 칸 중 아직 안 가본 곳(neighbors)을 찾습니다.
갈 곳이 있다면 무작위로 하나를 골라 현재 칸과 다음 칸 사이의 벽(wall, opp)을 모두 false로 만들어 길을 뚫습니다. 
갈 곳이 없다면 막다른 길이므로 수첩에서 현재 위치를 지우고(stack.pop()) 뒤로 물러납니다.

let neighbors = [];
    for (let d of directions) {
        let nx = current.x + d.dx;
        let ny = current.y + d.dy;
        if (nx >= 0 && nx < size && ny >= 0 && ny < size && !grid[ny][nx].visited) {
            neighbors.push({cell: grid[ny][nx], dir: d});
        }
    }

    if (neighbors.length > 0) {
        // 갈 곳이 있다면 무작위로 벽 부수고 전진
        let chosen = neighbors[Math.floor(Math.random() * neighbors.length)];
        current[chosen.dir.wall] = false;
        chosen.cell[chosen.dir.opp] = false;
        chosen.cell.visited = true;
        stack.push(chosen.cell);
    } else {
        // 막다른 길이면 뒤로 되돌아가기
        stack.pop();
    }
}

5. 마무리 및 데이터 반환
수첩(stack)이 텅 비어 while 문이 끝났다는 것은 모든 방을 다 방문하고 다시 출발지로 돌아왔다는 뜻입니다. 
이제 아까 기록해 둔 '가장 먼 곳'을 종료 지점(isEnd = true)으로 설정하고 데이터를 반환합니다.

 

3. 소스코드 위치
https://github.com/chobocho/maze_maker

 

GitHub - chobocho/maze_maker: maze generator

maze generator. Contribute to chobocho/maze_maker development by creating an account on GitHub.

github.com

 

 

Posted by chobocho
Tip/Linux2026. 2. 16. 14:39

폴드7에 picoclaw를 설치해 보았다

# 1. 목록 업데이트
pkg update && pkg upgrade

# 2. Ubuntu 설치
proot-distro install ubuntu

# 3. 로그인
proot-distro login ubuntu

# 4. 필수 도구 설치
apt update && apt upgrade -y
apt install curl git build-essential -y

# 5. picoclaw 설치
git clone https://github.com/sipeed/picoclaw.git
cd picoclaw
make deps
make install

# 6. Picoclaw 환경 설정
picoclaw onboard
# 아래 파일에서 GEMINI, BRAVE, TELEGRAM 키값 입력
vi ~/.picoclaw/config.json 

# 7. Picoclaw 실행
picoclaw gateway run

 

Posted by chobocho
Tip/Android2026. 2. 10. 23:11

폴드7에 openclaw를 설치해 보았다

# 1. 목록 업데이트
pkg update && pkg upgrade
# 2. Ubuntu
proot-distro install ubuntu
# 3. 로그인
proot-distro login ubuntu
# 4. 필수 도구 설치
apt update && apt upgrade -y
apt install curl git build-essential -y
# 5. node.js 설치
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt install -y nodejs
# 6. openclaw 설치
npm install -g openclaw@latest
# 7. 패치 파일 생성

cat << eof > /root/fix_bug.js 
const os = require('os'); 
os.networkInterfaces = () => ({}); 
eof

 
# 8. 환경 변수 등록

echo 'export NODE_OPTIONS="-r /root/fix_bug.js"' >> ~/.bashrc 
source ~/.bashrc

 
# 9. Gemini 설정

echo 'export GEMINI_API_KEY="본인의_API_키_입력"' >> ~/.bashrc
source ~/.bashrc

 
# 10. OpenClaw 실행 확인
openclaw onboard
# 11. Openclaw 실행
openclaw gateway run

Posted by chobocho
Tip/Windows2026. 1. 26. 23:45

실행파일:

uCalendar_V1.216.2.zip
5.57MB

기본 기능 

- 일정 관리
- 일정 검색
- 메모장 

소스코드 위치

https://github.com/chobocho/uCalendar

 

GitHub - chobocho/uCalendar: Simple canlendar

Simple canlendar. Contribute to chobocho/uCalendar development by creating an account on GitHub.

github.com

 

* 관공서/기업 포함 누구나 이용할 수 있는 프리웨어 입니다.

'Tip > Windows' 카테고리의 다른 글

Chobocho's Commander  (0) 2026.04.12
Gemini 로 만든 오델로 게임  (0) 2025.12.31
Gemini 로 만든 주사위 게임  (0) 2025.12.31
Posted by chobocho