본문 바로가기

전체 글136

멋쟁이사자처럼 테킷 앱 스쿨 iOS 5기 후기 결론을 먼저 말하면 등록을 말리고 싶습니다.  절때로 하지 마십시오 앞으로 언급 할 문제들은 개인적인 부분을 제외하고 최대한 객관적이고 공통적인 부분만 추려서 말씀드린것이고,  개인적으로 들어가면 더 문제가 많습니다.아무리 중간에 관리 매니저가 바뀌고, 강사님이 첫 iOS 강의라 하더라고 수강생에게 1인당 650 ~ 700만원을 받는 부트캠프인데 이렇게 낮은 질의 서비스와  책임감 없이 관리에  정말  너무 큰 실망을 하였습니다.제글 뿐만 아니라 다른 지인을 정보를 통해서 듣고 올바른 판단을 하셔서 부디 후회일이 없도록 주의 하시길 빕니다. 참고로 KDT 정부 지원 사업은 부트캠프 회사에게 650~ 750만원의 돈을 한번에 지급하는 것이 아니라 수강생들이 하루 참석한 시간을 기준으로 지급을 합니다. 예들.. 2024. 8. 30.
2025 애플 디벨로퍼 아카데미 4기 최종 합격 멋쟁이 사자들 iOS 부트캠프와 병행하면서 힘들었는데 최종 합격 하고 나니힘들었던 시간이 치유가 되네요 :)멋쟁이 사자들 iOS 부트캠프 총평도 추후에 업로드 하겠습니다. :)지원한 계기리액트 네이티브가 가지고 있는 네이티브 의존성과 개발 고도화에 작업에 대한 한계를 느끼고 네이티브 앱개발로 전환을 결정 했고,  안드로이드와 iOS중 iOS를 선택 멋쟁이 사자들이라는 iOS 부트캠프를 참여 했으나 강의와 체계가 너무 엉망이여서 좀더 나은 교육을 찾던중 현재의 애플 디벨로퍼 아카데미를 찾게 되었고 지원전 오픈데이를 통해 애플 디벨로퍼 아카데미 교육 방법과 예비지원자분들의 다양한 경험과 경력들이 저에게 많은 성장과 도움이 될것 판단하여 망설이지 않고 바로 지원 했습니다. :) 시설 또한 제가본 교육기관중 최.. 2024. 8. 22.
10월 23일 트러블 슈팅 해결방벙 1. 원인찾기 문제가 발생되는 원인(deprecated 함수사용, 예외처리, 중복된 의존성 라이브러리 사용 등등)을 명확해야 정확한 해결방법을 찾을수 있다. 그래 비슷한 문제가 발생했을 때도 바르게 유추하여 해결 할수 있다. 2. 공식문서 찾아보기 의외로 공식 문서 안보고 (이런 시니어분들 때문에 고생을 얼마나 했던지... 고집도 드럽게 쎄요 !) 감으로 코딩하다가 발생하는 오류들이 꽤 많다 ( deprecated 함수사용, 함수사용법이 변경됨, 예제 코드와 다른게 작성 등등) 3. 공식문서 커뮤니티 또는 깃허브 커뮤니티 검색 보통 사용하는 라이브러리와 프레임워크 내부 버그인 경우가 많다 4. 구글링 (stackoverflow, 블로그 etc) 사실 여기까지 올경우가 거의 없다 그러나 거의 생소한 오류들.. 2023. 10. 24.
음성 번역기 만들기 (Speech To Text) 0 개요 애플의 비전프로, 메타의 AR 글래스처럼 AR 글래스(glasses)에 번역기능(translator)을 넣는(porting)것을 약 한달간 R&D(Research and Development )를 하게 되었다. 현재는 글래스 제품은 보안 사항이라 상세하게 밝힐수 없으며 모바일에서 사용하는 안드로이드(Android) OS(operating system) 탑재가 가능해 안드로이드 OS를 기준으로 기능 개발에 들어갔다. 1 기능 설계 기능 개발의 주안점을 크게 2가지로 나누었다 1. 음성을 텍스트 형태로 변환 (speech-to-text) 2. 변환된 텍스트를 한국어로 번역하여 글래스에 표시 3 기능 구현 방법 음성을 텍스트 형태로 변환 (speech-to-text) 기능을 어떻게 구현할까 고민하다가.. 2023. 7. 31.
Objective C Enum을 -> Swift에서 사용하기 objective-c Enum(enumeration :이름이 지정된 상수위 집합)의 데이터 구조를 swift에서도 사용하도록 하는데 많은 제약 사항이 발생 했다. T1. objective-c Enum은 int로만 초기화가 가능하다. 즉 초기화를 하지 않으면 default로 int형으로 초기화 된다는 말이다. typedef enum { can, // 0 Timesale, // 1 Portal, // 2 }enumTest; typedef enum { can = 1, //1 Timesale = 2, //2 Portal = 3, //3 }enumTest; Q1. 결정해야 한다. enum 구조를 string형으로 할지, int형으로 할지 // string 형식을 아래와 같이 사용하면 된다. typedef NSSt.. 2023. 6. 26.
Objective c 네트워크 통신 작성 이유 : Unityframwork에게 accesstoken을 전달해야 하는 issue가 발생하여 서버로 api 통신을 하는 메소드를 만들어야하는 작업이 생겼다. 환경 : Unityframwork가 objective c로 되어 있어 핸들링도 objective c로 작성해야 한다. 서버에 요청하는 하는 메소드 // argument는 // url : api를 요청할 url 주소 // postData : post 방식으로 사용시 body에 넣어줄 데이터 + (NSData *)request:(NSString *)method url:(NSString *)url postData:(NSData *)postData{= // result: completionHandler 핸들러의 결과 값을 저장할 변수 __block.. 2023. 5. 25.
not found file libarclite_iphoneos.a (Xcode 14.3) 발생 이유: objective-c 프로젝트를 진행중에 jwt(2.2.0)를 사용해야 하는 필요성이 생김 의존성 라이브러리로 Base64를 설치하는데, Base64라이브러리 안에서 iOS 11에서는 더이상 libarclite 사용하지 않기 때문 나타나는 오류임 14.3 xcode 에서 나타나는 오류 사항 해결방법: lib 경로로 이동 cd /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/ arc 폴더 만들기 sudo mkdir arc cd arc sudo git clone https://github.com/kamyarelyasi/Libarclite-Files.git . 폴더에 실행 권한 부여하기 su.. 2023. 5. 10.
S3 쉘스크립트 만들기 이유 : 모바일 라이브러리를 CI/CD를 구축하는 과정에서 unityframework.framework를 S3에서 다운로드 받고 unityframework.framework를 감싼 회사 framework를 압축후 S3에 업로드 해야하는 업무가 주어졌다. 차후에 어떤 CI/CD Tool를 정해지지 않는 사항에서 즉각적으로 적용할수 있고, 다른 개발자도 손쉽게 사용 할수 있는 방법을 강구 하던중 쉘스크립트 제작을 선택하게 되었다. 제작 과정 : 1 차 시도 curl 명령을 사용해서 요청하기 S3 버킷 정책이 public일 경우 upload, download 문제가 없었지만 사용자별로 읽기, 쓰기, 삭제 권한을 부여 해서 관리할 경우 aws4-hmac-sha256 형식을 맞춰야 했고 공식문서에도 curl 관련.. 2023. 4. 5.
Testing - End-to-End end-to-end(E2E) 테스트란? 사용자 관점으로 디바이스를 사용해서 (또는 시뮬레이터, 에뮬레이터) app 예측대로 잘 작동하는지 확인하는 작업이다. 이 작업은 release 형태로 앱을 빌드하고 이것에 대한 테스트를 실행하여 수행된다. E2E 테스트 에서는 더이상 React components, React Native APIs, Redux stores or any business logic. 대해 생각할 필요가 없다. React components, React Native APIs, Redux stores or any business logic 는 E2E 테스트에 대한 목적이 아니다. 그리고 E2E 테스팅으로 접근 조차 불가능 하다. 대신에 너의 app의 스크린에서 element를 찾거나 제어가.. 2023. 2. 8.
Testing - 컴포넌트 테스트 React 컴포넌트는 app redering이 담당한다. 그리고 사용자가 직접적으로 React 컴포넌트의 산출물과 상호작용한다. 앱의 비즈니스 로직이 테스트 범위가 높고 정확한 경우 컴포넌트 테스트 없이도 사용자 UI가 손상될 수 있습니다. 컴포넌트 테스트는 단위와 통합 텓스트 모두에 해당 될수 있지만, React Native의 핵심 부분이기 때문에 별도로 다뤄야 한다. react component를 테스트하기 위해 다음 두 가지를 테스트할 수 있습니다 1. 상호작용(Interaction) : 사용자와 상호 작용할 때(예: 사용자가 버튼을 누를 때) component가 올바르게 작동하는지 확인한다. 2. 렌더링(Rendering) : React에서 사용하는 component 렌더 출력이 올바른지 확인합니.. 2023. 2. 6.
Testing - 통합 테스트 더 큰 소프트웨어 시스템을 작성할 때, 개별 소프트웨어 시스템은 서로 상호 작용해야 한다. 단위(unit) 테스트에서 단위(unit)가 다른 장치에 의존하는 경우, 때때로 장치를 가짜 장치로 대체하여 mocking사용하게 된다. 통합테스팅 실제 개별 장치는 결합되고(앱에서와 같이) 테스트되어 협력이 예상대로 작동하는지 확인한다. mocking 필요하지 않다는 말이 아니다. 오히려 단위 테스트보다 많이 필요하다. !!주의 통합 테스트가 항상 일관된 결과를 가져오지 않는다. 아래와 같은 이유 때문에 1. 외부 시스템을 사용 2. 다른 어플리케이션으로 네트워트 요청시 (날씨 서비스 api) 3. 모든 종류의 파일 또는 데이터베이스 입출력 실행 2023. 2. 6.
Testing - 단위 테스트 단위테스트는 각각의 함수나 클래스 처럼 코드의 작은단위를 테스트 하는 것이다. object 테스트시 많은 의존성을 가지고 있다. 종종 다음 구문으로 넘어가야 할때 mock 필요할 텐데 단위 테스트는 빠르게 쓰고 실행 할수 있다. 따라서 작업을 하면서 테스트가 통과되는지 여부에 대한 빠른 피드백을 얻을 수 있고 Jest에는 편집 중인 코드와 관련된 테스트를 지속적으로 실행할 수 있는 Watch mode. 옵션도 있다. - Mocking 가끔 objects 테스트시 외부 의존성을 가지고 있는 경우 실행을 위해 어떤 의존선을 교체하거나 Mocking 필요한 경우가 있다. 일반적으로 실제 object를 테스트에 사용하는 것이 모의 테스트보다 낫지만 불가능한 상황도 있다. 예를 들어: JS 장치 테스트가 Java.. 2023. 2. 6.
반응형