2024 공개SW 개발자대회 복기3 - 프로젝트 마무리
·
project/2024 공개SW 개발자대회
CI/CD각 플러그인마다 .github/workflows 안에 yaml 파일을 작성하여 깃허브에 코드를 push하면,dockerhub에 업데이트된 이미지가 올라가고, cloudforet에 변경사항이 반영되며,Slack으로 webhook 알람이 오는 것까지 구축하고 개발을 마무리했다. Helm chart packaging Github Collector 플러그인에 대해서 Helm Chart 패키징을 적용해봤다.Helm Chart Packaging은 Helm 차트를 하나의 패키지로 묶어 .tgz 파일 형식으로 만드는 작업이다.한 번 패키징된 Helm Chart는 여러 환경에 재사용할 수 있어 동일한 애플리케이션을 다른 클러스터나 환경에 쉽게 배포할 수 있다.이렇게 하면 Kubernetes 애플리케이션의 배포 ..
2024 공개SW 개발자대회 복기2 - 플러그인 개발기
·
project/2024 공개SW 개발자대회
플러그인 개발플러그인 개발을 위해 메가존 클라우드 현직자분들이 개발해 놓으신 소스를 참고했다. 정해진 디렉터리 구조가 존재했다.도움이 많이 되었지만, 개발 기간이 짧은 탓도 있었고, 모두가 이 대회 하나에만 올인할 수 없었던 환경이었기에Cloudforet의 완전한 구조를 흡수하지 못했던 것에 아쉬움이 남는다. 개발한 플러그인 소스https://github.com/ChainsoMen/plugin-github-inven-collector GitHub - ChainsoMen/plugin-github-inven-collector: OSS project Cloudforet plugin-github-inven-collectorOSS project Cloudforet plugin-github-inven-collect..
2024 공개SW 개발자대회 복기1 - 개발 환경 구축기
·
project/2024 공개SW 개발자대회
💡 2024 공개SW 개발자대회 메가존 클라우드의 기업 지정 과제를 수행하며 정리한 내용입니다. SpaceONE에서 DevOps toolchain 연동 개발 및 관리 기능을 구현했고, CI/CD 파이프라인의 정보들을 수집하는 것에 중점을 두었습니다. 사전 지식GitHub Actions: GitHub에서 소프트웨어 워크플로우를 자동화하는 CI/CD 서비스Jenkins: 오픈 소스 자동화 서버로, 애플리케이션의 빌드, 테스트, 배포를 자동화ArgoCD: Kubernetes에 GitOps 방식으로 애플리케이션을 배포하고 모니터링하는 도구Helm: Kubernetes 패키지 관리자로, 애플리케이션 배포를 간편하게 해주는 도구Helm Chart: Kubernetes 애플리케이션 템플릿으로 구성된 패키지Docke..
2024 정보처리기사 실기 3회 후기 및 오답노트
·
log
후기이전 기출들과는 달리 개념 문제가 쉬웠고, 코딩 문제가 까다로웠다. SQL 문제는 별거 없었다. C언어의 static 변수의 함수 내 선언과 초기화, 구조체 + 링크드 리스트 + 이중포인터는 신선했다. 시나공에서 제공하는 2023년도 3회 기출부터 2020년도 1회까지 하루에 전부 풀고하루는 개념을 한번 쭉 훑어봤다. 제대로 공부한 기간은 2일정도?한 듯하다. 평소에 CS를 깊이가 깊진 않지만 넓게 많이 알았던 것이 도움이 되었다. 애초에 VPN, 스머핑 등이 답이었던 문제는 컴퓨터 보안 수업을 듣지 않았다면 몰랐을 것이다. 코드 문제는 C++, Python, Java를 주로 쓰다보니 기출에 나왔던 것만 풀고 들어갔다. 그래서 Java 문제를 틀렸던 걸 수도 있다. 12월 11일에 합/불 결과 발표가..
당근 테크 밋업 후기
·
log
10월 7일 코엑스에서 열린 당근 테크 밋업 서버 트랙에 참여했다. 세션의 중간중간 많은 네트워킹 테이블이 있었지만, 수강 신청에 실패했다… 하지만 세미나만으로도 엄청난 동기부여를 받았고, 인사이트를 얻어갈 수 있는 값진 경험이었다. 학생이라 뭘 알아들을까? 싶었는데 다들 프레젠테이션을 너무 잘하셔서 전달하고자 하는 바가 잘 와닿았던 것 같다. 1. 당근 알바 초기 엔지니어링 전략 (박용진 연사님)초기 제품 생산성을 위한 전략과 고민에 대해 말씀해주셨다.초기 제품 개발 단계에서 가장 중요한 목표는 사용자에게 빠르게 가치를 전달하는 것. 이를 위해 이벤트 기반 데이터 분석 서비스를 적극 활용했다고 설명하셨다. Amplitude와 Mixpanel과 같은 도구를 사용해 데이터 분석의 효율성을 높였고, 덕분에 ..
DDD(Domain Driven Design) - 도메인 주도 설계
·
Design
DDD의 개념과 등장 배경💡복잡한 소프트웨어 시스템을 설계할 때, 도메인의 복잡성을 관리하고, 비즈니스 요구사항을 효과적으로 반영하기 위한 소프트웨어 설계 접근 방식소프트웨어를 설계할 때 요구사항을 정확히 이해하는 것이 우선시 되어야 한다. 요구사항을 제대로 이해하지 못하면 잘못된 설계를 하게 되고, 이를 개발까지 끌고 갔다면 수정하는 데 더 많은 시간과 비용이 들게 된다. 뿐만 아니라, 쓸모 없고 유용하지 않은 시스템이 될 가능성이 크다. 과거에는 주로 기술 중심의 개발 방법론(메모리를 관리하기 위한, 개발적 리소스를 관리하기 위한)이 사용되었기 때문에 기술적 요구사항을 중점적으로 다루고, 비즈니스 측면의 요구사항을 효과적으로 반영하는데 한계가 있었다.특히, 비즈니스 전문가와 개발자 간의 소통이 원활..
2024 공개SW 개발자대회 1차 합격 복기
·
project/2024 공개SW 개발자대회
2024 공개SW개발자대회 1차 평가에 합격했다. 메가존 클라우드 기업형 과제로 지원했으며, 팀원은 프론트엔드 1명, 서버/인프라 3명으로 구성했다. 기업형 과제는 주제가 크게 3개 있었고, 정해져 있음에도 불구하고 결정하기까지 많은 고민을 했다. 최종적으로 선택한 주제는 “DevOps 관리 기능 구현 - DevOps Toolchain 연동 개발(ex. GitHub Actions, GitLab, Argo CD, Jenkins 등)”로 초기 기획은 SpaceONE에서 CI/CD 구축을 ‘딸깍’ ‘딸깍’으로 가능하게끔 하도록 하는 것이 목표였다. SpaceONE은 리눅스 재단에 등재된 오픈소스 기반 멀티 클라우드 플랫폼으로 AWS, GCP, Azure 등 다양한 클라우드를 연동하여 통합 관리한다. 이 때 필..
개발계 Jar 파일 배포 에러 - no main manifest attribute
·
project/poppin-server
💡 FCM 키워드 알람 테스트를 하려고 개발을 마친 후 개발계에서 배포하고 테스트를 진행하려다가 발생한 문제에 대한 해결 과정 기록 문제 상황./gradlew build -x test 로 빌드scp 명령어를 통해 빌드 산출물인 jar 파일을 로컬 → Bastion 서버 → 개발계 private 서버로 옮김개발계에서 nohup java -jar [jar 파일명] & 으로 jar 파일을 실행시키려고 했을 때 에러가 발생한다.로컬에서는 잘만 실행된다. (^R로 실행) Error 로그no main manifest attribute, in poppin-server-0.0.1-SNAPSHOT.jar2024-09-06T16:40:35.129Z INFO 1165 --- [ionShutdownHook] o.s.c.s..
JPA PK, Auto Increment Key vs UUID
·
데이터베이스/JPA
관계형 데이터베이스에서 기본 키는 Primary Key(PK)라고 하며, Key로 레코드의 유일성을 식별할 수 있다. Auto Increment Key기본 키를 자동으로 1씩 증가해주며 생성해주는 PK 매핑 전략이다.Integer는 unsigned 라고 해도 4바이트이므로 2,147,483,647 * 2 = 약 42억 정도로 충분히 초과할 수 있는 수치다.따라서, Long 타입을 주로 사용하게 된다.Entity 객체를 생성할 때 id를 null로 하면 자동으로 DB에서 PK를 생성해준다.DB에 PK 생성을 위임하므로, DB 자체의 Auto Increment 로직을 타서 성능 면에서 좋다고 한다.@Id@GeneratedValue(strategy = GenerationType.IDENTITY)@Column(..
어플리케이션 성능 테스트 - JMeter
·
Backend
어플리케이션 성능 테스트할 때 확인해야 할 지표로 응답 시간과 TPS가 있다. 응답 시간은 클라이언트가 서버에 요청을 보내고, 그 요청에 대한 응답을 받을 때까지 걸린 시간을 의미한다.응답 시간은 처리 시간과 대기 시간으로 나뉜다.처리 시간(Processing Time): 서버가 요청을 처리하는 데 걸린 시간대기 시간(Latency Time): 클라이언트와 서버가 데이터를 주고 받는데 걸린 시간 → 네트워크 지연 시간 TPS는 초당 처리하는 요청의 개수를 의미한다.TPS가 높을 수록 초당 처리할 수 있는 요청의 수가 많다.  JMeter 설치https://jmeter.apache.org/download_jmeter.cgi Apache JMeter - Download Apache JMeterDownload..
조원준입니다
'분류 전체보기' 카테고리의 글 목록