전체 글 68

[SpringBoot] Lazy 칼람 JSON 반환 오류 해결하기 (No serializer fond for class org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor and no...)

🤦‍♀️배경 SpringBoot로 Join시킨 FK를 통해 get 요청을 받아서, 데이터를 넘겨주는 api를 작성하고 있는데 No serializer fond for class org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor and no... 위와 같은 에러가 발생했다. ✅ 해결방법 1 먼저 내가 해본 것은 application.properties에 spring.jpa.properties.hibernate.format_sql=false를 추가해주었다. spring.jackson.serialization.fail-on-empty-beans=fasle 그러니 단순히 에러는 해결되었지만 이렇게 불필요한 데이터들이 나오게 되었으며, hibernateLazyIn..

SpringBoot 2024.03.27

객체지향 설계의 5가지 원칙 (Solid 원칙)

🤷‍♀️ 배경 개발자라면, 특히 백엔드 쪽이라면 "객체지향~ 객체지향에 맞게 설계해주세요~~" 라는 소리를 한 번쯤은 들어봤을 것입니다. 저도 처음 개발을 처음 접했던 고1때부터 객체지향이라는 단어를 참 많이 들어왔는데요. 이번 스프링부트를 공부하기 시작하면서 이 객체지향 설계의 5가지 원칙인 SOLID 원칙을 제대로 알고 넘어가고 싶어서 이 글을 포스팅하게 되었습니다 💁‍♀️ Solid 원칙이란? 로버트 마틴이라는 유명한 분이 만드신 원칙인데요. Solid 원칙이란 객체지향 설계에서 지켜줘야 할 5가지 개발 원칙(SRP, OCP, LSP, ISP, DIP)입니다. SPR (Single Responsibility Principle) : 단일 책임 원칙 OCP (Open Closed Priciple) : ..

SpringBoot 2024.02.20

프로그래머스 - 피보나치 수 (JAVA)

코테 스터디를 끝낸 후, 코테 관련 블로그는 잘 안올릴려 했으나 이 문제는 꼭 블로그에 포스팅하여 한 번 더 정리하고 넘어가야겠다는 생각이 들어 오랜만에 코테 관련 블로그를 끄적여봅니다😖😖 프로그래머스 피보나치 수 2단계 문제입니다 https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❓문제설명 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n+1) + F(n-2) 가 적용되는 수 입니다. 예를 들어 ..

CodingTest 2024.02.15

[NodeJS] 웹 브라우저 쿠키와 세션 알아보기

오늘은 웹개발의 기초인 쿠키와 세션에 대해 알아보려고 합니다. 🤷‍♀️ 1. 쿠키란 한 사이트에 회원가입 혹은 로그인을 한 뒤, 그 창을 껐다 켜도 로그인 상태로 남아있는 경우를 경험해본 적이 있을 겁니다. 다. 여기서 쿠키가 사용되는데요. 서버가 사용자의 웹 브라우저에 전송하는 데이터라고 생각하시면 됩니다! 브라우저가 이 데이터를 저장했다가, 동일한 서버로 요청이 오면 저장되어있던 데이터를 이용할 수 있게 되는 것이죠. 💪 2. 코드 작성해보기 이제 nodeJs로 간단한 코드 하나 작성해 보겠습니다. const express = require('express'); const app = express(); const cookieParser = require('cookie-parser'); const po..

NodeJS 2023.12.22

[Firebase] 호스팅 생성 및 웹 배포하기

프로젝트 생성 https://firebase.google.com/?hl=ko Firebase | Google’s Mobile and Web App Development Platform 개발자가 사용자가 좋아할 만한 앱과 게임을 빌드하도록 지원하는 Google의 모바일 및 웹 앱 개발 플랫폼인 Firebase에 대해 알아보세요. firebase.google.com 위의 링크로 들어가셔서 로그인하신 뒤, 시작하기 버튼을 눌러주세요 프로젝트 추가 선택합니다. 프로젝트 이름을 입력하시고 계속을 눌러주세요 애널리틱스 사용 설정을 허용해주시고, 계속을 눌러줍니다. 자신의 계정을 선택하시고 프로젝트 만들기를 선택합니다. 호스팅 생성하기 npm install -g firebase-tools 터미널에 들어가셔서 위의 명..

Firebase 2023.11.17

[IntelliJ] 여러 개 프로젝트 동시에 띄우기 (멀티모듈), Module SDK is not defind 에러

