개발로그

[인프라] 온프레미스와 클라우드의 차이
온프레미스(On-premise)정의: 온프레미스는 서버와 IT 인프라를 사용자가 직접 소유하고 관리하는 방식이다. 즉, 기업이 데이터 센터나 서버실에 물리적 서버를 두고, 그 서버의 유지보수 및 운영을 자체적으로 수행한다.장점: 데이터 보안 및 제어에 대한 높은 수준의 통제, 커스터마이징 가능성 등이 있다.단점: 초기 투자 비용이 크고, 유지보수 및 관리에 대한 인력과 자원도 필요하다.클라우드 방식정의: 클라우드 방식은 가상의 서버를 사용하여 IT 자원을 인터넷을 통해 제공받는 모델이다. 일반적으로 클라우드 서비스 제공업체(Amazon Web Services, Microsoft Azure, Google Cloud Platform 등)에서 서버와 인프라를 빌려 사용한다.가상의 서버: 클라우드 환경에서는 물..

[Docker] React 웹 Docker로 배포하기
배포하기 전도커 환경 설치가 필요하다.아래 블로그를 참고해 설치를 완료 해야한다.[Docker] 0. 🐳 도커 환경 설치하기 (Docker Desktop) 🐳설정 방법만들어 둔 React 웹 프로젝트 루트에 DockerFile과 docker-compose.yaml 파일을 생성합니다.DockerFileDockerFile이란?DockerImage를 생성하기 위한 설정파일(스크립트)이다.여러가지 명령어로 DockerFile을 작성한 후 빌드를 진행한다.빌드하게 되면 Docker는 DockerFile에 나열된 명령어를 차례대로 수행하며 DockerImage를 생성한다.DockerFile을 읽을 줄 안다는 것은 이미지가 어떻게 구성되어 있는지 알 수 있다는 의미이다.DockerFile은 배포에 용이하다.어떤 ..

[Android/트러블슈팅] NetworkOnMainThreadException 발생으로 살펴보는 Thread
들어가기 전MockWebServer로 API 테스트를 하면서 NewtworkOnMainThreadException이 발생하였다.이번 포스팅에서 Android Thread에 대해 살펴보면서, NetworkOnMainThreadException가 무엇인지, 왜 발생한 것인지 등 새롭게 알게된 내용들을 정리하도록 하겠다.NetworkOnMainThreadException 이란?android.os.NetworkOnMainThreadException해당 Exception은 Network 작업을 Main Thread에서 실행했을 때 발생하는 Exception이다.그렇다면 안드로이드에서는 왜 Network 작업을 Main Thread에서 해서는 안될까?질문에 답을 하기 위해서 Thread의 개념부터 Android의 ..

[Android/트러블슈팅] Kotlin 1.9.0 & Hilt Version Error
들어가기 전kotlin 1.9.0 을 사용하는 프로젝트에서 Hilt를 적용하려고 하니error: [Hilt] Unsupported metadata version. Check that your Kotlin version is >= 1.0: java.lang.IllegalStateException: Unsupported metadata version. Check that your Kotlin version is >= 1.0 at dagger.internal.codegen.kotlin.KotlinMetadata.metadataOf(KotlinMetadata.java:206) at dagger.internal.codegen.kotlin.KotlinMetadata.from(KotlinMetadata.java:18..

[Android] MockWebServer로 Mock API 활용하기
본 글은 MockWebServer 사용 방법에 초점을 두어 작성되었습니다.들어가기 전UI 렌더링 최적화 테스트를 위해 리스트를 만들어 테스트를 진행해야 했다.더미 리스트를 만들어서 넣는 것보다 실제 네트워크를 통해 데이터를 받아와 테스트하고 싶었다.개발된 API가 따로 없어 공공 API를 활용해야 했지만, 실제 Unit Test에서 많이 사용되는 MockWebServer를 활용해 보고 싶어 선택하게 되었다.프로젝트 설명MockWebServer를 활용해 공지사항 json response를 받아온다.받아온 response를 diffUtil RecyclerView를 통해 리스트 뷰로 보여주도록 한다.프로젝트 구성테스트용 프로젝트이지만 관심사 분리를 위해 폴더링은 아래와 같이 진행하였다.Activity > Vi..

[Android] PDF 뷰어 띄우기 / Activity 내에 PDF 뷰어 넣기 feat. 파일관리
기능 요구사항Activity내가 아닌 pdf 뷰어만 보여준다.Activity 내에 pdf 뷰어를 띄워 보여준다.각각 요구사항을 만족시키는 방법에 대해 작성하였다.[공통] Android Studio PDF File 준비하기1. assets 폴더 생성projcet > app > src > main 아래에 new directory 진행assets 를 선택 한 후 폴더를 생성한다.2. 폴더에 pdf 담기생성한 assets 폴더 안에 뷰어에 띄우고자 하는 pdf 파일을 넣는다.[들어가기 전] IputStream / OutputStream 이란file의 copy를 다루면서 inputStream과 outputStream을 사용하게 되는데해당 개념이 헷갈려서 정리해둔다.이미지 출처 : https://lannstark..