본문 바로가기

전체 글

(128)
[Spring] Spring Security Spring Security는 Java 기반의 애플리케이션에서 보안을 관리하고 구현하기 위한 프레임워크입니다. 주로 스프링 프레임워크와 함께 사용되며, 웹 애플리케이션과 RESTful API를 포함한 다양한 애플리케이션에서 인증(Authentication)과 권한 부여(Authorization) 기능을 제공합니다. 인증(Authentication): 사용자나 클라이언트가 누구인지 확인하는 과정입니다. 예를 들어, 사용자가 로그인할 때 사용자의 자격 증명(예: 사용자 이름과 비밀번호)을 확인하여 신원을 인증합니다.권한 부여(Authorization): 인증된 사용자가 어떤 자원이나 기능에 접근할 수 있는지 결정하는 과정입니다. 예를 들어, 관리자만 특정 페이지에 접근할 수 있도록 설정할 수 있습니다.보안 ..
[MSOffice] 단축키 Excel 엑셀 f2 : 편집모드f3 : 이름 붙여넣기f4 : 이전작업반복, 셀편집 (전체참조)f12 : 다른 이름으로 저장 ctrl + 1 : 셀서식ctrl + t : 표만들기ctrl + q : 분석도구ctrl + e : 빠른 채우기ctrl + f3 : 이름 관리자 (f3 이름 붙여넣기)ctrl + f5 : 이동 옵션ctrl + home :  1행 A열 이동ctrl + pg dw, pg up : 시트이동 ctrl + shift : 열선택shift + space : 행선택 ctrl + alt + v : 선택하여 붙여넣기ctrl + shift + j : 텍스트 자동 맞춤ctrl + shift + l : 필터ctrl + shift + 방향키 : 셀범위선택ctrl + shift + 숫자 : 서식변경ctrl +..
[ESMA Script] ES5, ES6, ES2020문법 ES61. let, var, const 대부분의 문제는 전역 변수로 인해 발생한다. 전역 변수는 간단한 애플리케이션의 경우, 사용이 편리하다는 장점이 있지만 불가피한 상황을 제외하고 사용을 억제해야 한다.전역 변수는 유효 범위(scope)가 넓어서 어디에서 어떻게 사용될 것인지 파악하기 힘들며, 비순수 함수(Impure function)에 의해 의도하지 않게 변경될 수도 있어서 복잡성을 증가시키는 원인이 된다. 따라서 변수의 스코프는 좁을수록 좋다. # var, let, const 차이점 5가지 1. 중복선언 가능 여부2. 재할당 가능 여부3. 변수 스코프 유효범위4. 전역객체 프로퍼티 여부  VARLETCONST중복선언 가능 여부가능불가능불가능재할당 가능 여부가능가능불가능변수 스코프 유효범위함수 레벨 ..
하이버네이트(Hibernate) & JPA(Java Persistence API) JPA (Java Persistence API)는 Java에서 관계형 데이터베이스(RDBMS)와의 상호작용을 관리하기 위한 표준 API입니다. JPA는 Java 객체를 데이터베이스의 테이블에 매핑하고, 객체-관계 매핑(ORM)을 통해 객체지향적인 방식으로 데이터베이스 작업을 수행할 수 있도록 도와줍니다. 하이버네이트(Hibernate)는 객체 관계 매핑(ORM)을 지원하는 자바 오픈 소스 프레임워크입니다. 여러 가지 메소드와 기능을 제공합니다.=> Hibernate는 JPA 규격을 구현한 구체적인 ORM 일반적으로 다음과 같은 메소드들을 사용할 수 있습니다. session.save(Object obj)객체를 데이터베이스에 저장합니다.session.update(Object obj)데이터베이스에 있는 객체를..
[Apache Common] Generic Object Pool 이 클래스는 객체 풀링(Object Pooling)을 구현하는 데 사용됩니다. 객체 풀링은 애플리케이션에서 자주 사용되는 객체를 미리 생성하고 관리하여 성능을 향상시키는 기법 중 하나입니다. GenericObjectPool은 제네릭으로 구현되어 다양한 종류의 객체를 풀링할 수 있습니다. 객체 풀링은 일반적으로 네트워크 연결, 데이터베이스 연결, 스레드 등과 같이 생성 및 소멸 비용이 높은 객체를 관리할 때 사용됩니다.  Eviction Thread는 객체 풀에서 사용되지 않는(유휴 상태의) 객체들을 주기적으로 제거하는 역할을 수행하는 백그라운드 스레드입니다. Abandoned objects(유실된 객체)는 애플리케이션에서 객체를 풀에서 가져왔지만, 해당 객체를 반환하지 않고 그대로 버린 경우를 가리킵니다..
[JAVA] 부동 소수점 오차, BigDecimal 1. 부동 소수점 방식 오차 부동 소수점 방식은 고정 소수점 방식보다 훨씬 더 많은 범위까지 표현할 수 있지만, 항상 오차가 존재한다는 단점을 가지고 있다. 부동 소수점 방식에서 오차는 위에서 살펴본 공식에 의해 발생한다. 해당 공식을 사용하면 표현할 수 있는 범위는 늘지만, 10진수를 정확하게 표현할 수는 없다. (무한소수, 순환소수의 경우 가수부가 표현할 수 있는 비트 수를 넘어가게 되면 손실되는 부분이 생기기 때문, 실수 또한 이진수로 표현하기 때문에 가수부가 1/2^n 꼴로 표현되는 경우만 오차없이 정확하게 값이 계산된다.) float형 타입이 소수 6자리까지는 정확하게 표현할 수 있으나, 그 이상은 정확하게 표현하지 못함을 보여준다. 자바의 double형 타입은 소수부분 15자리까지 오차없이 표..
[JAVA - NIO] New Input/Output & Netty Java NIO(New I/O)는 자바의 표준 입출력 API인 java.io 패키지를 대체하거나 보완하는 기능을 제공하는 패키지입니다. 주로 대용량 데이터를 처리하거나 성능을 최적화할 필요가 있는 경우 사용됩니다. 자바 NIO는 비동기적이고, 블로킹이 아닌(non-blocking) 입출력 작업을 지원하는 것이 특징입니다. 1.  blocking IO  블로킹 I/O는 입출력 작업이 완료될 때까지 현재 실행 흐름이 차단(block)되는 방식입니다. 입출력 작업이 시작되면 해당 작업이 완료될 때까지 다른 작업을 수행할 수 없습니다. 이러한 차단은 입출력 작업이 완료되기 전까지 스레드가 대기하며, 작업이 완료되면 스레드는 결과를 반환하고 다음 작업을 수행합니다. 스레드가 입출력 작업을 기다리는 동안 블로킹되기..
[SpringBoot] 스프링부트 오류모음 1. thymeleaf에서 template를 못찾는 오류   1. thymeleaf에서 template를 못찾는 오류 에러발생 - thymeleaf 를 사용하면서, Intelli J에서 개발할 때는 이상 없이 html 파일을 찾아가며 화면이 노출되었는데, 리눅스 환경(AWS)에서 jar로 build 하고 외부에서 실행하면 아래와 같은 에러를 발생시키면서 화면에 접근하지 못하는 경우가 생긴다. 해결 - Controller에서 return 하여 html 파일을 불러오는 경로가 문제- 이 에러를 해결하기 위해 경로에 / 를 제거  2.