전체 글(480)
-
[Kotlin] Flutter로 비교하는 Kotlin & Compose 지식
https://github.com/KwonGeneral/chosungmarket.git GitHub - KwonGeneral/chosungmarket: 초성마켓초성마켓. Contribute to KwonGeneral/chosungmarket development by creating an account on GitHub.github.com 이번 포스트에서는 몇 개월만에 Kotlin으로 다시 개발하고, 또 Compose를 다루면서 습득한 새로운 지식과 다시 기억해낸 중요한 지식 몇 가지를 간단하게 이야기해볼까 합니다.다만, 제가 최근까지 Flutter로 개발을 했기 때문에 Flutter로 비교하면서 설명해볼까 합니다. 먼저 제가 다룰 목록은 아래와 같습니다.@ComposableModifier@OptInM..
2025.02.11 -
[Kotlin Project] 초성마켓 - 프로젝트 전체적인 구조
https://github.com/KwonGeneral/chosungmarket.git GitHub - KwonGeneral/chosungmarket: 초성마켓초성마켓. Contribute to KwonGeneral/chosungmarket development by creating an account on GitHub.github.com 이번 포스트에서 다룰 내용은 '초성마켓' 프로젝트의 전체적인 구조에 대해서 다룰까 합니다.* 해당 프로젝트는 android stuido, kotlin, 라이브러리 등 모두 최신 버전을 사용했습니다. 클린 아키텍처를 차용했으며, data & domain & presenter 총 3개의 레이어가 핵심입니다. common은 공용 유틸이나 type을 다루고 있으며, di는 ..
2025.02.11 -
[Kotlin Project] 초성마켓 - 홈, 퀴즈 페이지 개발
https://github.com/KwonGeneral/chosungmarket.git GitHub - KwonGeneral/chosungmarket: 초성마켓초성마켓. Contribute to KwonGeneral/chosungmarket development by creating an account on GitHub.github.com 후.. 생각보다 시간이 더 걸렸네요.현재 제 상태가 너무 피로해서.. 이번 포스트는 동영상으로 대체하고 주석 작업을 해서 GitHub에 공유드리겠습니다. 참고 부탁드립니다~!
2025.02.10 -
[Kotlin Project] 초성마켓 - 로그인 페이지 개발
https://github.com/KwonGeneral/chosungmarket.git GitHub - KwonGeneral/chosungmarket: 초성마켓초성마켓. Contribute to KwonGeneral/chosungmarket development by creating an account on GitHub.github.com 오늘은 로그인 페이지 개발에 대한 포스트를 작성해보려고 합니다~! 우선 제가 사용할 이미지는 아래 2개입니다. 위 이미지를 활용하기 전에, 아래 사이트에 접속해서 이미지를 디바이스 해상도별로 나누겠습니다.https://www.appicon.co/#image-sets App Icon Generator www.appicon.co 그 다음, 카카오 디벨로퍼로 넘어오셔서 설..
2025.02.07 -
[Kotlin Project] 초성마켓 - 클린 아키텍처 적용: DI
https://github.com/KwonGeneral/chosungmarket.git GitHub - KwonGeneral/chosungmarket: 초성마켓초성마켓. Contribute to KwonGeneral/chosungmarket development by creating an account on GitHub.github.com 안녕하세요~!이번 포스트는 DI 관련된 내용입니다. 제가 Kotlin으로 클린 아키텍처를 적용하기 위해서 라이브러리를 살펴봤는데요, 검색 과정에서 제가 모르던 단어도 알게됬습니다. 저는 의존성 역전, 의존성 주입이라는 키워드로 검색을 했는데, 이걸 줄여서 DI(Dependency Injection)이라고 부르더라고요. 여러 라이브러리가 존재하는데 저는 Koin을 채택..
2025.02.07 -
[Kotlin Project] 초성마켓 - 클린 아키텍처 적용: Data 레이어 개발
https://github.com/KwonGeneral/chosungmarket.git GitHub - KwonGeneral/chosungmarket: 초성마켓초성마켓. Contribute to KwonGeneral/chosungmarket development by creating an account on GitHub.github.com 이번 포스트에서는 Data 레이어 개발에 대해서 다루겠습니다~! 코드는 차후에 계속해서 추가, 수정, 삭제될 예정입니다. 먼저 db 관련된 부분입니다.저는 FirebaseStore를 사용하기로 했기 때문에, 이를 바탕으로 간단하게 CRUD만 구현했습니다. 다음으로, Firebase와 클라이언트 Model을 연결하기 위해서 Mapper를 만들었습니다~! 마지막으로, r..
2025.02.07 -
[Kotlin Project] 초성마켓 - 카카오 로그인 환경 구성
https://github.com/KwonGeneral/chosungmarket.git GitHub - KwonGeneral/chosungmarket: 초성마켓초성마켓. Contribute to KwonGeneral/chosungmarket development by creating an account on GitHub.github.com 이번 포스트에서는 카카오 로그인 환경 구성에 대해서 다루겠습니다! 먼저 libs.versions.toml와 gradle에 kakao sdk를 추가시켜줍시다!Sync now도 해주세요~ 그 다음, 카카오 디벨로퍼에 접속해서 로그인 해줍니다~ 내 애플리케이션으로 들어오셔서, 애플리케이션 추가를 해줍시다! 그 다음으로, 만들어진 애플리케이션을 눌러서 들어오신 다음에 플랫폼..
2025.02.07 -
[Kotlin Project] 초성마켓 - 파이어베이스 환경 구성 및 DB 구현
https://github.com/KwonGeneral/chosungmarket.git GitHub - KwonGeneral/chosungmarket: 초성마켓초성마켓. Contribute to KwonGeneral/chosungmarket development by creating an account on GitHub.github.com 이번 포스트에서는 파이어베이스에 대해서 다루겠습니다~!저번 포스트에 이어서 '초성마켓' 프로젝트에서는 API를 사용하지 않고, 파이어베이스만으로 구현해보려고 합니다. 자! 먼저 파이어베이스에 들어가서 프로젝트를 만들어줍시다. 오! 이제는 Gemini를 적극 지원하나보네요~! 전 구글이 무서운게, 이렇게 무료로 뿌리다가 어느순간 유료로 전환시켜버리던가 쥐도새도모르게 사..
2025.02.07 -
[Kotlin Project] 초성마켓 - 클린 아키텍처 적용: 인터페이스 & UseCase & 데이터 설계
https://github.com/KwonGeneral/chosungmarket.git 이번 포스트에서는 인터페이스 설계에 대해서 다루겠습니다~!아래는 첫 포스트에서 언급했던, 생각하고 있는 기능들입니다. 자... 곰곰히.. 생각을 해봅시다. 어떤 인터페이스가 필요할지를요..대략 7개 정도의 인터페이스를 만드려고합니다. (차후에 추가, 수정, 삭제가 이뤄질 수도 있습니다.)아래는 제가 생각해본 인터페이스 목록입니다.UserRepository: 사용자 계정 관리를 위한 인터페이스카카오 로그인 처리사용자 프로필 정보 관리현재 사용자 정보 조회QuizRepository: 초성 퀴즈 관리를 위한 인터페이스퀴즈 그룹 생성 및 조회사용자별 퀴즈 목록 관리퀴즈 추천 기능 처리HallOfFameRepository: ..
2025.02.07 -
[Kotlin Project] 초성마켓 - 클린 아키텍처 적용: 설명
오늘은 클린 아키텍처에 대해서 제가 느낀점을 포스팅해볼 생각입니다~ 먼저 클린 아키텍처는 사실 2가지 개념이 중요하고, 개발 방법은 사람마다 다를 수도 있다고 생각합니다. 중요한 2가지 개념은, 쉽게 말하면 '의존성 줄이기', '독립성 확보' 입니다. 사실 이 2가지를 챙긴다면 정말 작은 프로젝트도 손이 아주아주 많이 갑니다. 번거롭고 귀찮은 노가다 작업도 있구요.다만, 확실하게 말할 수 있는건 '유지보수'가 진짜 정말 말도안되게 좋습니다.어떤 프로젝트던 단발성 프로젝트라고 생각하고 진행하는 경우는 거의 없습니다. 장기적으로 생각하고 개발을 해야하는데, 클린 아키텍처를 적용하는건 장기적으로 볼때 아주 좋은 선택지라고 생각합니다.저는 SI 업체를 다녔기 때문에, 많은 프로젝트를 접했었는데요, 매 프로젝트마..
2025.02.06 -
[Kotlin Project] 초성마켓 - 프로젝트 생성 및 환경구성: Compose 도전
안녕하세요~ 이번 포스트에서는 초성마켓의 '프로젝트 생성'과 '환경구성'에 대해서 다뤄보겠습니다. 먼저! 안드로이드 스튜디오부터 다운받아줍니다~이번에 새로운 버전이 출시됬더라구요? 이럴때 아니면 써볼수가 없습니다~나중에는 새로운 버전이 나와도 이전 버전만 써야하거든요ㅎㅎ https://developer.android.com/studio?utm_source=android-studio&hl=ko 그런 다음, 새로운 프로젝트를 생성해줍시다! 오! 이제는 Compose를 밀어주나보네요. 예전부터 사용해보고 싶었던 기술인데, 이참에 한번 도전해볼까요?지긋지긋한 XML과도 이제 안녕이네요~ 바로 도전해봅시다! 이번 프로젝트는 빡세게 '클린 아키텍처'를 도입해서 할 예정입니다. Flutter로만 하던 '클린 ..
2025.02.05 -
[Kotlin Project] 초성마켓 - 간단한 프로젝트 아이디어 정리
최근에 초성퀴즈를 해봤는데 재밌어서 간단한 프로젝트 하나 만들어보려고 합니다~ - 유저가 직접 만든 초성 퀴즈 업로드- 퀴즈에 추천 기능- 명예의 전당 (퀴즈 Top 100)- 명예의 전당에 들어간 경우 메달 획득- 퀴즈 점수에 따른 포인트 획득 (1문제 1점) 1. 초성, 유저 DB 구현- 초성 DB: 초성, 설명, 태그- 유저 DB: 닉네임, 카카오 소셜 ID, 프로필 이미지 (사용자 지정으로 하면 서버가 부담스러울 것 같으니 지정된 이미지만 사용하도록 제한해야할 것 같습니다)- 초성 그룹 DB: 유저 ID, 초성 IDs, 추천, 제목, 설명, 유저 닉네임 (유저 닉네임은 실시간 동기화 하기에는 서버가 부담스러울 것 같네요.) 2. 로그인 시스템 (카카오 로그인 사용) 3. API 구현- 로그인 유저..
2025.02.04 -
[Portfolio] HTTPS 연동
https://kwonputer.shop/ KortfolioPROFILE 권태완 1995.11.11 / 서울특별시 광진구 taewandev56@gmail.com https://kwonputer.tistory.com/ 서로 다른 언어를 이해하는 통역사처럼, 기술과 사용자의 니즈를 이해하고 연결하며 소통의 다리가 되고자 하kwonputer.shop https://github.com/KwonGeneral/Kortfolio.git GitHub - KwonGeneral/Kortfolio: 포트폴리오포트폴리오. Contribute to KwonGeneral/Kortfolio development by creating an account on GitHub.github.com 이번엔 HTTPS 연동에 대해서 다루겠습니..
2025.01.22 -
[Portfolio] 도메인 구매 및 연동
https://www.kwonputer.shop/ KortfolioPROFILE 권태완 1995.11.11 / 서울특별시 광진구 taewandev56@gmail.com https://kwonputer.tistory.com/ 서로 다른 언어를 이해하는 통역사처럼, 기술과 사용자의 니즈를 이해하고 연결하며 소통의 다리가 되고자 하www.kwonputer.shop https://github.com/KwonGeneral/Kortfolio.git GitHub - KwonGeneral/Kortfolio: 포트폴리오포트폴리오. Contribute to KwonGeneral/Kortfolio development by creating an account on GitHub.github.com 이번엔 도메인 구매 및 연..
2025.01.21 -
[Portfolio] AWS 환경 설정
https://github.com/KwonGeneral/Kortfolio.git GitHub - KwonGeneral/Kortfolio: 포트폴리오포트폴리오. Contribute to KwonGeneral/Kortfolio development by creating an account on GitHub.github.com 이번엔 AWS 환경 설정을 다루겠습니다~!그 전에, settings.py에서 static 관련된 설정과 보안 옵션을 설정해줍시다. settings.py를 마무리하셨다면AWS 사이트로 접속한다음 AWS 계정을 생성하고, EC2에 접근한 다음에 새 인스턴스 생성으로 들어와줍니다. 이제는 한글도 지원하나 보네요. 우측 상단에 아시아 태평양 (서울)은 꼭 확인해주세요~저는 프리티어로 사용할 ..
2025.01.21 -
[Portfolio] 모바일 대응
https://github.com/KwonGeneral/Kortfolio.git GitHub - KwonGeneral/Kortfolio: 포트폴리오포트폴리오. Contribute to KwonGeneral/Kortfolio development by creating an account on GitHub.github.com 프로젝트 부분은 모바일을 생각해서 디자인을 개발했기 때문에, 영향은 없지만, 프로필 부분은 수정해야할 부분이 있습니다. 모바일로 접근하면 기존에 가로로 표시하던 내용을 세로로 표시할 필요가 있어 보입니다. 먼저, views를 모바일 환경에서 접근한 경우에 리다이렉트해주도록 수정하겠습니다. 정상 동작하는지 확인해보겠습니다. 잘 동작하네요. 모바일 대응은 여러 방법이 있지만, 저는 심플하게..
2025.01.21 -
[Portfolio] 웹페이지 베이스 & 상단 & 하단 개발
https://github.com/KwonGeneral/Kortfolio.git GitHub - KwonGeneral/Kortfolio: 포트폴리오포트폴리오. Contribute to KwonGeneral/Kortfolio development by creating an account on GitHub.github.com 이번 포스트에서는 웹페이지에서 base, 상단, 하단의 html과 css를 중점적으로 개발하려고 합니다. 우선 상단에는, 좌측에 프로필 이미지와 이름, 우측에 프로젝트 이름을 나열하고, 해당 프로젝트 이름을 클릭할 시, 스크롤을 이동시키는 자바스크립트 기능을 넣도록 하겠습니다. 하단에는 블로그 주소와 깃허브 주소정도 적으면 될 것 같네요. 먼저 header 부터 개발하겠습니다~ 그 다음..
2025.01.20 -
[Portfolio] Django Setting
오랜만에 프론트, 백엔드 개발을 하려니 기억이 가물가물하네요.그래도 하다보면 기억이 나겠죠?ㅎㅎ이번 포스트는 Django 설치 및 셋팅을 하려고 합니다.제가 Django를 사용했을 때가 한 2~3년 전이라 지금은 라이브러리가 업데이트 됬을 것 같아서 적응하는데 시간이 좀 필요할 것 같네요. 오랜만에 pycharm을 실행하고, 프로페셔널 버전으로 30일 평가판으로 실행해서, Django로 새로 프로젝트를 생성했습니다. 'python manage.py runserver' 명령어를 통해, 아래처럼 Django가 설치가 잘 된걸 확인할 수 있습니다.https://github.com/KwonGeneral/Kortfolio.git GitHub - KwonGeneral/Kortfolio: 포트폴리오포트폴리오. Con..
2025.01.20 -
[Portfolio] 포트폴리오 개발 시작
보호되어 있는 글입니다.
2025.01.13 -
[Python] AI 스토리 - 기본 구조 개발
※ 생각보다 요금압박이 있어서 개발은 나중에 이어서 할게요ㅠㅠ 오늘은 대략적인 구조를 개발했습니다.인공지능을 사용해서 개발하는건 개발 난이도는 정말 쉽습니다.다만, 소설을 작성하기 위한 프롬프트 작성이 더 머리가 아플 것 같네요.이번 프로젝트도 깃허브에 올라가 있습니다. https://github.com/KwonGeneral/ai_story.git GitHub - KwonGeneral/ai_story: 인공지능 소설인공지능 소설. Contribute to KwonGeneral/ai_story development by creating an account on GitHub.github.com
2024.11.01 -
[Python] AI 스토리 - 아이디어 및 플로우 구상
이번에는 Python과 Claude API를 사용해서, 인공지능을 통해 웹소설을 작성해보려고 합니다.우선 소설을 작성해야 하는데, 뭐가 필요할지 생각나는 대로 적어보려고 합니다. 1. 장르, 태그, 독자대상, 작품 길이 설정=> 장르는 판타지, 무협, 현대.. 가 있고, 태그는 소설 사이트에 들어가보니 #학원 #먼치킨 #환생.. 등이 있네요. 독자 대상도 필요할 것 같습니다. 타겟 독자층이 어릴수록 글은 권선징악에 가까워질것같고, 올라갈수록 심리묘사가 복잡해질 것 같습니다.작품의 길이는 완결까지 총 얼마나 작성할지를 설정할 생각입니다. 문피아라는 웹소설 사이트에서는 1화당 글자수 5000자 이상이라고 합니다. 이를 기준으로, 총 몇화까지 작성할지 대략적으로 설정하면 될 것 같습니다. 2. 세계관 설정=>..
2024.10.31 -
[Flutter Project] 옆자리 - 개발 완료
https://github.com/KwonGeneral/nextseat GitHub - KwonGeneral/nextseat: 같은 와이파이, 다른 이야기같은 와이파이, 다른 이야기. Contribute to KwonGeneral/nextseat development by creating an account on GitHub.github.com 안녕하세요~! 오늘, 옆자리 프로젝트의 개발을 끝냈습니다!이번 프로젝트는 지하철로 출퇴근하면서 생각한 "같은 와이파이 대역폭을 공유하는 경우에 상호 간의 채팅을 지원한다."라는 아이디어를 바탕으로 개발하게 되었습니다. 다른 분들에게 작은 도움이 되길 바라면서 코드는 공개해 놓겠습니다. 감사합니다!
2024.10.23 -
[Flutter Project] 옆자리 - 로직 변경 예정
곰곰히 생각해보니, 채팅방을 만들고 해당 채팅방에 입장하는 방식이었다면, 현재 로직대로 가면 되는데,컨셉 자체가 채팅방과는 다르기 때문에, 웹소켓을 적용하지 않는게 더 깔끔해 보입니다. UDP로 채팅 뿌리고 끝내는게 제일 깔끔할 것 같네요.다음 작업 때 로직 다 걷어내고 깔끔하게 수정해서 마무리하는게 좋아보입니다~
2024.10.21 -
[Flutter Project] 옆자리 - UDP 서비스 개발
이번엔 UDP 서비스를 개발했습니다. 남은건, 웹소켓으로 연결 후에 채팅 전송 및 수신 정도가 남았네요~
2024.10.21 -
[Flutter Project] 옆자리 - 플로우에 맞춰서 기능 개발
먼저 와이파이 연결 확인의 경우, 유틸적인 성향이 강하고, 페이지 진입 전에 확인이 필요한 기능으로 보이니, 미들웨어로 개발하는게 좋아 보입니다. https://pub.dev/packages/network_info_plus network_info_plus | Flutter packageFlutter plugin for discovering information (e.g. WiFi details) of the network.pub.dev 위 라이브러리를 사용할 예정인데, 디테일은 나중에 잡고, 우선 간단하게 기능만 만들어 놓으려고 합니다. 위 미들웨어를 가지고, 홈 페이지에 적용해주면, 됩니다. 원래는 미들웨어에서 return으로 RouteSettings를 넘겨줘서 처리를 했었는데, 단점이 내부적으로 ..
2024.10.17 -
[Flutter Project] 옆자리 - UseCase 및 화면 개발
이제 메인 로직을 제외한 나머지가 얼추 개발이 된 것 같습니다.나중에 하루정도 몰아서 메인 로직까지 완성하고, 테스트를 해보면 될 것 같습니다.코드에 대해서 궁금하신 점은, 아래의 깃허브에 모두 업로드 해놨으니 참고 부탁드립니다~ https://github.com/KwonGeneral/nextseat.git GitHub - KwonGeneral/nextseat: 같은 와이파이, 다른 이야기같은 와이파이, 다른 이야기. Contribute to KwonGeneral/nextseat development by creating an account on GitHub.github.com
2024.10.14 -
[Flutter Project] 옆자리 - 페이지 및 플로우 구상
앱을 개발해야하는데, 생각 정리할 겸 글을 작성했습니다. 제가 생각하는 앱 구성은 심플합니다.페이지는 2개를 제공할 예정입니다. 1. 미들웨어 페이지- 앱을 사용하기 위해서는, 와이파이 연결이 필수이기 때문에, 와이파이 연결을 체크하고 대기하는 페이지입니다. 2. 홈 페이지- 현재 와이파이에서 앱에 접근한 사람들과 채팅할 수 있는 페이지입니다. 그다음, 플로우 입니다.Block. 와이파이 재연결 요청 1. 와이파이 연결 확인1-Yes => [2]1-No => [Block] 2. 현재 와이파이 IP 주소 확인2-Yes => [3]2-No => [Block] 3. UDP 통신 시작 4. 현재 해당 와이파이 IP에 채팅방이 존재하는지 확인4-Yes: [6]4-No: [5] 5. 채팅방 생성5-1. 일정 시간..
2024.10.14 -
[Flutter Project] 옆자리 - 스킴 & 라우터 & 로그 & 의존성 & 모델...등 환경 구성
스킴, 라우터, 로그, 의존성 등등 환경 구성을 마쳤습니다.다음부터 본격적인 개발에 들어갈 예정입니다. 매번 느끼지만, 초반에 제대로 기본적인 개발 토대를 만들어 두면, 차후에 개발에만 전념할 수 있어서 좋습니다. 이번에 구성을 해놓으면, 다음 프로젝트부터는 거의 비슷하게 맞춰놓고 시작하려 합니다. 이번에 개발한 영역은, 경험적인 부분도 있고 양도 많아서 모두 설명하긴 어려울 것 같습니다.깃허브에 오픈했으니, 참고 부탁드립니다.사진은 간단하게 모델 부분만 올리겠습니다. https://github.com/KwonGeneral/nextseat GitHub - KwonGeneral/nextseat: 같은 와이파이, 다른 이야기같은 와이파이, 다른 이야기. Contribute to KwonGeneral/n..
2024.10.07 -
[Flutter Project] 옆자리 - 프로젝트 생성
긴 휴일을 보내고 다시 컴퓨터 앞에 앉았습니다.아직 여독이 남아있어서오늘은 간단하게 프로젝트 생성 후에 폴더 구조를 만들고, 깃허브에 업로드하고 마무리하려고 합니다. 클린 아키텍처를 사용할 것이며, 상태관리는 'get'을 사용하려고 합니다.고민중인건 내부 DB 라이브러리인데, 편한 라이브러리는 "shared_preferences"이지만, 몇 가지 단점이 있습니다. 예를 들어, 푸시를 해당 라이브러리를 통해 내부 DB에 저장하려고 하는 경우, 흔하지는 않지만, 특정 Key에 동시 접근이 가능해서 데이터가 제대로 수정이 안된다는 점과 첫 로드 시, 데이터를 미리 로드를 해줘야 한다는 점 등등이 있습니다.그러나 이를 상쇄할만큼 큰 장점이 간편하고 사용하기 편합니다. 해당 프로젝트에서는 쿼리문도 사용하지 않을 ..
2024.09.25 -
[Flutter Project] 옆자리 - 프로젝트 시작
* 같은 와이파이에 접속한 유저들끼리만 접근이 가능1. 익명 보장2. 서버에 데이터를 저장하지 않음 위의 컨셉을 유지한 채로, 앱을 개발 및 배포하려고 합니다.프로젝트명은 일단 "옆자리"로 하고, 진행하겠습니다. "옆자리" - 같은 와이파이, 다른 이야기 당신 옆 누군가와 익명으로 대화하세요. 와이파이로 연결된 공간에서만 만나는 비밀 채팅앱. 완벽한 익명성, 데이터 무저장으로 안전하게. 지금 옆자리엔 어떤 이야기가 숨어있을까요?아래 이미지를 컨셉 이미지로 사용하겠습니다.
2024.09.10