전체 글(364)
-
[Spring Boot] mp3 파일 정보 추출
음악 플랫폼을 만들어보고 싶은 생각이 들어서 음악 등록 api를 만들게 되었습니다. 내부 라이브러리를 사용하면 mp3 파일의 가사, 아티스트와 같은 정보들을 추출할 수 없기 때문에 외부의 라이브러리를 사용하게 되었습니다. https://mvnrepository.com/artifact/net.jthink/jaudiotagger/3.0.1 다양한 라이브러리가 있겠지만 저는 jaudiotagger 를 사용해주었습니다. maven repository 에서 jaudiotagger 를 가져와서 build.gradle에 넣어주었습니다. 이제 api를 구현하는 것부터 음악 파일을 넣는 과정까지 차례대로 정리해보겠습니다. Music @NoArgsConstructor @AllArgsConstructor @Builder @..
2023.09.13 -
[Spring Boot] JPA 엔티티 String 속성을 더욱 큰 속성으로 변경
@Column(nullable = false) private String lyrics; // 가사 보통 엔티티 속성을 지정할 때 텍스트 속성들은 String 타입 변수로 지정해준 뒤, Column 어노테이션을 붙이고 끝납니다. 이 String은 DB에 적용되게 되면 varchar 타입이게 되는데, varchar의 크기를 임의로 지정해줄 수 있습니다. @Column(nullable = false, length = 20) private String lyrics; // 가사 이런식으로 length 옵션 값을 부여하여 크기를 지정해줄 수 있습니다. 위의 코드에서는 length = 20을 부여했기 때문에 DB에서도 확인해보면 varchar(20) 으로 지정되게 됩니다. 만약, length 옵션 값을 지정하지 않았..
2023.09.13 -
[에러] java.io.FileNotFoundException: C:\Users\user\AppData\Local\Temp\tomcat-docbase.8080.16768757109457259434\upload\ae711ba2-12a4-4cad-9f3f-c6a861846112.mp3 (지정된 경로를 찾을 수 없습니다)
[Reason] 위와 같이 MP3 파일을 넣어서 getRealPath 를 통해 실제 업로드될 경로를 추출하고 multipartfile 에서 지원하는 transferTo 함수를 통해 경로로 파일을 보내게끔 만들어 주었는데 지정된 경로를 찾을 수 없다는 에러가 발생하였다. C:\Users\user\AppData\Local\Temp\tomcat-docbase.8080.16768757109457259434\upload\ae711ba2-12a4-4cad-9f3f-c6a861846112.mp3 내가 예상했던대로라면 프로젝트 내부 경로 (C:\MyProject\MusicIsMyLife\MusicIsMyLife\src\main\webapp\upload-music) 가 지정되야 했는데 위의 톰캣 temp 폴더 경로로 잡..
2023.09.13 -
[Spring Boot] Spring Boot 3.XX 버전 이상 QueryDSL 설정 및 실행 과정
저는 Spring Boot를 사용하여 개발을 진행할 때 보통 QueryDSL을 자주 애용하는 편입니다. 흔히 사용하는 JPA의 경우에는 사용 방법이 많이 알려져있기도 하고 가장 대중적인 데이터 관리 / 사용 기술이라고 볼 수 있겠지만 복잡한 조건의 데이터를 사용해야할 때 사용하기 번거롭다는 단점이 존재하고, JPA 함수를 사용할 때 아무래도 쿼리문 형태가 아닌 함수 형식이다 보니 사용할 때마다 매번 찾아보거나 해야하기 때문에 불편하다고 느꼈습니다. MyBatis의 경우에는 옛날부터 많이 사용했던 데이터 기술이긴 하지만 오래된 기술이니만큼 개인적으로 사용하고 싶지 않았습니다. 또한, MyBatis를 사용하게 되면 Mapper 라고 하는 xml로 쿼리문을 따로 관리해줘야하거나 추가로 DAO를 만들어주어야 하..
2023.09.11 -
[CSS] BootStrap Component 를 이용하여 내가 원하는 사이트 만들어보기
이전에 Bootstrap이 어떠한 것인지 어떠한 용도로 사용되는 것인지 얼마나 개발자에게 효율적으로 도움을 줄 수 있는지 확인해 보았습니다. 이번에는 제가 원하는 사이트를 BootStrap 으로 빠르게 만들어보겠습니다. https://getbootstrap.com/ Bootstrap Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins. getbootstrap.com Bootstrap을 잘 사용하기 위해서는 해당 ..
2023.09.09 -
작업 효율을 챙기면서 시간 소요까지 줄일 수 있는 Bootstrap 레이아웃 템플릿 모음 사이트
https://www.w3schools.com/bootstrap/bootstrap_templates.asp Bootstrap Templates W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more. www.w3schools.com
2023.09.07