꾸준히 재밌게
728x90
728x90
article thumbnail
NextJS 웹 앱을 React Native 모바일 앱으로 전환하여 배포하기 (AAB, APK, IPA)
공부방 2024. 4. 30. 13:56

초년차 백엔드 개발자의 사이드 프로젝트 앱 배포 경험기입니다.(기술적 서술이 없습니다.) NextJS로 구성된 웹앱을 React Native + Expo를 사용해 안드로이드 앱으로 전환하고 배포하는 과정의 기록입니다.(기본 도메인 세팅이 완료되었고, Vercel로 배포해놓은 상태입니다.)    개발서버기존 NextJS로 구성된 프론트를 React Native로 EXPO를 통해 테스트용 APK를 만들어보기로했음.  expo-cli는 deprecated되었고, node 17v 이상과 호환성 문제가 발생할 수 있다고 합니다.프로젝트 내 자체 cli를 설치하여 사용하는 걸 권장한다고 합니다.expo build명령어도 eas build로 대체되었다고 하네요# expo cli 설치npm install expo-cl..

article thumbnail
[NestJS] enum과 literal type 중 어떤걸 사용할까? (feat. Tree-shaking, Template Literal Ty
공부방 2024. 3. 29. 15:16

정확한 정보 전달이 아닌, 여러 좋은 포스팅들을 보며 적용해보고개인의 관점에서의 의견 서술입니다. 여러 피드백들을 적극 환영합니다.    요약트리 쉐이킹(Tree Shaking)은 번들링 시 사용하지 않는 불필요한 코드를 제거하는 최적화 작업을 말한다.프론트에서의 트리쉐이킹은 번들의 크기를 최소화해서 UX의 향상에 목적이 있다고 하지만 백엔드 관점에서의 최적화는 코드의 안정성, 유지보수 등에 초점이 맞춰지고, 프로젝트의 특성과 요구사항과 등을 고려하는 것이 좋다고 생각한다.TypeScript4.1에 추가된 Template Literal Type처럼, 명시된 타입들을 조합하는 복잡한 타입 조합이 필요하지 않을 경우, 이넘을 사용하는 것이 어떠한 이넘 값으로 강제되기 때문에 오히려 더 명확한 의도를 전달할 ..

article thumbnail
[쿼리튜닝 - 2] 사내 조회쿼리 성능의 개선 과정 두번째 이야기
공부방 2024. 3. 17. 12:24

해당 글을 보고 오시면 좋아요  [쿼리튜닝] 신입 개발자의 간단한 사내 조회 쿼리의 쿼리튜닝 여정.발단 계속해서 짧은 주기로 프로젝트를 쏟아내고 있던 와중에 DB연산이 많은 작업을 수행하는 경우가 생겼다. 개발 단계에서 API 자체를 돌리는 과정에서도 1~2000ms가 되어 걱정하고 있던 과정에 Qmag1c.tistory.com     서론팀장님께서 나를 불렀다."집계 함수를 사용해서 요청사항 집계를 하는 SQL문이 있는데 ~~~ 성능 최적화를 좀 할 수 있을까요?" 기존 쿼리를 받아들고 돌려보았다.    기존 상태SELECT    YEAR(a.registe_time) AS year,    MONTH(a.registe_time) AS month,    a.code,    count(a.code) AS t..

article thumbnail
[쿼리튜닝 - 1] 신입 개발자의 간단한 사내 조회 쿼리의 쿼리튜닝 여정.
공부방 2023. 12. 15. 19:27

발단계속해서 짧은 주기로 프로젝트를 쏟아내고 있던 와중에 DB연산이 많은 작업을 수행하는 경우가 생겼다.개발 단계에서 API 자체를 돌리는 과정에서도 1~2000ms가 되어 걱정하고 있던 과정에QA를 진행했더니 난리가났다.이상하게 이에 대해 아무도 피드백을 해 주지 않았다.  들쭉날쭉한 건 요청이 한번에 서버로 몰릴 때로 인식을 하겠다지만,30건 정도밖에 안되는 데이터를 연산하는데 말이 안된다고 생각했고, 작업에 들어갔다.  원인 파악하기 원인을 파악하기 위해, 어쩔 수 없이 로직의 각 구간별로 로깅을 시도했다.  연산 처리속도는 빨랐는데, 애초에 데이터를 그렇게 많이 들고나오지 않기 때문이다.연산은 간략히 설명하자면 다음과 같다 데이터를 row형태로 가져나오는데, PK가 일치할 경우, 같은 문의에 상품..

article thumbnail
[AWS] AWS에서 도메인 구매하고 서버와 연결하기 / Route 53 HTTPS(SSL) 리다이렉트
공부방 2023. 9. 27. 20:32

도메인 구매 https://us-east-1.console.aws.amazon.com/route53/v2/home?region=us-east-1#Dashboard https://us-east-1.console.aws.amazon.com/route53/v2/home?region=us-east-1#Dashboard us-east-1.console.aws.amazon.com AWS의 Route 53d Dashboard에서 Domain registration에서 도메인을 등록해준다. 원하는 도메인네임을 검색하면 아래와 같이 사용 가능 여부, 추천 도메인이 나온다. 원하는 걸로 등록하자. 등록하면 본인의 메일로 Verify 메일을 보내준다. 반드시 해당 메일에서 인증을 진행해야 등록 절차가 진행된다. 나는 점심식..

article thumbnail
GitHub Actions을 사용하기 위한 Token 발급 방법
공부방 2023. 9. 14. 14:41

현재 프로젝트 환경이 docker - gitactions을 통한 CI/CD구축이 되어 있어 너무 생소했다. 실습 겸 새로 프로젝트를 하나 생성하여 CI/CD를 구축해 볼 계획이다 그러기에 앞서 Token을 발급해보자 발급 방법 1. Settings - Developer Settings Settings에 들어가서 최하단에 Developer Settings에 들어간다. 2. Personal access tokens 에서 Generate new token 토큰 발급을 해준다. workflow, write, delete권한은 주어야 한다. [Feedback tracking] Fine-grained personal access tokens · community · Discussion #36441 This topi..

article thumbnail
QueryDSL 사용하기(SpringBoot 3.0) - QueryDSL 사용하기(4)
공부방 2023. 8. 4. 05:34

서론 드디어 아래의 쿼리를 QueryDSL로 뽑아내서 View시켜볼 수 있게 되었다. select C.CHAMPION_ID, C.PRICE, ROUND((C.PRICE-CP.PRICE)/CP.PRICE*100) as PERCENT from Champion C, (select CC.CHAMPION_ID, CC.PRICE from ChampionPriceLog CC where (CC.CHAMPION_ID, CC.CREATE_DATE) in(select CCC.CHAMPION_ID, MAX(CCC.CREATE_DATE) AS CREATE_DATE from ChampionPriceLog CCC group by CCC.CHAMPION_ID) order by CC.CHAMPION_ID) as CP where C.C..

article thumbnail
QueryDSL JPA Test (Spring Boot 3.0) - QueryDSL 사용하기(3)
공부방 2023. 8. 3. 07:52

셋팅 def queryDslVersion = '5.0.0' dependencies { //QueryDsl // 필수 implementation "com.querydsl:querydsl-jpa:${queryDslVersion}:jakarta" implementation "com.querydsl:querydsl-core:${queryDslVersion}" // QueryDsl 쿼리 타입 생성 (QClass 생성 시 @Entity 탐색) annotationProcessor "com.querydsl:querydsl-apt:${queryDslVersion}:jakarta" // java.lang.NoClassDefFoundError:javax/persistence/Entity 에러 방지 annotationProc..

728x90
728x90