분류 전체보기

Error/Java

[Getter] Boolean, Boolean Getter 메서드 이름 규칙

1. boolean, Boolean 차이Java에서 데이터 타입(자료형)은 기본형(Primitive Type), 참조형(Reference Type) 2가지 타입이 있다. 아래는 기본 자료형인데 표에 있는 8가지만 존재하기 때문에 그냥 외우면 된다. 자바에는 데이터를 저장할 때 메모리의 두 곳을 이야기하는데 하나는 스택(stack), 다른 하나는 힙(Heap)이 있다. 기본형은 참조 없이 바로 스택(stack)에 저장하고, 참조형은 참조 변수는 스택(stack)에 저장하고 실제 값은 힙(Heap)에 저장한다. 즉 기본형은 값을 바로 꺼내 쓰기 때문에 속도가 빠르고 참조형은 참조 주소를 통해 실제 값을 꺼내 쓰기 때문에 상대적으로 속도가 느리다. 그리고 기본형의숫자는 0, 0.0, character는 '\u..

Spring

[Spring Security] BCryptPasswordEncoder 암호화된 비밀번호 검증 어떻게 할까?

1. 문제스프링 시큐리티를 사용해서 비밀번호를 저장하면 암호화 되어 아래와 같이 Hash 로직에 의해 암호화 되서 들어간다.저장은 했는데, 입력했을 때 비교는 어떻게 할까? // 비밀번호 검증public boolean authPassword(String email, String password) { // 이메일로 유저 검증 Optional optionalUser = userRepository.findByEmail(email); if (optionalUser.isPresent()) { // 유저가 있다면 existsByPassword로 비교 User user = optionalUser.get(); String passwordHash = bCryptPasswordE..

Spring

[Spring] 프론트엔드에서 값 입력 누락 시, 백엔드 데이터 JSON 처리 어떻게 될까? + null 값에 .equals() 사용시 에러(24/11/09 수정)

* 개발 환경- IDE : IntelliJ IDEA- backend : Spring Boot 3.3.5- others : Postman1. 문제백엔드 개발을 진행하면서, 프론트엔드에서 값을 입력하지 않은 채로 데이터를 백엔드로 보낼 경우 어떻게 처리되는지 궁금했다. 특히 임시 저장 기능을 구현할 때, 값이 변하지 않는 항목들에 대한 처리 방안을 고민하게 되었다. 그래서 실제로 테스트를 통해 입력되지 않은 값이 백엔드에서 어떻게 나타나는지를 확인해 보았다. 사실 가장 궁금한 것은, 입력 누락 시 서비스단에서 데이터를 처리해야 하는데 NullPointerException 에러가 발생해서 짚고 넘어가면 좋겠다 싶어서 글을 작성하게 되었다.  @RestControllerpublic class BlogContro..

Spring

[Spring] Postman 포스트맨, 토큰 자동 주입, 자동으로 들어가게 만들기(Tests tab 없는 사람)

우선 post맨 사이트에 들어가면 https://learning.postman.com/docs/tests-and-scripts/write-scripts/test-scripts/ Write scripts to test API response data in Postman | Postman Learning CenterPostman is a collaboration platform for API development. Postman's features simplify each step of building an API and streamline collaboration so you can create better APIs—faster.learning.postman.com Tests tab이 Post-respon..

Git

[Git] pull requset 작성 법, Open a pull request 설명

1. 병합된 커밋이 들어갈 브랜치를 정하는 샌드박스2. 병합된 대상이 될 즉, 내가 만들어서 base 브랜치에 반영시키고 싶은 브랜치3. base 브랜치와 compare 브랜치가 충돌 없이 병합할 수 있다는 말이다. Github에서 자동적으로 계산해서 보여준다. 만약 충돌이 나면 Conflict가 있다고 보여진다.4. 동료 개발자가 한 눈에 이해하기 쉬운 제목을 적어줍니다.5. 동료 개발자가 코드를 이해하는 데 도움이 되는 설명을 적어줍니다. 스크린샷을 첨부하거나 테스트하는 방법을 적으면 좋겠죠?6. Reviewers :  저장소에 협력자가 여려명이라면 풀 리퀘스트를 검토해 달라 요청할 수 있습니다. 7. Assignees : 풀리퀘스트를 담당하는 동료를 적는다. 보통 자기 자신이다.8. Labels:풀..

Web

[API 통신] Application/x-www-form-urlencoded VS Application/json 도대체 이거 뭘까?

