본문 바로가기

Bootstrap 4 와 AdminLTE 3 부트스트랩(Bootstrap)은 2011년 8월 19일 트위터에서 발표한 반응형 웹 디자인(Responsive Web Design)을 지원하는 오픈소스 CSS,JS 프레임워크 이다. * 트위터는 2024년 현재 X(엑스) 로 사명이 바뀌었다. CEO는 따로있지만 영향력 있는 인물은 우리가 아는 바로 그분(일론 머스크) 이다. 로켓 회사와 소셜미디어 회사이름이 유사한것이 포인트. 부트스트랩 초기 이름은 트위터 블루프린트 였다.(위키백과 참조) AdminLTE는 Bootstrap 기반의 Admin Dashboard 탬플릿 이다. 1,2 버전을 거쳐서 현재(2024.01) 3 버전이다. * GitHub 에는 Bootstrap 5 를 지원한다고 하는데 공식사이트 문서에는 Bootstrap 4 기반이라고 나온다...
CSS 전처리기(Pre-Processor) CSS(Cascading Style Sheet) 란 CSS(Cascading Style Sheet)는 마크업 언어(HTML, XML 등)가 실제 표시되는 방법을 기술하는 스타일 언어로 W3C(The World Wide Web Consortium) 에서 관리하는 표준이며 1996년 12월 17일 에 최초로 발표되었다. 버전은 2.1 까지 버전 2라고 부르고 이후 버전들을 3이라고 부른다. W3C를 보면 level로 관리하고 있다. 버전 2 이후부터는 CSS 구성요소별 level 을 두어 관리하고 있다. 강력한 그러나 까다로운 CSS는 굉장히 강력한데 https://csszengarden.com/ 사이트를 방문해 보면 동일한 내용의 HTML 을 CSS만 변경해서 8가지 (Mid Century Modern, ..
Spring Transaction Timeout 설정하기 *Spring XML 기반의 설정 및 어노테이션 설정을 기준으로 설명합니다. DB를 조회하다 보면 여러 이유에서 응답이 느려질 경우가 있다. 튜닝등을 통해서 개선들을 할 수 있겠으나 프로그램 입장에서는 마냥 기다릴 수 없을 경우가 발생한다. DBMS에서 timeout을 설정해 응답을 차단할 수 있겠으나 프로그램에서도 Timeout을 설정할 수가 있다. 안전한 운영을 위해서 프로그램에서 DB응답 Timeout을 설정하는 방법을 알아보자. 1. org.springframework.jdbc.datasource.DataSourceTransactionManager 에 Default Timeout 설정하기 Transaction 설정 xml 에서 DataSourceTransactionManager 속성에 defaul..
[사례] 업로드 용량 제한 고객사 서비스 구축 중에 발생한 사례로 첨부파일 기능 사용 중에 Spring 등에서 설정하지 않았음에도 특정용량이 되는 파일을 업로드할 경우 업로드가 되지 않는 상황이 발생함. [구성] WEB - TOMCAT JDK 1.8x [검사] 1. 브라우저에서 업로드 컴포넌트와 그외 관련된 추가 파라미터들이 정상적으로 값을 가짐을 확인 2. 서버로그상에서 추가 파라메터들은 정상적으로 넘어옴을 확인했으나 파일컴포넌트 부분만 전송되지 않음 [확인결과] TOMCAT 에는 설정되지 않았으나 WEB 에서 용량제한 설정됨. WEB에서 해당 부분 수정처리 이후 정상 동작 확인함.
관심을 가져보자 - SOAP, REST, GraphQL API(application programming interface) 란 "컴퓨터나 컴퓨터 프로그램 사이의 연결"이라고 위키피디아에서는 정의하고 있었다. 이런 API 는 작게는 컴퓨터 프로그램이었지만 이제는 '서비스' 간에 연결을 지원해 주고 있다. SOAP는 SOA(Service-oriented architecture) 개념을 구현, REST는 ROA(Resource-oriented architecture)의 개념을 구현했다. SOA 든 ROA 든 상호 데이터를 주고 받기위한 개념인데 최근 대형시스템에서 뿐만 아니라 소형시스템에서도 뜨거운 개념이 MSA(Micro Service Architecture)이다. 이는 SOA -> ROA -> MSA 로 변화하는 것 같지만 핵심은 "상호 (데이터를) 주고받는..
Tomcat 보안 설정 오래된 Java WAS(정확히는 Servlet Container)인 Tomcat을 안전하게 운영하기 위한 설정을 알아보자. 1. 불필요 폴더 삭제 Tomcat을 설치하면 기본 appBase 인 wepapps 폴더에 예제(example), 문서(docs) 등 여러 가지 context들이 있다. 이들 대부분은 구성에 따라 사용하기도 하지만 사용하지 않는 것들이 있다면 모두 지워야 한다. 2. 계정정보 변경 /conf/tomcat-users.xml 에 role, user 정보를 운영에 맞도록 설정한다. wepapps에 배포(deployment) 시에 manager 등을 사용하지 않을 경우 이 부분은 설정하지 않도록 한다. manager 등을 사용하지 않는다면 webapps에서 지워야 한다. 3. 서버정보 노출..
Tomcat 기본 에러 페이지 설정 SI 프로젝트를 하다 보면 보안점검 중에 모의해킹을 진행하는 경우가 있는데 Proxy 도구를 이용해서 Tomcat의 에러페이지를 공격하는 경우가 있다. 전달해 준 보안가이드 상으로는 web.xml에 에러페이지를 설정하라고 되어있지만 Proxy 도구를 이용해서 직접공격을 할 경우 웹애플리케이션으로 가기 전에 Tomcat에서 에러페이지를 표시해 버린다. 다음은 Tomcat의 기본에러 페이지 설정에 관한 내용이다. 1.Tomcat 기본에러 페이지 설정 server.xml에서 Valve 태그 중 ErrorReportVale를 이용해서 설정한다. showReport="false": 상세 에러내용 표시하지 않음(default: true - 상세내용 표시) showServerInfo="false": 페이지 하단에 T..
[秘傳] 객체지향 개발 5원칙: SOLID 비전(秘傳), 비급(秘笈) 이란 무엇일까? ​ 고수들만의 '특별한' 기술을 두루마리, 책 등으로 적어 전하는 것을 의미하는데 ​ 낮은 레벨의 경우 알아보지도 못하기도 하고 알아보더라도 '깊은'의미를 이해하지 못하기도 한다. ​ '이해'하더라도 '활용'하지 못하는 경우가 많다. '몸'으로 채득해야 모든 것을 자기 것으로 만들지 모르겠다. 비전[秘傳] 객체지향 개발 5원칙(客體指向 發展 五原則: "SOLID" ) ​ - 로버트 R 마틴(Robert Reinhold Martin: 羅伯特 R 馬丁), 마이클 페더스(Michael Feathers: 麥可 費瑟斯) ​ ​ 서문(序文) ​ 우리가 프로그래밍을 하면서 이런 원칙들이 왜 필요한건지 생각해 볼 필요가 있다. ​ '원칙(原則: Principle)'이라고 썼지..