반응형

프로그래밍 PROGRAMMING 26

[GRADLE] 컴파일 에러 Could not find org.springframework.experimental:spring-native:0.10.5

Spring Boot + Gradle + Java 조합으로 프로젝트를 진행하다가 아래와 같은 에러가 나오는 경우가 있습니다. Could not find org.springframework.experimental:spring-native:0.10.5 폭풍 검색을 해보니 해당 라이브러리를 못찾는 것은 gradle 설정에 해당 라이브러리를 제공하는 Maven 레포지토리를 포함하지 않아서 오류가 났습니다. 아래와 같이 build.gradle 설정에 해당 라이브러리가 포함된 https://repo.spring.io/release 레포지토리를 추가해줍니다. repositories { mavenCentral() maven { url 'https://repo.spring.io/release' } } 위와같이 설정을 넣..

[GIT] 원격 저장소 연결 및 끊기 git remote

원격 저장소 연결 끊기 깃을 사용하다가 현재 저장소에 연결되어 있는 원격 저장소를 변경하고 싶을 때가 있습니다. 그럴 때는 기존 원격 저장소와의 연결을 해제하고 다시 새로운 원격 저장소의 주소로 연결해야 합니다. 원격저장소와의 연결을 끊기 위해서는 아래 명령어를 사용합니다. git remote remove 원격 저장소의 연결을 끊기 전에 먼저 로컬 깃과 연결되어 있는 원격 저장소의 목록을 확인하고 원격 저장소의 이름을 확인합니다. -- 원격 저장소의 목록을 확인 C:\Users\kong\gitworks\restapi>git remote -v origin https://github.com/someone/something.git (fetch) origin https://github.com/someone/so..

[PYTHON] 파이썬의 기본 함수 문법 FUNCTION

함수란 무엇인가 프로그래머가 아니더라도 함수라는 단어는 익숙할 것 같습니다. 수학을 배울 때도 함수를 쓰니까요. 위키백과에 따르면 함수의 수학적인 정의는 집합 X의 원소 x 한 개에 집합 Y의 원소 y 한 개가 대응하는 관계를 의미한다고 하네요(위키백과의 함수). 1차함수, 2차함수, 다항함수, 삼각함수 등등 수학에서 사용하는 함수는 주어진 x값들로 매핑되는 y값을 구하기 위한 논리적인 관계를 함수라고 하는 것 같아요. 조금 어렵죠? 프로그래밍에서의 함수는 조금 단순하게 생각해도 될 것 같아요. 원하는 결과값을 얻기 위한 반복적인 연산을 함수라는 형태로 사용한다고 보시면 됩니다. 시작은 수학적인 함수 의미가 강하지만, 프로그래밍에서는 특정 기능을 하는 일종의 논리적인 묶음이예요. 예를 들어서 '날씨를 알..

[ORACLE] 데이터를 SQL로 랜덤 샘플링하기 : SAMPLE 함수

오라클에서 테이블의 데이터를 확인하기 위해서 랜덤하게 데이터를 출력하고 싶을 때가 있습니다. 그럴 때 RANDOM하게 정렬을 해서 상위 10개의 열을 출력하는 등의 방법을 이용해서 랜덤하게 데이터를 뽑아볼 수도 있지만, 간단하게 SAMPLE 함수를 사용해서 테이블의 데이터를 추출하는 방법도 있습니다. 랜덤하게 SAMPLING 하기 위해서는 WITH 구문을 이용한 가상테이블로의 조회가 아닌 실제 ROWID가 있는 테이블을 대상으로 실행해야 합니다. 또한 SAMPLE 함수는 인자값으로 지정되는 것이 테이블 전체의 데이터 중에서 몇 퍼센트를 지정하여 추출할것인지에 대한 퍼센트이기 때문에 테이블의 데이터가 지나치게 적을 경우 퍼센트를 올려주어야 합니다. 물론, 테이블의 데이터가 매우 적다면 굳이 추출을 샘플링을..

[ORACLE] 랜덤 숫자 혹은 문자열 생성하기 : DBMS_RANDOM

오라클 랜덤함수 DBMS_RANDOM 으로 랜덤한 수 혹은 문자열을 생성할 수 있습니다. DBMS_RANDOM 패키지는 몇 가지 기능을 제공합니다. 여기서는 NORMAL, RANDOM, STRING, VALUE 함수에 대해 다룹니다. NORMAL DBMS_RANDOM 패키지의 NORMAL 함수는 표준 정규분포(가우스분포)에서의 임의값을 리턴하는 함수입니다. 예를 들어 아래와 같이 일반 SQL 쿼리문에서 호출을 하면 다음과 같이 실행됩니다. SELECT DBMS_RANDOM.NORMAL AS RANDOM_NUM FROM DUAL RANDOM RANDOM 함수는 -(2의 31제곱) 보다 크거나 같고 (2의 31제곱) 보다 작은 임의의 정수를 생성하는 함수입니다. SELECT DBMS_RANDOM.RANDOM..

