夜はプリズムのファンタジ

java 8

MariaDB & MySQL 접근 거부(Access denied) 해결

리눅스에서 DB에 접근하려는데 접근 거부에러가 발생해서 요리조리 찾아보다가 다음과 같은 방법으로 해결하였다. 개인용 localhost:3306 환경이었으므로, 공용 프로젝트 환경에서는 권한 조회 정도로만 사용하고 요청은 별도로 하는 것이 맞겠다. DB와 관련한 문제는 민감한데 아직 공부도 많이 안한 상태라, 관련 에러 또는 문제가 발생하면 당혹스러운 점이 많다ㅎ.. 나의 경우는, MariaDB로 진행하였는데, MySQL도 전반적인 부분은 동일하다고 한다. (틀린 점이 있다면, 별도의 참고가 필요 할 듯 한데...학원에서 MySQL 사용할 때에도 방법은 동일했다.) ✔ 해결 방법은 아래와 같은 순서대로 진행하였다. 1. 명령프롬프트(cmd)창 진입 2. cmd 에서 MySQL 또는 MariaDB 폴더의 b..

Database 2021.02.01

@RequestMapping이나, @GetMapping 등 올바르게 설정했음에도, 404에러가 뜨는 현상

프로젝트가 꼬인건지 어떤건지... Controller쪽에서 Mapping을 올바르게 했음에도, 404에러가 계속 떠서 확인이 필요했다. 처음 Mapping 문제를 의심하게 된 이유는, 서버(톰캣)는 지금까지 잘 사용해왔고, 연결도 잘 되어있었기 때문이었다. 그러나, 보통 Mapping관련 문제라면, 아래처럼 화이트라벨 에러 페이지를 노출하는 경우가 다수인데; Whitelabel Error Page 결론은, 역시 Mapping과는 관련이 없었고, Project 또는 Server가 꼬여있었던 것 같았다. 구글링으로 같은 문제를 해결하신분이 있어 같은 방법으로 진행했더니 결국 해결... 물론, 여러 프로젝트를 다루는 사람이라면, 당연히 한번씩 프로젝트를 변경할 때마다, Refresh 또는 필요에 따라, Upd..

Oracle(오라클) DBMS 다운로드 및 설치

오늘은 간략하게 오라클(Oracle) DB(데이터베이스) 다운로드와 설치에 대해서 알아보고자 한다. 우선, 링크를 통해 오라클 '다운로드' 페이지로 이동! 맨 상단에 항상 최신 버전(현재 기준 19c)의 다운로드가 올라오지만, 나는 무료 버전을 사용하기 때문에, 링크도 해당 부분에 맞춰 옮겨두었다. 위 이미지와 같이, 다른 데이터베이스 제품을 선택한 다음, 우측 메뉴에서 Database Express Edition (XE)을 클릭하게 되면, 아래와 같은 페이지로 이동하게 된다. 나는 홀로 개인 공부용으로 사용할 것이기 때문에 무료 버전을 다운로드 하였다. 무료 버전은 21년 02월자 기준, 'DB 18c Express Edition'을 사용하면 된다. 다운로드 완료 후 압출을 풀게 되면, 폴더 안에 se..

Database/Oracle 2020.04.08

5. 자바 객체지향 - 로또 프로그램 구현하기

※ 객체 지향 프로그래밍 오늘은 숫자 6자리를 랜덤으로 뽑아내는 로또 프로그램을 구현하고, 구현된 코드를 객체지향스럽게? 바꾸는 작업을 해보도록 할 것이다. 잠깐 시작하기 전에 하나! '객체 지향이란 도대체 무엇일까...알 것 같으면서도 모르겠는데?' 자바 프로그래밍 공부를 시작한지 약 4주차가 되어가는 시점에서 최근 내 자신에게 가장 많이 던지는 질문이다. 사실, 기본기도 덜 다져진 뉴비의 입장에서 저런 고민을 한다는 것이 스스로도 투 머치라는 것을 잘 알고 있다. 하지만, 잘 짜여진 코드 or 객체 지향적인 코드를 보고 있노라면, 왠지모르게 뉴비 시절 부터 습관화해야 할 것 같은 느낌이 드는건 사실이다. 물론, 개인적인 욕심이고... 커뮤니티에서도 자바가 익숙해진 다음에 하나씩 고쳐나가는 것이 객체 ..

