본문 바로가기

분류 전체보기

(38)
JSP & Servlet JSP와 Servlet : 자바로 웹 어플리케이션을 개발하기 위한 도구 JSP .jsp 확장자 사용 html 문서 안에 자바 언어를 삽입해 사용 html 코드 형식을 사용하되, 중간에 자바를 사용해 로직 구성 Servlet .java 자바 클래스와 동일 개념 웹을 다룰 수 있게 해주는 "HttpServlet" 클래스를 상속받은 클래스 html을 프린트 해주는 방식으로 웹페이지 개발 * Servlet으로 웹 개발 시 인터페이스 구현이 어려워서 나온게 JSP Apache Tomcat Apache : WEB 서버 Apache Tomcat : WAS (자바 기반), 웹서버에서 요청을 받으면 jsp & servlet 파일을 구동해 웹서버에 응답을 보냄 파일 동작 순서 1. JSP가 Servlet 파일(.java)..
JSP 태그 JSP 태그란? HTML 기반의 JSP 코드 내에 JAVA 코드를 삽입할 수 있게 해주는 태그 JSP는 HTML 기반 여기서 JAVA로 특정 로직을 수행하려면 JSP 태그 사이에 JAVA 코드 삽입 JSP는 서블릿으로 변환된 후 사용자에게는 HTML 형태만 전송하므로 JSP 태그는 사용자에게 노출되지 않음 JSP 페이지가 컨테이너에게 필요한 메세지를 보내기 위한 태그 page : JSP 페이지의 전체적인 속성을 지정 (import / 에러 페이지 삽입 등 용도) include : 다른 페이지를 현재 페이지에 삽입 (다른 JSP 페이지의 소스코드를 복붙) taglib : 태그라이브러리의 태그 사용 (커스터마이징 태그나 JSTL 같은 태그라이브러리를 삽입) 해당 페이지 내에서 사용될 변수와 메소드 선언 변수..
Port 정리 포트 번호는 컴퓨터에서 실행되고 있는 서버를 구분 짓기 위한 16비트의 논리적 할당으로 0~65536번까지 존재한다. 21 : FTP (File Transfer Protocal, 파일 전송 프로토콜). 서버와 클라이언트 사이의 파일 전송을 하기위한 프로토콜 22 : SSH (Secure Shell, 시큐어 셀). 보안성 높음. 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 프로토콜. 23 : TELNET 53 : DNS (Domain Name System). 영문/한글 주소를 네트워크에서 찾아갈 수 있는 IP로 변환 80 : HTTP (HyperText Transfer Protocol) 115 : SFTP 443 : HTTPS ..
Sentence-BERT: Sentence Embedding using Siamese BERT-Networks Sentence-BERT: Sentence Embedding using Siamese BERT-Networks (Nils Reimers & Iryna Gurevych, EMNLP 2019) Introduction Sentence-BERT(SBERT)는 siamese와 triplet 네트워크를 활용해 BERT를 변경한 것이며, 이를 통해 semantically meaningful sentence embedding이 가능해진다. 따라서 기존 BERT로하기 어려운 NLP task인 large-scale semantic similarity comparison, clustering 등도 해낼 수 있다. 물론 BERT가 Sentence Classification이나 sentence pair regression t..
BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension (Lewis et al., 2020) ACL 2020에 Facebook이 발표한 논문 1. Introduction Transformer 기반 모델을 Self supervised learning을 통해 Pre-training하는 방법은 최근 다양한 NLP tasks에서 큰 성공을 보이고 있다. 대표적으로 Transformer의 인코더를 pre-training(MLM)하여 이용하는 BERT와 디코더를 pre-training(Next Word Prediction)하여 이용하는 GPT가 있다. 하지만 BERT의 경우 완전히 Bidirectional 하게 모델이 설계되어있기 때문에 generation task에서는 성능이 상대적으로 낮다. 그리고 GPT의 경우 Autoregressive하게 설계된 모델이기에 전체적 맥락을 처리하는 task에 어려움이..
이진탐색 배열 내부의 데이터가 sorting이 되어 있어야만 사용가능 찾으려는 데이터와 중간점에 위치하는 데이터를 반복적으로 비교해서 범위 밖의 데이터는 날리면서 진행 한 번 확인할 때마다 확인하는 원소의 개수가 절반씩 줄어듬 시간복잡도 : O(logN) 요청사항이 들어오면 그 제품이 있는지 이진탐색으로 찾아보는 코드
GPT3(Generative Pretrained Transformer) - Language Models are Few-Shot Learners Fine-Tuning과 같은 추가 학습 없이 몇 번의 demonstration으로 Down Streaming Task가 가능하도록 하려면 어떻게 할까? Open AI는 이에 대한 해답으로 GPT-3를 제시한다. GPT-3는 트랜스포머의 디코더 구조를 따서 만든 거대 모델이다. Pretrain된 1750억개의 파라미터를 바탕으로 fine tuning 없이 zero-shot과 few-shot setting을 통해 Down Streaming NLP task가 가능하다. BERT와 같은 pre-trained 모델을 다양한 task에 적용하기 위해 우리는 주로 Fine tuning을 이용한다. 처음부터 학습시키는 것 보다는 훨씬 정확하고 빠르지만, 이를 위해 트레이닝 데이터를 모으고 분류하는 일은 쉽지 않고, G..
SPARK - RDD, Dataframe, Dataset Spark - 분산처리에 특화되어 있으며 Hadoop과 달리 인메모리 형식(HDD X / RAM O) RDD(Resilient Distributed Dataset) Spark의 분산된 데이터에 대한 자료구조 MapReduce 작업을 위한 자료구조 병렬처리 빠른 연산 Immutable 변경되지 않으며 변경을 원할 시 다른 RDD를 생성해야한다. Transformation과 Action으로 함수가 나뉜다. Transformation은 Lineage를 통해 기록해두고 Action에서 이를 전부 실행한다.(Lazy Evaluation) Dataset에 비해 캐싱 처리시 메모리 사용량이 많다. 자바직렬화를 사용하기 때문에 데이터프레임처럼 스파크의 스키마를 관리하고 노드 간 데이터를 전달하는 것보다 비효율적이다. ..