🐳 Docker Desktop for Mac + JDK 17이 실행되지 않는 이유 deep dive!
·
DevOps/docker
최근 Docker Desktop for Mac 환경에서 JDK 17을 사용하는 Spring Boot 애플리케이션이 실행되지 않는 문제를 발견했다.이상한 점은 Windows 환경에서는 정상 실행되지만, Mac에서는 실행 후 바로 종료된다는 것이다."환경 차이 때문인가?" 🤔 하지만 Docker는 OS와 무관하게 동일하게 실행되어야 하는데, 왜 이런 문제가 발생한 걸까?정확한 원인을 찾기 위해 Deep Dive 해보았다.🔍 문제상황Mac에서 실행한 Docker Container의 로그를 확인한 결과,JVM이 컨테이너 내부 리소스를 감지하는 과정에서 NullPointerException 발생했다.java.lang.NullPointerException: Cannot invoke "jdk.internal.pl..
놀고있는 노트북으로 homelab을 꾸려보자-2
·
DevOps/etc
오늘의 설정 ⚒️✅ ubuntu-server 설치✅ 맥북 --> 홈랩 서버 원격 설정✅ 홈랩서버 클램쉘 모드 설정✅ k3s cluster 구성ubuntu-server 설치노트북 각각 ubuntu-server를 깔고, docker로 설치완료했다.ubuntu-server를 깔기 위해서는 ISO 이미지를 다운받아 bootable usb를 만들어야 한다!ubuntu-server ISO를 다운받는다https://etcher.balena.io/ 를 다운받는다 (ubuntu 오피셜 사이트에서 추천해 준 툴)다운받은 ISO 이미지를 선택 -> usb 드라이브 선택 -> usb드라이브에 설치되기까지 대기다운이 완료된 usb를 ubuntu-server를 설치하고자 하는 컴퓨터에 연결부팅 시 usb로 실행여튼 설치 완료했으..
놀고있는 노트북으로 homelab을 꾸려보자-1
·
DevOps/etc
나에게는 놀고 있는 노트북이 2대가 있다. 대학생 때 사용했던 HP 랩탑과 아버지에게 갈취(?) 했던 삼성 노트북. 2024년부터 사용하지 않는 짐 정리 대 프로젝트를 진행 중인 와중에, 이 두대의 노트북이 정말,, 눈엣가시처럼 사라지지도 않고 계속 거실장에 거치되어 있는 게, 나의 모든 움직임에 "감히 나를 그냥 둬?"라고 말하는 것 같은 느낌을 받았다. 새해가 되었으니, 새 마음으로 이 노트북을 보내줄까 하다가 보내줄수도 없고 (원하는 사람이 없을 듯), 이전부터 해보고 싶었던 Homelab 구축을 이거로 연습해 볼까?라는 생각이 들었다. 일단 내 노트북 두대의 스펙은 이렇다 삼성 노트북 운영체제: Windows CPU: Intel i7-3537URAM: 4GB저장공간: 256GBHP 노트북운영체제:..
[Leetcode] 110. Balanced Binary Tree
·
BE/algorithm
문제관련 토픽: DFS, Binary Tree, Tree난이도: Easy링크: https://leetcode.com/problems/balanced-binary-tree/description/요구사항주어진 Binary Tree가 height balanced 인 상태인지 확인height balanced = 두 서브트리의 높이의 차이가 1이상이 아닌 트리조건노드 개수 범위 [0, 5000]10^4 O(N) 시간복잡도 이전으로 풀어야 한다풀이모든 노드의 왼쪽 서브트리와 오른쪽 서브트리의 높이 차이를 확인높이 차이가 1을 초과하면, 트리는 불균형하다고 판단, return FalseDFS방식으로 각 노드의 서브트리 높이를 계산하며 균형여부를 확인Stack으로 DFS를 풀이하니, 각 노드에 방문했는지 여부를 저장..
Eureka와 Eureka 설정방법
·
BE/BE
Eureka 란?Netflix가 개발한 서비스 디스커버리 툴MSA 아키텍쳐에서 각 인스턴스의 위치를 자동으로 찾고, 관리서비스 디스커버리?MSA에서 중요한 컴포넌트 → monolithic 에서는 서로의 인스턴스를 찾을 필요가 없었으니까!여러 서비스 인스턴스와 그 위치를 자동으로 탐지하고 관리하는 기능 → 분리되어있는 MSA 환경에서의 개발은 복합적인 MSA의 호출 발생서비스가 서로를 찾고 통신할 수 있도록 해주며, 수동으로 서비스 위치를 관리하는 복잡성을 낮춤!Eureka의 구성요소Eureka Server서비스 등록과 조회 기능을 제공모든 클라이언트가 서버에 등록을 해야함Eureka Client각 MSA 서비스E.g. product msa, order msa주요기능서비스 등록과 발견하트비트 매커니즘클라이..
[Leetcode] 121. Best Time to Buy and Sell Stock
·
BE/algorithm
문제: Best Time to Buy and Sell Stock 관련 토픽: Array, Dynamic Programming난이도: Easy 링크 https://leetcode.com/problems/best-time-to-buy-and-sell-stock요구사항prices 배열은 i번째 날짜의 주식의 가격을 담음정해진 하루에 주식을 사고, 주식을 산 시점 이후에 주식을 판매주식을 구매, 판매하며 어떤 조합이 가장 큰 수익을 낼 수 있는지 탐색수익이 발생하지 않는 경우에는 0을 반환  조건1 10만개의 요소를 다루는 문제는 효율적으로 풀이 하는 것이 좋다 O(n) ~ O(nlogn) 시간 복잡도의 풀이가 필요! 0 최대값,최소값을 구할 때 값 초기화의 기준으로 사용 가능풀이 문제 태그에는 Dynamic ..
[Leetcode] 21. Merge Two Sorted Lists + 그림 풀이
·
BE/algorithm
문제: Merge Two Sorted Lists관련 토픽: LinkedList, Recursion난이도: Easy 링크  https://leetcode.com/problems/merge-two-sorted-lists요구사항list1, list2 LinkedList를 정렬된 하나의 LinkedList로 합치기 list1, list2는 정렬된 LinkedList return 값의 list는 두 리스트를 기반으로 만든 값이어야 함 조건LinkedList의 노드 길이는 [0, 50]-100 list1, list2는 오름차순 정렬 (non-decreasing) 풀이이미 정렬된 리스트들을 하나로 합치기 위해서는 brute-forcing, LinkedList, recursion을 사용할 수 도 있음 여기에서는 Lin..
장비병 고치기 위한 온몸 비틀기 - 맥북 m1 에어 듀얼모니터 설정 (with LG 듀얼업)
·
IT Review
나에게는 오래된 병이 있다. 지병인데, 모든 분야에 나타나는 고칠 수 없는 병이다. "장비병"이라고,,,불치병을 앓고(?) 있다. 카메라, 키보드, 그리고 최근에는 캠핑용품으로 뻗어나가는 전적이 있는데, 오래전 부터 애플 장비도 여러 것들을 거쳐왔다. 퇴사를 하게 되면서, 잘 쓰던 16인치 맥북 프로를 보내고 개인용 노트북이 필요해져서 당시 따끈따끈한 m1 칩을 탑재한 맥북에어를 구매했다. 물론 개발, 유튜브, 웹 서칭 등등 모든 목적을 위한 노트북 구매였고, 당시에는 원모니터 또는 맥북 하나로만 개발하는 것에 맛 들렸어서 (이상한 미니멀리즘에 취했었음) `m1 에어는 하나의 디스플레이만 지원한다` 는 사실도 괜찮았다. 사고 한동안은 괜찮았다. 하지만 지금까지는 진짜 꾸역꾸역 아이패드 미니 (미니병에 도..