IT
-
초기화 블럭 (initialization block)IT/JAVA 2023. 1. 29. 22:38
개발하면서 익숙함에 속아 기본을 잊어버리곤 한다. 중요하게 생각하지 않았던 초기화 블럭에 대해서 정리한다. 초기화 블럭 1. 클래스 초기화 블럭 - 클래스 변수의 복잡한 초기화에 사용된다. - 인스턴스 초기화 블럭 앞에 단순히 static을 덧붙이기만 하면 된다. 2. 인스턴스 초기화 블럭 - 인스턴스변수의 복잡한 초기화에 사용된다. - 단순히 크래스 내에 블럭 {} 만들고 그 안에 코드를 작성하기만 하면 된다. ** 초기화 블럭 내에는 메서드 내에서와 같이 조건문, 반복문, 예외처리구문 등 자유롭게 사용하 수 있으므로, 초기화 작업이 복잡하여 명시적 초기화만으로 부족한 경우 초기화 블럭을 사용한다. class Block { static { System.out.println("static {}"); //..
-
Spring Solr Client 구현 (Solrj)IT/Spring 2023. 1. 3. 15:44
참고 문서: Spring Data Solr: https://docs.spring.io/spring-data/solr/docs/4.3.x/reference/html/#reference Apache Solr: https://solr.apache.org/guide/8_0/client-apis.html 1. gradle dependencies 추가 [ spring-boot-starter-data-solr 2.4.13 버전 설치 시 사용되는 Dependencies ] - spring-data-solr: 4.3.15 (https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-solr/2.4.13) - solr-solrj:..
-
MSSQL - 프로시저 내에 JSON Parameter 값을 Insert 하기IT/Database 2021. 9. 14. 15:33
MSSQL 프로시저에 백엔드에서 보내는 JSON 파라미터를 이용하여 For문을 수행하여 Count 만큼 Insert 하는 내용을 작성하려고 합니다. 제가 사용하고 있는 Backend 언어는 Node.js입니다. 1. Node.js 1) MSSQL 프로시저 호출 2) 프로시저에 JSON 과 Count 파라미터 보내기 → JSON.stringfy() 이용해서 String으로 만들어서 보낼 것. function test(json) { return new Promise(function (resolve, reject) { var connection = new Connection(dbconfig); connection.on('connect', function () { var request = new Request(..
-
janus.js - video Room : 자신의 bitrate를 변경하는 방법IT/javascript 2021. 9. 11. 15:11
안녕하세요. 오늘도 개발하면서 기억하고 싶은 것들과 신기했던 것들에 대한 내용을 정리하려고 합니다. 저는 janus.js를 사용하여 영상통화 웹을 개발하고 있습니다. * janus.js란? https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=kpoint01&logNo=221525261567 해당 블로그에 설명이 잘 되어 있으니 참고 바랍니다. 제가 사용하고 있는 라이브러리는 janus.js의 videoRoom를 사용하고 있습니다. janus.js 라이브러리를 사용하여 웹에 대한 소스를 구현 중, 자신의 비트레이트를 변경하는 방법에 대하여 찾아보았습니다. 저는 frontEnd 언어를 Vue.js를 사용하였습니다. janus 객체를 생성하..
-
batchScript - MySQL Query 사용하기IT/batchScript 2020. 8. 25. 14:21
batch Script를 활용하여 DB를 접속하여 Query를 이용해 배치파일을 만들었습니다. batch Script에서도 가능하다는 것을 오늘 처음 알았네요. 1. 사용할 Batch 파일 만들기 사용하기 전에 mysql 환경 변수가 등록되어야 합니다. 등록되어 있지 않으면, mysql > bin 폴더 안으로 이동하여 실행을 해야합니다. 아래와 같이 입력하여 "script.sql"을 사용할 수 있습니다. @echo off rem Mysql MemoList 조회 (( rem == 주석 )) mysql --host=localhost --user=사용자 DB 계정 --password=사용자 DB 패스워드 --database=DB스키마 < script.sql *script.sql 결과 값을 파일로 내보내기 아래..
-
Vue.js - Vue Router의 라이프사이클IT/Vue.js 2020. 8. 4. 13:19
내비게이션 가드 내비게이션 가드는 라우터에서 다른 라우터로 이동하는 내비게이팅이 수행될 때 실행되어 라우터의 이동을 막거나 혹은 다른 라우터로 리다이렉팅 할 수 있는 기능입니다. 내비게이션 가드는 적용 범위에 따라 전역 가드, 라우트별 가드, 컴포넌트별 가드로 나뉘어집니다. 그리고 다시 가드의 호출 타이밍에 따라 before 훅과 after 훅으로 나뉘게 됩니다., before 훅은 라우터의 이동이 끝나기 전에 미리 호출되는 훅이며, after 가드는 라우터의 이동이 끝난 후 호출되는 훅입니다. beforeRouteLeave 컴포넌트 내에 선언하며, 기존에 존재하던 컴포넌트가 제거되기 전에 이 훅을 호출합니다. 이 훅은 주로 문서(게시글 등)를 저장하지 않은 상태로 다른 곳으로 이동하는 것을 방지하는 데..
-
Vue.js - Vue Router (개념 및 구현)IT/Vue.js 2020. 8. 3. 10:22
Vue.js는 그 자체로는 단순한 뷰 계층 라이브러리입니다. 그러므로 여러 페이지로 구성되고 복잡한 사용자 인터랙션을 갖는 애플리케이션 등을 개발할 경우에는 Vue.js만으로는 구현이 어려울 때가 있습니다. 공식 플러그인인 Vue Router를 사용하면 단일 페이지 애플리케이션(SPA)을 비롯한 URL 이동이 필요한 동작을 간단히 구현할 수 있습니다. 1. Vue Router를 이용한 SPA SPA란 최초에 HTML 페이지 하나를 로드한 다음, 그 이후로 사용자 인터랙션에 따라 Ajax로 정보를 받아오면서 동적으로 페이지를 업데이트하는 웹 어플리케이션을 말합니다. 일반적으로 웹 애플리케이션은 페이지 이동 시에 대상 URL을 서버에 요청해 전체 페이지에 해당하는 HTML 콘텐츠를 받아옵니다. 반면, SPA..
-
Vue.js - Vuex Actions 및 폴더구조화IT/Vue.js 2020. 7. 30. 13:31
1. Actions 이란? Mutations에는 순차적인 로직들만 선언하고 Actions 에는 비 순차적 또는 비동기 처리 로직들을 선언합니다. 그렇다면 왜 처리 로직의 성격에 따라 Mutations 과 Actions로 나눠 등록해야 할까요? Mutations의 역할 자체가 State 관리에 주안점을 두고 있습니다. 상태관리 자체가 한 데이터에 대해 여러 개의 컴포넌트가 관여하는 것을 효율적으로 관리하기 위함인데 Mutations에 비동기 처리 로직들이 포함되면 같은 값에 대해 여러 개의 컴포넌트에서 변경을 요청했을 때, 그 변경 순서 파악이 어렵기 때문입니다. 이러한 문제를 방지하기 위해 비동기 처리 로직은 Actions에 동기 처리로직은 Mutations에 나눠 구현합니다. 따라서, setTimeou..