적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

반응형

분류 전체보기 588

iOS 18 크래시 이슈 (UICollectionView Cell 세팅 문제)

collectionView cellForItemAt 에서 cell 세팅을 해주는데, 해당 Cell 내에서 numberOfRowsInSection 세팅 해줄 때 크래시가 나는 문제가 발생했다!!   iOS 18에서는 무조건 크래시 나고 그 이하 버전들은 갠춘. 로그 확인해보니 cellForItemAt 메서드는 호출이 잘 되는데, 그 안에서 cell 세팅하고 binding 해주는 부분이 cell 내에서 numberOfRowsInSection 호출해주는 부분보다 늦게 호출이 되더라. binding으로 viewModel 을 넣어주기 전에 data setting 메서드가 먼저 호출되어서 viewModel 이 없어 크래시가 나는 것..!오잉??? 도대체 갑자기 왜??   요기서 viewModel 이 없다고 크래시가..

웹뷰 히스토리 삭제 backForwardList

'세션 업데이트 중입니다' 페이지가 히스토리에 남아있어 swipe back 작동에 문제가 있었다. 안드로이드는 웹뷰에서 clearHistory() 메서드를 통해 쉽게 히스토리를 삭제할 수 있지만,iOS의 웹뷰에서는 명시적으로 히스토리를 삭제하는 메서드가 따로 제공되지는 않는다고 한다.   https://stackoverflow.com/questions/46086691/how-to-clear-the-wkbackforwardlist-of-a-wkwebview How to clear the WKBackForwardList of a WKWebView?It appears that the backForwardList of a WKWebView is readonly, but I've seen people so som..

[Swift] Set vs Array 성능 비교

순서가 중요하지 않은 경우에 Set 이 성능적으로 훨씬 더 빠르다. let clock = ContinuousClock()var arr = [Int]()let time = clock.measure { for i in 0..()let time2 = clock.measure { for i in 0..   + OrderedSet 이란? 순서를 보장하면서 빠른 조회까지 하고 싶다면? Swift Collections 라이브러리에서 제공하는 OrderedSet 을 사용할 수 있다. - 삽입 순서 유지- contains 성능은 O(1)- 중복 자동 제거SwiftUI, UIKit 에서 필터/태그/선택목록 등 UI 요소를 다룰 때 아주 유용함

Algorithm/참고 2024.10.10

[인공암벽] 중랑 스포츠클라이밍 경기장

집 근처에 이렇게 좋은 곳이있었는데!! 다른 곳들에 비해 사람도 많이 없고 경치도 좋고 내부에 지구력 벽도 있어서 아주 좋다.   공지나 관련 정보는 네이버 카페에서 확인할 수 있음.https://cafe.naver.com/jnclimb 중랑 스포츠클라이밍 경기장 : 네이버 카페안녕하세요. 중랑 스포츠클라이밍 경기장 공식카페입니다.cafe.naver.com

운동/클라이밍 2024.10.07

이니시스 화면 카드사 인증실패 이슈

이니시스 앱 연동 참고사항https://manual.inicis.com/pay/stdpay_m.html info.plist 파일에 카드사별로 App scheme list 를 등록 해주어야 한다. 이슈 폭탄이었던 이니시스 결제 테스트네이버페이는 웹뷰 안에서 다 돌아가니까 문제없이 잘 되고, app scheme 으로 외부에서 앱을 열어 결제를 진행하는 친구들이 문제였다.스키마 다 추가해줬는데 왜!!! 앱이 안열리는거야!! 1차 서버 redirection 이슈카카오페이는 카카오톡이 깔려있으면 잘 열리고 결제도 잘 되는데, 결제 끝나고 00앱이 아니라 --앱이 열리는 것이다!! 서버 쪽에 결제 후 redirct 되는 곳이 00 이 아니라 -- 앱으로 설정 되어있어서 그랬던 것.. 수정 해주시니깐 앱 잘 열리더라..

로드밸런스 헬스체크

운영 서버 5개 쓰고 있는데api 하나 쳐도 서버 3개에 돌아서 트랜잭션 어쩌구 저쩌구 그래서 안되는 문제  로드밸런싱 (Load Balancing)로드밸런싱은 여러 서버로 들어오는 트래픽을 효율적으로 분산하여 서버의 부하를 줄이고, 애플리케이션의 가용성과 성능을 높이는 기술 주요 역할: 1. 트래픽 분산: • 클라이언트 요청을 여러 서버로 균등하게 분산하여 특정 서버에 과부하가 걸리지 않도록 함. 2. 장애 허용: • 하나의 서버가 장애가 발생하면 나머지 서버로 트래픽을 재분배하여 서비스 중단을 방지. 3. 스케일링 지원: • 서버 수를 유동적으로 늘리거나 줄이는 스케일링 작업에서 필수적으로 사용됨. 로드밸런싱 방식: 1. 라운드 로빈 (Round Robin): 요청을 순차적으로 각 서버에 분배. 2...

컴퓨터시스템 2024.10.01

도메인 www 세션 쿠키 유지 여부

www.hongssup.com 과 hongssup.com 의 차이? 이 둘은 이론적으로 다른 도메인일 수 있지만, 대부분의 경우 동일한 웹사이트로 리디렉션된다.1. www의 의미 (서브도메인)www는 서브도메인(subdomain)으로 naver.com 도메인의 하위도메인이다.기본 도메인인 naver.com과 서브도메인인 www.naver.com은 이론적으로는 서로 다른 도메인으로 취급될 수 있지만, 대부분의 웹사이트는 동일한 사이트로 처리하도록 리디렉션 설정을 해둔다. 2. 쿠키 설정브라우저에서 쿠키를 설정할 때, 도메인에 따라 쿠키가 다르게 저장될 수 있다. www 서브도메인에서 설정된 쿠키와 기본 도메인에서 설정된 쿠키는 별도로 관리될 수 있다. 따라서 도메인에 www 가 붙는지 여부에 따라 세션 쿠..

컴퓨터시스템 2024.09.30

운영 결제 QA 중 이니시스 웹뷰에서 세션 끊기는 이슈 (feat. www)

**운영 결제 테스트 중 결제 완료 화면으로 넘어가지 않는 이슈 운영 QA에서, 결제 시 결제는 되는데 결제 완료 화면이 안뜨고 로그인 화면으로 넘어가버리는 이슈가 나왔다. 안드로이드는 되다 안되다 하고 iOS는 안되고 웹도 안되고 결제 완료 후 redirect 되는 redirect host 가 Stage 주소로 되어있었음. 그럼 안되는게 맞자나?Stage 에서는 세션이 없으니까 로그인으로 넘어가버리는 것.. (안드로이드가 왜 2번정도 되었는지는 미지수..) 서버 수정하니 웹이랑 안드로이드에서는 잘 되더라! 근데 iOS 에서는 결제 후 여전히 로그인 페이지로 넘겨버리는 것.. 🤔서버 쪽에서 로그 확인해주셨는데, 이니시스 웹뷰 시작과 동시에 세션이 없어진다고 하셨다. 에엥 도대체 와이??!?!?? 🤷?..

DNS 와 도메인에 대하여

DNS (Domain Name System) 란?도메인 이름을 IP 주소로 변환해 주는 시스템ex) www.hongssup.com -> 172.217.16.196사람들은 기억하기 쉬운 도메인 이름을 사용하지만, 컴퓨터는 IP 주소를 사용해 서로 통신한다.DNS는 도메인 이름을 입력하면 해당하는 IP 주소를 찾아준다. 사용자가 웹사이트의 도메인 이름을 입력하면, DNS가 해당 서버의 IP 주소를 찾아 웹사이트에 연결할 수 있게 한다.즉, DNS는 인터넷의 주소록(전화번호부) 역할을 하며, 도메인 이름을 입력하면 서버의 IP 주소로 변환하고 라우팅 정보를 제공하는 분산형 데이터베이스 시스템. 도메인이란?웹사이트 주소 www.hongssup.kr 에서 hongssup.kr 이 도메인www 는 host name..

컴퓨터시스템 2024.09.30

앱이 꺼진 상태에서 푸시 클릭 시 화면 랜딩 되지 않는 이슈

foreground background 에서는 푸시 클릭 시 화면 랜딩이 잘 되는데, 앱이 꺼져있는 상태에서 클릭 시 화면 이동이 되지 않았다. 앱 처음 진입시 로그인 하는 시간이 필요한데, 그 전에 딥링크 이동 로직을 타버리면 유저정보가 아직 세팅되기 전이라 다음 구문이 실행되지 않게 되더라. if AppDelegate.shared.user != nil { DispatchQueue.main.asyncAfter(deadline: .now() + 0.2) { Common.handleRendingLink(parameters: data) }} 푸시 클릭 했을 때, 유저 정보가 세팅되기 전이면 푸시 화면 이동 로직을 pending 시켜주는 코드가 추가되어야 한다. final class P..

728x90
반응형