전체보기
-
Dockerfile 작성방법, 운영에서 알아야 할 주의 사항!개발지식 아카이브/ETC 2023. 4. 21. 10:56
Docker image 이란? 도커 이미지는 도커 컨테이너를 실행하기 위한 파일 시스템과 실행할 애플리케이션에 대한 설정 정보를 포함하는 템플릿입니다. 도커 이미지는 다른 이미지와 레이어를 공유하여 생성됩니다. 새로운 이미지를 생성할 때, 이전 이미지의 레이어를 사용하여 이미지를 빌드합니다. 이전 이미지와 동일한 레이어가 있는 경우, 해당 레이어는 새로 생성하지 않고 재사용됩니다. 이렇게 함으로써, 도커 이미지를 더욱 효율적으로 빌드하고 저장할 수 있습니다. 도커 이미지는 Docker Hub와 같은 이미지 레지스트리에 저장됩니다. 이미지 레지스트리는 도커 이미지를 중앙에서 저장하고 배포하기 위한 서버입니다. 사용자는 이미지 레지스트리에서 이미지를 다운로드하여 도커 컨테이너를 실행할 수 있습니다. 도커 이..
-
[Streamlit] 설치 단계에서 발생한 이슈와 해결방법 정리개발지식 아카이브/Data - ETC 2023. 4. 16. 02:11
Streamlit 이란?데이터 시각화를 지원하는 웹 애플리케이션 개발을 위한 파이썬 기반 오픈소스 라이브러리 왜 Streamlit을 써야 할까?1. 쉬움 Data scientist 들이 가장 편하게 느끼는 파이썬 언어로 작성되어 있어서 러닝 커브가 적다. 2. 시각화 지원 시각화를 지원하는 프론트엔드 라이브러리가 많지 않은데, Streamlit 은 다양하고 많은 시각화 라이브러리를 지원해서 차트, 그래프를 높은 자유도로 만들 수 있다. 3. 반응형 웹 반응형 웹을 내부적으로 구현해 주므로 개발 비용을 절약할 수 있다. 4. 비교군 중 가장 인기가 많은 시각화 오픈소스 Github contribution 을 기준으로 비교해 보면 비슷한 오픈소스인 Panel 보다 7배 이상 contribution 이 많다...
-
[Kubernetes] CrashLoopBackOff 이슈 트러블슈팅 (+Nginx)개발지식 아카이브/ETC 2023. 4. 15. 12:23
[Kubernetes] CrashLoopBackOff 이슈 트러블슈팅 직접 도커파일을 작성하고 쿠버네티스로 배포하다 보면 CrashLoopBackOff 에러를 자주 만나게 된다. CrashLoopBackOff는 컨테이너가 시작되지 않고 종료되어 버릴 때 발생하기 때문에, 컨테이너에 직접 들어가서 명령어를 실행하거나 테스트를 하는 것이 불가능하다. (kubectl exec... 실행 안 돼요!) 그러므로 kubectl logs 명령어를 실행해서 컨테이너가 종료되기 직전의 로그를 확인해야 한다. kubectl logs 해결 사례 내가 찾아낸 이슈는 2가지였다. 1. 내가 이미지 Dockerfile에 작성한 app 실행 명령이 수행되지 않고 컨테이너가 종료되었다. - 발생 원인 Dockerfile 에 작성된 ..
-
스파크 - 성능 최적화하기, 리팩토링 practice개발지식 아카이브/Data - Spark 2023. 2. 26. 19:52
스파크 분산 데이터 컬렉션 스파크에서 발생할 수 있는 성능 저하 이슈, 성능 개선 방법에 대해 정리해 보았다. 데이터 콜렉션의 비교 DataFrame과 Dataset 스파크는 데이터를 쪼개서 여러 개의 Executor nodes에 분산저장한다. 이것이 가능하려면 데이터는 분산 데이터 콜렉션에 저장되어 있어야 하는데, 스파크에서 사용되는 분산 콜렉션 API는 다음 세 가지이다. - DataFrame - Dataset - SQL 테이블, 뷰 유형 DataFrame Dataset 데이터 타입 검증 시기 런타임에서 확인 컴파일 타임에 확인 지원 모두 지원 JVM 기반의 언어인 스칼라, 자바에서만 지원 Row 접근 Row 타입을 직렬화된 바이너리 구조로 변환 스파크의 최적화된 내부 포맷: 일반적으로 가장 빠름 R..
-
스파크는 무엇이고 왜 쓰는지? 스파크에 대해 알아보기개발지식 아카이브/Data - Spark 2023. 2. 26. 19:01
스파크는 무엇인가요? 기존의 애플리케이션들은 단일 프로세서에서만 실행되도록 설계되었다. 문제는 시대가 바뀌면서 데이터의 양은 기하급수적으로 늘어났지만, 물리적인 방열 한계 때문에 하드웨어의 성능 향상은 멈췄다는 것이다. 그래서 개발자들은 단일 프로세서의 성능을 향상하는 방법 대신 CPU 코어를 병렬로 더 많이 추가하는 방법을 선택했다. 지금도 데이터는 나날이 거대해져 가고 있고, 마침내 컴퓨터 한 대로는 도저히 처리할 수 없을만큼 거대해졌다. 스파크는 이 문제를 해결하기 위해 등장한 두번째 데이터 병렬 처리 오픈 소스 라이브러리 엔진이다. (첫번째는 하둡이다) 스파크를 사용하면 클러스터 환경에서 데이터를 병렬로 처리할 수 있다. 단일 노트북 환경에서 실행할 수도 있지만, 수천 대의 서버로 구성된 엄청난..
-
다중 Datasource 에 연결하는 Spring Batch 를 개발할 때 이슈개발지식 아카이브/JAVA 2022. 12. 27. 23:45
토이 프로젝트로 다중의 데이터 저장소에 연결하는 스프링 배치를 개발하다가, TransactionManager 관련해 트러블 슈팅 후 블로그에 기록으로 남긴다. 다중 DataSoruce에 연결하기 위해서, 코드에 @EnableJpaRepositories를 포함하는 Config 파일을 각각 작성했을 것이다. 각각의 DataSource 를 정의하는 Config 파일이다. @Configuration @EnableTransactionManagement @EnableJpaRepositories( entityManagerFactoryRef = "db1EntityManagerFactory", transactionManagerRef = "db1TransactionManager", basePackages = {"com.s..
-
[루비로즈 독서 모임] 거대한 도박: 1700년대의 양적완화 실험Memories/책 영화 리뷰 2022. 12. 3. 02:29
거대한 도박 거대한 도박은 지폐 발명가 John Law를 다룬 실화 기반 역사소설이다. 존 로는존로는 1671년생이다. 소설의 배경은 태양왕으로 불렸던 프랑스의 루이 14세가 섭정하던 17~18세기이다. 존로는 스코틀랜드에서 금세공인의 아들로 태어났다. 금세공사는 지금으로 치면 자격증을 가진 전문직이었던 걸까? 존 로는 아버지 덕분에 부유한 어린 시절을 보내지만, 어린 나이에 상속받은 재산을 모두 도박으로 날리게 된다. 이미 어린 나이에 여성편력이 있었던 존 로는 결투에서 패배한 후 범법자가 되어 스코틀랜드를 떠나게 된다. 하지만 이것은 존로에게 터닝 포인트가 되는데, 유럽을 여행하면서 화폐에 대한 개념을 떠올리게 되기 때문이다. 귀금속은 이미 희소해지고 있었고, 귀금속을 대체할 수 있는 아이디어를 떠올..
-
[루비로즈 독서 모임] 스노볼(앨리스 슈뢰더): 워렌버핏 공식 전기Memories/책 영화 리뷰 2022. 11. 5. 10:51
Snowball, 복리의 힘 책의 원제인 Snowball 은 굴릴수록 커지는 눈 뭉치를 말합니다. 스노볼은 워런 버핏이 평생 중요하게 생각하고 지켜온 가치, 복리입니다. 그는 평생에 걸친 투자활동에서 복리를 무척 중요하게 생각했습니다. 투자활동 측면에서는, 시간이 지날수록 눈 뭉치가 불어나듯이 기업의 이익이 증가하고 주주의 가치가 복리 수익으로 증가하는 기업을 찾고자 했습니다. 그리고 생활에서도 절약을 통해 복리를 극대화하려고 노력했습니다. 부인인 수지가 첫 아이를 낳았을 때에 워런 버핏은, 아기 침대는 금방 쓸 수 없게 되므로 침대에 쓰는 돈은 불필요하다고 생각하여, 쓰지 않는 서랍을 개조해 침대로 쓸 정도였습니다. 스노볼은 돈을 불리는 이야기만 뜻하는 게 아닙니다. 세상을 이해하고 친구를 만들어 나가..