목록분류 전체보기 (269)
Coding Planet
| 탄소국경조정제도(CBAM, Carbon Border Adjustment Mechanism)란? 탄소국경조정제도(CBAM, Carbon Border Adjustment Mechanism)는 유럽연합(EU)이 기후 변화 대응을 위해 도입한 정책으로, 다음과 같이 간단하게 정리할 수 있습니다 1. 목적 EU 외부에서 생산된 탄소 집약적 제품들이 EU 내 시장에 진입할 때 공정한 경쟁을 보장하고, 기후 변화에 대응하기 위해 탄소 배출을 줄이는 것입니다. EU 외부에서 수입되는 제품들이 EU 내부에서 생산된 제품과 비슷한 환경 기준을 충족하도록 함으로써, 탄소 누출(carbon leakage)을 방지하고 글로벌 탄소 배출 감축을 촉진합니다. EU의 역내 환경규제를 강화할수록 생산시설이나 규제 수준이 낮은 지역..
코로나로 인한 경기침체를 극복하기 위해 세계의 각 정부는 경기부양정책을 폈다. 특히 기준금리를 낮춰 투자, 소비를 촉진시키기 위한 저금리 정책이 장기간 이어졌다. 백신의 보급으로 코로나가 잠잠해지면서 경기가 활성화되고 그동안 시장에 풀린 자금으로 인해 인플레이션이 전세계적으로 큰 문제가 되었다. 이러한 인플레이션을 진정시키기 위해 기준금리 인상이 이루어지는 한편 여러 정부 정책이 등장했다. 인플레이션 감축법(Inflation Reduction Act)란? 미국의 바이든 대통령은 작년 8월 16일 인플레이션 감축법에 사인했다. 인플레이션 감축법이란 궁극적으로 전 세계적 인플레이션 상황에서 "미국 국민 생활 안정화"를 추구하는 법안이다. 이 법은 주로 기후 변화, 의료, 그리고 세제 개혁에 중점을 두고 있으..
게시판의 검색기능을 구현하면서 필터링이 안되는 문제가 있었다. 이것저것 해보고 심지어 chatGPT한테도 물어보고 난리를 쳤지만 그 원인을 알 수 없었다. 파라미터들도 정상적으로 들어오고 있었기 때문에 sql에서 필터링이 안되는 문제인 것 같아서 쿼리문을 유심히 보던 도중 test 조건에 대한 오류를 발견했다. 1. 기존 쿼리: 필터링 안됨 문제의 원인은 조건에 문제가 있었다. test 이하 조건을 작은 따옴표(' ')로 감싸고 비교대상 문자열을 큰 따옴표(" ")로 감싸줬어야하는데 반대로 한 것이다. select row_number() over (order by notice_board_no) as rownum, notice_board_no, notice_board_type, notice_board_su..
메뉴가 많고 계층구조로 이루어져 있을 때 메뉴탐색을 쉽게하기 위하여 드롭다운으로 구현한다. 1. html 코드 게시판 관리 공지사항 관리 자료실 관리 FAQ 관리 QnA 관리 게시판 관리 사용자 관리 권한 관리 메뉴 관리 접속 이력 관리 사용자별 메뉴별 데이터 관리 2. javaScript 코드 //lnb $(".lnbList > ul").on("click", "li", function(e){ if ($(e.target).is('.lnbCnt a')) { // 하위 메뉴의 a 태그 클릭 시 기본 동작 수행 return; } e.preventDefault(); // 상위 메뉴의 a 태그 클릭 시 기본 동작 방지 if($(this).hasClass("active") == false){ $(".lnbList ..
새로운 테이블을 만들 때(tb_new) create문 단계에서 기존 테이블의 스키마(column정보)를 복사해올 수 있다. 데이터는 insert문을 통해 복사해올 수 있다. CREATE TABLE tb_new AS TABLE tb_old WITH NO DATA; INSERT INTO tb_new SELECT * FROM tb_old ; SELECT * FROM tb_new ;
| PRG 패턴 웹 개발에서 사용되는 패턴으로 사용자가 폼을 제출한 후 새로 고침을 누르면 동일한 데이터가 중복 제출되는 문제를 방지하기 위해 사용된다. 이럴 경우 동일 게시물이나 같은 주문이 반복되어 이루어 질 수 있다. 이 패턴은 다음과 같은 단계로 동작한다. 1. POST: 사용자가 웹 양식을 작성하고 제출하면, 데이터는 POST 요청을 통해 서버로 전송된다. 2. Redirect: 서버는 데이터를 처리한 후, 사용자를 다른 페이지로 리다이렉트(예: 성공 페이지, 리스트 페이지 등)한다. 이때 리다이렉트는 GET 요청을 사용한다. 3. GET: 브라우저는 서버로부터 받은 리다이렉션 지시에 따라 GET 요청을 하여 새 페이지를 로드한다. 이 패턴의 핵심은 POST 요청으로 데이터를 전송한 직후에 브라..
쿼리문 작성하던 도중 위와 같은 오류 발생. myBatis와 postgreSQL로 개발 중이었다. 이 경우 실행하기도 전에 오류가 발생한 것으로 인텔리제이 설정 자체 문제이다 (만약 실행 중 발생하는 런타일 오류 ' java.lang.IllegalArgumentException' 가 발생한 경우에는 ResultMap의 VO의 변수가 String이 아니라 date인지 확인해봐야 한다. to_char는 문자열형으로 바꿔주므로 VO에 선언된 변수가 String이어야한다.) 사실 런타임 오류가 대부분이지만 나와 같은 경우는 아래와 같이 설정을 바꿔주면 된다. File > Settings (또는 Preferences on macOS)를 선택 Languages & Frameworks > SQL Dialects를 선..
1. 기본 폴더 구조 : layouts/tiles 2. LayoutController - top, left menu 그려주는 메서드 - 권한별로 다른 메뉴를 보여주기 때문에 필터링 필요 - 처리 후 jsp 경로 반환 (return "layouts/common/TopMenu") - 각 메서드는 c:import로 호출되는데 이 때 ~.do 로 가상의 경로를 만들어서 호출한다. 3. viewResolver 설정 @Bean public TilesConfigurer tilesConfigurer() { final TilesConfigurer configurer = new TilesConfigurer(); String[] definitions = {"classpath:tiles/tiles.xml"}; configur..
| View Resolver란 뷰 리졸버는 스프링 MVC 웹 어플리케이션에서 중요한 컴포넌트 중 하나이다. MVC 패턴에서 컨트롤러가 처리를 마친 후에 어떤 뷰로 응답을 생성할지 결정하는 역할을 한다. | View Resolver의 역할 뷰 이름의 매핑 : 컨트롤러는 특정 뷰를 식별하기 위해 문자열 형태의 뷰 이름을 반환한다. 뷰 리졸버는 이 이름을 실제 뷰 템플릿 파일로 매핑한다. 예를 들어 컨트롤러가 "home"이라는 뷰 이름을 반환하면, 뷰 리졸버는 이를 "home.jsp"나 "home.html"같은 실제파일로 변환할 수 있다. 다양한 뷰 기술 지원 : 스프링 MVC는 다양한 뷰 기술을 지원하며 이를 위해 여러 뷰 리졸버를 재공한다. JSP, Thymeleaf, FreeMarker 등 다양한 템플릿..
아래 포스트는 https://www.geeksforgeeks.org/introduction-to-less/의 내용을 번역, 요약, 발췌한 것입니다. | SASS란? SASS는 Syntactically Awesome Style Sheets의 약어이다. SASS는 변수, nesting, import, 믹스인, 상속 등의 고급 문법을 사용할 수 있다. 이렇게 작성된 문법은 프로그램에 의해 자동으로 CSS 파일로 컴파일되어 웹사이트에 적용된다. SASS에는 두 가지 유형의 문법이 있다. 1) SCSS(Sassy CSS): 현대적인 문법으로, CSS와 유사하며 `.scss` 확장자를 사용다. 2) Indented syntax(또는 sass): 오래된 문법으로, 들여쓰기를 기반으로 하며 `.sass` 확장자를 사용..