One More Second - 탄막 슈팅 게임 웹 서비스
·
김보근
https://onemoresecond.site/ ONE MORE SECOND onemoresecond.site
돌연변이 테스팅
·
김동훈
돌연변이 테스팅우선 돌연변이 테스팅은 명령문( https://www.reddit.com/r/programming/comments/1fub9dw/what_is_mutation_testing_and_why_you_should_use/?tl=ko최근 회사동료와 같이 프로젝트를 진행하며 작성한 테스트 코드에서 힌트를 얻었다.enum상수의 추상 메소드를 테스트하는 것이었는데, 반환타입을 인터페이스의 구현체 중 아무거나로 변경하여 테스트를 수행해도 깨지지 않았다는 것이다.아래는 sample code이다. 이렇게만 test case을 작성하진 않겠지만, 예시임을 이해하라.class CarTest { @Test fun testCarName() { val kia = Car.KIA.make() ..
[Line corp] Kotlin-jdsl commit 쪼개기-1
·
김동훈
init 커밋이 무려 1만줄이 넘는 변경사항있다.첫 커밋을 혼자 분석해보는 것도 재미있겠지만, 해보고 싶은 게 많은 나는 ai 의 도움을 받기로 했다.gemini-cli도 고려해보았지만, 사용중이던 windsurf을 우선 사용해보기로 했다. agent 기능을 쓸 일은 없을 것 같긴하지만.. 우선 전체적인 구조 파악을 위해 프로젝트 분석을 시켜두었다.전체적인 내용을 확인해보고, 이제 각 모듈을 분석해 볼 차례이다.효율적으로 분석하기 위해, claude 에게 순서를 추천 받았다. 이 순서대로 init commit을 쪼개보겠다
[Effective Software Testing] chapter_2
·
김동훈
프로그램(기능)의 요구사항(기획서?)을 바탕으로 정의된 명세를 기반으로 테스트를 진행한다.기능 구현 후, 요구사항에 맞게 잘 구현되었는지 확인하기 위해 먼저 시도해볼 수 있다.1. 요구사항과 입출력에 대해 이해하기프로그램(method)을 3단계로 분석한다.메서드가 무엇을 수행하는가? (비즈니스 로직)메서드가 무엇을 입력으로 받는가?메서드가 무엇을 출력하는가?2. 여러 입력값에 대해 프로그램이 수행하는 바를 탐색하기이 메서드가 어떤 기능을 구현했는가를 탐색하는 단게이다. (비즈니스 로직 분석 단계)내가 작성한 코드라면 skip 해도 되지만, 남이 작성한 코드를 테스트할 때 거치는 단계이다.예상할 수 있는 입력값들을 통해 해당 메서드를 파악하면 된다.처음 구매한 기기를 탐색해보는 과정으로 느껴진다3. 테스트..
스터디 4기 - In dark 웹 사이트 기반 게임 만들기 - 로그인 구현
·
김보근
기획 단계에 이어 로그인 페이지 기획과 화면 구현을 진행하였습니다.게임을 진행 및 저장을 위해서는 유저 정보가 가장 먼저 필요해서 첫번째 순서로 진행합니다. 1. 로그인 기획 첫 방문 진입 흐름첫 화면 = 로그인 화면(전용 라우트 or 모달)구글 소셜 로그인 및 개인 이메일 로그인계정 연동 시 커뮤니티/채팅/진행도 동기화cloude firebase 에 유저 정보 저장테마 연출: 커서 위치를 중심으로 횃불 스포트라이트(radial-gradient) 효과로 어두운 배경을 밝히는 컨셉 2. 기획에 따른 구현 이후에 firebase에서 얻은 api key를 내 웹 프로젝트에 적용. 이렇게 로그인 단계를 구현 완료했고, vercel을 통해 프론트 배포 진행도 완료했습니다. 문제점은 firebase aut..
스터디 4기 - In dark 웹 사이트 기반 게임 만들기 - 기획 단계
·
김보근
🦀 웹 기반의 게임 프로젝트를 시작하려합니다.평소에 만들고 싶던 '던전 탐험' 게임 + 커뮤니티의 웹사이트를 만들어보고 싶었는데 이 기회에 만들어 볼 겁니다. 게임 기획 & 아키텍처 설계 - GPT 이용에셋 생성 - GPT 이용코드 구현 및 생성 - Cursor, Codex 내가 만들고 싶던 게임의 모호한 계획과 방향성을 GPT 와 의논하면서 상세히 정리하는 것부터 시작.여러 프롬프트를 거친 결과, 아래와 같은 기획이 나왔습니다. 🦀 게임 방향성과 목적 기획1. 세계관 및 설정주인공: 알 수 없는 이유로 미궁에서 깨어난 존재. 기억도 배경도 없음.미궁: 끝을 알 수 없는 어둡고 불길한 공간.빛이 거의 없고, 플레이어는 오직 횃불 하나에 의존.어둠 속에서는 “볼 수 없다”라는 제약이 게임플레이의 본질..
지란스터디 4기 계획
·
오성찬
목표유튜브 쇼츠 영상 누적 조회수 1000회 달성AI 도구(Midjourney, HAILUO AI)를 활용귀여운 동물(고양이 등)을 주제로 콘텐츠 실험사용 도구Midjourney: 고양이, 강아지, 토끼 등 귀여운 동물 이미지 생성HAILUO AI: AI 영상 제작CapCut: 영상 편집 및 자막 삽입YouTube Shorts: 쇼츠 업로드 및 통계 분석활동 일정1주차나비를 주제로 영상 제작 테스트 진행 (https://lifehi.tistory.com/5)고양이를 주제로 Midjourney 이미지 -> HAILUO AI로 영상 제작2주차영상 1차 제작 (30~45초 분량)쇼츠 업로드 및 해시태그 실험성과 측정 (조회수, 좋아요, 댓글 등)
지란스터디 4기 계획
·
김동주
데이터베이스 실무 능력 기르기목표실전 데이터베이스 강의 수강김영한의 실전 데이터베이스 - 기본편프로그래머스 고득점 SQL Kit 문제 풀이프로그래머스 SQL Kit > 1~6주간(6주) 강의 수강 : 매주 섹션 2개씩 수강> 7~8주간(2주) 문제 풀이 : 매일 풀이하는 문제 개수 다시 정하기 기대효과> 더 나은 효율의 데이터베이스 설계와 쿼리에 대한 실력을 쌓을 수 있다
오픈소스에 내이름 박기
·
김동훈
hypersistence-utils 오픈소스에 내 PR이 merge되었다.hypersistenc-utils는 Vlad Mihalcea 가 관리하는 JPA(hibernate)을 사용하면서 겪는 불편함을 해소하기 위한 유틸리티 오픈소스이다. hibernate 6.x대와 7.x 대 모두 지원하고 있다. 그리고 hypersistence-optimizer도 운영중인데, hibernate을 사용할 때 여러 성능 이슈를 감지해주는 도구이다. 간단하게는 EAGER 로딩 전략을 감지해주기도 한다. Vlad Mihalcea는 자바 챔피언이자, hibernate 고수인데 이 분이 발간한 high-performance-java-persistence 라는 책이 있다. 구글에 서치 해보면 많은사람들이 이 책을 좋게 평가하고 있고..
Rust Ownership(소유권)
·
김보근
🦀 Rust의 소유권(Ownership)과 메모리 모델Rust는 소유권(ownership) 시스템을 통해 메모리를 안전하게 관리하며, GC 없이도 안정성을 보장합니다.🦀 예시: 스택에서 값 전달 fn main() { let x = 1; let y = 3; println!("{}", sum(x, y)); println!("Hello world!"); } fn sum(a: i32, b: i32) -> i32 { et c = a + b; return c; } 🦀 예시: 스코프 벗어난 변수 접근 fn main() { let x = 3; // 스택에 변수 생성 { ..