본문 바로가기

전체 글167

10월 27일 스타트업 면접 후기 요새 트렌드가 많이 바뀐듯 하다 CEO 대표가 먼저 1차 면접에서 컬처핏을 알아보는데가 많아 진것 같다 그만큼 채용에 좀더 신경쓰다는 느낌 구직자도 회사의 문화나 분위기를 미리 알수 있다는 점에서 좋은것 같다. 사실 과제나 테스트하고, -> 기술 면접 -> 임원 면접 대표 면접가서 컬처핏이나 기타 다른 이유로 탈락 하면 정말 힘이 쭉쭉 빠진다. 그동안 시간과 노력이 너무 아깝다는 생각이 많이 든다. 꼭 스타트업이 아니라도 다른 많은 기업들이 도입했으면 좋겠다. 과거에 비해 쉽게 탈락을 결정 하는것 같다(경제적?, 여러 매체에서 알려주는 방법?,눈이 높은것 같은?) 그리고 한번 겪어보세요 관리자로써 팀을 운영한 경험과 트러블슈팅을 해결한 경험이 그어떤 경력과 스펙보다 더 위라는 것을 :) 그러다 보니 나도.. 2023. 10. 27.
10월 23일 트러블 슈팅 해결방벙 1. 원인찾기 문제가 발생되는 원인(deprecated 함수사용, 예외처리, 중복된 의존성 라이브러리 사용 등등)을 명확해야 정확한 해결방법을 찾을수 있다. 그래 비슷한 문제가 발생했을 때도 바르게 유추하여 해결 할수 있다. 2. 공식문서 찾아보기 의외로 공식 문서 안보고 (이런 시니어분들 때문에 고생을 얼마나 했던지... 고집도 드럽게 쎄요 !) 감으로 코딩하다가 발생하는 오류들이 꽤 많다 ( deprecated 함수사용, 함수사용법이 변경됨, 예제 코드와 다른게 작성 등등) 3. 공식문서 커뮤니티 또는 깃허브 커뮤니티 검색 보통 사용하는 라이브러리와 프레임워크 내부 버그인 경우가 많다 4. 구글링 (stackoverflow, 블로그 etc) 사실 여기까지 올경우가 거의 없다 그러나 거의 생소한 오류들.. 2023. 10. 24.
10월 15일 경력기술서? 오늘 헤드헌터로 지원한 이력서 결과를 헤드헌터님을 통해 전달 받았다. '경력기술서 내용이 부족해서 커피챗 진행이 어렵다는 답변' 이력서를 다시 살펴봤다 이런 포트폴리오를 프로젝트별로 올렸는데 '경력기술서가 부족하다????' '정말로 아쉬우면 필요한 부분이나 아쉬운 내용을 추가로 보충 해달라는 요구가 있었겠지..' 그래도 내가 보지못하거나 놓치거나 부족한 부분이 있을수 있으니 헤드헌터님에게는 '그쪽에서 생각하는 좋은 경력기술서 예시를 부탁드렸다.' '아마 안주겠지만... ㅎㅎ' 개발자 뽑는데 기술적인 요소를 잘 안보는곳 이 생각 보다 많았다. 1. sky대학 또는 해외 대학교 ( 전공이 컴공인지 ) 2. 네카라쿠베 또는 유니콘 기업 또는 유명한 회사에 근무한 경력이 있는지 3. 특히 영어 외국어 능력 또는.. 2023. 10. 15.
10월 5일 인프랩 기술 면접 후기 먼저 면접관 한분에 정말 감사하다는 말씀을 드리고 싶다. "지금 보시는 동일한 코드 각각 동작이 10초정도 많이 들어간다면 좀더 효율적인 방법이 없는지 여쭤보는 거에요" 질문에 대한 답변이 맞지 않으면 계속 힌트를 주시면서 올바른 답변을 유도 해주셨고, "혹시 좀더 코드적으로 어필(appeal) 싶은것이 있으실까요?" 장점을 찾아주시려고 하셨고 이력서 없는 내용을 추가적으로 계속 질문을 해주시면 성장 가능성을 찾아주시려고 하는 느낌을 받았다 질문에 대해서 구체적인 사례를 관련해서 디테일한 답변을 주셨고 회사 기술블로그 보실길 권장 하셨다. (사실은 프론트 엔드 블로그를 다 보고 왔다. 지원 회사에 기술 블로그를 보는것은 지원자로 최소한 예의라고 생각 하기때문에) 사석에 만나면 다시 한번 감사 하다는 인사.. 2023. 10. 11.
음성 번역기 만들기 (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.