🤦‍♀️ 1. 배경 자바 프로젝트 때문에 소켓서버를 실행하는 와중, 서버 리포지토리와 기존 리포지토리 두 창을 켜서 작업하는 것이 매우 번거로웠다. Eclipse 처럼 여러개 프로젝트를 한 창에 띄울 수 있는 방법이 궁금해졌다 🤷‍♀️ 2. IntelliJ와 Eclipse에서 사용하는 용어 IntelliJ Eclipse Project Workspace Moudle Project 이렇게 IntelliJ와 Eclipse에서 사용하는 용어가 다르다. 나도 처음에 혼동이 왔던 개념이라 잘 정리해두면 유익할 거 같다. https://whitepaek.tistory.com/47 [IntelliJ] 자바 멀티 프로젝트(모듈) 생성하기 인텔리제이(IntelliJ)에서 이클립스(Eclipse)처럼 워크스페이스(Works..

IDE 2023.11.15

[NodeJS] .env 파일 생성 및 사용

🤦‍♀️1. 배경 AWS로 서버를 배포하는 과정 중, RDS로 발급받은 엔드포인트를 숨겨서 깃허브에 올려야했었다. 전공선생님께 여쭤본결과 .env를 사용하면 된다고 했다. 🤷‍♀️2. .env 파일이란? 개발을 하다보면 git, 오픈소스에 올리면 안되는 것들이 있다. 이런걸 환경변수(env)로 설정해놔서 관리해주는 것이다. 💪 3. .env 사용법 npm install dotenv dotenv를 install 해줍니다. 그 후 .env 파일을 생성해주세요. DB_HOST = DB_DATABASE = DB_USER = 이런 식으로 .env에 숨길 값을 넣어 줍니다 그 후 다시 본 코드로 와서 require('dotenv').config() 맨 위에 dotenv를 추가해줍니다 console.log(proce..

NodeJS 2023.11.15

[Git] .gitignore 생성 및 적용해보기 (with VS Code, Node)

🤷🏻‍♀️ 1. .gitignore이란? .gitignore 파일은 github에 추가되지 말아야하는(무시되어야 하는) 폴더나 파일을 정의하는 파일이다. 예를 들자면, NodeJs에서 npm으로 install한 다양한 module들은 용량이 많이 필요하며, pacakge.json 파일만 있으면 module들을 install할 수 있기 때문에 필요없는 폴더이다. 이러한 것을 정리(정의) 해주는 것이 .gitignore 파일이다. 💪🏻2. .gitignore 생성 및 적용 .gitignore 파일을 직접 작성하기엔 매우 번거롭고 귀찮은 일이다. 하지만 아래 링크로 들어가면 간단하게 .gitignore 파일을 생성할 수 있다. https://www.toptal.com/developers/gitignore gi..

Git 2023.11.02

[NodeJs] NPM 설치(install)하는 법

🤷‍♀️ 1. NPM이란 설치를 하기에 앞서, NPM(NodeJs Package Manager)은 다른 사람들이 잘 만들어놓은 모듈들을 npm을 통해 설치하여 사용가능하다. NodeJs는 프레임워크가 아니기 때문에 npm을 통해 필요한 기능을 install하여 사용해야한다. node js에 npm이 기본적으로 깔려있기에 npm 명령어를 이용할 수 있다. https://www.npmjs.com/ npm | Home Bring the best of open source to you, your team, and your company Relied upon by more than 17 million developers worldwide, npm is committed to making JavaScript dev..

NodeJS 2023.10.18

[NodeJs] 프레임워크 (NodeJs는 프레임 워크일까?)

개발 공부를 하면 "프레임워크"라는 단어를 많이 들어봤을 것입니다. 🤷‍♀️프레임워크란? Frame(틀) + Work(일)의 합성어로 어떠한 일을 처리하기 위한 구조를 제공하는 것. 즉, 전체 동작방식은 프레임워크가 제공하고 우리는 프레임워크의 일부 부분을 개발하는 것입니다. 그렇기에 프레임워크를 이용하게 된다면 처음부터 끝까지 모든 동작을 개발하지 않고, 특정 부분만 도움을 빌려 개발하면 됩니다. 잘 감이 안오시죠? 예를 하나 들어보겠습니다. 떡볶이를 만들기 위해 떡을 불리고, 소스를 만들고, 재료를 손질하는 등 다양한 과정을 걸쳐야 합니다. 하지만 떡볶이 밀키트를 이용하면 재료를 넣고 끓이면 되기 때문에 아주 간편하게 요리를 도와줍니다. 여기서 프레임워크는 밀키트와 같은 역할을 합니다. 🤷‍♀️Nod..

NodeJS 2023.10.16