[JAVA] STRING 문자열을 URL 인코딩 혹은 디코딩 하기

문자열을 URL 인코딩 혹은 디코딩하는 방법 URL에 문자열을 보내줘야할 때는 인코딩 혹은 디코딩을 이용하여 변환된 문자열로 보내줘야 합니다. URL에는 ASCII 문자열에 포함되지 않은 문자를 포함하여 보낼 수 없기 때문입니다. 그럴때는 URLEncoding/URLDecoding을 이용해 문자열을 변환해줍니다. 인코딩하는 방법 String encodedStr = URLEncoder.encode(String targetStr, String charsetName); 디코딩하는 방법 String decodedStr = URLDecoder.decode(String targetStr, String charsetName); 인코딩 및 디코딩할때 charsetname은 통일해주어야 한다. charsetname에는 ..

[PYTHON] WHILE 반복문 기본 문법

WHILE 구문은 파이썬 기본 반복문 중 하나로 조건문이 만족하는한 반복해서 수행됩니다. FOR 문과는 다르게 반복하는 인자값이 정해져 있지 않고 조건이 만족하는 한은 계속 수행됩니다. WHILE 문의 기본 문법 WHILE 조건문: 수행할 작업1 수행할 작업2 .... WHILE 문은 조건문이 참이기만 하면 구문 안에 있는 작업 1, 작업 2 를 무한히 반복합니다. FOR 문과는 다르게 지정된 범위 없이 반복할 수 있는 루프를 쉽게 만들어낼 수 있습니다. 또한 WHILE문은 리스트에 대한 반복보다는 반복이 수행되는 조건을 명확히 알 수 있기 때문에 반복이 언제 종료되는지 의미적으로 알 수 있습니다. >>>> visit = 0 >>>> while visit < 11: ... visit = visit + 1..

[PYTHON] FOR 반복문 기본 문법

어떤 언어를 공부하든지 반복문은 중요한 문법 중의 하나입니다. 파이썬은 특히나 FOR 반복문을 상당히 유연하게 사용할 수 있습니다. FOR 루프의 기본 문법 FOR 문의 기본 문법은 아래와 같습니다. for 변수 in 변수의 리스트(혹은 튜플, 혹은 문자열): 수행할 구문1 .... FOR 와 IN 으로 반복문을 돌릴 수 있습니다. 당연하겠지만 변수의 유형은 리스트(혹은 튜블, 혹은 문자열)에 담겨져 있는 요소의 타입을 따라 갑니다. 예를 들어 문자열이 담겨져 있는 리스트의 경우에는 변수가 문자열이 됩니다. >>>> list_of_string = ['this', 'is', 'a', 'test', 'list'] >>>> for str in list_of_string: .... print(str) .... ..

[PYTHON] cx_Oracle에서 sid를 인식하지 못할 때 : ORA-12514 오류

파이썬에서 오라클 데이터베이스에 접속하고자 할 때 가끔 접속이 안되고 ORA-12514 : TNS:listener does not currently know of service requested in connect descriptor 오류가 뜨는 경우가 발생하는 경우가 있습니다. 항상 발생하는 경우는 아니고 데이터베이스에 따라서 오류가 날 때가 있고 안날 때가 있습니다. 일반적으로는 cx_Oracle에서 제공하는 connect 를 사용해서 접속이 가능하지만 오류가 날 경우에는 다른 방식으로 접속을 세팅해야 합니다. 아래와 같이 설정정보를 정확하게 넣어도 connect를 하려고 하면 ORA-12514 오류가 발생하는 경우가 있습니다. import cx_Oracle config_ip = '127.0.0.1:..

[IntelliJ] 갑작스런 Compilation failure 에러가 발생한 경우

평소에 잘 작업하고 있던 프로젝트에서 브랜치를 변경한 뒤에 서버를 실행했더니 아래와 같은 에러가 발생했습니다. Git에서 동일한 프로젝트에 대한 브랜치로 변경(checkout)한 뒤에 컴파일 하려고 하니 Compilation Failure가 떴습니다. 처음에는 서버가 올라갈 때 일부 class파일을 못 찾는다는 오류가 떠서 프로젝트를 전체 rebuild를 했지만 동일한 에러가 발생했습니다. Maven Clean을 하고 다시 Compile을 해도 동일한 에러가 발생합니다. IntelliJ 로그파일을 확인하니 아래와 같은 로그가 찍혀있었습니다. 2021-11-18 10:21:30,759 [578897244] ERROR - aemon.impl.PassExecutorService - com/intellij/ao..

반응형