기본 콘텐츠로 건너뛰기

라벨이 오류해결인 게시물 표시

AI와 함께 춤을 - 25년차 개발자의 AI 코딩 여정기 (ChatGPT에서 Claude Code까지)

ChatGPT가 본격적으로 서비스를 시작하면서 나 뿐만 아니라 우리 모두의 삶에 많은 것이 달라졌다. 🤖 ChatGPT와의 첫 만남 회사 대표의 강권에 힘입어 ChatGPT가 서비스를 시작하자마자 유료 구독을 해서 사용하기 시작했다. 그런데 나는 인터넷을 업무 외 용도로는 크게 사용하지 않는 편이다. 인터넷 쇼핑도 거의 안 하고, 배달앱은 아직도 사용하지 않고 있다. 인터넷에서 하는 거라고는 개발을 위한 검색, 게시판 읽기, 가끔 궁금한 것 찾아보기 정도다. 그러다 보니, ChatGPT가 처음 나왔을 때 나에겐 크게 쓸모가 없었다. 그때는 ChatGPT에 환각이 많았기 때문에 개발 관련해서 뭔가를 물어보면 쓸 만한 답변을 하질 못했다. 답변을 받았더라도 이를 검증하기 위해 다시 구글링을 해야 했기 때문에 크게 도움이 되진 않았다. 💡 우연히 시작된 AI 코딩 ChatGPT를 코딩에 사용한 것은 우연한 기회였다. 집사람 친구 딸이 학교에서 코딩 숙제가 나왔는데 도저히 모르겠다고 도움을 요청해 왔다. 간단한 계산기였던가 그랬던 것 같은데, 직접 코딩해서 돌아가는지 확인하는 것까지는 귀찮아서 혹시나 하는 마음에 ChatGPT에 작성을 지시했다. 어라. 대충 눈으로 컴파일했을 때 문제없이 동작할 것 같은 코드가 나와서 그걸 보내줬다. 그러면서 개발에 ChatGPT를 사용하기 시작했다. 간단한 함수 단위로 머리 쓰기 싫을 때 작성을 맡기고 복사해서 붙여넣는 방식이었다. 그럼에도 이걸 적극적으로 사용할 수 없었던 것은 코딩에도 환각이 발생했기 때문이다. 코드에서 환각이 발생할 일이 뭐가 있겠냐 싶겠지만, 정확히 기억은 안 나는데 무엇인가를 구현해야 했는데 잘 모르는 부분이라 GPT에게 요청했다. 언제나 그렇듯이 매우 그럴듯한 코드를 뽑아줬다. 다만 존재하지 않는 패키지를 사용하라는 가이드와 함께... 그래서 간단한 함수 작성 같은 경우에만 쓰다가 이것도 귀찮아서 잘 사용하지 않게 되었다. ⚡ GitHub Copilot — ID...

