본문 바로가기

프로그래밍20

Bitrise 소개 CI/CD는 뭘까? CI는 (Continuous Integratiion)로 지속적인 통합이라는 의미이다 지속적 통합이 의미하는것은 뭘까? 우리는 하루에도 수십개의 Commit과 몇번의 Pull Request를 요청한다. 그런데 이렇게 반복되는 와중에 필수적으로 확인 하는 과정이 있다. - PR이 Conflict없이 정상적으로 Merge되었는지 - 정상적으로 Build가 되었는지, 혹은 Test를 통과 했는지를 확인하는 과정이 필수적으로 들어가게 된다 CI가 의미하는 지속적 통합은 위 과정을 반복하며 Repository에 새로운 코드들이 합쳐지는 과정을 말한다 CD는 (Continuous Delivery, Continuous Deployment)로 지속적인 서비스 제공, 지속적인 배포라 는 의미한다 한마디.. 2021. 11. 23.
[Android] Android Thread, Looper, Handler Android MainThread Android 에서 App process가 시작되면 MainThread가 시작되는데 MainThread가 UI를 유일하게 수정할수 있는 Thread이기 때문에 MainThread라 하면 일반적으로 UI Thread라고 한다. (예외적으로 UI를 가지지 않는 Service, BroadcastReciver, application 경우에는 UI Thread라고 부르는것이 적절하지 않다.) 일반적으로 어플리케이션에서는 성능을 위해 Multi Thread를 사용합니다. 그러나 UI를 업데이트 하는데는 Single Thread를 주로 사용하는데 이는 UI를 업데이트하며 교착상태, 데드락 등을 방지해야 하기 때문이다. Java 어플리케이션 에서는 main() 메소드로 실행되는 것이 .. 2021. 10. 18.
[Swagger-codegen] 협업 프로젝트를 진행할 때 Client API를 자동으로 만들어준다면 어떨까? Swagger-ui 최근에는 서버와 클라이언트가 협업 프로젝트를 진행한다면 대부분 Swagger를 사용합니다. 몇 년 전까지만 해도 서버 개발자가 API 기능과 설명을 엑셀, wiki 페이지를 직접 만들어 공유해야 했는데 이제는 API를 작성하면 자동으로 문서를 만들어주니 참 편리해진 세상입니다. swagger로 인해 서버 개발자는 편리해졌지만 클라이언트 개발자에게는 한가지 문제가 여전히 남아있습니다. 그건 바로 서버 개발자 : 서버 API 업데이트할게요~ 클라이언트 개발자 : (NotFoundException, NullPointException~~) 네.. 확인했습니다. API 업데이트로 인한 uri, 쿼리명, 변수명 변경으로 인해 클라이언트에서 NotFoundException, NullPointExc.. 2020. 10. 26.
[Android Studio 4.0] 갑자기 파일내용이 다르게 나오는 현상 최근 갑자기 소스코드중 일부가 이상한 문자열로 바뀌는 현상이 발생했습니다. 처음에는 복붙 실수거나 git오류이거나 싶었으나 지속적으로 같은 문제가 생겨 관련 내용을 검색해보니 Android Studio 3.x.x에서 생긴 cache오류로 인해 발생한 문제라고 합니다. - IDE 내부 모습 해결방법은 간단하게 아래 경로의 폴더를 삭제하면 정상적으로 돌아오게됩니다. C:\Users\my_user_name\.AndroidStudio4.0\system\caches 2020. 8. 30.
[Android]DataBinding 오류잡기 데이터 바인딩을 통해 RecyclerView를 bind하려고 작업하던 중 @BindingAdapter()를 쓰기위해 apply plugin: 'kotlin-kapt'를 추가하게 되었는데 org.jetbrains.kotlin.gradle.internal.KaptExecution 오류가 나기 시작했다 인터넷에 관련 자료를 찾아봐도 JAVA 버전이 1.8로바꾸면 해결된다는 게시글 외에 별다른 해결책을 찾지 못했고 결국 @BindingAdapter()를 추가하기 전으로 상태를 되돌렷는데 이번에는 data binding error: cannot find symbol class ... Impl MalformedByteSequenceException: 1 ( ) 1 Ʈ UTF-8 이 두가지 에러가 나오기 시작했다 c.. 2020. 8. 20.
[JAVA] JAVA에서 네이버 메일을 이용한 간단한 푸싱만들기 아마존에서 판매중엔 제품중에는 판매자가 웨어하우스인 제품들이 있다 이 제품들은 구매자들이 여러가지 이유로 반품한 상품을 아마존창고에서 검수 후 재포장하며 판매합니다 웨어하우스 제품은 상태가 좋은경우가 많고 가격도 많이 저렴해서 많이 구매하는데 이로인해 제품이 올라오면 짧은 시간안에 모두 판매되곤 합니다 그런데 상품이 올라오는 시간은 한국시간으로 새벽 12시 ~ 3시에 올라오는데 언제 올라올지도 모르는 재고를 기다릴순 없으니 상품페이지를 지속적으로 관찰하는 프로그램을 만들어보기로 했습니다. 필요한 기능은 1. 아마존 상품페이지를 파싱하여 가격을 추려주는 기능 2. 원하는 가격의 상품이 나왔을때 나한테 알려주는 기능 입니다 오늘 포스팅할 내용은 2번의 내용입니다 먼저 안드로이드에서 푸시기능은 파이어베이스를 .. 2020. 5. 19.