Homemade Studio 팀에서 진행중인 프로젝트를 함께 할 팀원을 모집하고 있습니다. 작업 및 회의는 전부 비대면으로 진행하고 있으며, 상황에 따라 변경 가능합니다. 모집하고있는 인원은 총 2인이며 분야는 다음과 같습니다. 디자이너 - Figma 사용 가능하신 분 - 개발자와 협업을 진행해보고 싶으신 분 - 모바일 또는 앱 디자인 경험 및 배우고 싶으신 분 - 기존에 제작되어있는 디자인을 이어서 작업하실 수 있는 분 (회의를 통해 디자인 변경 가능) 프론트엔드 개발자 - Next.JS 사용능하신 분 - 같이 배우면서 성장하실 분 - 팀 단위의 협업 가능하신분 Homemade Studio 팀 소개 - 백엔드 개발자 - 프론트 엔트 개발자 - iOS 개발자 > 3인으로 구성되어 있으며 현재 앱과 웹 동시에 작업중입니다. 팀에서 사용하고 있는 소통 방식 및 협업 툴 - Slack, Figma, Github, Jira 아래 오픈채팅 링크로 문의 주시면 감사하겠습니다, 링크: https://open.kakao.com/o/sn63qkih
8강 Spring Boot 프로젝트 세팅 2 강의를 반복해서 보고 있습니다. 강의에서는 Multi Module 을 생성하기 위하여 Directory 를 생성하고, build.gradle 파일을 생성한 후 코드 입력 settings.gradle 에 Module 정의를 하시고 계십니다. 인텔리제이에서는 프로젝트에 Module 을 추가하기 메뉴가 있습니다. 인텔리제이 에서 프로젝트에 Module 을 추가하면, 강좌파일의 모듈처럼 생성이 되지 않습니다. project/module1, project/module2 이렇게 1단계 모듈만 작성이 가능합니다. 인터넷 검색자료에도 모듈작성이 1단계방식(에를들어 service-article, service-like)으로 되어 있습니다. 계층구조가 강의 내용이 보기 깔끔하여 따라 해보려 하는데 잘 되지 않습니다 디렉토리를 2단계로 작성( project/service/article)하고 build.gradle 파일을 직접 생성하면 "dependecies" 키워드도 자동안성이 되지 않습니다 인텔리제이 버전은 "IntelliJ IDEA 2024.3.3 (Ultimate Edition)", "Build #IU-243.24978.46, built on February 11, 2025" 입니다 인텔리제이가 버전업이 될때마다 메뉴라던가, 기능이 많이 바뀌기는 합니다만. 조금 답답합니다
강의에서 모든 부분이 잘 따라왔습니다. 다만.. 마지막 안드로이드 가상 에뮬레이터가 작업표시줄 창에는 뜨지만 직접적으로 확인하지 못하고 있습니다. 클릭해도 아무 반응이 없고, 작업 표시줄에 있는 프로그램에 마우스를 올려보면 이렇게만 뜨고 있습니다. adb 설치도 다시 해보았고, 에뮬레이터에서 앱이 실행 중인지도 adb shell pm list packages | grep 명령어로 확인해보았습니다. 제가 놓친 부분이 있는 걸까요?
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘
24분 24초에 나오는 palyer.cpp, while문 안에 해당 코드에서 closed list는 방문 유무만 체크를 하는데 최소 거리를 찾는것과 무슨 관계가 있는지 모르겠습니다. closed list에는 다른 경로와 값을 비교하는 부분(비용계산 하는부분)이 없는 것 같은데 어떻게 체크가 되는지 궁금합니다.
섹션2. Basic Trigger Practice(3) 이 부분을 들었는데요, 여기서 강사님 화면에서는 숫자 0에서 100% 올라가는 숫자카운팅이 보여지는데 전 0% 에서 바로 100% 가 되어서요, 그 이후의 동작은 정상적으로 잘 되구요~ 소스를 완성본을 복사해봐도 동일하구요
' 각 강의 브랜치 주소는 챕터가 시작하는 화면 하단에 표시되어 있으니 참고하여 주시기 바랍니다. ' 라고 하셨는데, 화면 하단에 어디에 있는지 모르겠습니다. 해당 화면에 대해서 스크롤도 안되고, 메모같은 것도 없어서 현재는 github 를 뒤지면서 보고 있는데, 명확한 가이드를 주실 수 있나요 ? 깃허브에 뒤져가면서 보더라도 숫자-내용 basic-내용 형태의 브랜치들 밖에 없다보니 뭘 봐야할지 헷갈립니다.
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
안녕하세요. 제가 겪은 오류 관련해서 이미 예전 질문 글이 있었고 그와 관련해서 잡 캔슬이 얼마나 중요한지 알게 되면서 이것저것 정리하면서 생각해보다 보니까 문득 화살을 파괴할 때느 잡 캔슬을 하지 않았던 게 생각 나더군요. 사용자가 상호작용을 할 때만 발사되는 거라서 몬스터나 비전큐브랑 같지 않다는 건 아는데요. 문득 이런 의문이 들었습니다. Arrow.Update()가 다음과 같습니다~ public override void Update() { if (Owner == null || Room == null || Data == null || Data.projectile == null) return; int tick = (int)(1000 / Data.projectile.speed); Room.PushDelayed(tick, Update); Vector2Int destination = GetFrontCellPosition(); if (Room.Map.ApplyMove(this, destination, applyCollision: false)) { GameRoom room = Room; S_Move movePacket = new(); movePacket.ObjectId = Id; movePacket.PosInfo = PositionInfo; room.Broadcast(CellPos, movePacket); } else { GameObject target = Room.Map.Find(destination); if (target != null) { // 피격 target.OnDamaged(this, Data.damage + Owner.TotalAttack); } // destroy Room.Push(Room.LeaveGame, Id); } } 제가 상상해낸 버그의 해결 방법은 이미 알고 있습니다. 다만 그런 상황이 가능할까 궁금하더라고요. 화살을 파괴하는 일감인 (Room.LeaveGame, Id)가 잡큐에서 실행되기 전에 Update() 함수 초기에 예약해둔 일감 Room.PushDelayed(tick, Update)이 잡큐에서 먼저 실행되면 한 화살이 아직 파괴되기 전이므로 대미지가 두 번 이상 발생할 수 있는 상황이 올까? 싶었습니다. 저희가 GameLogic에서 일감들을 flush 하고 Job 클래스를 보면 JobTimer를 먼저 flush하니까요. 타이밍 이슈로 충분히 그럴 수 같은데? 생각이 들더라구요. 아직 재현된 이슈는 아닙니다. 가끔씩 화살이 몬스터를 뚫고 지나가기도 하는데 이런 타이밍 이슈와 관련이 있을까 하는 생각도 같이 들었습니다. 제 부족한 경험으로는 명쾌한 해답을 찾기가 어렵네요ㅠ
const res = await fetch( `${process.env.NEXT_PUBLIC_BASE_URL}/api/posts/recommends?cursor=${pageParam}`, { next: { tags: ["posts", "recommends"], }, //cache: "force-cache", } ); '/home'에서 포스팅 로딩 시 또는 새로고침 시에 데이터를 최초 조회하는 시점에서 cache: "force-cache"를 제거하면 포스팅이 노출되고 포함하면 포스팅이 안 나오는 현상이 있는데 어떤 이유인지 의심 가는 부분을 못 찾겠어서 질문 드립니다. cache: "force-cache" 주석처리 데이터 존재 cache: "force-cache" 빈 배열
안녕하세요! 이번에 카카오 로그인을 강의를 보고 적절히 구현할수 있게 되었습니다. 다만 제가 생각하는 앱에 네이버 로그인도 같이 있으면 좋을것 같은데.. 혹시 어떤식으로 구현하면 좋을지 팁을 주실수 있을까요..? 추가적으로 플러터 플로우에 있는 app state의경우 원래는 영구저장이 안되지만, persist옵션을 선택하면 로컬에 저장이 가능하다고 하는데, 확신이 없어서요.. 혹시 제가 생각하는게 맞을까요?? 앱에 필요한 json형식의 데이터들을 로컬에 저장하고, 앱이 재시작해도 초기화 되지 않도록 구현하려고 합니다..!
❗ 질문 작성시 꼭 참고해주세요 현재 문제(또는 에러)와 코드(또는 github) 를 첨부해주세요. 맥/윈도우, 안드로이드/iOS, Expo, Node 버전 등의 개발환경 을 함께 적어주시면 도움이 됩니다. 에러메세지는 일부분이 아닌 전체 상황 을 올려주세요. ( 일부만 자르거나 복사하지말아주세요 .) 개발환경/코드에 대한 정보가 없을경우 답변이 어렵습니다. pgAdmin4에 저장된 유저 정보에 비밀번호를 보면 제가 임의로 입력한 비밀번호가 아닌 암호화?된 값이 저장되어있는데 이 부분은 올려주신 server 백엔드에서 진행된건가요? 프론트 부분에서는 없는것 같아서 여쭤봅니다. 프론트가 아닌 백엔드에서 암호화하는게 맞는것 같긴 한데, 혹시나 놓친 부분이 있는건가 싶어서 여쭙니다.
선생님 질문이 있습니다! const deviceHeight = Dimensions.get('screen').height; ... paddingVertical : deviceHeight > 700 ? 15 : 12; 이런식으로 스타일링 해주셨는데요, 궁금한게 디바이스는 무수히 많은 종류가 있고, 700뿐만 아니라 500, 700, 1000 등등 사이즈마다 다르게 대응해야 할 수도 있을 것 같은데, 상상만 해도 스타일링이 많이 지저분해질 것 같아서요. 혹시 deviceHeight의 수치에 따라 계산식을 만들어서 padding이 비율에 따라 확대/축소될 수 있도록 하는 것도 방법이 될까요? 아니면 웹에서 반응형 레이아웃 대응할 때 미리 사이즈 정의해놓는 것처럼 const deviceSizes = { xs: '575px', sm: '576px', md: '768px', lg: '992px', xl: '1200px', xxl: '1600px', }; 이런식으로 정해놓고 스타일링할 때 사이즈별로 case 문 만들어서 정의하는게 나을까요? 실무에서 이런 방식도 쓰일런지 궁금합니다!