분류 전체보기 112

RESTful 웹 서비스 구축 - # Project 04 - 이미지 업로드 (8)

질문 16. 거의 마지막 즈음에 HashMap 을 만들어서, List 을 put 을 해줘서 result 라는 걸 만들어줬어. 근데 여기서 이해가 안 되는게, HashMap 을 그대로 return 할 때 사용하면 되는데, 왜 굳이 List 을 만들어서 response 를 return 할 때 사용했을까? 왜 그런거야? 아주 좋은 질문이에요! 😊질문을 보니 **"왜 굳이 HashMap을 바로 반환하지 않고, List으로 감싸서 반환했을까?"**가 궁금하신 거죠?이건 API 설계와 데이터 구조의 유연성 때문인데, 제가 차근차근 HashMap vs List의 차이와 왜 그렇게 설계했는지 이유를 알려드릴게요.✅ 1. 먼저 코드부터 다시 살펴보자🔧 코드 분석HashMap> result = new HashMap()..

25.01.10 - 토익 성적 발표, LG유플러스 유레카 과정 발표

1월 8일에 토익 성적이 발표났었다.결과는 845점.2020년 말인가 2021년 초에도 토익을 한 번 친 적이 있다. 그 때 당시에는 940점이 나왔었다.그 때나 지금이나, 영어 성적 자체가 중요한게 아니라는 생각을 가지고 있다.내가 지원하고자 하는 직무의 수행 능력이 1순위다.굳이 영어 능력을 따지자면, 직무 수행에 필요한 영어로 된 공식 문서를 이애할 수 있는 능력, 혹시 있을지 모르는 영어 미팅 등에 필요한 비즈니스 영어 회화 능력이 필요할 것이다.그러니, 940점이었든, 이번처럼 845점이었든, 충분하다는 생각을 한다.그래도 개인적으로는, 4년, 5년의 시간이 흐르긴 흘렀구나 라는 생각이 드는 순간이다.전에 토익을 치를 때에도 토익 공부에 투입한 시간이 1달도 되지 않았다.그리고 지금까지, 나는 ..

생각 기록하자 2025.01.10

RESTful 웹 서비스 구축 - # Project 04 - 이미지 업로드 (7)

질문 13. new File(path).getAbsolutePath()+"\\"+fileName; 이라고 했는데, 저기서 new 는 File 객체를 생성하는게 아니라 path 라는 String 문자열을 가지고 File 이라는 뭔가를 해주고나서, 그리고 나서 File이 가지고 있는 getAbsolutePath() 메서드를 이용해서 절대 경로 값을 뽑아낸 다음에 그 안에다가 fileName 에 해당하는 뭔가를 new 해준다는건가? 그러면 File 은 뭐야? Files 와 차이는 뭐야? 그리고 new 를 하긴 했는데, 정확히 뭘 new 해준거야? 뭘 생성해놓은거지? 이해할 수 있게 예시 결과값이라도 한 번 알려줘볼래? 아하! 질문 의도를 확실히 이해했어요. 😊말하고자 하는 핵심은 new File(path)가..

RESTful 웹 서비스 구축 - # Project 04 - 이미지 업로드 (6)

질문 11. RandomStringUtils 에서 random 메서드를 이용해서 문자와 숫자를 포함해서 랜덤 문자열을 생성할 수 있다는 걸 배웠다. 그러면 특수문자를 포함시켜서 랜덤 문자열을 만들 수도 있는건가?  **RandomStringUtils**의 random 메서드는 특수문자를 포함한 랜덤 문자열도 생성할 수 있습니다. 하지만 기본적인 random 메서드는 문자와 숫자만 생성하도록 설계되어 있으므로, 특수문자를 포함하려면 조금 다른 접근법이 필요합니다. 아래에서 상세히 설명할게요!1. RandomStringUtils.random 메서드의 기본 사용법RandomStringUtils는 Apache Commons Lang 라이브러리에서 제공하는 클래스입니다. 이 클래스의 random 메서드는 다음과 ..

RESTful 웹 서비스 구축 - # Project 04 - 이미지 업로드 (5)

질문 8. 개발한 프로그램에서 파일 이미지 업로드 REST API 가 @PostMapping("/{book_id}/{type}/upload") 이런식으로 했었어. 그렇다보니, 이미지 파일을 업로드할 때, book_id 가 만약에 1, 2, 3, 4 이렇게 여러 가지의 이미지를 대량으로 업로드하는 건 불가능해. 그냥 book_id 가 1에 해당하는 이미지들만 업로드가 가능하지. 그리고 거기서 여러가지의 이미지를 업로드할 수는 있긴 하지만, type 이 동일해야 해. type 을 입력해야 하다보니, type 은 1, 2, 3 밖에 없지만 1, 2, 3 을 동시에 업로드할 수가 없는거야. 당장 어떤 코드를 알고 싶다는건 아니지만, 내가 궁금한 건, type 이 1, 2, 3 이든 상관없고 book_id 도 1..

