분류 전체보기
[Javascript] 자바스크립트 배열 내장함수 종류와 사용방법
[Javascript] 자바스크립트 배열 내장함수 종류와 사용방법
2023.02.09자바스크립트(Javascript)로 개발할 때 정말 유용하게 사용했던 배열 내장 함수들에 대해 알아보자. 1. at 배열의 주어진 인덱스에 대한 값을 반환하는 함수 at(index) index: 배열에서 반환할 요소의 인덱스 (음수 값일 경우 배열의 마지막요소부터 계산) 예제 const cafe = ['아메리카노', '라떼', '스무디', '프라푸치노']; cafe.at(0); //아메리카노 cafe.at(1); //라떼 cafe.at(2); //스무디 cafe.at(3); //프라푸치노 cafe.at(-1); //프라푸치노 cafe.at(-2); //스무디 cafe.at(-3); //라떼 cafe.at(-4); //아메리카노 2. concat 배열이나 값을 기존 배열에 합쳐서 새로운 배열을 반환하는 함..
[마인크래프트] 마크 1.19.3 버킷으로 서버 여는 방법 - Craft Bukkit
[마인크래프트] 마크 1.19.3 버킷으로 서버 여는 방법 - Craft Bukkit
2023.01.30마인크래프트 1.19.3 버전을 윈도우환경에서 버킷으로 서버 여는 방법을 공유하려고 한다. 버킷이 아닌 포지(Forge)로 서버 여는 방법 및 모드 적용을 원하면 아래 링크에서 확인하면 된다. [마인크래프트] 마크 1.19.3 Forge 모드 적용하기 (서버 여는 법 포함) 마인크래프트 모드 적용하는 방법은 포지(Forge), 패브릭(Fabric), 퀼트(Quilt) 3가지 방법이 있다. 이번에는 Forge 서버 여는 법과 Forge 모드 적용하는 방법에 대해 공유하려고 한다. 마인크래프트 1.19.3 diary-developer.tistory.com 1. Java 설치 우선 마인크래프트 1.19.3 버전을 사용하기 위해서는 Java 18 버전을 다운로드해야 한다. Looking for an Older ..
[PostgreSQL] SQL Error [42883]: 이름의 함수가 없음 Hint: 지정된 이름 및 인자 자료형과 일치하는 함수가 없습니다. 명시적 형변환자를 추가해야 할 수도 있습니다. 오류 해결
[PostgreSQL] SQL Error [42883]: 이름의 함수가 없음 Hint: 지정된 이름 및 인자 자료형과 일치하는 함수가 없습니다. 명시적 형변환자를 추가해야 할 수도 있습니다. 오류 해결
2023.01.20에러 상황 지난번 포스팅에서 소개했던 ora2pg 오픈소스 도구를 이용해서 Oracle에서 PostgreSQL로 마이그레이션을 작업하는데 functions, procedure, trigger, view의 경우 오류가 발생하여 수작업이 필요했다. 수작업을 진행하면서 어디서 오류가 발생했는지 확인하는데 round 함수를 사용하는 쿼리에서 오류가 발생했다. select round(a.order_price, 2) from order_detail a; SQL Error [42883]: 오류: round(double precision, integer) 이름의 함수가 없음 Hint: 지정된 이름 및 인자 자료형과 일치하는 함수가 없습니다. 명시적 형변환자를 추가해야 할 수도 있습니다. 원인 오류내용 중 Hint 부분..
[PostgreSQL] 리눅스에서 postgreSQL 오류 로그 확인하는 방법
[PostgreSQL] 리눅스에서 postgreSQL 오류 로그 확인하는 방법
2023.01.20postgresql을 사용하면서 오류 발생 시 로그를 확인하는 방법을 찾다가 알게되어 공유하려고 한다. PostgreSQL 오류 로그 확인 방법 우선 postgres 계정으로 변경한다. $ su postgres bash-4.2$ 아래 경로로 이동해보면 요일별 로그가 쌓여있는 것을 확인할 수 있다. (버전마다 차이가 있으나 경로자체는 비슷함) $ cd /var/lib/pgsql/15/data/log 이 중 오늘날짜에 해당하는 로그파일을 vim 편집기로 열어보면 오류가 났던 항목들을 볼 수 있다. 2023-01-20 09:25:50.162 KST [14001] 오류: 연산자가 고유하지 않습니다: "char" || text 175 번째 문자 부근 2023-01-20 09:25:50.162 KST [14001]..
[Ora2Pg] Oracle to PostgreSQL 데이터베이스 마이그레이션
[Ora2Pg] Oracle to PostgreSQL 데이터베이스 마이그레이션
2023.01.11Oracle에서 PostgreSQL로의 데이터베이스 간 마이그레이션을 하려고 한다. 오픈소스로 무료로 이용이 가능한 Ora2Pg 마이그레이션 도구를 사용해서 진행한다. (Ora2Pg는 Oracle과 MySQL을 PostgreSQL로 마이그레이션 하는 도구다.) Ora2Pg - Moves Oracle database to PostgreSQL Moves Oracle and MySQL database to PostgreSQL Start with Ora2Pg Latest release: SF Download v23.2 - GitHub Download v23.2 - Release Notes - Follow @ora2pg Copyright (c) 2000-2021 DAROLD.NET ora2pg.darold.net..
[Docker] PostgreSQL 도커로 실행하기
[Docker] PostgreSQL 도커로 실행하기
2023.01.09Docker를 사용해서 최신버전의 PostgreSQL을 실행하여 데이터베이스 및 계정을 생성하고 데이터베이스 접근 권한과 계정에게 권한 설정하는 방법 등 아주 기본적인 설정에 대해 알아보려고 한다. 1. PostgreSQL 버전 선택 가장 먼저 해야 할 일은 사용할 PostgreSQL의 버전을 선택해야 한다. 현재 15 버전까지 나와 있는 것을 확인할 수 있었고 Docker Hub에서 지원하는 PostgreSQL의 버전을 확인할 수 있다. postgres - Official Image | Docker Hub Note: the description for this image is longer than the Hub length limit of 25000, so has been trimmed. The ful..
[Python] 파이썬 TypeError: can only concatenate str (not "int") to str 오류 해결
[Python] 파이썬 TypeError: can only concatenate str (not "int") to str 오류 해결
2023.01.04에러 상황 파이썬으로 개발하던 중 문자열 변수와 정수형 변수를 결합해야 하는 상황이 발생했다. for i in range(1, 8): print("test" + i) Java에서는 문자열에 숫자형 변수를 추가하면 아무 문제가 없었지만.. 파이썬은 달랐다. TypeError: can only concatenate str (not "int") to str 위와 같이 문자열 변수에 숫자형 변수를 결합하려고 하니 타입 오류가 발생했다. 해결 방법 오류 내용 그대로 int 정수형의 변수를 str 문자열에 연결하려고 발생한 문제로 쉽게 생각하면 형변환을 해주면 해결할 수 있다. 숫자를 문자열에 결합해서 최종적으로 문자열을 만들려는 목적이기 때문에 숫자형 변수에 str() 함수를 사용해서 형변환을 해주면 된다. fo..
[Spring Boot] Java로 웹 크롤링 하기 - Jsoup
[Spring Boot] Java로 웹 크롤링 하기 - Jsoup
2023.01.02이번 프로젝트는 유독 다른 웹 페이지의 정보들이 많이 필요했는데 그래서 웹 페이지 크롤링해야 되는 작업이 많았다. 웹 페이지 크롤링이란? 웹 페이지 HTML을 그대로 가져와서 필요한 모든 정보들을 추출해 내는 행위 프로젝트에서 웹 크롤링을 어떤 언어로 할지 고민을 좀 하긴 했다. 내가 사이드 프로젝트에 합류하기 전에 팀원이 작성해둔 크롤링 파이썬(Python) 코드가 있었지만 앞으로 내가 개발하고 운영해야 하기 때문에 자바로 해야 더 효율적이라는 판단을 내렸다. 그래서 내 맘대로 Jsoup을 사용하기로 했다. 자바(Java)를 사용해서 개발중이라 웹 크롤링 관련 라이브러리를 찾아보니 Jsoup 라이브러리를 찾을 수 있었다. Jsoup 공식 페이지를 들어가서 보니까 사용법도 어렵지 않아 보이고 빠르게 적용..
[Spring Boot] Java로 웹 크롤링 하기 - Selenium
[Spring Boot] Java로 웹 크롤링 하기 - Selenium
2022.12.26지난번 포스팅에서는 Spring Boot 환경에서 웹 크롤링을 하기 위해 Java 라이브러리인 Jsoup을 어떻게 적용하고, 사용하는지에 대해 확인하면서 정적인 페이지만 크롤링 가능하다는 점을 알게 되었다. (Jsoup은 동적 페이지는 크롤링을 하지 못한다.) 이를 해결하기 위해 또 다른 크롤링 라이브러리인 셀레니움(Selenium)에 대해 알아보려고 한다. 공식 홈페이지에 따르면 웹 브라우저의 자동화를 가능하게 하고 다양한 도구와 라이브러리를 지원하는 프로젝트라고 되어 있다. Selenium Selenium automates browsers. That's it! www.selenium.dev 바로 시작해보자😉 Selenium 라이브러리 적용 및 사용하기 1. 예제 살펴보기 Selenium 공식 홈페이지..
[JPA] org.springframework.dao.DataIntegrityViolationException: could not execute statement 오류 해결
[JPA] org.springframework.dao.DataIntegrityViolationException: could not execute statement 오류 해결
2022.12.19에러 상황 JPA를 사용하여 개발하던 중 먼전 delete 호출하고 insert를 호출하는 로직 개발 중에 DataIntegrityViolationException, DataException 에러가 발생했다. org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; nested exception is org.hibernate.exception.DataException: could not execute statement at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(Hiberna..
[MSA] 모니터링 (Monitoring, Logging, Tracing)
[MSA] 모니터링 (Monitoring, Logging, Tracing)
2022.12.12MSA(Microservice Acchitecture)에서는 서비스가 분산되어 있는데 모니터링을 어떻게 해야 될까? 클라우드 환경에서는 디스크에 기록된 로그들은 사라질 수 있고 수 많은 서비스의 로그를 각각 관리하기는 굉장히 힘들고 시간도 오래 걸린다. 그렇기 때문에 장비의 디스크에 기록하는 것에 의존해서는 안되고 모든 로그들을 한 눈에 볼 수 있도록 구성하여 문제가 발생했을 때 빠른 대처가 가능하다. MSA에서의 모니터링, 로깅, 트레이싱에 대해서 알아보자. 모니터링 (Monitoring) 인프라 및 응용프로그램의 성능이나 효율성을 확인하는 작업으로 각 대상에게서 수집한 Metric정보를 통해서 대상 리소스의 사용률, 트래픽 등을 수치로 표현하는 기능을 수행한다. 자체적으로 시각화하여 수치와 그래프로 ..
[MSA] Service Discovery 구축하기 - Spring Boot + Netflix OSS Eureka Server
[MSA] Service Discovery 구축하기 - Spring Boot + Netflix OSS Eureka Server
2022.12.02이전 글에서 이야기했듯이 MSA에서는 기본적으로 여러 서비스를 등록하고 등록한 서비스의 검색을 수행하는 서비스 디스커버리 서버(Service Discovery Server)가 필요하다. 디스커버리 서버 Client-Side 방식 중에서 가장 유명하고 구현이 쉬운 Netflix OSS Eureka 서버를 구축해보려 한다. 1. Service Discovery Server 프로젝트 생성 1-1. Service Discovery 프로젝트 생성 ServiceDiscovery 프로젝트를 생성하고 dependency 선택창에서 eureka를 검색해서 Eureka Server를 추가한다. 1-2. application.yml 설정 생성된 프로젝트 src/main/resources 폴더 하위에 application.p..