이 글은 https://apidog.com/blog/x-www-form-urlencoded-vs-json/ 을 요약해서 썼습니다. 여기서 상식 URL 인코딩이란 웹 브라우저나 서버가 URL에 포함된 특수 문자를 안전하게 전송할 수 있도록 변환하는 방식이다. URL에 공백, &, %, # 같은 문자가 포함될 수 있는데, 이 문자를 포함한 데이터를 안전하게 전송하기 위해 URL 인코딩이 필요하다. 원리 : URL 인코딩은 ASCII 문자만 허용하는 URL의 특성에 맞춰, 허용되지 않는 문자를 퍼센트 기호(%)로 시작하는 16진수 코드로 변환한다. 예를 들어, 공백(스페이스)은 %20, 앰퍼샌드(&)는 %26으로 인코딩된다.Hello World! → Hello%20World%21param1=value&para..

DB

[DB] erdcloud, Identifying/Non-Identifying + JPA, 주식별자 비식별자

1. 문제ERD를 작성하다 보면 ERDCloud를 많이 사용한다. 그런데 관계를 맺을 때  Identifying Relationship, Non-Identifying Relationship에 대해서 고민해 본적이 있지 않은가? 그리고 다들 JPA를 사용할 때 ID 값을 기본적으로 사용하는데  이 과정에서 팀 간 의사소통에 혼란이생길 수 있다. 즉 "Identifying Relationship은 파란색이고 Non-Identifying Relationship은 분홍색이기 때문에 이뻐서 파란색^^;;;"라고 생각하면 당장 고쳐야 한다. 특히 JPA를 사용하는 사람이면 더욱 조심해야한다. JPA에서는 식별자 관계를 명시적으로 쓰길 권장하고, 책 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스'에 저자께서 이런..

DB

[DB] 와디즈 - 사용자 역할별 데이터 처리 방법, 사용자에게 권한이 여러개 기본 설정 되어 있을 때

1. 문제점기존의 게시판을 만들 때는 ERD를 매우 간단하게 작성할 수 있었다. 그러나 와디즈 사이트를 분석하면서 문제가 발생했다. 와디즈는 크라우드 펀딩 사이트로, 회원 가입 시 사용자에게 펀딩 모금자인 Maker와 펀딩 후원자인 Supporter라는 두 가지 역할이 기본적으로 부여된다. 이를 쇼핑몰에 비유하면, 회원이 별도의 설정 없이 구매자와 판매자 역할을 동시에 수행할 수 있는 구조다. 여기서 문제가 발생하는 이유를 자세히 설명하자면, 사용자가 펀딩 게시글을 생성하는 것이 구조적으로는 맞지만, 이렇게 할 경우 Maker와 Supporter의 역할이 명확하지 않아 구분하는 의미가 없어진다. Supporter는 단순히 펀딩 후원과 관련된 정보만을 가지고 있어야 하고, 해당 정보만을 보여줘야 한다. 그..

개발 프로젝트

[프로젝트] 와디즈 - 로그인, 회원가입, 프로젝트 생성 / 화면 설계서 + 기능 명세서

오늘 하루 종일 와디즈라는 크라우드 펀딩 사이트의 로그인, 회원가입, 프로젝트 생성 기능을 분석하고 구현 가능한 부분을 추려냈다. 문서 작업이 생각보다 쉽지 않았지만, 하나씩 꼼꼼하게 진행했다. 기능 명세서와 화면 설계서를 함께 작성하며, 이미지 작업도 직접 처리했다. 작은 디테일까지 신경 쓰다 보니, 개발자 입장에서 기능이란 무엇인지 좀 더 구체적으로 감을 잡을 수 있는 귀중한 경험이었다. 작업 결과물을 공유하니, 이 글이 한 명이라도 도움이 되었으면 좋겠다. 화면정의서는 출처에 달아 놓긴 했는데 ppt가 편한 분들이 계실거 같아서 아래에 첨부해 두었다. 출처 :와디즈 : https://www.wadiz.kr/web/main피그마(양식) : https://www.figma.com/@loreenkim내용..

HTML

[HTML] 태그 제거하고 텍스트 추출하기

1. 문제점엄청나게 많은 테그에 있는 텍스트만 추출하고 싶은데 쉽지 않다. 따라서 간단하게 추출할 수 있는 방법을 알아보았다.  2. 문제 해결 // 요기에 추출할 모든 거 넣기 태그 안에 다 때려넣고 라이브 서버 실행하면 브라우저 console에 텍스트만 남는다. 요렇게 나오고 텍스트 정리하자.