글 전체보기
-
[개발] #06 중섭 대응 업데이트 (리모델링)활동/Arkhive 2023. 9. 3. 00:53
생각해보니, 스토어에 올리고 심사 기간동안 아무것도 못 할 바에는 중국어라도 중섭의 내용을 보면 미래시를 보는데 더욱 좋을 거 같아서 중섭 DB 기능을 업데이트를 진행하기로 했습니다! 그런데... 지금 보니 글로벌 데이터와 중국 데이터의 모델이 달라진..? 그래서 언젠가 모델링을 Equatable, JsonSerializable를 이용해서 다시 하고 싶기도 했기에 이번 기회에 모델링을 새로 하며, 동시에 중섭도 대응할 수 있도록 하기로 결정했습니다. 1. DB Region 그 전에 일단 region을 설정하고 Bloc으로 관리, Bloc을 생성할 때 의존성을 주입(일부 제외)하여 편리하게 게임 데이터 주소를 가져올 수 있도록 했습니다. 2. Modeling 그 다음은 모델을 새로 만들어줍니다. 다만, 글..
-
[개발] #05 Google play 배포활동/Arkhive 2023. 8. 25. 14:57
드디어 개발을 완료하고 배포를 진행했습니다. 이번 포스트는 개발을 완료하고나서 배포까지의 전 과정을 기록하려 합니다. 안드로이드 배포를 진행하였고, 진행과정 중 일부 내용은 아래의 공식문서에 그대로 안내되어 있습니다. Build and release an Android app How to prepare for and release an Android app to the Play store. docs.flutter.dev 1. 앱 서명 Play 스토어에 게시하기 위해서는 앱에 디지털 서명을 해야합니다. 서명 방법은 다음과 같습니다. a. java keystore 생성 아래의 명령어를 통해 생성할 수 있습니다. 단, keystore 비밀번호, -alias 뒤의 alias는 반드시 기억해야 합니다! b. ke..
-
[개발] #04 다크모드, 즐겨찾기 업데이트활동/Arkhive 2023. 8. 24. 14:57
다크모드 및 즐겨찾기 기능 구현 완료했습니다. 이로써 목표했던 모든 기능 구현이 완료되었습니다. 구현 방법 - 다크모드 다크모드는 Flutter에서 제공하는 Theme 기능을 이용해서 구현했습니다. MaterialApp.router( routerConfig: _router, title: 'Arkhive', theme: state.settings.isDarkTheme == true ? ThemeData( scaffoldBackgroundColor: const Color(0xff282828), primaryColor: const Color(0xff313131), shadowColor: const Color(0xff111111), textTheme: TextTheme( bodyMedium: TextStyle(..
-
[개발] #03 richText(+@) 업데이트활동/Arkhive 2023. 8. 22. 18:48
richText richText 표현 구현 완료했습니다. 기존에는 색깔만 변경하고, 등록이 안된 태그가 많았었는데, 이번엔 인게임 데이터를 이용해 모든 태그를 등록했고, 클릭시 이벤트도 추가하였습니다. 뿐만 아니라, 클릭시 나오는 SnackBar에서 또 누를경우 그 효과 역시 확인 가능합니다. richText richText란, 과 같은 태그를 이용하여 문자열 중간에 특수한 텍스트가 삽입된 문자열을 의미합니다. 예로 들어 의 냉기 하단의 richText의 원본 문자열은 다음과 같습니다 공격 속도 30 감소, 지속 시간 동안 냉기 효과를 추가로 받을 경우 빙결 상태로 변경 소스 데이터 인 게임 데이터 중 gamedata_const.json의 데이터를 참조했습니다. 구현 방법 우선 해당 태그로 둘러싸인 문자..
-
[개발] #02 아이템 정보 업데이트활동/Arkhive 2023. 8. 1. 20:43
아이템 정보 화면 업데이트 완료했습니다. 소스 데이터 penguin-stats.io의 api를 활용했습니다. 다만, 공식문서로 배포된 api는 최근 업데이트가 되지 않는 것 같아, 공식 사이트에서 사용하는 api를 개발자모드를 통해 알아내서 사용하였습니다. 불 필요한 api 남용을 막고자 주소는 적지는 않지만, 필요하신 분들은 댓글 달아주시면 비밀글로 알려드리겠습니다. 구현 방법 penguin-stats.io api의 데이터 양식은 다음과 같습니다. { "matrix": [ { "stageId": "act15d0_02_rep", "itemId": "30031", "times": 41, "quantity": 67, "stdDev": 0.4817, "start": 1638864000000, "end": 16..
-
#01. 프로젝트 초기화활동/블로그 이전 프로젝트 2023. 7. 25. 22:38
서론 블로그 이전을 결심하게 된 계기는 사실 별게 없다. 그냥... 내 손으로 이쁘게 만들고 싶어서. 그리고 포트폴리오 사이트와 블로그 등, 나만의 저장소를 통합해서 만들고 싶어서. 계획 그렇다면 어떻게 이를 실현하는 것이 좋을까? 현재 내가 원하는 블로그(통합 저장소)는 다음과 같은 기능을 포함시키는 것이 목적이다. 하나의 네비게이션 바로 포트폴리오, 블로그 모두 접근 가능 (도메인이 같아야..) Serverless function 무제한 자유로운 커스터마이징 (자체 제작이 목적) # 파라미터를 이용해서 contents table 제작 (3번의 연장선) 낮은 비용 (0원 챌린지) 우선 1, 3, 4번의 목적을 충족시키기 위해 Next.js를 이용하기로 결정하였다. /(루트)에 포트폴리오 페이지를 배치하..
-
IsolateFW, Lib 공부/Flutter 2023. 6. 27. 23:18
Flutter, dart는 싱글 스레드 환경이다. 즉, 화면 그리기, api 통신, 계산 등 모두 하나의 스레드에서 처리된다. 물론 비동기 처리를 지원하기 때문에 api 통신을 함에 있어, 데이터가 들어올 때 까지 화면이 그려지지 않는다거나 하는 문제는 발생하지 않는다. 하지만, 복잡한 연산을 수행하는 동기 연산의 경우에는 화면이 버벅이게 되는 문제가 발생한다. 이를 해결하기 위해 복잡하거나 무거운 연산을 수행하는 로직을 별도의 Isolate에서 처리하면 화면이 부드러워진다. Isolate Dart의 동시성 Isolate를 사용하여 멀티 프로세서 코어에서 병렬 코드를 실행하세요. dart-ko.dev 일반적으로 모든 언어는 스레드 단위로 처리된다. 스레드는 같은 메모리와 코드를 공유하기 때문에 뮤텍스, ..