목록전체보기 (101)
먹었으면 뇌를 쓰자
테이블 1(부모)과 테이블 2(자식)를 조인시켰는데, 외래키 제약조건(on delete cascade)를 빼먹고 안 적었다. 1) 기존 테이블을 drop하고 다시 만든다. 2) 기존 테이블의 외래키에 constraint로 별칭을 걸었다면 외래키를 drop하고 alter 문으로 다시 추가한다. ALTER TABLE 테이블명 DROP FOREIGN KEY 외래키 별칭; --기존 외래키 drop ALTER TABLE 테이블명 ADD CONSTRAINT 외래키 별칭 FOREIGN KEY 자식속성 REFERENCES 부모테이블명 ON DELETE CASCADE;

오라클에서 create table 했는데 편집화면 왼쪽 '접속' 탭에 테이블이 만들어지지 않았다. 무한 새로고침을 하고, drop 했다 create 했다 commit도 해봤다 그리고 친구한테 물어도 봤다. 만들어져서 조회할 수 있는 게 정상이다. 껐다 켜니까 만들어져 있다. 오라클이 진짜 성능이 안 좋긴 한가보다. 그래도 무사히 고칠 수 있어서 다행~

InputStream 콘솔에서 System.in으로 1byte(영소문자)를 객체에 .read() 메서드로 입력받는다. Thread 콘솔에서 실행을 Thread.sleep(천 단위=초) 으로 초 단위 지연시킬 수 있다.
String str="a1"; int row=str.charAt(1); //'1'은 49이다. int column=str.charAt(0); // 'a'는 97이다. System.out.println("변경 전 row = "+row); //49 System.out.println("변경 전 column = "+column); //97 int row1=str.charAt(1)-'0'; //'0'은 int형으로 48이다. //따라서 '1'(49)를 1로 만드려면 '0'(48)을 빼주면 된다. //'2'(50)를 2로 만드려면 '0'(48)을 빼주면 된다. int column1=str.charAt(0)-'a'+1; //'a'는 int형으로 97이다. //따라서 'a'(97)를 1로 만드려면 'a'(97)를 뺴주..
개발 업무를 할 때는 대용량 데이터를 처리하는 일이 중요할 것 같다. 배열을 적절히 활용할 줄 알아야겠다. 학원에서 배열 공부를 하면서 푼 문제와 풀이를 정리해서 스스로 필요할 때 써먹을 수 있게 연습하자! 1. boolean으로 배열에 찾는 데이터 있는지 비교하기 int[] arr = {21,4,11,68}; //찾는 데이터가 배열에 있으면 확인할 boolean 변수를 선언한다. boolean flag; while(true){ //필요한 break문 작성 //flag는 false로 초기화한다. flag = false; for(int i=0;i
자바에서 이중 for문이 활용되는 2가지 경우에 대해 정리해보았다. 내가 이해한 개념을 정리한 것이라, 모든 경우에 완벽하게 대응하지는 않는다. 다만 풀어야 할 알고리즘 중에서 비슷한 상황이 있으면 사용할 수 있을 것이다. (이중 for문에 필요한 변수와 로직 이외에는 생략하였다.) 첫번째 for문 (기준데이터, 행) -> 회차당 고정 두번째 for문 (비교데이터, 열) -> 회차당 가변 1. 기준데이터와 비교데이터 (오름차순 정렬) for(int i=0;i

문제 상황... https://eat-then-brain.tistory.com/102 스프링부트 MySQL 연동 실패를 해결해보자 (Access denied for user 'root'@'localhost') 1탄 문제 상황... 스프링부트 프로젝트로 기본 구조와 엔티티 설계를 마쳤다. application.yml 파일로 MySQL 연동을 시도했는데 Access denied for user 'root'@'localhost'(using password:YES) 에러 메시지가 뜨면서 데이터 eat-then-brain.tistory.com 스프링부트와 MySQL이 연결되지 않는 상황. AnnotationException 에러 메시지가 뜬다. 해결 방법!!! 구글링으로 한번에 찾았다. @Id 어노테이션이 org..

문제 상황... 스프링부트 프로젝트로 기본 구조와 엔티티 설계를 마쳤다. application.yml 파일로 MySQL 연동을 시도했는데 Access denied for user 'root'@'localhost'(using password:YES) 에러 메시지가 뜨면서 데이터베이스로 연결되지 않는다. 해결 방법!!! 다양한 방법으로 해결하는 사람들이 있었다. 그런데 나처럼 잘 모르는 사람들이 괜히 계정에 접근하면 더 큰 에러가 날 것 같아서 가장 간단한 방법을 시도했다. 1) 작업 관리자에 가면 MySQL이 무려 3개나 실행되고 있다. 예전에 생활코딩하면서 wampstackMariaDB를 설치했던 기억이 난다. 얘네들끼리 서로 충돌하고 있는 듯하다. 2) 제어판에서 stop Wamp를 해준다. 3) 아래..
1. 스프링이란 무엇인가 2. 의존성 주입(DI) 3. 관점 지향 프로그래밍(AOP) 4. Spring MVC 5. Controller 6. Spring data JPA 1. 스프링이란 무엇인가 - EJB를 개선해서 비즈니스 로직 구현에만 집중 - POJO, DI, AOP, PSA - 스프링과 스프링 부트 - Spring for OOP 소프트웨어 생명주기 관리, 보안, 트랜잭션 등등 개발자가 관리해야 할 것이 많았던 EJB(Enterprise JavaBean) 모델을 대체하는 것이 Spring 프레임워크이다. 개발자는 비즈니스 로직 구현에만 집중할 수 있다. 스프링에는 다음과 같은 특징이 있다. 1. POJO(Plain Old Java Object)s 의존성을 최대한 덜어낸 순수 객체를 만든다. 2. D..
영화 API API는 기본적인 CRUD를 위해 활용 유저들이 영화를 추가하고 영화를 검색하고 영화에 나온 배우 정보, 소개글을 읽고 자료를 삭제할 수 있고 API가 필요한 모든 URL을 만들고 싶을거야 그렇게 작업하면 /createMovie /seeMovies /getMovie/inception /deleteMovie/inception /updateMovie/inception /getTopRatedMovies /findMoviesFromThisYear 이러한 설계는 좋지 않다. 이해하기 어렵다. 명확한 패턴이 없음. add.create.delete...남발 ->표준 x url에서는 no verb -> add.edit.delete 단어 삭제 only 명사만 컬렉션(전체, 여러 데이터resource를 식별하..