본문 바로가기

전체 글

Reactive App, Responsive Web and Adaptive Web... and... and... Reactive vs Responsive한글로 번역하면 모두 '반응형'이라는 단어로 번역되어 버렸다.해서 반응형 웹을 먼저 접한 나에게 react 라는 단어는 원자로(nuclear reactor)에나 등장하는 용어였다.이후에 등장한 react.js 로 부터 '반응형'이라는 번역은 혼란을 가져왔다.   Responsive Web(반응형 웹)은 이전의 데스크탑 위주의 브라우저 환경에서 벗어나 태블릿, 휴대폰 등 여러 크기의 브라우저에서 동일한 콘텐츠를 접할 수 있도록 디자인한 웹을 말한다.1 개의 웹을 만들어서 크기에 "대응" 해서 컨텐츠의 레이아웃 등이 변경되는 웹이다.* "대응"형 웹 이라고 번역했으면 좋지 않을까 생각해 본다. Adaptive Web(적응형 웹)은 반응형과 달리 특정 해상도에 "맞춤형".. 더보기
[소개] 숫자연산 big.js, 날짜처리 luxon.js 현재 자바스크립트는 전 세계에서 가장 많이 사용되는 언어 중에 하나이며 강력한 언어이기도 합니다. 배우기도 비교적 쉬우며 최근에는 Front-end 뿐만 아니라 Back-end 프로그래밍 언어로도 많이 사용하고 있습니다. 그.러.나. 자바스크립트를 사용하다 보면 주의해야 할 사항들이 몇 가지 있는데  가장 많이 알려진 것이 자동세미콜론추가(Auto Semicolon insertion)로  문장마지막에 세미콜론을 추가하지 않을경우 인터프리터가 수행 시에 자동추가해서 수행하는 기능입니다. 최근에는 엔진들이 많이 개선되어 자동세미콜론추가의 경우 문법을 판단하고 추가하기는 하지만 잘못하면 의도하지 않은 오류를 발생시키기도 합니다. 오늘 이야기 할 것은 자동세미콜론추가가 아니고 숫자연산과 날짜처리 입니다. 1. .. 더보기
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에서 지워야 한다.. 더보기