본문 바로가기

home

(268)
Dbeaver import export Dbeaver에 테이블 데이터를 csv로 import/export 기능이 지원됩니다. 먼저 데이터 import(추가)하는 방법입니다. 입력할 테이블을 오른쪽 마우스 클릭한 뒤 "데이터 가져오기"를 선택합니다. "CSV에서 가져오기"를 선택하고 "다음"을 선택합니다. ""을 선택하여 csv 파일을 업로드합니다. csv파일 업로드 된 것을 확인합니다. csv파일에 따라 import settings를 따로 작성해야 하는데 저는 디폴트로 했습니다. "다음"을 선택합니다. 입력할 csv 파일을 확인합니다. csv 파일 업로드 옵션을 확인하고 "다음"을 선택합니다. "다음"을 선택합니다. "Start"를 선택하면 csv파일이 테이블에 추가됩니다. csv파일이 해당 테이블에 추가된 것을 확인할 수 있습니다. 이번에는..
javascript async await 자바스크립트에서 비동기 함수를 동기 함수처럼 호출하려면 일반적으로 콜백함수를 사용합니다. 하지만 호출을 여러 번 사용하면 콜백 지옥에 빠질 수 있기 때문에 async와 await를 사용해야 합니다. 위의 예제 코드를 보게 되시면 fetch를 사용해 서버에 데이터를 요청하는 fetchTest1, fetchTest2 함수가 정의되고 있습니다.(12~18라인) 그리고 fetchTest1, fetchTest2를 await로 동기 처리하는 함수 asyncTest 함수가 정의되고 있습니다.(1~10라인) await로 동기 처리하기 위해서는 먼저 asyncTest 함수 앞에 async 키워드가 있어야 합니다.(1~3라인) fetchTest1, fetchTest2의 리턴값으로 Response 객체를 받아서 콘솔로 출력..
카카오 우편번호 검색 인터넷 쇼핑 사이트의 배송지나 특정 장소의 우편번호(주소)를 입력해야 하는 경우가 있습니다. 그런 기능을 개발하는 방법은 간단합니다. 위의 예제 화면은 사용자로부터 주소를 입력받는 것으로 주소 입력창을 선택하면 카카오 주소 검색 팝업창이 표출되고 상세주소는 사용자가 직접 입력하면 됩니다. 팝업창에 검색어를 입력하면 위와 같이 검색 결과가 표출되고 검색 목록에서 하나를 선택하면 해당 주소 정보를 확인할 수 있습니다. 선택한 주소 정보를 위와 같이 콘솔 로그를 통해 확인할 수 있습니다. 해당 예제 파일 첨부하겠습니다. 우편번호 검색 기능은 http/https통신일 때 지원되기 때문에 html파일 바로 실행하면 정상적으로 실행되지 않습니다.
ssh 인증서 로그인 일반적인 서버와 달리 클라우드 서버에 접속할 때 인증서가 필요한 경우가 있습니다. 그런 경우 서버 관리자로부터 pem 파일이나 ppk 파일을 제공받습니다. 먼저 MobaXterm에서 인증서로 접속하는 방법부터 확인하겠습니다. MobaXterm에서 ssh로 접속할 때 "Use private key" 체크박스 선택한 다음에 pem파일 업로드하고 Ok 버튼 클릭합니다. 접속할 아이디 입력하면 인증서 로그인이 됩니다. 또한 MobaXterm이나 Putty 대신 리눅스 ssh 명령어로 인증서 로그인 할 수 있습니다. ssh 명령어 i 옵션 뒤에 pem 파일 위치 작성하고 접속할 서버 아이디와 IP주소를 입력하면 인증서 로그인이 됩니다. 예제: ssh -i "pem파일 위치" "아이디"@"아이피" (실제 사용에서 ..
Spring DI 스프링에서 2개 이상의 같은 타입의 빈을 주입하려고 Autowired 어노테이션만 사용하면 에러가 발생합니다. 아래 예제 코드를 먼저 보겠습니다. TestService를 구현한 클래스 TestServiceImp, TestServiceImp2를 스프링 빈으로 생성합니다. 그리고 TestController에서 TestService 인터페이스 타입의 빈을 주입하려고 하지만 TestService 타입의 빈이 2개 있기 때문에 어떤 빈을 주입해야 할지 몰라 에러가 발생합니다. Autowired는 빈을 주입할 때 먼저 빈의 타입, Qualifier, 이름 순으로 진행합니다. 따라서 이런 문제를 해결하는 방법은 많지만 그중에서 2가지를 소개하면 1. TestService 타입의 빈을 생성할 때 Qualifier 어노..
Spring Boot Data JPA Spring Boot Data JPA를 사용하는 방법입니다. 간단히 진행할 예정이라 Maven Profile, Logger, Transaction 등등 설정은 제외했습니다. 먼저 Spring Boot 프로젝트를 생성합니다. 따로 작성하지 않고 디폴트 설정으로 하고 Next 버튼 클릭합니다. 현재 설치되어 있는 jdk 버전에 따라 Spring Boot 버전을 선택해야 하는데 저는 openJdk 1.8 버전이므로 Spring Boot 2 버전으로 선택했습니다. 그리고 HIbernate 연동하기 위해 Maven dependency의 Lombok, Spring Data JPA, PostgreSQL Driver, Spring Web을 추가하고 Finish 버튼 클릭합니다. pom.xml에서 Spring Boot버..
SSO 로그인 연동 최근에 프로젝트 수행 중에 SSO 로그인 연동 기능을 구현했습니다. 사용자 정보를 확인해서 맞으면 로그인 성공시키고 정보가 틀리면 로그인 페이지로 이동하는 기능입니다. 위의 소스코드는 예제 코드입니다. 서버에 접속했을 때 인증정보가 없으므로 로그인 페이지로 이동합니다.(54라인) 클라이언트 요청 정보를 추출합니다.(56~57라인) 클라이언트 요청 정보가 맞는지 확인합니다.(59라인) 요청 정보가 맞으면 사용자 권한을 생성하고(60~61라인) 사용자 정보 인스턴스를 생성합니다.(63~64라인) 사용자 정보를 인증 토큰에 저장해서 SecurityContextHolder에 추가합니다.(66~68라인) 클라이언트 요청 정보가 틀리면 로그인 페이지로 이동합니다.(71~73라인) 이렇게 구현하면 특정 사용자를 SS..
k진수에서 소수 개수 구하기 프로그래머스에서 k진수에서 소수 개수 구하기 문제를 풀었습니다. https://school.programmers.co.kr/learn/courses/30/lessons/92335 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에 대한 설명은 위의 링크에서 확인하시면 됩니다. 정렬 알고리즘과 비슷해서 어렵지 않게 풀 수 있습니다. k진수로 변환한 숫자에서 자릿수만큼 잘라서 자른 숫자가 문제의 조건이 맞는지 확인하면 됩니다. (1 자릿수, 2 자릿수, 3 자릿수, 4 자릿수...) 그리고 소수 확인하는 로직을 신경 쓰지 않으면 시간초과 발생합니다. 제곱근..