전체 글
-
IOS 앱 배포 과정App 개발/IOS 2023. 7. 27. 13:45
IOS로 앱 배포를 처음 해보았는데 아래 링크를 참고하면서 진행했는데.. 생각보다 굉장히 쉽게 배포를 하여서 공유하려고 한다. https://onedaycodeing.tistory.com/102 IOS 앱스토어에 배포해보기(앱 업데이트) Android에서 구글플레이에 앱을 배포하듯이 앱스토에도 배포를 하는 방법을 알아볼게요. 우선 Xcode에서 올리고자하는 해당 프로젝트를 열어주세요. 그리고... 여기 Product - Archive를 클릭해주세요. onedaycodeing.tistory.com https://velog.io/@chagmn/iOS-수출규정-관련-문서-누락-메시지-없애버리기 [iOS] 수출규정 관련 문서 누락 메시지 없애버리기! 커넥트 이미지회사 앱 테스트를 위해서 항상 TestFilght..
-
slack webhook을 통한 운영 이슈 모니터링BackEnd(Java)/모니터링 2023. 7. 25. 09:13
서비스를 운영하다 보면 운영 이슈들을 실시간으로 확인할 필요가 있다. 사용하는 협업 툴과 연동하여 보통 알림을 받는데 나는 slack을 사용하고 있기 때문에 slack webhook을 사용하여 이슈 알림 모니터링을 해보자! 1. slack에 앱 추가를 클릭하여 incoming-webhooks를 추가한다. 2. 웹 훅을 추가 후 포스트할 채널은 선택한다. 3. 웹 훅 URL, 라벨 지정 등 옵션들을 설정 후 저장 하면 끝! 4. 테스트 curl 테스트 실제 코드에 적용해 보자! api 전송 부분은 POST로 통신하면 되고, payload를 만드는 메서드는 아래를 참고하면 좋을 것 같다.(c#) (참고로, slack webhook doc를 보면 보내고 싶은 메시지를 text 필드에 담아서 보내라고 한다.) ..
-
react input Element 값 입력불가 이슈 해결법FrontEnd/react 2023. 6. 20. 17:03
현상 react에서 value 속성만 지정하면 값이 입력되지 않는 현상이 발생하였다. 원인 확인해 보니 input Element에 value 속성만 지정하면 value 속성으로만 값을 컨트롤할 수 있는 권한이 있기 때문에(사용자가 값을 입력하는 권한이 없게 됨) input 안에 값이 입력되지 않는 현상이 발생하게 된다. 해결방법 onChange를 써서 input Element에 값을 수정할 수 있게 해줘야 한다.(setAuthor 부분 참고)
-
조회 API 성능 최적화BackEnd(Java)/Spring Data JPA 2023. 6. 13. 12:23
✅ 아래 내용들에 대해서 알아보자 - 조회 API 성능 최적화 방법 - 최적화 VS 코드 복잡도 조회 API 성능 최적화 방법 1. 엔티티 조회 방식으로 우선 접근 패치조인으로 쿼리 수 최적화 컬렉션 최적화 -> 페이징 필요시 default_batch_fetch_size, @BatchSize로 최적화, 불필요시 패치조인 사용 2. 엔티티 조회 방식으로 해결 안 되면 DTO 조회 방식 사용 3. DTO 조회 방식으로 해결이 안 되면 Native SQL or 스프링 Jdbc Template or Mybatis 등.. 이 방식으로도 해결이 안 된다면 트래픽이 많은 경우이므로 캐싱 처리(redis, 로컬 캐시)등을 통해 해결해야 한다. 만약 캐싱 처리한다면 엔티티를 캐싱 처리하면 안 됨(라이플 사이클이 안 맞으..
-
org.hibernate.QueryException: query specified join fetching, but the owner of the fetched association was not present in the select list 에러 해결BackEnd(Java)/JPA 트러블 슈팅 2023. 6. 13. 11:51
현상 JQPL 사용 중 아래 쿼리처럼 작업했는데 "query specified join fetching...." 오류가 발생하였다. 원인 fetch join을 사용하는 이유는 엔티티 상태에서 엔티티 그래프 탐색을 하기 위해 사용하는 것인데, select 부분에 엔티티가 아닌 DTO가 있으므로 fetch join 사용이 불가능해진다! 해결법 따라서 DTO 매핑하여 반환하고 싶을때는 fetch join - join으로 변경하여 사용하도록 해야 한다. 참고자료 https://www.inflearn.com/questions/23847/queryprojection%EA%B3%BC-fetch-join
-
컬렉션 패치 조인BackEnd(Java)/Spring Data JPA 2023. 6. 12. 17:14
✅ 아래 내용들에 대해서 알아보자 - 컬렉션 패치 조인 - 컬렉션 패치조인 문제점 - 컬렉션 패치조인 한계 - 컬렉션 패치조인 최적화 컬렉션 패치 조인 아래 코드를 보면 Order 엔티티와 OrderItem 엔티티가 N:1인 관계 OnetoMany로 구성되어 있고, Order와 orderItems를 join fetch로 컬렉션 패치 조인 하고 있는 것을 확인할 수 있다. public List findAllWithItem() { return em.createQuery("select distinct o from Order o" + " join fetch o.member m" + " join fetch o.delivery d" + " join fetch o.orderItems oi", Order.class) ..
-
AWS ELBDevOps/AWS 기초 2023. 6. 7. 10:29
✅ 아래 내용들에 대해서 알아보자 - 로드 밸런싱 - AWS ELB - AWS ELB 종류 - AWS ELB 실습 로드 밸런싱 로드 밸런싱은 네트워크나 애플리케이션 서버 등에 분산된 작업 부하를 균형 있게 분배하는 기술을 말한다. 로드 밸런서는 클라이언트 요청을 여러 대상 서버로 분산시켜 트래픽을 효율적으로 처리하고 가용성과 확장성을 개선하는 역할을 수행한다. 로드 밸런싱 특징 고가용성: 로드 밸런서는 여러 대상 서버로 트래픽을 분산하기 때문에 한 대상 서버의 장애가 발생하여도 다른 서버가 요청을 처리할 수 있다. 성능 개선: 로드 밸런서는 트래픽을 여러 서버로 분산시켜 병렬 처리를 가능하게 해서 응답 시간을 개선하여 사용자에게 빠른 응답을 제공할 수 있다. 확장성: 로드 밸런서를 사용하면 서버 수를 동..
-
AWS EC2 4편DevOps/AWS 기초 2023. 6. 7. 08:13
✅ 아래 내용들에 대해서 알아보자 - Autoscaling - EC2 Autoscaling - EC2 Autoscaling 실습 - EC2 Autoscaling 성능 테스트 Autoscaling 스케일링이란 시스템이나 애플리케이션의 컴퓨팅 파워(CPU, RAM 등..)를 증가하는 것을 말한다. 스케일링은 2가지 타입이 있다. 1. 수평 스케일링(Scale-Out, Horizontal Scaling) 수평 스케일링은 시스템에 더 많은 인스턴스(서버)를 추가하여 처리 능력을 증가시키는 방식이다. 즉, 서버의 개수를 증가시키는 것을 말한다. 서버 개수를 증가시켜 작업 부하를 분산 처리하고 병렬로 실행하게 된다. 서버 클러스터링, 로드 밸런싱, 컨테이너 오케스트레이션(ex. k8s)등을 통해 scale-out이..