Xcode 15 - ipa is not a valid bundle.

 Xcode 15.0.1(15A507) 업데이트 후 ipa 파일을 생성해서 XCode의 Device 메뉴를 통해서 ipa 설치시 아래와 같은 오류가 발생합니다. Error installing  'xxxxxx.ipa', ERROR: Error Domain=com.apple.dt.CoreDeviceError Code=3002 "Failed to install the app on the device." UserInfo={NSLocalizedDescription=Failed to install the app on the device., NSURL=file:///xxxxxx.ipa, NSUnderlyingError=0x600005c85c80 {Error Domain=com.apple.dt.CoreDeviceError Code=3000 "The item at xxxxxx.ipa is not a valid bundle." UserInfo={NSURL=file://xxxxxx.ipa, NSLocalizedDescription=The item at xxxxxx.ipa is not a valid bundle., NSLocalizedFailureReason=Failed to read the bundle.}}} Domain: com.apple.dt.DVTCoreDevice Code: -1 User Info: {     DVTErrorCreationDateKey = "2023-11-20 06:30:34 +0000"; } -- System Information macOS Version 14.1 (Build 23B74) Xcode 15.0.1 (22266) (Build 15A507) Timestamp: 2023-11-20T15:30:34+09:00 ipa 파일이 유효하지 않은 번들이라는 오류 입니다.  인증서, 프로비저닝 등은 Xcode에서 자동 생성하는 것을 사용하였고, 단말은 테스트 단말로 등록되어 있는 단말임에도 ...

Handshake error in client (OS Error: CERTIFICATE_VERIFY_FAILED: unable to get local issuer certificate(handshake.cc:393))

현재 flutter로 개발 중인 프로젝트에서 REST API 통신을 하는데, 안드로이드 단말에서 CERTIFICATE_VERIFY_FAILED 오류가 발생하면서 서버와 통신이 이뤄지지 않는 문제가 발생하였습니다. 현재 상황은 apache 서버에 php를 이용하여 api를 만들었고, 운영서버에는 SSL 이 적용되어 있습니다. SSL 인증서는 공인 인증 기관으로 부터 발급된 인증서를 사용하고 있습니다. iOS에서는 문제없이 서버와 통신이 이뤄지지만 안드로이드에서는 오류가 발생합니다. CERTIFICATE_VERIFY_FAILED: unable to get local issuer certificate "CERTIFICATE_VERIFY_FAILED: unable to get local issuer certificate"로 검색을 하면 공인 기관에서 발급하지 않고 자체적으로 인증서를 발급받아서 사용하는 경우에 문제 해결 방법들이 검색됩니다. 앱 내부에서만 사용하는 서버인 경우에 자체 발급된 인증서를 많이 쓰는 모양입니다.  자체 인증서로 인한 문제를 해결하는 방법은 두가지 정도가 있는 듯 합니다.  1. 인증서 검증을 하지 않는 방법 Dio dio = new Dio(); (dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (HttpClient client) { client.badCertificateCallback = (X509Certificate cert, String host, int port) = true; return client; }; 2. 인증서를 내장하는 방법 ByteData data = await rootBundle.load('assets/raw/certificate.pem'); SecurityContext context = SecurityContext.defaultConte...

개발자를 확인할 수 없기 때문에 'iproxy'을 열 수 없습니다.

개발자를 확인할 수 없기 때문에 'iproxy'을 열 수 없습니다. 얼마전 iOS 버전 개발을 위해서 macOS / XCode / flutter 버전을 한꺼번에 변경한 일이 있었습니다. 그러는 과정에서  '개발자를 확인할 수 없기 때문에 'iproxy'을 열 수 없습니다.'라는 오류를 접하게 되었습니다. 구글에서 flutter를 배포하면서 애플에서 요구하는 배포 프로세스를 거치지 않다보니 발생하는 문제라고 합니다. flutter 외에 다른 앱에서 발생할 수 있는 문제이기도 하고, 개발환경을 새로 구성해야 하는 상황에서 또 접할 문제라서 기억 차원에서 간략히 메모를 남깁니다. 터미널에서 아래 명령어를 실행해서 macOS의 인증서 검사 절차에서 무시되도록 하면 됩니다. sudo xattr -d com.apple.quarantine /FLUTTER_PATH/bin/cache/artifacts/usbmuxd/iproxy

Android Emulator closed because internal error:

  최근에 안드로이드 버전에 개발에 충실(?)했더니 iOS 개발 환경에 대한 관리를 소홀히 했었는데, iOS 버전 업데이트를 위해서 작업을 시작했더니, XCode, macOS 업데이트 등을 해야만 하는 상황이 다시 찾아왔습니다. XCode, macOS 업데이트를 하고 여러가지 추가적인 작업들을 어찌어찌  해줘서 iOS 개발 환경을 안정화시켰더니, 안드로이드 개발환경에서 애뮬레이터를 종료하면 아래와 같은 오류 리포트가 계속 출력되네요.. Android Emulator closed because internal error: emuglConfig_init: blacklisted=0 has_guest_renderer=1 아마 macOS 업데이트하면서 관련 드라이버들이 변경되면서 발생하는 문제로 보입니다. 해결은 Android Studio -> Preference -> Appearance & Behavior -> System Settings -> Android SDK 에서 SDK Tools 중 Android SDK Platform-Tools 최신 버전으로 업데이트해서 해결했습니다. 오류 내용을 구글에서 검색을 하면 그래픽 드라이버 업데이트, AVD를 코멘드로 실행하면서 -gpu host 옵션 주는 것 등이 있었으나 저에게는 해당사항이 없었습니다. 다음에 OS 업데이트 하면 또 발생할 수 있는 문제라서 그때 어렴풋이 기억이 나도록 흔적을 남깁니다.

FlutterJNI.java line 116 io.flutter.embedding.engine.FlutterJNI.loadLibrary

 회사에서 운영중인 앱을 flutter로 개발 환경을 변경하고, 스토어에 배포를 한 이후에 몰려오는 문제로 폭풍같은 기간을 보내고 있는데, 건수는 많지 않으나 유독 앱이 실행하지 않는다라는 고객 불만이 많았습니다. crashlytics에 아래와 같은 비정상 종료 로그가 그 불만의 원인으로 추정되었습니다. Fatal Exception: java.lang.RuntimeException Unable to start activity ComponentInfo{xxx.xxxxxxxxx.xxxxxxxxxxxx/xxx.xxxxxxxxx.xxxxxxxxxxxx.MainActivity}: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/xxx.xxxxxxxxx.xxxxxxxxxxxx-K_hBqtMu3gBO-zaDGjmAZA==/base.apk", zip file "/data/app/xxx.xxxxxxxxx.xxxxxxxxxxxx-K_hBqtMu3gBO-zaDGjmAZA==/split_config.xxxhdpi.apk"],nativeLibraryDirectories=[/data/app/xxx.xxxxxxxxx.xxxxxxxxxxxx-K_hBqtMu3gBO-zaDGjmAZA==/lib/arm64, /system/lib64, /hw_product/lib64, /system/product/lib64]]] couldn't find "libflutter.so" 오류는 간단하게도 libflutter.so 파일을 찾을 수 없다라는 것입니다. 오류 내용 만으로는 앱이 동작하지 않는 것이 매우 당연한 것입니다. 그런데 왜 libflutter.so가 빠져 있고, 일부 사용자만 문제가 발생하는 것일...