본문 바로가기

전체_컨텐츠2572

JSTL - el 태그에서 문자열 이어 붙이기 안녕하세요. 고코더 입니다. 이번 시간에는 el 태그에서 문자열을 이어 붙이는 방법을 알아보겠습니다. 자바에서 이어 붙이기 '+' ●1. 기존의 자바에서는 '+'를 이용해 간단하게 문자를 이어 붙이는 게 가능합니다. 그래서 스트링을 연결할 때 자연스럽게 '+'를 이용합니다. String str1 = "GoCoder" String str2 = str1 + ".Net" EL 태그의 + 연산자는 ●1. 하지만 EL표현식에서의 '+' 연산자는 숫자 연산에서만 이용이 가능합니다. 그래서 만약 문자열끼리 덧셈을 한다면 "NumberFormatException" 오류가 발생합니다. 그러면 어떻게 문자를 이어 붙일 것인가 하면 이렇게 표현합니다. + 사용하지 않고 그저 안에 함께 선언하므로 해결이 가능합니다. 은근히 .. 2021. 11. 13.
스프링부트(Spring Boot)를 배우기 위해, 스프링(Spring)을 먼저 배워야 할까? Spring Boot를 위해 , Spring 먼저 알아야 하나? 안녕하세요. 고코더 입니다. ● 1. 스프링 부트를 학습하는 분이 많습니다. 요즘은 실무에서도 스프링보다 스프링 부트 프로젝트가 많아진 걸 느낍니다. 그래서 많은 학습자들이 질문하는 것 중 하나가 바로 "스프링 먼저 학습해야 하나요?"라는 질문입니다. 이 부분에 대한 답을 진행하려고 합니다. 자바의 학습 로드맵 ● 2. 제가 생각하는 자바를 공부하는 순서입니다. 주목할 점은 서블릿 다음에 바로 스프링 부트를 공부해도 좋고, 혹은 스프링을 공부하고 다음 스프링부트를 공부하는 것도 괜찮다는 이미지입니다. 미리 제 생각의 결론을 말하면 "스프링 부트 먼저 공부해도 좋다"입니다. 기존의 스프링은 복잡하고 불필요한 설정부터 시작하게 되는 버거움을 제.. 2021. 11. 12.
MySQL - now(), sysdate() 차이 안녕하세요. 고코더 입니다. now(), sysdate() 너무나도 비슷한 두 함수 ●1. MySQL을 쓰다보면 현재 시간을 가져올 때, 두 가지 함수가 있습니다. now(), sysdate()입니다. 대부분은 now()를 쓰는 경우가 많지만, 상황에 따라 sysdate()를 사용하는 경우도 발생합니다. 하지만 두 개의 함수는 닮아 있습니다. select now(),sysdate(); ●2. 해당 SQL을 실행하면 동일한 값이 나타납니다. 흡사 같은 기능의 함수인가 싶지만 아닙니다. 다른 게 있을까? ●3. 이번에는 아래 SQL을 실행해보겠습니다. sleep()을 이용하여, 3초 동안 쿼리를 멈춰 세웁니다. select sleep(3),now(),sysdate(); ●4. 이번에는 차이가 나타납니다. 3.. 2021. 11. 12.
MySQL - ERROR 1217(23000): Cannot delete or update a parent row: a foreign key constraint fails. / 외래키 제약 풀기 안녕하세요. 고코더 입니다. 오류 메시지 ●1. 데이터를 Delete 하던 중 이런 메시지를 만날 때가 있습니다. 해석 그대로 "상위 행을 삭제하거나 업데이트할 수 없습니다. 외래 키 제약 조건이 실패합니다."입니다. ERROR 1217(23000): Cannot delete or update a parent row: a foreign key constraint fails. @@foreign_key_checks ●2.외래 키가 걸린 데이터는 순차적으로 삭제해야 하지만 옵션을 해제하여 삭제가 가능합니다. 먼저 외래키 제한이 있는 조회 합니다. SELECT @@foreign_key_checks; ●3. 조회 해보면 대부분 1로 되어 있을 것입니다. foreign_key_checks 설정 ●3. 해당 설정을 .. 2021. 11. 12.
MySQL - You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column MYSQL 업데이트, 딜리트시에 나타나는 오류 안녕하세요. 고코더 입니다. ●1. update, delete 작업을 실행할 시 where 절이 없으면, 이런 메시지가 나타는 경우가 있습니다. 해석 그대로 "안전 업데이트 모드를 사용 중이고 KEY 열을 사용하는 WHERE 없이 테이블을 업데이트하려고 했습니다."라는 메시지입니다. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column 해결 방법은 두 가지가 있습니다. 임시 해체 모드 ●2. SQL 상에서 임시로 해제가 가능합니다. 현재 세션에서만 한시적으로 where 절 없이 업데이트가 가능하도록 허용합니다. set sql_saf.. 2021. 11. 12.
MySQL - 오토커밋 설정, 해체하기 / AUTOCOMMIT, @@AUTOCOMMIT; MYSQL 오토커밋 변경하기 안녕하세요. 고코더 입니다. MySQL은 기본적으로 커밋 설정이 OFF 되어 있습니다. 그 말은 즉슨 데이터를 수정하면 즉시 반영된다는 말이죠. 오라클이랑은 기본 설정이 반대입니다. 그래서 이번 시간에는 오토커밋을 제어하는 방법을 알아보겠습니다. @@AUTOCOMMIT; ●1. 우선은 사용 중인 데이터베이스에서 오토 커밋 설정을 확인해야 합니다. 아래 SQL을 실행합니다. SELECT @@AUTOCOMMIT; ●2. 해당 결과 값입니다. 표시 내용은 0,1로 출력됩니다. 기본은 대부분 1로 되어 있을 것입니다. 0 - 오토커밋 설정 1 - 오토커밋 해제 SET AUTOCOMMIT ●3. 이번에는 오토커밋 속성을 변경해보겠습니다. 해당 명령어를 실행하면 현재 사용자의 오토커밋 .. 2021. 11. 12.
MySQL - 테이블의 사용중인 저장엔진 알아보는 방법 / information_schema.TABLES 안녕하세요. 고코더 입니다. 저장엔진의 대해서 설명을 하였습니다. 그리고 이번 시간에는 데이터베이스의 테이블에서 사용중인 저장엔진을 알아보는 방법을 알아보겠습니다. ●1. 사용법은 "information_schema.TABLES" 을 이용합니다. 해당 테이블을 테이블의 정의 및 정보를 알 수 있는데 여기에 바로 저장엔진도 표시가 됩니다. SELECT engine FROM information_schema.TABLES where table_name='테이블'; ●2. 실행 후에 나타난 모습입니다. 해당 테이블의 저장엔진을 확인할 수 있습니다. ●3. 간혹 테이블에 트랜젝션이 실행되지 않는다면 해당 방법을 통해 InnoDB가 맞는지 확인해보세요. 2021. 11. 12.
MySQL - 쿼리를 지연 시키기 / SLEEP() 의도적으로 쿼리 지연 시키는 함수 안녕하세요. 고코더 입니다. 쿼리를 의도적으로 중단시켰다가 다시 실행할 수 있는 함수가 있습니다. 바로 SLEEP() 입니다. 이름 그대로 잠깐 잠들었다 진행되게 만드는 역할을 합니다. 사용법 ● 1. 해당 SQL을 실행하면 'start'가 표시되고 10초 후에 End가 표시됩니다. 중간이 끼어든 sleep() 함수가 잠깐 멈추고 진행시키게 때문입니다. SELECT 'Start'; DO SLEEP(10); SELECT 'End'; 사용하는 이유? ● 2. 사실 대부분 테스트 용도로 많이 사용하게 됩니다. 중간에 실행되는 쿼리를 살펴보고 싶거나 결과를 확인하고 넘어가고 싶을때 사용하기도 합니다. 그리고 실무에서는 아직 한번도 사용해서 개발을 해본적은 없지만 필요한 경우는 .. 2021. 11. 12.
MySQL -사용 가능한 저장엔진(Storage Engine) 알아보기 / SHOW ENGINES 현재 MYSQL 에서 지원하는 스토리지 엔진 알아보기 안녕하세요. 고코더 입니다. ● 1. 저장엔진에 대해서 간단하게 알아보았습니다. 그런데 정작 중요한 건 내가 사용하는 MYSQL에서는 어떤 스토리지 엔진이 사용 가능한지 알아야 합니다. 그래서 간단한 명령어로 이를 알아보는 방법이 있습니다. SHOW ENGINES ●2. mysql에 상에서 "SHOW ENGINES" 명령어를 실행합니다. 그러면 아주 친절하게 사용 가능한 저장 엔진의 목록이 펼쳐집니다. 그리고 간단한 설명과 함께 트랜젝션 여부까지 역시 친절한 데이터베이스입니다. ●3. MYSQL에서 나온 내용 그대로 해당 설명을 표로 남겨드립니다. engine suport comment transactions xa FEDERATED NO Federat.. 2021. 11. 12.