RESTful 웹 서비스 구축 - # Project 04 - 이미지 업로드 (4)

질문 4. resources 디렉토리에서, static, template 등의 폴더가 있는데, 거기서 새로운 디렉토리를 만들게 되면, static.uploads 이런식으로 표시가 되던데, 원래라면 디렉토리 아래에 새로 만들어진 디렉토리가 표시가 되어야 하는데, 왜 resources 디렉토리 아래에 있는 디렉토리들은 그 안에 새로운 디렉토리를 만들면 왜 그렇게 표시를 해주는건가?예를 들어서, src/main 에서 util 이라는 디렉토리를 만든다고 하면, .util 로 표시되는게 아니라 단독으로 디렉토리 아래에 표시가 되잖아. 왜 차이가 있는거지? 좋은 질문이에요! 이는 **IDE(통합 개발 환경)**와 Spring Boot의 프로젝트 구조에서 resources 디렉토리가 특별한 역할을 하기 때문입니다. ..

RESTful 웹 서비스 구축 - # Project 04 - 이미지 업로드 (3)

학습을 하다보면 질문이 참 많다. 그 질문에 스스로 답을 찾아나가는 것만으로도 공부가 많이 된다. 그런데 과거에는 chatGPT가 없었고 그래서 스스로 질문에 답을 찾는데에 굉장히 많은 시간이 들었고, 심지어 끝끝내 찾지 못 하는 경우도 있었다. 그런데 chatGPT가 나오고 나서, 학습하는데에 굉장히 많은 효율이 발생한다. 질문에 답을 찾는데에도 시간이 현격히 감소했고 심지어 답을 찾지 못 하는 경우는 거의 없다고 봐야 한다. chatGPT 유료 버전을 꽤 초기부터 사용해왔던터라 무료 버전은 어떤지 잘 모르겠지만, 유료 버전은 정말 "Awesome!" 그 자체다.여러 가지 분야들이 있겠지만, 개발 공부에 있어서는 정확도도 굉장히 높다는 생각이 든다. chatGPT와 MS의 관계는 굉장히 밀접한 관계이다..

RESTful 웹 서비스 구축 - # Project 04 - 이미지 업로드 (2)

지난 게시글에 작성했던 질문에 대한 답을 기록한다. 질문 1: @PostMapping의 {"multipart/form-data"}에서 {}는 무엇을 의미하나요?{}는 Java에서 배열(array)을 나타내는 문법이에요. consumes는 이 API가 처리할 데이터 형식(MIME 타입)을 배열로 받을 수 있습니다.예시:"application/json": 단일 값 (JSON 형식만 처리){"multipart/form-data"}: 배열 형식으로 하나 이상의 데이터 형식을 처리할 수 있음.여기서는 배열로 지정했기 때문에 확장성을 고려한 것으로 보입니다. 실제로 다른 형식도 추가하려면 배열에 더 넣을 수 있습니다:consumes = {"multipart/form-data", "application/json"}질..

[번외] - AWS 의 위험성(?), 알게 모르게 과다부과될 요금

https://wy-family.tistory.com/32 [번외] - 내 자산을 소중히 여기듯이 회사 자산을 소중히 - 'AWS 무료 이용 한계 알림 + 요금 부과CI/CD Pipeline 구축을 실습할 때 AWS도 활용되었다. 그 과정에서 여러 가지 서비스를 이용해야 했었다.그리고 무료 사용 한계 알림을 받았다. 나처럼 개인적으로 실습을 해보는 사람들은 예산이 제wy-family.tistory.com 나는 최근 학습 중에 AWS 를 활용할 일이 있었고, 실습이 끝나서 AWS 사용을 중지했었다.그렇지만, 제대로 정리가 덜 되었던 것인지 알림이 왔었고, 어느 정도 돈을 지불하는 일을 겪었지만 그래도 추가로 요금이 부과되는 일은 없도록 다 조치를 했다고 생각했다.그렇게, 잊고 지냈다. 거의 1달이 다 지나..

생각 기록하자 2025.01.03

RESTful 웹 서비스 구축 - # Project 04 - 이미지 업로드 (1)

지금까지 Book 이라는 table 만 가지고, GET/POST/PUT/DELETE 를 해볼 수 있는 RESTful을 만들어봤었다.직전 게시글에서 전역 예외 처리에 대해서 공부했고,이제는 Book 이라는 table 말고도 다른 table 도 만들어볼 것이고, 그 table 간의 관계 설정도 해볼 것이다.책과 관련된 이미지를 업로드, 다운로드, 삭제 등을 RESTful API로 만들어볼 것이다. Book 이라는 Entity 를 만들었었다. 이제는 BookImage 라는 Entity 를 만들것이다. (table 이 될 것)책 하나에는 여러개의 책 이미지가 있을 수 있다. 교보문고 같은 책 판매 페이지를 보면, 알 수 있듯이 여러 개의 이미지가 등록되어 있을 수 있다. 그러므로 1:N 의 관계를 맺게 된다.B..