본문 바로가기

분류 전체보기72

CI/CD 파이프라인 구축기 안녕하세요, 방끗 팀의 백엔드 개발자 카피입니다😁이번 글에서는 저희 팀이 처음으로 겪었던 CI/CD 과정에서의 트러블슈팅 경험을 소개하고자 합니다!😀 CI/CD 도구 선택 과정CI/CD 도구를 선택할 때 우선적으로 고려한 기준은 두 가지입니다.첫째, 오버엔지니어링을 피하는 것입니다.기술의 장점이 무조건 좋다고 선택하는 것이 아니라, 그 장점이 현재 우리의 상황에 적합한지가 중요하다고 생각했습니다.둘째, 러닝 커브가 높지 않은 기술인가입니다.스프린트의 마감 기한이 길지 않기 때문에 당장 도입하기 쉬운 기술을 선택하고 추후 리팩터링 하는 방향을 선택했습니다.여러 가지 CI/CD 도구들을 간단히 비교하면서 가장 적합한 도구가 무엇인지 생각해 보았습니다!Github Action장점별도 설치가 필요 없다비교적.. 2024. 9. 17.
[Java] List 복사 방법과 불변 리스트, unmodifiableList와 copyOf 자바에서 불변이라는 개념은 상당히 중요하다. 외부에서 해당 객체나 리스트에 접근하여 데이터를 수정, 삭제하도록 열어둘 경우 예상치 못한 오류가 발생할 수 있기 때문이다. 자동차의 이름을 List로 가지고 있는 Cars 클래스가 있다고 하자. Cars cars = new Cars("capy1","capy2","capy3"); List prevCars = cars.getNames(); prevCars.add("newCapy"); List nextCars = cars.getNames(); Cars 객체를 생성하고 이름의 목록을 List로 가져온 뒤에, 반환받은 prevCars에 새로운 이름을 추가하였다. 반환받은 prevCars 리스트와 cars 객체가 가지고 있는 리스트가 서로 연결되어 있지 않다면 cars.. 2024. 3. 4.
[우아한테크코스 6기] 2주차 회고 본격적인 우테코에서의 활동을 시작하고 경험했던 것과 느꼈던 것을 짧게 회고해 보겠다. 1. 연극 1주 차 때부터 가장 큰 짐이었던 연극 발표가 월요일에 진행되었다. 생각보다 긴장이 되지 않아서 크게 걱정은 하지 않았지만, 앞에 나가보니 역시나 살짝 얼어있는 나의 모습이 아쉬웠다. 졸업식으로 인해 금요일에 등교를 하지 못해서 비교적 짧은 대사를 지닌 역할을 맡게 되었는데, 배려해 준 우리 연극조 크루들에게 감사를 표한다.. 주인공으로 많은 대사를 소화해 준 콜리, 예상치 못한 상황에 애드리브로 큰 웃음을 준 트레, 임다혜 같은 T 역할을 잘 수행해 준 우주, 치킨집 아저씨와 싱크로율 100퍼센트인 도도까지 다들 수고해 준 덕분에 잘 마무리할 수 있었던 것 같다. 무엇보다 놀랐던 것은 다른 팀들도 상당한 준.. 2024. 2. 26.
[Java] Random vs ThreadLocalRandom 자바에서 제공하는 랜덤 클래스에는 Random과 ThreadLocalRandom이 있다. 두 클래스의 작동 방식과 어떤 차이점이 있는지 비교해 보겠다. Random 난수 생성 방법 Random 내부의 코드를 살펴보면 seed를 어떻게 생성하는지 살펴볼 수 있다. public Random() { this(seedUniquifier() ^ System.nanoTime()); } Random은 사용자가 시드값을 인자로 넘기지 않는다면 nanotime, 즉 jvm의 고해상도 시간 측정 장치의 값을 기준으로 난수를 생성한다. seed 값을 변하지 않는 고정값으로 정한다면 동일한 패턴의 난수를 생성하기 때문에 계속 변하는 값인 시간을 seed로 사용한다. 멀티 스레드 환경에서의 문제점 Random은 하나의 인스턴스.. 2024. 2. 23.
[우아한테크코스 6기] 1주차 회고 매주 활동하면서 있었던 일들과 느낀 점을 기록해보려고 한다. 꾸준히 기록할 수 있기를 바라며.. 1. 온보딩 조 연휴가 끝나고 캠퍼스에 입학한 첫날에는 OT를 통해 앞으로의 일정을 안내받았다. 첫날에는 밥을 누구랑 먹지.. 어색하면 어쩌지..라는 걱정을 하기도 했지만 처음을 같이할 온보딩 조를 만났다. 도도, 트레, 콜리, 우주와 같이 활동하게 되었다! 처음부터 좋은 크루들을 만나게 돼서 즐겁게 지낼 수 있었다. 2. 연극 지난 기수를 찾아봐서 미리 알고 있었지만 다음주에는 연극을 한다고 한다. 이런 것에는 매우 약한 나이기에 많은 걱정을 하였지만, 역시 연극마저도 잘하는 우리 크루들.. 다들 아이디어 뱅크인 것 같다. 특히 콜리는 어떻게 이런 아이디어를 생각하고 준비를 해오는지.. 많이 배웠습니다! 예.. 2024. 2. 17.
[Redis] ec2에 레디스 설치하기 Amazon Linux 2023을 사용하는 ec2 인스턴스에 레디스를 설치해보고자 하였다. 대부분의 블로그에서는 다음과 같은 명령어로 레디스를 ec2에 설치하고 있었다. sudo wget http://download.redis.io/redis-stable.tar.gz sudo tar xvzf redis-stable.tar.gz 하지만 해당 방식으로 레디스가 정상적으로 설치되지 않아 다른 방법으로 해결하였다. ec2에 ssh 접속을 한 뒤에 수행하였다. 1. dnf 패키지 업데이트 sudo dnf update -y dnf 대신 yum을 사용하여도 무방하다. 2. 레디스 패키지 검색 sudo dnf search redis 설치 가능한 레디스 버전을 확인한다. 현재 내 ec2에서는 redis6 버전을 사용하는.. 2024. 1. 23.