CLOVA Speech API 음성을 텍스트로 추출하기 위한 API 중 NAVER CLOVA Speech API 를 활용해보자. 사실 API Documentation 을 보면 엄청나게 친절하게 설명이 되어 있다. (해당 포스팅은 링크 참고용으로 느껴질 만큼....) 참고로 API 요청 후 응답까지 10초 정도 소요되었다. Ready 결제수단등록 https://www.ncloud.com/mypage/billing/payment CLOVA Speech 이용 신청 https://www.ncloud.com/product/aiService/clovaSpeech Documentation Object Storage 이용 신청 및 버킷 생성 https://www.ncloud.com/product/storage/obje..
CLOVA OCR API 이미지를 텍스트로 추출하기 위한 API 중 NAVER OCR API를 활용해보고자 한다. Ready 결제수단등록 NAVER CLOVA 사용을 위해 결제수단 등록이 필요하다. https://www.ncloud.com/mypage/billing/payment CLOVA OCR 이용 신청하기 결제수단 등록을 완료했다면 CLOVA OCR 이용 신청을 해보자. https://www.ncloud.com/product/aiService/ocr 도메인 생성 이용 신청을 완료하면 NAVER CLOUD PLATFORM Dashboard 로 이동되었던 것 같다.. NAVER CLOUD PLATFORM Dashboard > Recently Viewd > CLOVA OCR > Domain 도메인 이름,..
Copy text, image to clipboard in javascript 웹 개발에서 종종 사용되는 텍스트, 이미지를 클립보드에 복사하는 방법을 기록해보았다. Copy Text const tempArea = document.createElement("textarea"); // 임시 element 생성 document.body.appendChild(tempArea); tempArea.value = $("#copyTextId").val(); // 복사할 영역의 값 저장 tempArea.select(); document.execCommand("copy"); document.body.removeChild(tempArea); Copy Image 이렇게 간단하게 이미지를 클립보드에 복사하는 코드가 많이 없었는..
Java Write a text file Files Paths.get() 결과 파일 저장 경로 주어진 URI를 Path 객체로 변환 public static Path get(URI uri) Files.deleteIfExists() 해당 경로에 파일이 존재할 경우 삭제 public static boolean deleteIfExists(Path path) throws IOException Files.write() 파일에 텍스트 작성 (각 줄은 char sequence) 줄 구분 기호로 끝나는 각 줄을 사용하여 파일에 순서대로 기록 문자는 지정된 문자 집합을 사용하여 바이트로 인코딩 public static Path write(Path path, Iterable
Java MultiThreading AtomicInteger Integer 자료형을 가지고 있는 wrapping 클래스 멀티쓰레드 환경에서 동시성을 보장 (synchronized 보다 적은 비용으로 동시성을 보장) Reference https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html https://codechacha.com/ko/java-atomic-integer/ LinkedBlockingQueue 한정된 메모리 사용을 위해 초기 Queue Size 세팅 Queue Data(empty/full) 상태에 따라 Thread가 Blocking 할 수 있는 기능 제공 Queue에서 아이템을 가져올 때 비..
Ajax $.ajax({ url : "/save.do", // settings async : false, type : "POST", dataType : "json", contentType: "application/json", data : JSON.stringify(formObject()) }) .done(function() { alert("저장하였습니다."); location.href = "/list.do"; }) type : default get HTTP method url : 요청이 전송되는 URL async : default true 기본적으로 모든 요청은 비동기적으로 전송 동기 요청이 필요한 경우 false dataType : xml, html, script, json, jsonp, text pr..
Spring MongoTemplate & Pagination 기존 SQL Server / MySQL이 아닌 MongoDB를 활용하여 게시판을 만들게 되었다. 관계형 Database Model과 다른 Document 지향 Database Model로 쿼리도 생소하고.. Spring에서의 사용도 유사하면서 다르다보니 정리해두면 언젠가 쓸모가 있을 듯 하다. 기본적인 내용은 지난번에 작성한 QueryDSL과 Pagination을 활용하여 리스트 검색 기능과 유사하다. 다만, 쿼리 생성 부분이 약간(?) 많이 달라서 정리를 한 번 해보자! MongoDB Dependency 관련 설명은 생략하고, 쿼리 생성 핵심 부분만 훑어보자. Repository import org.springframework.data.mon..
Infinite Scrolling & Pagination Infinite Scrolling 구현에 참고할 수 있는 정말 좋은 자료가 있다. jQuery Infinite Scrolling Demos 속도 개선을 위해 VanillaJs로 구현된 Demo를 활용하여 구현해보자. Demo scrollingTest.html 아래 코드를 적용해보면 바로 동작을 확인해볼 수 있다. Infinite Scroll + Pagination Experiment TEST Apply Demo 코드를 활용해서 적용해보자 ! View infiniteScrolling.html Infinite Scroll + Pagination Experiment TEST Controller GalleryApiController.java @Requir..