프로그래밍(Programming)

    [SQL][ORACLE] ORA-00969: ON 키워드가 없습니다.

    오류ORA-00969: ON 키워드가 없습니다.UPDATE문에 ON 조건을 변경할 수 없습니다.이 오류는 MERGE 문에서 ON 조건을 명시하지 않았을 때 발생하는 오류입니다.ON 절은 대상 테이블과 소스 테이블을 비교할 조건을 명확히 지정해야 하므로, 이를 빠뜨리면 SQL 문이 실행되지 않습니다.1. ON 절이 없는 경우- 문제코드MERGE INTO T1 USING T2-- ON 절이 빠짐WHEN MATCHED THEN UPDATE SET T1.col1 = T2.col1, T1.col2 = T2.col2WHEN NOT MATCHED THEN INSERT (col1, col2) VALUES (T2.col1, T2.col2);위와 같이 ON 절을 생략하면 ORA-00969 오류가 발생합니다..

    [SQL][ORACLE] MERGE (UPDATE, INSERT 동시 처리)

    MERGE 문은 주로 업데이트와 인서트를 하나의 SQL 문으로 처리할 수 있게 도와주는 유용한 문법입니다.MERGE 문은 데이터 갱신과 삽입을 동시에 처리할 수 있어 유용합니다.특히 대량의 데이터 업데이트나 동기화 작업에 적합합니다.1. MERGE 문 사용법MERGE 문은 주로 두 테이블을 비교하여 조건에 맞는 행에 대해 UPDATE를 하고,조건에 맞는 행이 없으면 INSERT를 하는 방식으로 사용됩니다.기본 문법MERGE INTO T1 USING T2ON (T1.col = T2.col)WHEN MATCHED THEN UPDATE SET T1.col1 = T2.col1, T1.col2 = T2.col2WHEN NOT MATCHED THEN INSERT (col1, col2) VALUES ..

    Python 가상환경 만들어 사용하기

    가상환경이란?가상공간이 없다면 컴퓨터에 설치된 파이썬에 모든 라이브러리를 설치하게 됩니다.하지만 프로젝트마다 각자 다른 라이브러리를 사용하기 마련.프로젝트A : pandas, numpy …프로젝트B : openai, python-dotenv …이외에도 더 많은 라이브러리를 사용하게 될 겁니다.이렇게 되면 파이썬이 점점 무거워질 뿐 아니라라이브러리 버전 간의 충돌이나 의도치 않은 라이브러리 삭제, 버전 유지의 어려움 등온갖 문제가 줄줄이 생겨날 가능성이 높아지겠죠.이러한 어려움을 줄일 수 있는 것이 가상환경 입니다.시스템에 설치된 파이썬과 별도로 다른 공간을 만들고파이썬 인터프리터와 파이썬 라이브러리를 설치함으로써여러개의 프로젝트를 진행할때 라이브러리 의존성 문제를 해결합니다.1. 가상환경 세팅하기가상환경..

    💡 프로그래머스 : 신규 아이디 추천

    💡 신규 아이디 추천 문제 설명 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램을 개발하는 것입니다. 다음은 카카오 아이디의 규칙입니다. 아이디의 길이는 3자 이상 15자 이하여야 합니다. 아이디는 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.) 문자만 사용할 수 있습니다. 단, 마침표(.)는 처음과 끝에 사용할 수 없으며 또한 연속으로 사용할 수 없습니다.(내용) 문제 링크 ✍ 문제 풀이 1. 요약 정규표현식(Regu..

    [스프링(Spring) 에러] Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder' available: expected at least 1 bean which qualifies as a..

    오류 코드 21:44:01.412 [main] ERROR org.springframework.test.context.TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@52f9e8bb] to prepare test instance [org.kosa.service.ProductServiceTests@2035d65b] java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.cache..

    프로그래머스 : 스킬트리

    💡 프로그래머스 : 스킬트리 문제 설명 선행 스킬이란 어떤 스킬을 배우기 전에 먼저 배워야 하는 스킬을 뜻합니다. 예를 들어 선행 스킬 순서가 스파크 → 라이트닝 볼트 → 썬더일때, 썬더를 배우려면 먼저 라이트닝 볼트를 배워야 하고, 라이트닝 볼트를 배우려면 먼저 스파크를 배워야 합니다. 위 순서에 없는 다른 스킬(힐링 등)은 순서에 상관없이 배울 수 있습니다. 따라서 스파크 → 힐링 → 라이트닝 볼트 → 썬더와 같은 스킬트리는 가능하지만, 썬더 → 스파크나 라이트닝 볼트 → 스파크 → 힐링 → 썬더와 같은 스킬트리는 불가능합니다. 선행 스킬 순서 skill과 유저들이 만든 스킬트리를 담은 배열 skill_trees가 매개변수로 주어질 때, 가능한 스킬트리 개수를 return 하는 solution 함수를..

    Git 특정 Stash 꺼내 쓰기

    git stash list로 리스트를 확인하고, git stash pop stash@{1}를 통해 stash를 pop했다. 그런데 최근 쓸일이 생겨 사용했더니 오류가 났다 찾아보니 git version 2.11부터 명령어가 바뀐 모양! 아래처럼 쓰면 된다!! git stash list git stash apply stash@{n} 출처: https://stackoverflow.com/questions/17454235/how-to-git-stash-pop-specific-stash-in-1-8-3

    Git 브랜치를 삭제했는데 계속 남아있을 때

    분명 원격 브랜치를 삭제했는데 git branch에서 확인 했을 때 남아있다면, git remote prune origin 을 사용하자.

    프로그래머스 : 완주하지 못한 선수

    💡 완주하지 못한 선수 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 문제 링크 ✍ 문제 풀이 1. 요약 배열을 sort 처리해 **같은 index, 다른 이름**으로 이름 수가 다른 경우를 찾아낸다. 2. 방법 : Arrays.sort(array); 를 통해 전부 정렬한다. int는 for문이 아니라 밖에서 선언 해야한다. + 안에서 선언할 경우, 더 짧은 completion까지밖에 i가 올라갈 수 없다. ..

    DAO, VO, DTO

    ✨ DAO `Data Access Object` DB에 접근해 데이터를 조회, 조작하는 로직을 분리하기 위한 객체다. ✨ VO `Value Object` 값 오브젝트. read-Only 특징을 가진다. ✨ DTO `Data Transfer Object` 계층 간 데이터 교환을 하기 위한 객체이다. DAO와 달리 로직을 가지고 있지 않다. VO와 유사하나, VO와 달리 setter를 가지고 있어 값을 설정할 수 있다. DAO가 DTO를 통해 데이터 베이스로 전달한다.