안녕하세요. 개발개입니다. 숭실대학교 정보검색연구실의 중 다음 4가지 항목에 대하여 4부작으로 요약 및 정리한 내용을 기술합니다. 정보검색 시스템의 구조 검색 효과 평가 척도 영어 색인어 추출 한글 색인어 추출 이번 글에서는 정보 검색 시스템의 구조에 대해 알아보도록 하겠습니다. 오타, 오류 혹은 기타 의견은 언제든지 환영합니다. 정보 시스템의 구조는 다음과 같습니다. 언뜻 복잡해 보이는 이 도표는 5가지로 부분으로 나눌 수 있습니다. 색인 질의 형식화 검색 적합성 피드백 검색 효과 평가 1. 색인 색인 모듈에 입력된 문서들은 색인어 추출 과정을 거쳐 문서 베이스에 저장됩니다. 과거의 색인 작업은 사서나 전문가에 의해 수작업으로 수행되었으나, 수작업 색인의 경우 시간과 비용면에서 효과적이지 못하며 작업자..
안녕하세요. 개발개입니다. 이번 글에서는 Python으로 CSV 또는 TSV 쓰기 작업 시 공백줄(빈 줄)이 행마다 자동 생성 되는 문제를 해결하는 방법에 대해 알아보도록 하겠습니다. 오타, 오류 혹은 기타 의견은 언제든지 환영합니다. You can also read this post in Enlish via the link below : [EN/PYTHON] - [PYTHON3] How to get rid of blank lines between rows (for csv.writer) 개발환경 Windows 10 python 3.6.4 문제 상황 Windows 환경에서 csv.writer를 통해 파일 tsv 파일 생성 시, 매 행마다 추가적으로 공백줄(빈줄)이 생성되는 상황 (csv도 동일) 문제 소스..
안녕하세요. 개발개입니다. 이번 글에서는 Spring/SpringBoot로 API 개발 과정에서 오류가 없는 것 같은데 @RequestBody 애노테이션으로 받은 json 데이터가 비어있을 때 확인해 볼 부분을 알아보도록 하겠습니다. 오타, 오류 혹은 기타 의견은 언제든지 환영합니다. @RequestBody란? HttpRequestBody를 Java객체로 매핑해주는 애노테이션 즉, 전송받은 JSON 데이터를 객체로 변환해서 받을 수 있습니다. 오류 상황 다음과 같이, JSON 데이터를 BODY에 담아 POST API로 전달할 때, 객체 내 필드 값이 null인 상황 - BODY에 담겨 전달되는 JSON 데이터 { "PRODUCT_ID" : "0000000063", "PATENTS" : ["RE027593..
안녕하세요. 개발개입니다. 이번 글에서는 Java Enterprise Application을 빌드하는데 보편적으로 사용되는 Spring Framework의 특징과 사용하는 이유에 대해 알아보도록 하겠습니다. 오타, 오류 혹은 기타 의견은 언제든지 환영합니다. 0. 들어가기 전에 프레임워크(framework)를 사용하는 이유부터 생각해 봅시다. 프레임워크를 사용하면 다음과 같은 장점이 있습니다. 설정보다 개발 업무에 좀 더 집중할 수 있습니다. 오랜 기간동안 확립된 디자인 패턴을 기반으로 합니다. 표준을 준수할 수 있도록 합니다. 비용 절감 효과가 있습니다. (생산량 증가) 하지만 반대로 이런 단점도 있습니다. 특정 방식대로 코드를 짜야 합니다. 언어나 라이브러리의 특정 버전을 탑니다. 1. 스프링 프레임..
안녕하세요. 개발개입니다. 이번 글에서는 1) 파일을 라인 단위로 읽은 결과나 2) 명령어 처리 결과에 대한 다중 결과를 while 문을 통해 반복 처리하는 방법에 대해 알아보도록 하겠습니다. 오타, 오류 혹은 기타 의견은 언제든지 환영합니다. 1. 파일을 라인 단위로 읽어 반복 처리 - Redirection을 이용하는 경우 #!/bin/bash while read [라인변수명]; do [반복작업할 내용 작성] done < [파일명] - Pipeline을 이용하는 경우 #!/bin/bash cat [파일명] | while read [라인변수명]; do [반복작업할 내용 작성] done 예시 1) 특정 디렉토리에 있는 파일 명을 파일(filelist.txt)에 저장하고 이로부터 읽어들인 각 라인(file ..
안녕하세요. 개발개입니다. 이번 글에서는 파일명이나 파일이 포함하고 있는 문자열을 통하여 파일을 검색(탐색)하는 4가지 명령어에 대해 알아보도록 하겠습니다. 오타, 오류 혹은 기타 의견은 언제든지 환영합니다. 1. which 환경 PATH를 기초로 검색하고 출력하는 명령어입니다. (자세한 내용은 man which를 통해 확인하실 수 있습니다.) 사용방법 which [옵션] [파일명] 예시 which iptables 2. whereis 기본적으로는 which와 마찬가지로 환경 PATH를 기초로 검색하고 출력하는 명령어 입니다. 차이점은 실행 파일 뿐만 아니라 소스파일, 매뉴얼까지 대상으로 한다는 점 입니다. (자세한 내용은 whereis -h 또는 man whereis를 통해 확인하실 수 있습니다.) 사용..
안녕하세요. 개발개입니다. 이번 글에서는 Putty와 함께 설치되는 pscp를 이용하여 Windows - Unix/Linux 간 파일전송 하는 방법에 대하여 알아보도록 하겠습니다. 오타, 오류 혹은 기타 의견은 언제든지 환영합니다. scp 명령어를 이용한 Unix/Linux 서버 간 파일 전송 : [KR/Linux] - [UNIX/LINUX] scp 명령어 사용 방법 scp 명령어를 검색하시던 많은 분들이 Windows 로컬과의 파일 전송을 궁금해 하셔서 별도의 ftp 프로그램 없이 putty와 함께 설치되는 pscp를 이용하여 Windows ↔ Unix/Linux 간의 파일전송 하는 방법에 대해 알아보겠습니다. 사용 방법 다운로드 Unix/Linux 서버 ─(파일전송)→ Windows 로컬 pscp [..
안녕하세요. 개발개입니다. 이번 글에서는 여러 행의 내용을 합치는 데 사용되는 LISTAGG 함수에 대해 알아 보도록 하겠습니다. 오타, 오류 혹은 기타 의견은 언제든지 환영합니다. LISTAGG 함수 특징 ORACLE 11g에서 추가된 기능 ORACLE 10g 이하에서는 WM_CONCAT 사용 길이 제한이 있음 (대안: XMLAGG) 정렬 가능 구분자 변경 가능 LISTAGG 작성 방법 SELECT LISTAGG(대상컬럼, 구분자) WITHIN GROUP (ORDER BY 정렬기준컬럼) FROM 테이블명 LISTAGG 사용 예시 사용 대상 테이블 조회 SELECT * FROM FILMS; 개봉일 기준으로 영화 리스트 조회 FILM_NAME 컬럼을 RELEASE_DATE 컬럼 기준으로 그루핑하고 내부 내..