4. 자바 프로그래밍 구조화 - 상수형 변수의 활용

1. 상수형 변수의 활용 오늘은 자바 프로그래밍 구조화를 익히는 과정중 하나인 '상수형 변수'의 활용을 통해서, switch-case문 및 기존 코드의 변경 부분에서 어떻게 활용될 수 있는지를 알아보도록 하겠다. 1) 문제 01 성적 산출 프로그램 구현 - 사용자 메뉴 1. 첫 번째 메뉴 : [성적 입력] 세 사람의 국어, 영어, 수학 점수를 각각 입력 받아 저장 2. 두 번째 메뉴 : [성적 출력] 세 사람의 과목 별 점수와 총합 및 평균을 산출하고 각 과목별 평균을 별도로 산출 3. 세 번째 메뉴 : [프로그램 종료] 성적 산출 프로그램을 종료 우선 위 조건에 부합하는 코드를 switch-case문을 사용하여 아래와 같이 작성하였다. 다소 긴 코드가 작성되었다. 사실, 위 프로그램은 하나의 클래스에 ..

3. 반복문 활용 - 짝수의 합 구하기

※ 반복문 활용 (for) 이전 글에서 while문을 활용하여 짝수 / 홀수를 구하는 프로그램을 구현하였었다. 이번 글에서는 약속대로 while문 대신, for문을 활용하고, 두 구문간의 차이에 대해서 설명해보도록 하겠다. 1) 문제 01 - 1에서 100까지의 정수 중 짝수만의 합을 출력하는 프로그램 구현 이번에도 변수의 선언을 시작으로 문제에 접근하고자 한다. 우선, '짝수의 합'을 담을 변수 total을 선언하였다. (total 변수의 경우, 합을 담아야 하기 때문에 초기 값은 0으로 설정되어야 한다. 초기 값이 없다면, 어떠한 값도 담을 수 없다!) 요약하자면, 변수 a는 1부터 시작하며, if문을 한번 실행시키고 나올 때마다 1씩 증가하여 총 100번을 반복하게 되는 코드로써, 실행 값은 255..

2. 반복문 활용 - 짝수/홀수 구하기

1. 반복문 활용 (while) 1) 문제 01 1 ~ 100 까지의 정수 중 짝수 / 홀수를 출력하는 프로그램 구현 문제의 핵심은 크게 두 가지이다. - 반복문(while)을 통해서 변수 a를 1 ~ 100까지 차례대로 증가 시켰고, - 정수를 2로 나누었을때 나머지가 0이면 짝수라는 점을 if문의 조건으로 사용했다는 것 위 문제를 이해하고 나니 홀수만 출력하는 것도 어렵지 않게 구현할 수 있었다. 위 문제를 접근하는데 있어서 핵심인 while 문의 기본 구조는 아래와 같다. 즉, 조건에 부합하면, 계속해서 아래 코드를 한단계씩 반복적으로 실행시키는 것이다. (상세한 이론은 나중에 따로 공부하면서 정리할 예정이므로, 여기서는 간단한 모습만 소개한다.) 다시 되돌아와 문제를 해석하자면 다음과 같다. ※ ..

1. 변수 선언

변수의 선언을 3가지 예제로 정리한다. ※ 변수 선언 1) 예제 01 위에서는 main 메소드에서 사용하기 위한 3가지 변수 x, y, z가 int(정수)형으로 선언되었다. 위 과정을 다르게 설명하자면, 임의의 물건 3가지를 넣을 각각의 바구니가 필요하여, 물건의 특징을 고려한 바구니 3개를 직접 가져온 것과 같다고 할 수 있다. 해석하자면 다음과 같다. 물건 값 바구니 변수 (x, y, z) 물건의 특징 자료형 (int) 바구니 3개 변수 당 하나의 값만 대입할 예정 직접 사용자가 임의로 지정 그렇다면, 위 예제는 현재 정수형 변수 3가지가 x, y, z로 선언되어 있고, 별도의 값은 대입되지 않은 상태라고 볼 수 있다. 2) 예제 02 위 두 번째 예제에는 앞에서 선언한 변수 x, y, z에 각 값을..