728x90

All 193

완주하지 못한 선수

문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예 participant completion return ["leo", "kik..

Coding Test 2023.04.15

Node.js 기초

Node.js 란? 확장성 있는 네트워크 애플리케이션(특히 서버 사이드) 개발에 사용되는 소프트웨어 플랫폼이다. 작성언어로 JavaScript를 활용하며 Non-blocking(멈추지 않는다) I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있다. 내장 Http 서버 라이브러리를 포함하고 있어 웹 서버에서 아파치 등의 별도의 소프트웨어 없이 동작 하는것이 가능하며 이를 통한 웹 서버의 동작에 있어 더 많은 통제를 가능케 한다. 특징 비동기 I/O 처리, 이벤트 위주 Node.js 라이브러리의 모든 API는 비동기식이다. Node.js 기반 서버는 API가 실행되었을때, 데이터를 반환할때까지 기다리지 않고 다음 API를 실행한다. 그리고 이전에 실행했던 API가 결과 값을 반환할시, No..

ETC/NodeJs 2023.04.15

Dialogflow 사용[2]

Dialogflow를 사용했을 때 앱뿐 아니라 웹에서도 사용하기 위해 웹 서버에서 Dialogflow를 요청해 보았습니다. Python Flask를 개발해 기반으로 Dialogflow를 사용하였습니다.. Dialogflow인증 방식은 V2를 사용하였습니다. 웹에서 인증 방법을 검색하였을때 V1방식에 대한 자료가 많았으나 Dialogflow에서 V2를 권장하여 V2로 인증을 받았습니다. Dialogflow에 reuqest를 보내기 전에 아무나 request를 보내는 것을 방지하여 위에 언급했던 거와 같이 V1, V2 방식이 있습니다. V1 인증 기존의 인증 방식으로 Dialogflow Agent를 생성하면 설정 > General에 Access Key라고 표시가 되어 있는 곳이 있다. (버전 업으로 인하여 ..

ETC/Dialogflow 2023.04.15

Dialogflow 사용[1]

1. 개요 Google Dialogflow를 사용하면 정적인 답변을 쉽게 만들어 낼 수 있지만 대부분 사용자들은 동적인 답변을 받기 위해 사용한다. ex) 동적 답변 정보 : 날씨, 시간표 등 Action : 음식 주문, 강의 예약, 문자 전송 ETC. 이에 대해 많은 정보가 인터넷에 있지만 Inline editor를 사용하면서 가장 깔끔하다고 생각하는 코드를 정리해 보려고 합니다. YouTube에서 참고한 내용이며 출처를.. 찾으려고 했지만.. Youtube에서 같은 영상을 찾지 못하였습니다. 추후에 출처를 찾으면 작성해 놓겠습니다. Fulfillment 란? TODO : 홈페이지 서비스 종료로 인한 추후 재 작성 2. 코드 및 설명 기준 sidebar 사용하려는 Intents의 Fulfillment를..

ETC/Dialogflow 2023.04.15

Dialogflow 란?[3]

1. Fulfillment 기본적으로 Agent는 정적 응답으로 일치하는 Intents에 응답합니다. Intergration 옵션 중 하나를 사용하는 경우 fulfillment를 사용하여 보다 동적인 응답을 제공할 수 있습니다. 최종 사용자가 표현을 입력하거나 말합니다. Dialogflow가 최종 사용자 표현을 인텐트와 일치시키고 매개변수를 추출합니다. Dialogflow가 웹 훅 서비스에 웹 훅 요청 메시지를 보냅니다. 이 메시지에는 일치하는 인텐트, 작업, 매개변수, 인텐트에 정의된 응답에 대한 정보가 포함됩니다. 서비스가 필요에 따라 데이터베이스 쿼리 또는 외부 API 호출과 같은 작업을 수행합니다. 서비스에서 Dialogflow에 웹 훅 응답 메시지를 보냅니다. 이 메시지에는 최종 사용자에게 전송..

ETC/Dialogflow 2023.04.15

Dialogflow 란?[2]

1. Context Dialogflow Context는 자연어 Context와 비슷합니다. 누가 여러분에게 '그건 오렌지입니다.'라고 말할 대 무엇을 가리키는 것인지 알려면 Context가 필요합니다. 마찬가지로 Dialogflow가 이러한 최종 사용자 표현을 처리하려면 Intents 정확하게 일치시키기 위해 Context가 제공되어야 합니다. 콘텍스트를 사용하여 대화의 흐름을 제어할 수 있습니다. 문자열 이름으로 식별되는 입력 및 출력 컨텍스트를콘텍스트를 설정하여 인텐트의 콘텍스트를 구성할 수 있습니다. 인텐트가 일치하면 해당 인텐트에 대해 구성된 _출력 컨텍스트_가 활성화됩니다. 활성화된 콘텍스트가 있으면 Dialogflow에서는 현재 활성화된 콘텍스트에 해당하는 _입력 컨텍스트_로 구..

ETC/Dialogflow 2023.04.15

Dialogflow 란?[1]

일반적인 Action -> Request 동작하는 1:1방 식이 아니라 대화를 하며 대화 내용을 통해 Request가 동작하는 1:N 동작도 가능할 거 같아서 DialogFlow를 공부하였습니다.(개인적인 생각입니다.) 1. DialogFlow란? Dialogflow는 대화식 사용자 인터페이스를 모바일 앱, 웹 애플리케이션, 기기, 봇, 대화형 음성 응답 시스템 등에 쉽게 설계하고 통합할 수 있는 자연어 이해 플랫폼입니다. Dialogflow를 통해 사용자에게 제품과 상호작용할 수 있는 새롭고 흥미로운 방법을 제공할 수 있습니다. Dialogflow는 텍스트 또는 오디오 입력(전화 또는 음성 녹음 등)을 포함하여 고객이 제공하는 여러 유형의 입력을 분석할 수 있습니다. 또한 텍스트 또는 합성 음성을 통해..

ETC/Dialogflow 2023.04.15

HikariCP란?

HikariCP란? 빠르고 간단하며 안정적입니다. HikariCP는 "zero-overhead"프로덕션 준비 JDBC 연결 풀입니다. 약 130Kb에서 라이브러리는 매우 가볍습니다. JMH 벤치 마크 Microbenchmarks는 JMH microbenchmark 프레임 워크를 사용하여 풀의 오버 헤드를 분리하고 측정하기 위해 만들어졌습니다. HikariCP 벤치 마크 프로젝트에서 HikariCP 성능을 확인할 수 있습니다. 하나의 연결 주기는 DataSource.getConnection()/ Connection.close()로 정의됩니다. 하나의 Statement 주기는 Connection.prepareStatement(), Statement.execute(), Statement.close()로 정의됩..

BackEnd/Spring Boot 2023.04.15

JDBC란?

JDBC란? Java Database Connectivity의 약자이다. Java에서 DB에 접속할 수 있도록 하는 API이다. JDBC는 Database에서 쿼리를 실행하거나 업데이트하는 방법을 제공한다. 패키지는 Java.sql와 Javax.sql에 있다. JVM의 시스템과 DB 시스템을 연결하고 통신하기 위한 JAVA의 표준 스펙 Java.sql와 Javax.sql차이 Java.sql JavaTM 프로그래밍 언어를 사용하여 데이터 소스에 저장된 데이터에 접근하고 처리하기 위한 API를 제공합니다. 이 API에는 다양한 드라이버를 동적으로 설치하여 다른 데이터 소스에 접근할 수 있는 프레임 워크가 포함되어 있습니다. JDBCTM API는 주로 SQL문을 데이터베이스에 전달하는데 적합하지만 테이블 형식..

BackEnd/Spring Boot 2023.04.15

Spring Boot 서버 구축[2]

이번 내용은 생성된 프로젝트에 웹 프로젝트를 실행 하기 위해 필요한 dependency를 추가 하고 필요한 코딩을 할려고 한다. 0.프로젝트 구조 이전 시간에 구현한 프로젝트 이다. 여기서 각 파일이 어떤 일을 하며 어떤 내용을 입력 하는지 알아 두면 좋다. DemoApplication.java : 추후 이름을 바꿀꺼지만 서버 실행시 처음으로 실행 되는 부분이다. application.properties : 웹에 필요한 환경 설정 정보를 입력하는 부분이다. 입력시 key=value 방식으로 입력을 하고 여기에 port번호 prefix, DB 내용 등 다양한 서버 정보를 입력 및 설정할수있다. build.gradle : dependency를 입력하는 곳이다. 꼭 dependency를 입력 하지 않고 Gra..

BackEnd/Spring Boot 2023.04.15
728x90