본문 바로가기
  • 마침표 보다 쉼표를 나타내자
728x90

프로그래밍69

인텔리제이 전자정부프레임워크 4.2 세팅 및 실행 정자정부프레임워크 4.2를 인텔리제이에서 실행시켜보자! 훌륭한 가이드가 존재하지만필자는 공부하기 위해서 이글을 남긴다. 가이드 : https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:dev4.2:gettingstarted egovframework:dev4.2:gettingstarted [eGovFrame]본 가이드는 전자정부 표준프레임워크 기반의 단순한 응용프로그램(HelloWorld)를 직접 실습해 봄으로써 빠른 시간 내에 전자정부 프레임워크의 기본 기능을 파악하기 위하여 제공한다. 본 가이드www.egovframe.go.kr 기본적인 환경JDK 17이클립스 2022-12환경세팅 하기https://www.egovframe.go.kr/wiki/doku.. 2024. 7. 28.
서브쿼리 EXISTS 서브 쿼리 EXISTS에 대해 알아보자!! EXISTS를 언제 쓰지? SQL에 대한 공부없이 주구장창 코드만 짜게되면 다른 명령어는 모른채 SELECT 문에 SELECT 로 덕지덕지 붙어있는 서브쿼리문을 볼 수 있다...😇 그러면 !! 평소에 사용하던 서브쿼리 구문부터 보자. SELECT * FROM customers C WHERE customer_id IN (SELECT customer_id FROM orders O WHERE O.customer_id = C.customer_id ); 간단히 고객테이블로 예시를 들었다. orders 테이블의 모든 customer_id 를 가져와서 임시집합이 생기고 customers 테이블의 customer_id 가 이 집합에 속하는지 비교하게 된다. 아하.. 점점 고객.. 2024. 3. 20.
데이터베이스란? 기초부터 간단히 집고 넘어가자!! 취업하기 위해 프로젝트를 급급하게 만들다 보면 이해도가 많이 떨어지기에 하나씩 알아보도록 하자. SQL 카테고리를 여는 첫 글이기에 개념으로 시작하기로 했다. SQL이란? Structured Query Language 데이터베이스를 쓰기 위해 배워야하는 언어이다. 흔히 쿼리문이라고 말할 때 이 언어를 일컫는 것이다. 구조에 대하여 1. 데이터 : 가장 기본적인 단위 2. 필드 : 레코드를 구성하는 기본단위 - 속성값이 있는 데이터 3. 레코드 : 테이블을 구성하는 기본요소 4. 테이블 : 레코드의 모임 생각하기를 데이터가 모여 필드를 이루고 필드의 모임이 레코드이며 레코드가 모여서 테이블을 만든다. 이렇게 생각하면 쉽게 이해할 수 있다. Key에 관해 1. 기본키 Pri.. 2024. 3. 10.
백준 문제 풀기 면접에서 부족함을 배우다 언어라는 것은 사용하지 않으면 잊혀진다. 그래서 다시 바로 세우기 위하여 문제를 풀고 있다. 열심히 했다고 생각했지만 더 열심히 해야한다고 생각하고 있다. 하루 공부하는 시간이 매우 빠듯하다 더 세분화된 계획을 하여 공부해야겠다. 자격증, 자바, 파이썬, 딥러닝, 도커, 리눅스, 우분투 등등 해야할 것이 많다. 열심히 하도록 하자 !! 2023. 6. 23.
Thymeleaf 기본 객체 Thymeleaf 안에 여러 종류의 기본 객체로 코드를 쉽게 짤 수 있다. ( 예를 들어 문자, 숫자, 파라미터 등등 이다. ) 예제로 화면에 출력되는 숫자를 모두 5자리로 만들어보자. [[${#numbers.formatInteger(dto.sno, 5)}]] 위 코드 처럼 포맷팅이 가능하다. 프로젝트 내 파일 ( build.gradle ) 에 아래의 구문을 추가하고 코끼리 아이콘을 클릭하면 자동으로 다운이 되나보다. dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' compileOn.. 2023. 4. 4.
리다이렉트가 필요한 이유 ( 포워드 차이점 ) 쇼핑몰로 예를 들겠습니다. 이 쇼핑몰에는 회원 등급이 매겨져 있습니다. ( 게스트, 일반, vip, vvip 등등 ) 같은 쇼핑몰의 이용자라도 특정 등급이 되어야만 열람할 수 있는 게시글이 있습니다. 즉, 특정 게시물의 접근 권한을 부여해야 한다는 것입니다. 만약에.. 등급을 요하는 게시글의 URL을 알아내여 주소창에 입력해서 접근을 한다면 권한이 없으니 응답하지 말아야 합니다. 그러니 글에 접근하려고 시도할때마다 권한을 검사하도록 리다이렉트를 시키는 겁니다. ( 로그인이 안되어있으면 로그인 페이지로 리다이렉트 함 ) 라다이렉트와 포워드의 차이점 특정 URL을 사용자가 접속시 리다이렉트, 포워드가 일어나게 되면 작업 중인 페이지가 전환된다. 이렇게만 두고 본다면 이 둘의 차이점을 느낄 수가 없다. 겉을 .. 2023. 4. 3.
제어문 처리 ( Thymeleaf편 ) - 4 - 링크 처리에 대해 알아보자. Thymeleaf 에서의 링크는 @{ } 를 이용해야 한다. 아래의 내용은 SampleController 내용중 일부 이다. @GetMapping({"/ex2", "/exLink"}) public void exModel(Model model){ List list = IntStream.rangeClosed(1, 20).asLongStream().mapToObj(i->{ SampleDTO dto = SampleDTO.builder() .sno(i) .first("First....." + i) .last("Last......" + i) .regTime(LocalDateTime.now()) .build(); return dto; }).collect(Collectors.toList().. 2023. 4. 3.
제어문 처리 ( Thymeleaf편 ) - 3 - th:block 에 대해 알아보도록 하자. th:block는 특이하게 태그를 붙여서 쓰는 구문이 아니다. 예문을 살펴보자 실제 화면이 실행이 되면 위의 코드는 html로 처리 되지 않는다. 그리하여 루프 등을 별도로 처리하는 용도로 사용된다고 한다. 2023. 4. 3.
제어문 처리 ( Thymeleaf편 ) - 2 - 이번에는 inline 속성에 대해 알아보도록 하자. inline 속성은 개발에 가장 많은 도움을 준다고 한다. 주로 javaScript 를 처리 할때 편리하게 사용된다. 코드의 일부분을 따왔다. 태그에 th:inline 속성을 추가하여 자바 스크립트를 연결 시킨다. 예제들을 따라해보면.. 따로 처리한 구문이 없어도 DTO에서 가져온 값들이 JSON 포맷의 문자열로 된 것을 볼수가 있다. 2023. 4. 3.
제어문 처리 ( Thymeleaf편 ) - 1 - Thymeleaf 에서 제어문 처리를 어떻게 하는지 알아보자 마찬가지로 th: 를 적고 원하는 처리 값을 입력 하는 방식이다. th:if 는 보이는 대로 if문인데 다른 언어와 다른 점이 존재한다. 다른 언어들은 if~ else 가 하나의 묶음으로 처리가 되지만 이 언어는 단독으로 처리 된다. 다음 코드를 보자 다음과 같이 로 나누어진 모습을 보인다. 여기서도 css를 적용시킬수가 있다. 이와 같이 특정한 상황에서만 class 속성값이 입혀지고 나머지 값들은 값을 충족하지 않기에 class 속성이 입혀지지 않는 것을 확인 할수 있다. 2023. 4. 3.
Thymeleaf를 사용하는 프로젝트 Thymeleaf를 사용하기 위해서는 프로젝트를 생성할때 템플릿 엔진 항목에서 Thymeleaf를 추가한다. Thymeleaf를 이용하는 프로젝트는 변경 후 만들어진 결과를 보관(캐싱)하지 않도록 설정 해두는 것이 편리합니다. 이 말의 뜻을 아직까지 잘 모르겠다.... 하다보면 보관하면 안되는 이유를 알지 않을까 싶다. 설정법은 다음과 같다. application.properties 파일에 아래의 구문을 넣어준다. spring.thymeleaf.cache=false 책의 예제를 따라해보려고 한다. 우선은 SampleController 클래스를 추가해 보자 첫번째로 잘 작동하는지 알아보기 위해 SampleController 에 @Log4j2 를 적용을 한다. 아하... 그러면 의문점이 생긴다 @Log4j2.. 2023. 4. 3.
스프링 내용 정리 - 2 - 포트 번호 설정을 잊지말자 상위 폴더에 아무 내용이 없으면 아에 표시가 안보인다. 없을 때 ( compact ) 처리가 된다. ----- 하위 폴더를 '.' 으로 표시 된다. 따라서 위에 설정을 눌러서 Compact Middle Packages를 클릭하여 이렇게 폴더구조가 모두 보이게 된다. 마치 이클립스에서 패키지를 만들때 '이름.이름' 으로 만든 기억이 난다. ( 이클립스에서도 폴더구조를 볼수 있도록 해야겠다 ) 2023. 3. 31.
728x90