전체 글 278

용어 정리

명명법클래스명은 명사, 메서드는 동사, 기능은 명사 + 동사표기법CamelCase주로 객체지향 프로그램에서 사용함문자의 표현을 낙타 등 처럼 했다고 해서 정해진 이름snake_caseC, SQL등에서 사용언더라인(_) 으로 단어를 구분하는 명명법.헝가리안표기법g_ / m_ / s_글로벌 / 멤버 / 스태틱변수에 정보를 추가해서 명명하는 방법IT 용어 정리manual매뉴얼은 프로그램들의 사용과 운영에 대한 내용이 기술되어 있는 문서 agile model애자일 모형은 소프트웨어 개발과정에서 지속적으로 발생하는 변경에 유연하고 기민하게 대응하여 생산성과 품질 향상을 목표로 하는 협력적 소프트웨어 개발 방법론. 프로젝트의 생명주기 동안 개발 팀원들 간의 상호작용과 고객과의 협업을 중심으로 반복적, 점진적인 계획..

카테고리 없음 2025.09.04

Lazy Loading 직렬화 문제

1. 오류 발생커뮤니티 게시글 상세 조회 시 api에서 댓글 리스트를 함께 불러오려고 했으나 아래와 같은 오류가 발생했습니다.Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor... 2. 오류 원인Spring + Jackson + Hibernate 조합에서 흔히 발생하는 것으로 JPA 양방향 연관관계 + Jackson 직렬화가 충돌해서 발생하는 문제였습니다.Member, Post, Comment 같은 연관관계 필드를 LAZY로 가져오면 Hibernate가 프록시 객체(By..

error note 2025.09.04

Markit_place : 커뮤니티 코멘트 도메인 구성하기

CommunityComment 엔티티package com.market.market_place.community.community_comment;import com.fasterxml.jackson.annotation.JsonBackReference;import com.fasterxml.jackson.annotation.JsonIgnore;import com.fasterxml.jackson.annotation.JsonManagedReference;import com.market.market_place.community.community_comment_like.CommunityCommentLike;import com.market.market_place.community.community_post.Communi..

Markit_place : 커뮤니티 포스트 도메인 1차 완료

CommunityPost 엔티티package com.market.market_place.community.community_post;import com.market.market_place.community.community_comment.CommunityComment;import com.market.market_place.community.community_post_image.CommunityPostImage;import com.market.market_place.community.community_post_like.CommunityPostLike;import com.market.market_place.community.community_topic.CommunityTopic;import com.marke..

플러터 - 카메라 다루기 3단계

ImageHelper (이미지 파일 서버에 업로드 하는 서비스 유틸리티 클래스)// 서비스와 비슷import 'dart:convert';import 'dart:io';import 'package:image_picker/image_picker.dart';import 'package:http/http.dart' as http;import 'package:path/path.dart' as path;// 파일의 경로를 쉽게 다루게 하는 유틸리티 클래스class ImageHelper { // 서버 측 URL 설정 (개발 환경 IP 주소 관리) static const String _baseUrl = "http://192.168.0.187:8080"; static const String _uploadEndpoi..

Flutter 2025.08.28

스프링 부트 - Base64 활용하여 이미지 저장하기

1. Base64란?Base64는 바이너리 데이터(이미지, 파일 등)를 텍스트로 변환하는 인코딩 방식입니다. 64개의 ASCII 문자(A-Z, a-z, 0-9, +, /)와 패딩 문자(=)를 사용해 안전하게 전송할 수 있게 합니다.2. 왜 사용하나요?텍스트만 허용하는 시스템(예: JSON, 이메일, HTTP)에서 바이너리 데이터를 보낼 때.데이터 손상 방지: 특수 문자가 바이너리에 섞이지 않음.예: 플러터 앱에서 파일을 Base64로 변환해 서버로 업로드.3. 어떻게 작동하나요?바이너리 데이터를 8비트 바이트로 봅니다.6비트 단위로 나눕니다 (3바이트 = 24비트 = 4개의 6비트).각 6비트를 0-63 숫자로 변환 후, Base64 테이블에서 문자로 매핑.나머지 비트가 부족하면 = 로 패딩. 도식화 (..

Spring boot 2025.08.28

Markit_place : 커뮤니티 세부 카테고리 도메인 1차 완료

CommunityTopic 엔티티package com.market.market_place.community.community_topic;import com.market.market_place.community.community_category.CommunityCategory;import jakarta.persistence.*;import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;import lombok.NoArgsConstructor;@Entity@Table(name = "community_topic_tb")@Data@NoArgsConstructor@Builder@AllArgsConstructorpublic class Comm..

Markit_place : 커뮤니티 카테고리 도메인 1차 완료

CommunityCategory 엔티티package com.market.market_place.community.community_category;import com.market.market_place.community.community_topic.CommunityTopic;import jakarta.persistence.*;import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;import lombok.NoArgsConstructor;import java.util.ArrayList;import java.util.List;@Entity@Table(name = "community_category_tb")@Data@Builder@A..