목록전체 글 (75)
ballqs 님의 블로그
강의를 보면서 Elasticsearch를 설치 따라 해보면서 정리한 글이라 작성해봅니다. ElasticSearch 설치를 Oracle VM VirtualBox 를 사용하여 진행했습니다. Oracle VM VirtualBox링크작성자는 Window 환경이라서 Window 버전을 다운로드하여 진행했습니다. Ubuntu링크Ubuntu 22.04버전을 다운로드 했고 받으면 7z 형식으로 압축되어 있는데 이는 압축 풀수 있는 프로그램으로 해제합시다. VM VirtualBox에 새로 추가하기 이름 : 가상 머신 이름폴더 : 해당 가상머신 경로ISO 이미지 : 선택안함종류 : Linux버전 : Ubuntu (64-bit) 설정해서 다음으로 넘어가면기본 메모리는 4GB 정도가 적당하다고 합니다.프로세서는 CPU사..
오늘 풀어본 문제는 프로그래머스의 미로 탈출 이라는 문제를 풀어보았다.문제를 보자마자 DFS , BFS 알고리즘 쪽으로 풀면 될거라고 생각했다.문제 설명1 x 1 크기의 칸들로 이루어진 직사각형 격자 형태의 미로에서 탈출하려고 합니다. 각 칸은 통로 또는 벽으로 구성되어 있으며, 벽으로 된 칸은 지나갈 수 없고 통로로 된 칸으로만 이동할 수 있습니다. 통로들 중 한 칸에는 미로를 빠져나가는 문이 있는데, 이 문은 레버를 당겨서만 열 수 있습니다. 레버 또한 통로들 중 한 칸에 있습니다. 따라서, 출발 지점에서 먼저 레버가 있는 칸으로 이동하여 레버를 당긴 후 미로를 빠져나가는 문이 있는 칸으로 이동하면 됩니다. 이때 아직 레버를 당기지 않았더라도 출구가 있는 칸을 지나갈 수 있습니다. 미로에서 한 칸을 ..
부트캠프를 통해 다양한 기술들을 배우고 실습하며, 최종 프로젝트로 실시간 맛집 예약 서비스를 개발하게 되었습니다. 이 서비스는 최근 외식 수요 증가로 긴 대기시간이 대두되었고 음식점 앞에서 직접 기다리는 불편함을 줄이고, 실시간으로 남은 대기 순서를 확인할 수 있게 하여 요율적이고 편리한 외식 경험을 제공하자는 취지로 시작했습니다. 프로젝트의 핵심 기능 중 하나는 웨이팅 대기열 시스템입니다. 사용자가 음식점에 웨이팅을 걸면 발권번호를 받아서 대기 상태에 들어가며 음식점에서 이를 확인하고 입장할 수 있도록 돕는 시스템입니다. 그러나 초기 개발 단계에서 발권번호 중복 및 데이터 불일치 문제가 발생하면서 동시성 제어에 대한 고민이 시작되었습니다. 처음에는 단순하게 DB CRUD 방식으로 구현했으나 높은 트래픽..
이전에 Redisson내용으로 작성한 글이 있습니다.https://ballqs.tistory.com/68해당 글에는 동시성 제어하는 방법에 관해서만 작성했는데 Redisson도 RedisTemplate와 같이 사용이 가능하다는 점을 파악했고 둘의 차이점에 관해 작성하고자 합니다. RedisTemplate 장점간단한 사용법: Redis의 주요 명령어를 Java 메서드로 호출 가능.풍부한 자료구조 지원: String, Hash, List, Set, ZSet 등 다양한 Redis 자료구조를 다룰 수 있음.Spring과의 강력한 통합: Spring Cache, Spring Session 등과 쉽게 연계 가능.유연성: 커스터마이징을 통해 RedisSerializer 설정 등 다양한 방식으로 활용 가능.단점분산 ..
Build를 하면서 났던 에러사항들을 번외로 작성해볼려고 합니다.이부분은 진짜 별거 아닌 내용도 작성되기도 하지만 이런 것도 문제 일으킬수 있다는 점을 확인할 수 있어 도움이 되었고 메모하는 습관덕에 글을 작성하게 되었기에 앞으로 Jenkins 작업할때 이런 에러는 덜 일으킬 것입니다.또한 슬랙 알람이 적용 전 상태에서 발생한 에러임을 양해부탁드립니다. 빌드 단계 코드pipeline { agent any stages { stage('Git Clone') { steps { git branch: 'dev', credentialsId: 'github-access-token', url: 'https://github.com/bal..
이전 글에 인해 Jenkins에서 사용할 온갖 설정들이 다되었습니다.이제 Item을 추가하여 Build까지 되는것까지의 내용입니다. Jenkins Item 추가Enter an item name 에 명칭 넣고 파이프라인 선택 후 OK 누르면 됩니다. GitHub project에는 적용하고자 하는 git repository를 작성해줍니다.GitHub hook trigger for GITScm polling 도 체크하기!!! Pipeline에 Script 작성!!pipeline { agent any environment { AWS_PUBLIC_IP = 'ubuntu@43.200.191.68' DOCKER_HUB = 'aysel0413' DOCKER_IMAGE ..
이전 글에서 Docker로 Jenkins를 올려서 UI에 접근이 되는것까지 확인되었습니다.이번 내용에서는 Java , Gradle , Plugins , Credentials 설정 하는 것을 작성하려고 합니다. Jenkins 관리 설정docker exec -it [Docker Container ID] /bin/bash 로 들어가거나 Docker Desktop를 통해 Jenkins 컨테이너에 접근해서 Exec를 보거나 하면 상황에서 env 명령어를 치면 아래와 같이 나옵니다.JAVA_HOME = /opt/java/openjdk 이부분을 기억해둡시다. Jenkins 화면으로 돌아가서Dashboard > Jenkins 관리 > Tools위에서 확인했던 /opt/java/openjdk 값을 넣고 Name은 ope..
프로젝트를 진행하면서 구축했던 파이프 라인에 대한 내용을 작성하고자 합니다.이번 글에 작성될 내용은 Docker로 Jenkins를 올려서 UI까지 들어가는 것까지 작성입니다. Docker를 이용한 Jenkins 환경 구축※Dockerfile 과 docker-compose 의 사용법을 숙지 후 따라하면 좋습니다. Dockerfile 파일 작성FROM jenkins/jenkins:jdk17USER rootRUN apt-get update && \ # 시스템 패키지 목록을 업데이트 apt-get upgrade -y && \ # 설치된 모든 패키지를 최신 버전으로 업그레이드 apt-get install -y openssh-client \ # openssh-client는 ssh 프로토콜을 ..
Spring Batch(Spring Batch)란?대용량 데이터 처리를 위해 설계된 오픈 소스 프레임워크입니다. 대규모 데이터 처리를 효율적으로 수행하고, 반복적으로 작업을 자동화할 수 있는 강력한 도구를 제공합니다. 데이터베이스에서 데이터를 읽고 처리한 후 다른 데이터베이스나 파일에 기록하는 등의 작업을 안정적이고 일괄적으로 수행할 수 있도록 지원합니다. 주요 개념Job: 스프링 배치에서 수행할 작업의 단위입니다.Step: Job의 구성 요소로, 실제로 수행할 작업을 정의합니다.ItemReader: 데이터 소스에서 데이터를 읽어오는 역할을 합니다.ItemProcessor: 읽어온 데이터를 처리하는 역할을 합니다.ItemWriter: 처리된 데이터를 저장하는 역할을 합니다. 메타 테이블 BATCH_JOB..
소나클라우드(SonaCloud)란?소나클라우드(SonaCloud)는 SonarQube와 관련된 클라우드 기반의 코드 품질 관리 플랫폼입니다. 소나클라우드를 사용하여 코드 품질을 분석하고, 버그 및 코드 스멜을 식별할 수 있습니다. SonaCloud 가입 및 로그인 SonarCloud Online Code Review as a Service ToolSonarCloud extends your CI/CD workflow with an online code review solution that easily integrates into your cloud DevOps platform, to provide code review as a service & deliver clean code consistently an..