728x90

배우고 익혀 널리 알리자 38

[Web] localStorage와 sessionStorage 차이점

프로젝트 진행하다가 localStorage랑 sessionStorage를 의도하지 않게 많이 쓰다보니 궁금증이 생겨서 잠깐 메모 localStorage / sessionStorage 란? web상에서 사용되고 있는 저장소이다. 이 둘의 차이점은 저장소의 기능은 동일하지만, sessionStorage의 경우 세션이 종료되면 저장된 데이터도 함께 사라진다. localStorage local에 도메인 별로 지속되는 storage localStorage는 시간제한이 없고, 브라우져가 종료되어도 사라지지 않는다. 해당 값을 삭제하려면 직접 삭제해야함 sessionStorage 세션이(프로세스, 탭, 브라우저) 종료될때까지 지속되는 storage. 세션이 종료되면 소멸된다. 쿠키(Cookie)와 localStora..

[Web] SSO란 무엇인가?

1. SSO란 무엇인가? Single Sign-On의 약자로 여러 개의 사이트에서 한번의 로그인으로 여러가지 다른 사이트들을 자동적으로 접속하여 이용하는 방법을 말합니다. 일반적으로 서로 다른 시스템 및 사이트에서 각각의 사용자 정보를 관리하게 되는데, 필요에 따라서 사용자 정보를 연동하여 사용해야 하는 경우도 생기게 됩니다. 이 때, 하나의 사용자 정보를 기반으로 여러 시스템을 하나의 통합 인증을 사용하게 하는 것을 말합니다. 즉 하나의 시스템에서 인증을 할 경우 타 시스템에서는 인증 정보가 있는지 확인하고 있으면, 로그인 처리를 하도록 하고, 없는 경우, 다시 통합 인증을 할 수 있도록 만드는 것을 의미합니다. 즉, 하나의 아이디 및 패스워드를 통해 여러 시스템에 접근할 수 있는 통합 로그인(인증) ..

[Server]세션 클러스터링이란? Session Clustering

세션 클러스터링(Session Clustering) 이란? 두 대 이상의 WAS를 이용하는 경우 로드 밸런싱(대용량 트래픽 처리시 분산시키는 것) 또는 failover(장애 발생시 예비시스템으로 자동전환, 서버 이중화), auto scaling(AWS에서 EC2 인스턴스를 자동으로 생성하고 삭제해주는 서비스) 등의 대체된 WAS에게도 세션이 공유하게 하는 기술이다. 이 과정에서 고려해야할 점은 세션 정보 저장 영역을 늘리기 위해선 JVM 의 Heap 사이즈를 늘릴 수는 있지만 너무 늘리게 되면 "Full GC" 처리 시간 때문에 장애요인이 발생 할 수 있다. 클러스터 특징 1) 노드 장애 시 다른 노드에서 클라이언트와 통신 하여 서비스 제공 ex) Multicast통신 2) 부하 분산(LB)를 통해 성능..

[Server] Cache(캐시) 란?

1. 캐시(Cache)란? Cache란 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킴. 아래와 같은 저장공간 계층 구조에서 확인할 수 있듯이, 캐시는 저장 공간이 작고 비용이 비싼 대신 빠른 성능을 제공. Cache는 아래와 같은 경우에 사용을 고려하면 좋다. 접근 시간에 비히 원래 데이터를 접근하는 시간이 오래 걸리는 경우(서버의 균일한 API 데이터) 반복적으로 동일한 결과를 돌려주는 경우(이미지나 썸네일 등) Cache에 데이터를 미리 복사해 놓으면 계산이나 접근 시간 없이 더 빠른 속도로 데이터에 접근할 수 있다. 결국 Cache란 반복적으로 데이터를 불러오는 경우에, 지속적으로 DBMS 혹은 서버에 요청하는 것이 아니라 Memory에 데이터를 저장하였다가 불러다 쓰는 것을 의..

Spring Data & JPA & Hibernate 차이점

Spring Data JPA Spring Data JPA는 Spring Framework에서 제공하는 모듈 중 하나로, 개발자가 JPA를 좀 더 쉽고 편하게 사용 할 수 있도록 도와준다. 특징을 잠깐 살펴보자면, Hibernate와 같은 구현체들을 좀 더 쉽게 사용할 수 있도록 추상화한 것. JPA를 한 단계 추상화시킨 Repository 인터페이스를 제공. 개발자가 Repository 인터페이스에 정해진 규칙대로 메소드를 입력하면, Spring이 알아서 해당 메소드 이름에 적합한 쿼리를 날리는 구현체를 만들어서 Bean으로 등록. Hibernate와 Spring Data JPA를 사용하는 데에는 사실 큰 차이가 없지만 Spring Data JPA가 권장되는 이유는 크게 두 가지. 구현체 교체의 용이성 ..

함수형 프로그래밍의 목적

프로그래밍 패러다임(Programming Paradigm) 프로그래밍 패러다임(Programming Paradigm)은 프로그래머에게 프로그래밍의 관점을 갖게 하고 코드를 어떻게 작성할 지 결정하는 역할을 한다. 새로운 프로그래밍 패러다임을 통해서는 새로운 방식으로 생각하는 법을 배우게 되고, 이를 바탕으로 코드를 작성하게 된다. 최근의 프로그래밍 패러다임은 크게 아래와 같이 구분할 수 있다. 명령형 프로그래밍: 무엇(What)을 할 것인지 나타내기보다 어떻게(How) 할 건지를 설명하는 방식 절차지향 프로그래밍: 수행되어야 할 순차적인 처리 과정을 포함하는 방식 (C, C++) 객체지향 프로그래밍: 객체들의 집합으로 프로그램의 상호작용을 표현 (C++, Java, C#) 선언형 프로그래밍: 어떻게 할건..

Maven과 Gradle 차이

이클립스 기반으로 개발할때는 Maven이 일반적이었는데, 인텔리제이를 접하게 되면서 Gradle이라는 녀석을 알게 되었다. 도대체 이 두 녀석의 차이가 뭔지 알아볼 필요성을 느꼈다.. Maven 이란? 프로젝트를 하다보면 본인의 코드만으로 개발을 하는것이 아닌 수많은 Library들을 활용하여 업무를 진행하게 된다. 만약 이러한 라이브러리들이 수십새가 넘어버린다면 관리를 하는것은 당연히 힘들다. Maven은 바로 이러한 경우에 도와주는 녀석이다. 사용할 라이브러리 뿐만 아니라 해당 라이브러리가 작동하는데 필요한 다른 라이브러리까지 관리하고 네트워크를 통해 자동으로 Set 할 수 있게 해주는 기능까지 있다. 프로젝트의 전체적인 LifeCycle을 관리해주며, 많은 편리함으로 많이 사용되고 있다. Maven..

[puTTY] 쁘띠 푸띠 글자 크기 및 글꼴 색상 변경

puTTY를 처음 사용하면 글자 크기가 작아서, 오래보면 눈이 꽤나 아프다. 그래서 간단하게 변경을 적용해보기! 1) 먼저 로그인할 Session 의 주소와 포트를 설정해주고, 2) Window - Appearnace 항목에서 우측에 Change 버튼을 눌러 글꼴과 글자 크기를 변경해준다. 3) Window - Colours 탭에서 원하고자하는 색깔을 적용시켜준다. RGB를 수동으로 설정도 가능하다. 여기까지 하고 오픈한다고해서 적용되는건 아님! 처음 초기 화면에서 내가 설정한 IP와 Port 번호와 함께 Save 버튼을 눌러줘야 내가 적용한 PuTTY의 설정이 적용된다.

728x90