울음참고 개발공부
Spring 아키텍처 : 책임 분리 원칙( SRP )
Backend/Spring & Spring Boot 2026. 6. 12. 11:19

SRP : Single Responsibility Principle하나의 클래스(모듈)는 하나의 역할을 가져야 한다. [ 배경 ] 개발을 하며 컨트롤러에는 로직을 두지않고 비즈니스 로직은 서비스단에서 처리한다고 알고 있었다.하지만 나는 평소 "비즈니스 로직"에 대해 깊게 생각하지 않고 로직은 서비스단에 모두 넘겨서 사용하고 있었는데,이번에 바이브 코딩 중에 책임 분리 원칙을 지켜달라는 요청을 했음에도 컨트롤러에 로직을 남겨둔 것을 발견했다. 그에 따라 개념을 좀 더 정리하려 한다! 비즈니스 로직이 아닌 것 아래는 구현 로직- DB에 저장한다 (Repository)- HTTP 요청/응답 처리 (Controller)- 화면에 보여준다 (View / UI)- JSON 파싱, DTO 변환 [ 내용 ] ..

TIL | 이것 저것,,, 그저 TIL
TIL 2026. 5. 29. 16:41

배경 ) 바이브 코딩으로 코드를 생성하다보니 내가 못보던 애들이 좀 있었음새로운 코드인 줄 알았는데 원래 쓰고있었던거라함... ( 그냥 나만 모른거 )그거랑 이것저것 오늘 알게된거 정리 ~~~ VM Option으로 API Key 설정 외부에 노출되면 안되는 API KEY 같은걸 어떻게 관리해야할까? 클러드는 그냥 application.yml 에 import 한뒤에 .env파일을 생성해서 거기 넣어버렸다. spring: config: import: optional:file:.env[.properties] .env 파일을 gitignore에 넣어두면 되는거 아닌가 싶었지만 그것조차 파일에 올라가는거기는 하니깐 유출 위험이 있어서 소스가 로컬에만 있을게 아니라면 아래와 같은 방법으로 사용하는 것..

'Go' 기본 문법
카테고리 없음 2026. 4. 14. 17:41

네이버 기술 블로그를 보다가 typesciprt 6.0 이 javascript의 마지막 버전이고, 7.0부터는 Go로 작성된 컴파일러 기반으로 작동할것이라는 사실을 알게되었다. [출처: https://d2.naver.com/news/6428522 } Go 에 대해서 간단하게 알아보쟈 구글에서 검색하니까 최상단에 프로그래머스가 떴다. https://school.programmers.co.kr/learn/courses/13/13-30%EB%B6%84-go 30분 GoGo의 기본 문법 가이드라인을 제공하는 짧은 온라인 튜토리얼. 문법 특징에 대한 설명과, 예제 코드가 주어진다. 코드를 수정해보며 문법에 익숙해지는 것이 중요!school.programmers.co.kr 젤 기본인 helloword! 부..

JavaScript에서 function vs 화살표 함수(() => {}) 차이
Frontend/JavaScript 2026. 3. 23. 14:57

[ 상황 ] jsp + jquery 프로젝트 중 function() 으로 선언되어있는 함수와 화살표 함수가 섞여있다.체계적으로 의미를 가지고 분리해둔건가 아닌가 해서 개인적으로 정리해두려한다. [ 개념 ] fuction 함수 - 전통적인 함수 선언 방식- 호출 주체에 따라 this 가 바뀌고, 이벤트 처리에 적합 특징 - this 가 호출한 대상을 가리킴- 이벤트 핸들러에서 많이 사용- 선언 전에 호출 가능(호이스팅) 사용 예시 ) 버튼 클릭한 경우 function saveFunction(e) { // this === 클릭된 버튼} 화살표 함수 ( () => {} ) - 간결한 문법의 함수- 자기 자신의 this를 가지지 않음 특징- this가 상위 스코프 기준으로 고정- 콜백 함수에 적합- ..

var 를 쓰면 안되는 이유 ?
Frontend/JavaScript 2025. 12. 22. 13:24

# var / let / const 비교 varletconst재할당가능가능불가능재선언가능불가능불가능스코프함수 내 블록 내 블록 내호이스팅문제 있음안전함안전함 var 는 레거시라 쓰지않는 것이 좋다. ( 그냥 쓰지말기 ! ) 블록 무시 // var - 블록을 무시함if (true) { var password = '1234'}console.log(password); // '1234' 가 출력됨 !! -> 보안 문제 발생// 올바른 방법 // -> 블록 안에서만 유효하도록사용if (true) { let password = '1234'}console.log(password) // 에러가 나서 안전함 - if,for 블록 안에서 선언해도 밖에서 접근가능하기 때문에 의도치 않은 변수 오염이 발생- 디버깅 지..

Spring Boot CORS 설정 관련 에러 처리
Backend/Spring & Spring Boot 2025. 8. 27. 18:22

[ 상황 ] Vue 에서 axios 로 File 객체를 전송하려는 중 마주한 에러 GET 요청은 CORS 에러없이 쓰고 있었는데 POST 요청시 발생하였던 것이 주요 문제다. [ 에러 ] "when allowCridencial is ture, allowedOrigins cannot contain the special value "*" sins that cannot be set on the "Acess-Control-Allow-Origin ~ " -> allowCredentials 가 true 일 때는 allowedOrigins("*") 로 설정하면 안된다는 문구 ! [ 문제 ] CORS 표준에 따라 "allowCredentials(true)" 와 "allowedOrigins("*")" 를 같이 ..

FeignClient - Spring Cloud 에서 제공하는 HTTP 클라이언트
Backend/Spring & Spring Boot 2025. 7. 10. 14:01

포스팅 목적 !! - Fegin Clien 정리할 것 1.개념2.사용법 3.인터페이스로 구현된 이유 Feign Client 란 ? - Spring Cloud 에서 제공하는 HTTP 클라이언트- 다른 서버의 REST API 를 인터페이스만으로 쉽게 호출할 수 있는 도구 특징 + 사용 예시 Fegin Client 의 장점에 대해 다른 HTTP 클라이언트와 비교 ! 1. 인터페이스만 정의하면 사용 가능하다 # 예시 RestTemplate 를 사용하여 HTTP 요청 RestTemplate restTemplate = new RestTemplate();UsetDto user = restTemplate.getForObject( "http://api.example.com/users/1", UserDto..

디스크 용량 확보 - 떨어져있는 파티션 합치는 프로그램
TIL 2025. 6. 24. 09:54

무료 프로그램 !!! https://www.diskpart.com/free-partition-manager.html Free Partition Manager Software for Windows 11/10/8/7 | AOMEI Partition Assistant Standard www.diskpart.com 윈도우에서 "하드디스크 만들기 및 포맷" 을 검색하면 현재 디스크에 할당된 용량이 나온다. 나의 경우에는 C 에 95 GB 만 할당되어있고 할당되어있지않은 용량이 100GB 이상 놀고있었다. 위의 프로그램을 이용해서 할당되어있지 않은 용량을 C 드라이브와 합쳐서 사용할 수 있었다. 참고 ) https://velog.io/@d2h10s/Windows-%EB%96%A8%EC%96%B4%EC%A..