WSL2에서 Cockpit 환경 실습하기: systemd 설정부터 접속까지
·
Infra
이번 글에서는 WSL2 환경에서 Cockpit을 설치하고 사용하는 방법을 정리했습니다.Cockpit은 웹 기반 리눅스 서버 관리 도구로, 시스템 자원 모니터링, 서비스 관리, 계정 설정 등 다양한 기능을 GUI로 제공해줍니다.특히 systemd 기반으로 동작하기 때문에, WSL 기본 환경에서는 별도 설정이 필요합니다.그럼 바로 시작해보겠습니다. 😎🔍 Cockpit이란?Cockpit은 Red Hat에서 만든 웹 기반 리눅스 서버 관리 도구입니다.터미널 없이도 브라우저를 통해 리눅스 시스템을 쉽게 관리할 수 있어, 초보자부터 전문가까지 모두에게 유용합니다.특히 SSH 포트(22번)가 차단된 환경에서도 Cockpit 포트(기본 9090)만 열려 있다면, Cockpit의 웹 터미널(Shell) 기능을 통해 ..
Jenkins에서 SSL 인증서 문제 해결하기: skip-certificate-check 플러그인, 괜찮은가요?
·
Infra
1. 서론회사 내부망에서 Jenkins 환경을 처음 구성할 때, 플러그인 설치나 외부 의존성 다운로드 중 다음과 같은 에러 로그를 자주 마주하게 됩니다.javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failedsun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target이 에러는 SSL 인증서 검증 과정에서 신뢰할 수 있는 인증 경로를 찾지 못해 발생하는 문제입니다. 구글 검색이나 여러 블로그 글에서는 대체로 skip-cert..
늦은 2025년도 1분기 회고
·
박현우
첫 개발자 커리어는 중소기업에서 시작해 약 2년 5개월간 자사 앱 서비스를 유지보수하는 역할을 맡았다. 그러나 점차 개발자로서의 역량 부족을 느끼며, 코드를 작성하는 데 부담감을 가지게 되었고, 결국 퇴사를 결정했다. 이후 부족한 부분을 채우기 위해 삼성청년소프트웨어아카데미(SSAFY)에서 1년간 교육을 받았으며, 그 후 외국계 SI 기업에 백엔드 개발자로 다시 커리어를 시작하게 되었다. 현재까지 약 10개월간 SI 백엔드 개발자로 근무했고, 진행 중인 프로젝트가 마무리되는 시점에 회고를 남기게 되었다.SI 기업에 처음 취업하면서 알게 된 점SI 기업은 인력을 Man/Month(맨먼스) 단위로 표현한다. 말 그대로 ‘한 사람이 1개월 동안 수행할 수 있는 작업량’을 의미하지만, 이 단위가 실제 개발자의 ..
2024년 회고
·
박현우
2024 회고취업2024년 6월에 SSAFY 10기를 수료하고 운 좋게도 취업이 되어 지금 회사로 취업(이직?) 하게 되었다. 처음으로 SI 기업에서 일을 하게 되었는데, 악명이 높은것과 별개로 현재 워라밸, 기술스택, 고객과의 관계 모두 순조롭고 만족스럽다. 아쉬운점은 두가지가 있는데, 첫번째로 업무에서의 아쉬운 점은 SI 하도급으로 프로젝트에 참여하면서 보안상의 이유로 서비스의 전체 소스코드를 확인할 수 없는 점에서 기여할 부분들이 한정적이라는 점이다. 웹 개발 뿐만 아니라, 인프라 및 클라우드 관련 공부도 했었기에 지식들을 써먹을 수 없어서 조금 아쉬운 부분이 있다. 두번째로는 회사의 문제이다. 우리회사는 SI 기업의 해외 지사이므로 해외 개발 인원들과 협업을 해야하는데, 소통을 하는것이 정말 어렵..
DVA-C02 자격증 후기
·
박현우
개요SAA-C03, Github Foundations에 이어 올해 마지막으로 DVA-C02 자격증을 취득했다. SAA-C03를 공부하면서 다양한 AWS 서비스의 존재 여부와 전체적인 틀에 대해서 알 수 있었고, DVA-C02의 경우는 이 서비스들 중에 특정 서비스를 다루는 방법이라고 들어 자격증을 준비했다. SAA-C03에 비해 느슨하게 준비했었지만 간단한 후기를 올려본다.공부방법SAA-C03 취득 이후 약 4개월이 지났는데, 공부는 회사 업무가 끝나고 틈틈히 공부했다. 아마 3주정도 공부한 것 같다. 나는 별도로 Udemy강의는 듣지 않았고, examTopics의 덤프 문제를 1.5회독 했다.dump문제가 약 400개 있었는데, 시험치기 전까지 1회독 이후 200번 정도까지 한번 더 본 것 같다. 헷갈..
내가만든 오픈소스, 누가 쓰긴하나?
·
박현우
개요갑자기 예전에 만들었던 Android 앱을 Github Release로 배포하는 Github Action 스크립트를 누군가가 사용하고 있는지 궁금해서 검색해봤다. 그런데 정말 사용하는 사람이 있네?? 왠지모를 내적 친밀감이 생겨 해당 레포지토리를 조금 탐색해봤다.안드로이드 앱 런쳐 프로그램인 것 같은데, 그냥 보기만 해서는 잘 모르겠다.테마??를 적용하는 프로그램 인 것 같다.해당 프로그램은 꽤나 많은 사람들이 유지보수 하는 오픈소스로 보인다. (11명의 contributer, 37개의 frok, 181개의 star..) 내가 작성한 릴리즈 스크립트가 다른 오픈소스 활동에 도움을 줄 수 있다는 것이 기쁘다. 앞으로도 오픈소스 기여를 통해 전 세계의 개발자들과 소통하고, 사람들에게 도움을 줄 수 있게 ..
헥사고날 아키텍쳐 (Hexagonal Architecture)란?
·
TIL
헥사고날 아키텍쳐목표 : 응용 프로그램의 비즈니스 로직을 외부 세계로부터 격리시켜 유연하고 테스트하기 쉬운 구조를 만드는 것핵심 비즈니스 로직은 중앙의 도메인 영역에 위치하며, 입력과 출력을 처리하는 포트와 어댑터를 통해 외부와 소통한다.헥사고날 아키텍쳐의 장단점장점유연성 : 외부 시스템이나 인프라와의 의존성을 낮추어, 구성 요소를 쉽게 교체하거나 업데이트 할 수 있다.테스트 용이성 : 비즈니스 로직을 독립적으로 테스트할 수 있어 품질 향상과 개발 속도 향상에 도움이 된다.유지보수성 : 책임이 분리되어 있어, 코드의 이해와 수정이 용이하며, 변화에 빠르게 대응할 수 있다.단점구현 복잡성 : 포트와 어댑터를 구성하고 관리하는데 약간의 복잡성이 따른다.초반 개발 시간 증가 : 아키텍처를 처음 구축할 때 시간..
Spring Data JPA - From 절 Subquery (InlineView)사용하기 - 2
·
Spring
개요회사에서 JPQL을 통해 테이블 조인 및 검색 조건을 추가하는 쿼리를 작성하고 있었는데, 쿼리 성능 개선을 위하여 inlineView(from 절 subquery)를 작성해야 할 필요가 있었다.많은 게시글에서 JPA에서 inlineView를 사용하지 못한다는 글을 봐서, 사용할 수 있는 다양한 샘플과 함께 회사 코드에서는 사용이 어려웠던 이유, Spring Data JPA 레포지토리에 이슈를 생성한 것 까지 모두 작성해본다.JPA에서 inlineView, 사용가능한가?사용가능하다. 이전에 작성한 글에서 이미 말했듯이, Hibernate 6.1 버전부터 inlineView가 사용가능 하다.다만, 다양한 케이스를 테스트 하면서 알게 된 점은 데이터를 Entity, Interface Projection, ..
Spring Data JPA - From 절 Subquery (InlineView)사용하기
·
Spring
개요회사에서 쿼리작성도중 From절 Subquery가 필요한 상황이 있었는데, 서비스가 Spring Data JPA를 사용하고 있었는데, 아직 자료가 많이 없는 상황이라 도움이 되기를 바라며 쿼리를 작성한 경험을 공유하고자 글을 쓴다.JPA에서의 From절 Subquery 사용가능 여부 확인JPA에서 From절 Subquery로 많은 검색을 해봤지만, 쓸만한 내용이 없었고 검색 결과에 가장 많이 보이는 내용은JPA의 한계라는 내용이었다. 많은 글에서 JPA는 From절 Subquery를 지원하지 않는다는 내용을 볼 수 있었고, 그 중 Hibernate 6.1 버전에서 Subquery에 관한 지원이 추가되었다는 사실을 알게 되었다.이 사실을 통해 hibernate 문서를 뒤졌고, from절에서 subque..
구글 코랩에서 Stable Diffusion WebUI API 호출하기
·
TIL
개요개인 프로젝트 기획 중 Google Colab을 통해 생성한 모델에서 API를 통해 프롬프트를 전달하고, 해당 정보로 API를 호출하는 서비스를 만들기 위해서 Stable Diffusion WebUI에서 API 호출을 확인해야 했다. 이를 어떻게 해결했는지 공유하고자 글을 작성한다. API  호출하기API를 호출하기 위해서는 검색해보니 python 코드를 수정해야 한다는 내용을 몇가지 찾을 수 있었는데, 별도의 코드 수정없이 간단하게 API를 호출할 수 있는 주소를 알아낼 수 있었다. 바로 Stable Diffusion WebUI 하단에 API를 클릭하면 사용가능한 API 목록을 swagger를 통해 알 수 있다.Swagger 페이지를 통해 내가 호출하고자 하는 API를 확인했고, 나의 경우 txt2..