https://youtu.be/3ArYMq5AomI 같은 파라미터로 HttpSession 세션을 가져오는 데 어떻게 사용자 A, B를 구분하느냐? 유투브를 보다가 답을 몰라서 찾아봤다. 요약해서 말하자면 서버와 클라이언트의 브라우저에 저장되어 있는 세션 아이디로 그 사용자를 구분한다. 아래와 같이 세션인증 처리가 이루어지는데 이때 사용되는 세션키, 즉 세션 아이디를 클라이언트가 쿠키를 사용해서 갖고있는다. 크롬 개발자도구로 네이버의 세션아이디를 볼 수도 있다! 'JSESSIONID' 인 값이 세션아이디이다. public void sessionTest(HttpServletRequest req) { // 세션 선언 HttpSession session = req.getSession(); // 사용자 sessi..
https://pasudo123.tistory.com/379 20200328 [redis & springboot] 레디스를 이용한 세션 클러스터링. (수정 : 2020-09-24) 개요. 세션 클러스터링을 하는 방법은 다양하다. 나는 레디스를 이용해보았다. how to install redis in window 10 how to configure session clustering using redis in spring boot how does redis session in s.. pasudo123.tistory.com 레디스 세션 클러스터링에 대해 잘 정리된 글이 있어 스크랩한다. 톰캣 context.xml 에 아래와 같이 설정해주면 세션아이디나 관리가 레디스를 통해 이루어진다. 레디스에 저장된 세션을 ..
Java 8에서 추가된 java.util.stream 패키지를 이용하여 컬렉션의 요소를 람다식으로 처리할 수 있다. 컬렉션을 sort 하기위해 comparable 인터페이스를 구현하는 클래스를 정의할 필요가 없다! 설령 구현한다고 해도 아래와 같이 간략하게 구현할수 있다.. 람다식을 안쓴다면 public class ValueComparator implements Comparator { ... @Override public int compare(String s1, String s2) { return map.get(s1).compareTo(map.get(s2)); } } 혹은 Comparator compare = new Comparator() { @Override public int compare(Integ..
요즘 스프링을 다시 기초부터 훓어보고 있다. 빈즈 Scope 부분을 보던 중에 싱글톤에 대한 개념이 나와 정리하기로 했다. 정리하기 전에, 여담이긴 하지만 싱글톤은 디자인패턴 중에 내가 가장 좋아하는 패턴이다. 대학교 때 토이프로젝트로 게임을 만들면서 어떠한 부분에서 구현이 막혔었다. 친구랑 같이 계속 고민했지만 답이 나오지 않아서 보류상태였는데, 어느 날 친구가 엄청 신나하면서 알려줬었다. 코딩을 잘하는 복학생한테 물어봤다고 했다. 디자인패턴이라는 것을 알기 전이었어서 나도 덩달아 신나게 배웠었다. 패턴으로 어떠한 개념자체가 만들어지는 것 같아서 진짜 재밌게 배웠다.🤩 요즘은 주변에 개발의 즐거움을 나눌 사람이 없다는게 조금 쓸쓸하다.. 다시 본론으로... 정의 싱글톤의 영어 사전 뜻은 아래와 같다. ..
객체, 데이터들을 효율적으로 관리 할 수 있는 자료구조들이 있는 라이브러리를 컬렉션(Collection) 프레임워크라고 한다 https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html java Collection API 문서를 보면 Collection의 상속 관계를 알 수 있다. List, Set, Queue은 Collection 인터페이스을 상속받지만, Map 인터페이스는 구조상(key,value)의 차이가 있어 별도로 정의한다. 요약 구조를 한 눈에 정리하자면 아래와 같다. 인터페이스 순서 중복가능 구현클래스 Collection List O O ArrayList, Stack, Vector, LinkedList Queue O O DelayQ..
https://siyoon210.tistory.com/120 POJO에 대해 너무나 잘 설명해 놓은 글이다. 그중에서 가장 궁금했던 부분을 발췌해보았다. POJO 란 특정 '기술'에 종속되어 동작하는 것이 아닌 순수한 자바 객체를 말하는 겁니다. 예를들어, ORM(Object Relationship Mapping)이 새롭게 등장 했을 때를 생각해보겠습니다. ORM 기술을 사용하고 싶었다면 ORM을 지원하는 ORM 프레임워크를 사용해야 합니다. (대표적으로 Hibernate라는 프레임워크가 있습니다.) 만약 자바 객체가 ORM 기술을 사용하기 위해서 Hibernate프레임워크를 직접 의존하는 순간! POJO라고 할 수 없습니다. 특정 '기술'에 종속되었기 때문입니다. 그럼 특정..
이전 글에서는 컨테이너의 생명주기를 간략하게 정리하였다. 이번 글에는 유사한 예제로 빈의 생명주기를 보겠다. 스프링 빈 생명주기 스프링 빈은 간단하게 아래와 같이 라이프사이클을 가진다. 객체 생성 - 의존관계 주입 스프링 빈의 이벤트 라이프사이클을 자세히 보면 아래와 같다. 스프링 컨테이너 생성 → 스프링 빈 생성→ 의존관계 주입 → 초기화 콜백 → 사용 → 소멸 전 콜백 → 스프링 종료 라이프사이클 콜백 지원을 인터페이스로 한다면, 아래와 같은 시나리오가 된다. 스프링 컨테이너가 초기화 할 때, 빈 객체를 설정 정보에 따라 생성하고, 의존 관계를 설정한다. 의존 설정이 완료되면, 빈 객체가 지정한 메소드(afterPropertiesSet())를 호출해 초기화한다. 컨테이너가 종료될 시 빈 객체가 지정한..
스프링 컨테이너 생명주기 스프링 컨테이너의 생명주기는 생성 - 빈 설정 - 사용 - 소멸 순으로 구성되어 있다. 예제 // 스프링 컨테이너 생성 GenericXmlApplicationContext ctx=new GenericXmlApplicationContext(); // 스프링 컨테이너 설정 ctx.load("classpath:applicationCTX_ex13.xml"); ctx.refresh(); // 설정 파일로 초기화 해라! // 스프링 컨테이너 사용 Student std1=ctx.getBean("student1",Student.class); System.out.println(std1.getName()); System.out.println(std1.getAge()); // 스프링 컨테이너 종료 ..
- Total
- Today
- Yesterday
- 백준14501
- C# java 차이점
- script버전
- 프론트엔드개발자
- 선언적트랜잭션 #noRollbackFor #@Transactional
- c#
- 캐시삭제
- html
- 프론트엔드
- 백준
- 백준퇴사
- 퇴사
- html꿀팁
- boj
- 런타임에러
- C++
- 개발중캐시삭제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |