본문 바로가기

Tech

(20)
iOS 개발시 Notification Service Extension 가 작동하지 않을때 iOS 개발하다보면 '푸시에 뭔가 사진이 들어가면 좋겠습니다' '푸시에 기능을 넣어보죠!'
Codable 여러 타입 지원하기 (는 사실상 String) 제곧내고... Codable 을 이용하면 json -> struct 편하게 할수있다 그렇긴한데 내가 편한거지 서버에서 주는 값이 다르면 난해한 케이스가 발생한다 예를들어 key을 Int로 줄수도있고 String으로 줄수도있고 안드릴수도 있습니다. 이러면 음~~~... Codable 은 타입을 지정해줘야하다보니 (물론 찾아보니 AnyType되는 라이브러리 만들긴했더라..) 대충 이렇게 기본적으로 쓰는데 struct Sample: Codable { var key: String? } 이 구조에 key에 Int 넣으면 터진다 펑~ struct Sample: Codable { var key: String? init(from decoder: Decoder) throws { if let _str = try? valu..
알뜰폰(MVNO) 사용기 나는 데이터쉐어링이나 이것저것 해택 그리고 통신할인 신용카드가 있어서 계산기 두들기면 메인폰은 알뜰폰이 그렇게 저렴하지가 않아서 그냥 MNO(SKT) 을 유지하고 있는데, 아무래도 서브폰이나.. 그냥 통화만 하시는 엄마 입장에서는 굳이 해택없는 MNO을 이용할필요가 없으니 이것저것 알아보고 옮기고.. 쓴... 그런 종합적인 리뷰 대충 4-5년정도 쓰면서 느낀거 참고로 알뜰폰 활성화와 더불어 가격이 매년 계속 내려가고 있긴하다. 이거 보시는분들도 알뜰폰은 장기로 쓰지마시고 반년~1년쯤 쓰다가 점프 점프 하세요. 유심요금 한정해서.. 우선 MVNO도 자체 기지국 그런건 하나도 없고, 다 MNO 기지국이나 회선 빌려 쓰고있고 커버리지도 MNO랑 별차이 없다. 문제는 이용장소가 MNO 도 서비스가 나쁘면... ..
swift 스크롤 되는 메뉴바 만들기 원래는 HMSegmentedControl 이걸 쓰고있엇는데, 작업이 중지된건지, 그리고 메뉴1개 추가하자고.... 너무 이것저것 붙는게 많아서 UIView 상속으로 대충 한번 만들어보자가 시작되서 이렇게됨 사실 다른 오픈소스 라이브러리는 많아서.. 굳이 이렇게 할필요는 없지..만... 그래도 언젠간 수정하고 또 쓰지 않을까 라는 접근으로..... 힝 아쉬운점: - 어느 블로그 글에서 본건데 UIView 상속말고 UIControl 을 상속해서 만드는게 맞다고 한것같은데 그 글을 다시 못찾았다. - autolayout을 잘 쓰는 방법은 없는가? - 너무 고전적으로 작업해둔듯 - 변수명 너무 대충.. - 대충... -_-; 다운로드는 https://github.com/storyhe/HWSemgentMenuView
iOS 에서 시간계산이 (DateFormatter) 이상할때 아이폰에는 언어와 지역을 따로 설정할수 있다. 그러니까 한국어 + 한국은 ko_KR 이지만 한국어 + 일본은 ko_JP 로 분류 한국어 + 미국은 ko_US 일려나..? 평소에는 별 문제없는데 간혹가다가 dateformatter 에서 문제가 되는경우가 있다, 잘되던 로직이니 당연히 여기일리가~ 하다가 추가하니까 되던 -,.-.. 그럴땐 그냥 덕지덕지 옵션을 발라주면... 된다.... 포기하면 편해요 private let formatter: DateFormatter = { let formatter = DateFormatter() formatter.timeZone = TimeZone.init(identifier: "KST") formatter.locale = Locale(identifier: "ko_KR")..
Swift 에서 휴대폰 번호 이쁘게 만들기 01012341234 02123124 158812312 이런 숫자를 하이픈 넣어서 이쁘게 해주세요! 의 결과물 사실 별건없다 인터넷에서 이것저것 주워온 정규식 짬뽕물. extension String { func pretty() -> String { let _str = self.replacingOccurrences(of: "-", with: "") // 하이픈 모두 빼준다 let arr = Array(_str) if arr.count > 3 { let prefix = String(format: "%@%@", String(arr[0]), String(arr[1])) if prefix == "02" { // 서울지역은 02번호 if let regex = try? NSRegularExpression(patter..
구글 클라우드 플랫폼에서 토스트로 이전하기 2017년에 이런글을 쓴적이 있었다. 지금 다시 읽어보니 코노하 이전에도 사실 코노하 이전에도 お名前라고 vps을쓰긴 했었다. 일본내 서비스 전용인데, 어찌어찌 인증받아서 빵빵한 일본 해외망으로 잘 굴리다가, 여기는 쫌 서비스가 구지네 하면서 마침 코노하가 한글서비스도 런칭하고 서버 퍼포먼스도 좋고, 오덕오덕해서 이전했다가 .. 이후는.. 2017년 글 작성이후로 구글 클라우드 플랫폼(이하 GCP)을 잘 쓰긴 했다. 크게 문제는 없었...지는 않았고 큰 사건이 딱 한번(내 기준에서는 크다) 있었는데, 어느날 저녁에 내 SQL서버만 죽은거다 접속도 관리툴도 재부팅도 안됨... 읭 뭐지? 해서 문의할려니까 기술문의 답변 받을려면... 서포트도 구입해야.. 기술답변을 받을수 있었다. 정확히는 브론즈에서 지원 ..
게임 방송해보기 내 방에는 PS4 랑 닌텐도 스위치가 있다...... 말 그대로 콘솔 게임기라 그냥 모니터에 HDMI 꼽고 게임하고 있을 때는 별생각 없었는데 그래도 게임 녹화겸 + 채팅 같은 거 떠서 녹화하면 나중에 보면 재미있지 않을까? 가 시작의 시점이였다. 근데 생각보다 살 꺼가 많았다... (...) 일단 HDMI 스위치도 샀어야 하고, 분배기도 사야 한다 물론 바로 캡처보드로 꼽아서 방송 컴퓨터에서 본다고 하면 상관이 없으나 딜레이가 있다. 그래서 스위치도 샀고, 분배기도 샀으니 이제 캡처보드를 사야 하는데... 생각보다 비쌌다 orz 그래서 아는 분이 안 쓴다고 해서 일단 밥 한 끼에 일단 받아옴! 빌린 거 1은 blackmagic intensity pro (4K 아님)에 1X로 몇 달 정도 쓰긴 했는데 별..