![[Java] 부동소수점 오차를 피하자!](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FueYkO%2FbtsMIOK0AL4%2FLZJT0bzaxpBN76tyK8OoD0%2Fimg.jpg)
백준에서 시뮬레이션 문제를 풀다가 한참을 디버깅하면서 삽질했던 과정을 기록하고자 합니다.. 결론부터 말씀드리자면, double 자료형의 부동소수점 오차로 인한 문제였습니다.추가로 짝수/홀수 구분을 (2&1)로 해야하는데 (2^1)로 하고서는 "왜맞틀"했던 저를 발견할 수 있었습니다..(반성하고 자바의 정석 다시 펼칠게요) 🔗 문제https://www.acmicpc.net/problem/20057문제는 삼성 기출로 유명한 마법사 상어 시리즈입니다. 📝 풀이간단하게 풀이를 설명하자면 달팽이 회전 로직을 구현 후 각 방향에 따른 '위치 및 비율'을 인덱싱하여 구현했습니다.2차원 격자 문제를 많이 풀어봤다면 쉽게 떠올리고 풀 수 있을거라 생각합니다. 조심해야하는 부분은 오른쪽부터 시작하는 달팽이 회전이 아니..
![[Java] String, StringBuilder, StringBuffer 비교](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc1elsw%2FbtsMGqi4fuE%2FHUql8nGuGwBOPWK1qUFWu1%2Fimg.png)
이번 시간에는 자바에서 문자열을 다루는 클래스인 String과 StringBuilder, StringBuffer에 대해서 각각 정리하고 차이를 비교해보려 합니다. 1️⃣ StringString 객체의 주요 특징으로는 불변(immutable)이라는 점입니다.이 말은 final 키워드처럼 한번 생성되면 변경이 불가능하다는걸 말해요.public class Main { public static void main(String[] args) { String str1 = "Hello"; str1 = str1 + " Beemo"; // 기존 str1을 수정하는 것처럼 보이지만 새로운 객체가 생성됨 }}위 코드는 기존 String객체에 문자열을 추가하여 수정하는 코드입니다. ..

네트워크 스터디 준비를 하면서 문득 "같은 네트워크"라는 말이 이해가 안되서 한번 찾아봤습니다.오늘은 같은 네트워크가 무엇인지에 대해 정리 해보려합니다. 한줄로 요약해본다면 아래와 같습니다.서로 다른 장치가 직접적으로 통신이 가능하면 같은 네트워크. 그러나 직접적으로 통신이 가능한게 어떤것이며, 간접적으로 통신하는건 어떤건지에 대해 다시금 의문이 생겼습니다. 네트워크 영역은 아래와 같은 요소들로 논리적으로 구성되어 있습니다.VPC(Virtual Private Cloud)서브넷(Subnet)VLAN(Virtual LAN)네트워크 영역의 범위는 아래로 내려갈수록 작아집니다. 👀 "같다"라는 기준같은 네트워크가 되는 기준은 크게 IP 주소 체계, 서브넷, 라우팅 규칙, 네트워크 장비(스위치/라우터) 연결 ..

용어와 관련해서는 아래 공식문서 참조https://developers.kakaopay.com/docs/payment/online/common#term-description 카카오페이 | 개발자센터새로운 기회와 가치를 함께 만들어봐요developers.kakaopay.com 결제 구조위 모식도를 확인해보면 '결제준비 API'과 '결제승인 API' 두 개의 API로 나뉘어져 있는걸 확인할 수 있다. 문제 상황내가 구상했던 흐름은 다음과 같다.클라이언트에서 결제가 필요한 시점에 우리의 서버로 필요한 요청 값을 보내고, 서버에서는 카카오로부터 결제요청API에 대한 응답값을 받아온다. 그 후 서버에서는 tid값을 기반으로 DB에 데이터를 저장하고, 클라이언트에게는 redirec url만 보내주어 결제 프로세스를 ..
![[회고] 두번째 해커톤, 소통의 중요함을 깨닫다.](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc5yp1T%2FbtsMugCJawN%2Feu4Nechzr1hvjiaeFPhuj1%2Fimg.jpg)
이번 회고에서는 대외비 문제로 개발 내용보다는 협업에 대한 회고를 진행해보려 합니다.📢 블레이버스 MVP 개발 해커톤 참여 확정.1월 인턴이 끝난 후 일정을 계획하던 도중, 흥미로운 해커톤을 하나 발견했고 곧바로 백엔드 포지션으로 참가 신청서를 작성했습니다.창업 아이템 실전 MVP 구현이라는 주제가 되게 흥미로웠고, 사전 팀 구성을 하는 것보다는 새로운 사람들을 만나 소통하며 배우기위해 1인 신청을 하게 되었어요.🙂 얼마 지나지 않아 참가 확정 메일을 받을 수 있었고, 어떤 사람들과 어떤 개발을 하게될까 라는 설렘과 함께 킥오프를 시작했습니다.🎉😳 새로운 팀원들과의 첫 만남2월 9일 킥오프가 시작되고, 전반적인 일정과 함께 2개의 창업 아이템에 대한 개요를 들을 수 있었습니다. 이후 팀매칭을 위한..
![[Jenkins] 스프링부트 프로젝트 CICD 테스트 +삽질 로그](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGxO2f%2FbtsMhlbAgMT%2FVEK6Lt51JUemefQK0BoEg1%2Fimg.png)
✔️ CICD 테스트를 진행하기 앞서 테스트 환경과 관련 포스팅을 참고해주세요.-- 테스트 환경 --AWS EC2 : UbuntuWAS : Java 17, Springboot 3.xSCM : GithubCICD : Jenkins🧷 이게 CI야? CD야?🧷 [Ubuntu] Java 및 Jenkins 설치 + 스왑 메모리🧷 [Jenkins] Github 자격 증명 추가 + 웹훅 설정🧷 [Jenkins] Item 추가 및 Pipeline 작성 + 테스트 ✅ 들어가기에 앞서지난 시간에는 Jenkins 아이템을 추가하고, 간단한 파이프라인을 통해 Github Push이벤트를 Jenkins에서 수신하는지 테스트를 해보았습니다. 이번에는 다음과 같은 플로우에 대한 CICD 파이프라인을 작성해보고, 테스트해보려..
![[Jenkins] Item 추가 및 Pipeline 작성 + 테스트](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fxtasw%2FbtsMel5drJG%2FWGiNUh5AgXCHdHSNspRTo0%2Fimg.png)
✔️ CICD 테스트를 진행하기 앞서 테스트 환경과 관련 포스팅을 참고해주세요.-- 테스트 환경 --AWS EC2 : UbuntuWAS : Java 17, Springboot 3.xSCM : GithubCICD : Jenkins🧷 이게 CI야? CD야?🧷 [Ubuntu] Java 및 Jenkins 설치 + 스왑 메모리 🧷 [Jenkins] Github 자격 증명 추가 + 웹훅 설정🧷 [Jenkins] 스프링부트 프로젝트 CICD 테스트 +삽질 로그✅ 들어가기에 앞서Jenkins라는 CI툴을 제대로 활용하기 위해서는 아이템(Item), 파이프라인(Pipeline), Job과 같은 기본적으로 숙지해야 하는 것들이 있습니다.이번에는 이러한 용어들이 무엇인지에 대해 간단하게 알아보고, 이전에 등록한 웹훅..
![[Jenkins] Github 자격 증명 추가 + 웹훅 설정](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkYCAe%2FbtsMfYgqb4k%2FtBtjd6z1xQaPRlpTklWOV1%2Fimg.png)
✔️ CICD 테스트를 진행하기 앞서 테스트 환경과 관련 포스팅을 참고해주세요.-- 테스트 환경 --AWS EC2 : UbuntuWAS : Java 17, Springboot 3.xSCM : GithubCICD : Jenkins🧷 이게 CI야? CD야?🧷 [Ubuntu] Java 및 Jenkins 설치 + 스왑 메모리 🧷 [Jenkins] Item 추가 및 Pipeline 작성 + 테스트 🧷 [Jenkins] 스프링부트 프로젝트 CICD 테스트 +삽질 로그✅ 들어가기에 앞서지난 시간까지 EC2에 Java 및 Jenkins를 설치하고 기본적인 설정까지 마칠 수 있었습니다.이제는 본격적으로 Github 레포지토리와 Jenkins 사이의 연결 다리를 만들어주어야 하는데요.여기서 말하는 연결 다리란 SC..