뚝딱툴 - 바이브코딩으로 만든 무료 웹 도구 플랫폼
·
DDTool
들어가며: "간단한 작업인데, 왜 로그인이 필요하지?"개발을 하다 보면, 혹은 기획서를 쓰다 보면 급하게 필요한 도구들이 있습니다. 글자 수를 세거나, 줄바꿈을 제거하거나, 테스트용 QR 코드를 만들어야 할 때 말이죠.하지만 막상 검색해서 들어가 보면 과도한 광고에 눈이 피로해지거나, 심지어 간단한 기능조차 회원가입을 요구하는 경우가 많았습니다. '이런 불편함을 직접 해결해 볼 수는 없을까?'라는 작은 질문이 이 프로젝트의 시작이었습니다.때마침 개발자 커뮤니티에서 AI와 대화하며 애플리케이션을 구축하는 Vibe Coding(바이브 코딩)이 뜨거운 화두로 떠오르고 있었습니다. 저는 이 새로운 개발 패러다임을 검증해 볼 겸, 아이디어를 현실로 만들어보기로 했습니다.그렇게 탄생한 뚝딱툴(DDTool)은 누구나..
ADB를 사용해 System App 삭제하기
·
Mobile
안드로이드 시스템 이미지에 내장되어 있는 시스템 어플리케이션 (built-in application) 삭제 1. ADB shell접속 및 루트 권한 획득 adb shell su 2. /system 이 어디에 마운트 되었는지 확인 mount | grep system /dev/block/stl12 /system ext4 ro,relatime,barrier=1,data=ordered 0 0 3. read-write로 remount mount -o rw,remount /dev/block/stl12 /system 4. rw모드로 마운트 됐나 확인 mount | grep system /dev/block/stl12 /system ext4 rw,relatime,barrier=1,data=ordered 0 0 5. 어플..
개발자라면 꼭 알아야 할 Base64 인코딩/디코딩 원리와 실습
·
Backend
개발을 하다 보면 알 수 없는 영문 대소문자와 숫자가 섞여 있고, 끝이 = 또는 ==로 끝나는 긴 문자열을 마주칠 때가 있습니다. 바로 Base64 인코딩된 데이터입니다. 오늘은 이 Base64가 도대체 무엇인지, 왜 굳이 데이터 크기가 늘어나는 것을 감수하고 사용하는지, 그리고 파이썬(Python)으로 이를 어떻게 다루는지에 대해 정리해 보려고 합니다.1. Base64란 무엇인가?Base64는 이진 데이터(Binary Data)를 텍스트(ASCII 문자)로 변경하는 인코딩 방식 중 하나입니다. 컴퓨터 분야에서 '64'라는 숫자는 26을 의미합니다. 즉, 64진법을 사용한다는 뜻인데, 64개의 문자로 모든 데이터를 표현한다는 것이 핵심입니다.사용되는 문자: A-Z (26개), a-z (26개), 0-9 ..
테스트 데이터 생성 - Faker.js, Mockaroo
·
Development
개발하다 보면 테스트용 더미 데이터가 필요한 경우가 정말 많다. 사용자 정보, 주문 데이터, 게시글 내용 등... 매번 수동으로 만들기엔 너무 번거롭고, 그렇다고 실제 데이터를 쓰기엔 개인정보 문제도 있다. 이럴 때 도움이 되는 테스트 데이터 생성 도구들을 정리해봤다.왜 테스트 데이터 생성 도구가 필요할까?개발 효율성: 수동으로 데이터 입력하는 시간 절약현실적인 테스트: 다양한 형태의 실제 같은 데이터로 테스트개인정보 보호: 실제 사용자 데이터 대신 가짜 데이터 사용대용량 테스트: 수천, 수만 건의 데이터를 쉽게 생성Faker.js (https://fakerjs.dev/)특징Faker.js는 JavaScript 기반의 가짜 데이터 생성 라이브러리다. 프로그래밍 방식으로 사용하는 것이 주 목적이지만, 온라..
[supabase] 이미 가입된 이메일 검증하기
·
Backend
supabase를 사용해 회원가입 프로세스를 구현하다보면 이미 가입된 이메일로 가입 시도 시 '이미 가입되어 있으니 로그인을 시도하세요.'와 같은 안내를 하도록 개발하고 싶은 경험 있으실텐데요.보통 이메일과 비밀번호로 회원가입을 시도하는 경우 아래와 같이 코드를 작성하게 됩니다.import { supabase } from './supabaseClient'; // Supabase 클라이언트 import// 회원가입 처리 함수const handleSignUp = async (email, password) => { try { // Supabase의 signUp 함수 호출 const { data, error } = await supabase.auth.signUp({ email: email,..
PC에 연결된 모바일 기기 화면을 명령어로 캡처하기 (안드로이드, iOS)
·
Mobile
모바일 앱을 개발하거나 USB로 연결된 모바일 기기의 화면 캡처가 필요할 때가 종종 있습니다.이번 글에서는 USB로 연결된 안드로이드나 iOS(아이폰) 기기의 화면을 캡처하는 방법에 대해 정리했습니다.1. 각 OS별 캡처 명령안드로이드adb exec-out screencap -p > screenshot.pngADB를 이용해 PNG 캡처 후 로컬에 저장adb devices로 연결 확인 가능windows에서는 cmd에서 가능 (powershell 불가)iOS (실물 기기)xcrun xcdevice screenshot screenshot.pngXcode CLI 도구를 이용해 iOS 기기 화면을 PNG로 저장xcrun xcdevice list로 연결 상태 확인 가능USB로 연결되어 있고, 개발자 모드가 켜져 있..
스마트폰에서 같은 네트워크 윈도우 서버 접근하기
·
Mobile
윈도우PC WSL에 웹서버를 구동시킨 후 같은 네트워크에 wifi로 연결한 스마트폰으로 접근하려 하니 잘 안된다.찾아보니 이것저것 설정을 해줘야 하는 부분이 있어 기록을 남겨본다.1. Windows IP 주소 확인Windows 명령 프롬프트에서:ipconfig또는 PowerShell에서:Get-NetIPAddress -AddressFamily IPv4WiFi 어댑터 IP 주소 확인 (보통 192.168.x.x 형태).2. WSL에서 웹서버 바인딩 설정웹서버가 localhost(127.0.0.1)가 아닌 모든 인터페이스에서 접근 가능하도록 설정 필요Express.js 예시:app.listen(3000, '0.0.0.0', () => { console.log('Server running on port ..
[Java] Jackson JSON 처리 마스터하기
·
Backend
Java에서 JSON 처리를 위한 라이브러리로 가장 널리 사용되는 것이 바로 Jackson이다. Spring Boot의 기본 JSON 처리 라이브러리로 채택되어 있을 만큼 안정적이고 성능이 뛰어나다. 이번 포스트에서는 Jackson을 활용한 JSON 처리의 핵심 기능들을 샘플 코드와 함께 살펴보자.Jackson이란?Jackson은 Java 객체와 JSON 데이터 간의 직렬화(Serialization)와 역직렬화(Deserialization)를 담당하는 고성능 JSON 처리 라이브러리다.주요 특징높은 성능: 스트리밍 기반 처리로 빠른 속도유연성: 다양한 어노테이션으로 세밀한 제어 가능Spring 통합: Spring Boot에서 기본 JSON 처리기로 사용기본 설정 com.fasterxml.jackso..