분류 전체보기 954

LocalStorage

브라우저에서 제공하는 클라이언트의 컴퓨터에 데이터를 저장할 수 있는 저장소이다. localStorage.getItem(key); localStorage.setItem(key, value); localStorage.removeItem(key); localStorage.clear(); clear()는 모두 지우는 것이다. LocalStorage는 쿠키보다 많은 용량, 그리고 문자열 뿐만 아니라 객체와 원시타입도 저장할 수 있다. LocalStorage는 사용자의 개인정보말고 . 아무래도 쿠키도 그렇고 이것도 그렇고 보안에 민감하다. 사용성을 위한 저장이나, 로그인 정보도 여기에 저장하려는 사람이 있기는 있다. 한다면 패스워드는 해시화 해서 저장하려나. 서버에서도 같은 해시 쓰고. 서버에서 패스워드는 해시값으..

@mixin

@mixin center{ display: flex; justify-content: center; align-items: center; } @mixin box($size : 150px) { width:$size; height: $size; background-color: aqua; } .container{ width: 400px; height: 400px; background-color: orange; @include center; .item{ @include center; @include box(200px); background-color: royalblue; } } 미리 정의해 두는.. 마치 예전에 따로 중복되는 속성 재사용 하려고 클래스 만들어서 썼었던 것 처럼.. 근데 얘네는 인자도 넣을 수 있음..

연산

div{ width: 20px + 20px; height: 40px - 20px; font-size: 30px * 2; margin: (20px / 2); padding: 30px % 7; } 연산자와 피연산자 끼리 붙여도 떨어뜨려도 상관없다. 인지해야 할 것이, / 나누기는 ()괄호로 묶어줘야 한다. 왜냐하면, 우리 css 쓸 때 생각해보면 background : url(~~~~) no-repeat center / cover 이런 식으로 '구분자'로 /를 쓴다. 그래서 나누기는 괄호로 묶어야 한다. 아니면 calc() 속성 그냥 쓰던지.. (단, calc() 사용할 때는 연산자와 피연산자 끼리 떨어뜨려 놔야 함.)

66. BasicErrorController가 제공하는 정보들

스프링 부트가 자동으로 등록해주는 BasicErrorController는 timestamp status error exception trace message errors path 등을 model에 담아주기에, 이걸 템플릿에서 활용할 수 있다. 하지만 저걸 그래서 템플릿에서 모델에 넣어준 걸 꺼내서 템플릿에 뿌려보면.. 해커의 맛있는 밥이다. 그래서 사실, 원래 저렇게 안나온다. 저거는 내가 application.properties에 server.error.include-exception=true server.error.include-message=always server.error.include-stacktrace=always server.error.include-binding-errors=always ..

65. 스프링 부트 오류페이지

우리가 지금까지 오류페이지를 등록할 때, 에러페이지 컨트롤러를 따로 만들고, 그걸 @Component public class WebServerCustomizer implements WebServerFactoryCustomizer { @Override public void customize(ConfigurableWebServerFactory factory) { ErrorPage errorPage404 = new ErrorPage(HttpStatus.NOT_FOUND, "/error-page/404"); ErrorPage errorPage500 = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/error-page/500"); ErrorPage errorPageEx ..