
openai에서 공개한 whisper를 학습 시킬 수 있는지에 대해서 알아보라는 임무가 떨어졌다. 앞으로 Sass 서비스에는 다른 STT 업체를 사용하지 않고 whisper를 사용할 계획이라고한다..갑자기 Java 웹개발자에게...이런 어려운 일을 시키다니..ㅎ 저는 파이썬도 할 줄 모르구요ㅠㅠ 그래도 어찌저찌 whisper를 실행시키고 학습까지 시켰는데! GPU를 이용하지 않고 CPU를 사용하고 있는것을 알게되었다. 어쩐지 너무 느리더라..🥹 인공지능과...무관한 나... 나는 당연히 GPU 가 있으면 GPU 가 사용되는 거라고 알았다ㅎㅎ 근데 그게 아니더라...ㅎ... 드라이버와 cuda를 설치해줘야한다.. cuda가 뭔데....진짜 아무런 개념이 1도 없어서 너무 어려웠다. 1. NVIDA 드라이버..

List를 조회하는 API가 있었는데, 어느날 갑자기 조회 조건대로 조회가 안되니 확인을 해달라는 연락을 받았다. 원래는 잘 되던건데...갑자기 안된다..? 범인은 나겠지🥹 Git 히스토리를 찾아보니 @NoArgsConstructor 를 추가해놓았다. 처음엔 잘 이해가 안갔다..@NoArgsConstructor를 붙였어도 @AllArgsConstructor가 있는데 왜 바인딩이 안되는거지?🤔 우선 아래와 같이 컨트롤러와 VO를 만들고 각각의 경우에 바인딩이 어떻게 되는지 확인 해보았다. (스프링에서 @ModelAttribute를 붙이지 않는 경우 적절한 전략을 사용하여 요청 파라미터를 바인딩 하므로 어노테이션을 생략했습니다.) 👉🏼 @AllArgsConstructor -> binding 🙆🏻♀️ 👉🏼 ..

Pageable 인터페이스를 구현한 PageRequest를 사용하면 페이징 처리를 간단하게 할 수 있다. 1️⃣ 페이징 처리에 필요한 정보를 담고 있는 Class 생성 - 페이징 처리를 여러곳에서 하기 때문에 페이징 처리 정보를 담고 있는 클래스를 생성하여 해당 클래스를 상속 받아서 사용 할 수 있도록 한다. - pageRequest의 page 인덱스, 크기, 정렬을 인자로 받는 메소드를 사용 public class Search { private int page = 1; private int size = 10; private String[] sort = {}; public void setPage(int page) { this.page = page MAX_SIZE ? DEFAULT_SIZE : size; ..

shedlock을 테스트 하면서 서버를 동시에 실행시킬 일이 생겼다. 인텔리제이에서는 하나의 프로젝트에서 여러개의 서버를 실행시킬 수 있도록 해준다..갓인텔리제🥹 (아마 다른 IDE도 이런게 있지 않을까 싶다..) 1️⃣ 우측 상단에 Edit Configurations를 선택한다. 2️⃣ vm options에 -Dserver.port=9002 와 같이 실행시킬 포트를 지정하여 새로운 application을 생성한다. 3️⃣ 좌측 + 버튼을 클릭하여 Compound를 선택한다. 4️⃣ 이름을 지정해주고 가운데의 + 버튼을 클릭하여 2️⃣에서 생성 한 어플리케이션을 선택한 후 apply를 눌러준다. 5️⃣ 서버 실행 - 서버 실행 시 생성 한 compound를 선택하여 실행해주면 된다. 실행 버튼을 누르면 ..

이번에 새로운 프로젝트를 진행하면서 필요한 기능 중 하나는 사용자로부터 반복 주기를 받아 그 때마다 특정 동작을 반복으로 실행시켜주어야 하는 기능이 있었다.이를 위해 1️⃣스케쥴러가 동적으로 생성되어야 하고 2️⃣ 이중화 환경을 고려하여 스케쥴러는 여러개의 서버 중에 한대에서만 실행이 되어야한다. 사실 스케쥴러가 서버 실행 전에 정해져있다면 아래 처럼 shedlock 어노테이션으로 쉽게 스케쥴러 이중화를 할 수 있다.그렇지만 동적으로 생성하는 스케쥴러에는..어노테이션을 붙일 수 가 없다.@Component@Slf4jpublic class TestScheduler { @Scheduled(cron = "0 0 0 * * *") @SchedulerLock(name="registerScheduler..

테스트를 위해 linux 서버에 있는 excel 파일을 다운로드 받아 파일 내용을 읽어야하는 상황이 생겼다. 그런데 linux에서 엑셀파일 어떻게 생성하지..?에서 시작된 고민.. 그냥 window에서 만들어서 넘겨버리자! 방법은 간단하다. 👉 명령어scp 전송할파일경로 username@host:원격서버경로👉예시 1️⃣ 파일 전송 - 전송할 파일이 있는 경로로 이동 한다. - 나는 C:\Users\injeong\Downloads\test_20230905.xlsx파일을 원격 서버의 /home/vagrant로 전송하려고 한다. cd C:\Users\injeong\Downloads scp .\test_20230905.xlsx vagrant@192.168.0.111:/home/vagrant2️⃣ 비밀번호 입력 ..

JSP에서 Thymeleaf로 옮겨가면서 채팅메세지가 중복으로 오는 현상이 발생했다. 채팅 내용을 받기 위해 message 이벤트를 등록하고 messageHandler 함수를 호출하게끔 개발이 되어있었다. 중복으로 메세지가 오는 것의 원인은 채팅 페이지를 열 때 마다 이벤트가 등록이 되었기 때문이다. window.addEventListener('message', messageHandler); window 객체가 변경 되는 것은 일반적으로 페이지 전환 또는 새로운 브라우저 창을 열 때 발생하는데 SPA에서는 페이지를 새로 로드하지 않고 콘텐츠만을 변경하므로 window객체는 그대로 유지된다. 따라서, 채팅이 있는 페이지를 여러면 열면, 연 만큼 window.addEventListener가 호출 되어 이벤트..

박람회를 앞두고 마지막 시연을 하는데 갑자기 잘 되던 기능이 안되는 현상이 발생했다. 개발서버와 데모서버가 있었고, 개발 서버에서는 잘 되는데 데모서버에서는 안되고, 해당 기능과 관련된 소스의 마지막 커밋과 푸쉬를 한달도 전에 했기 때문에 이해가 안되는 상황이었다. 심지어 데모에서는 어제까지만 해도 분명히 되었다! 그래서 차이점이 뭔지 보니..데모에서 갑자기 url에 view가 붙는것이 확인이 되었다. 나는 view를 붙인 적이 없는데..? 문제는 뭐였을까? axios로 get 요청을 하는데 아래처럼 앞에 슬래시('/') 를 붙여주여야 루트 경로에서부터 URL을 생성하는데, const response = await axios.get(`/vdo/contents/file/list/1000002`, {para..
- Total
- Today
- Yesterday
- nginx
- mysql
- 코테
- java
- 톰캣
- 현대코테
- javascript
- springboot
- Linux
- 현대오토에버
- centos
- react
- softeer
- 오토에버코테
- Docker
- 스프링
- 도커
- tomcat
- 전자정부프레임워크
- 쿠버네티스
- 코딩테스트
- 아파치카프카
- 자바스크립트
- softeer java
- Spring
- Kubernetes
- 리액트
- 자바
- gcp
- 자바코테
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |