반응형 백앤드 이야기/JAVA&Spring38 [Spring] HttpSessionListener 이용해 동시 로그인 사용자 및 세션 관리 쿠팡 모든 상품 최저가 보러가기 => https://damoareview.store/ 다모아 리뷰! 2024년 최고 동원참치선호 베스트8 안녕하세요. 2024년 최고 동원참치선호 베스트8에 대해서 추천해드리겠습니다.제품별 스펙과 가격대, 사용 후기까지 꼼꼼하게 비교해보며 현명한 구매 결정을 damoareview.store (쿠팡 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있습니다.) 안녕하세요 깐지꾼지빠 입니다! 얼마전에 울 둥이들 드디어 !! 오지 않을 것만 같았던 돌이 지났습니다 !! 짝짝짝(광고클릭..) 얼마전이라고 해도 사실 한달이 지났시점이라.. 7월 중순에 잔치 했습니다..(그때는 부담만 있었지.. 위험까진 덜했죠 ㅠㅠ) 본론으로 들어와서 오늘 작성할 포스팅 주제는 HttpSessio.. 백앤드 이야기/JAVA&Spring 2024. 3. 12. [JAVA] 동시성 테스트 // Given log.info("makeReservation 동시성 테스트 준비"); int numberOfThreads = 5; ExecutorService service = Executors.newFixedThreadPool(numberOfThreads); CountDownLatch latch = new CountDownLatch(numberOfThreads); // When log.info("makeReservation 동시성 테스트 진행"); service.execute(() -> { System.out.println(LocalDateTime.now()); log.info("approvalTxId 검사-1 Response : {}", redisService.keyLock(repeatCheckRe.. 백앤드 이야기/JAVA&Spring 2023. 12. 14. [JAVA] Checked Exception, Unchecked Exception * RuntimeException 상속받지 않은 예외 Checked Exception * RuntimeException 상속받은 Unchecked Exception - 개발자의 실수에 의해 발생하는 예외이기때문에 runtime 및 자식 까지모두 예외처리를 강제하지 않는다 Error와 Exception 차이 프로그램이 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우가 있습니다. 이러한 결과를 초래하는 원인을 프로그램 에러 또는 오류라고 합니다. 여기서 발생 시점에 따라 아래와 같이 세 가지로 나뉩니다. 컴파일 에러: 컴파일 시에 발생하는 에러 런타임 에러: 실행 시에 발생하는 에러 논리적 에러: 실행은 되지만, 의도와 다르게 동작하는 것 글자 그대로 컴파일 에러는 컴파일할 때 발생하.. 백앤드 이야기/JAVA&Spring 2023. 12. 14. [JAVA] URL query parsing, 주소 파라메터 파싱 URL aUrl = new URL(url); Map queryMap = getQueryMap(aUrl.getQuery()); public static Map getQueryMap(String query) throws Exception { if (!StringUtils.hasText(query) || query.split("&").length == 0) { log.error("url null"); throw new Exception(); } String[] params = query.split("&"); Map map = new HashMap(); for (String param : params) { String name = param.split("=")[0]; String value = param.spl.. 백앤드 이야기/JAVA&Spring 2023. 11. 16. [JAVA] 자바로 셀레니움(Selenium)을 구현해보자!(크롤링) 크롤링을 할 일이 생겨서 도구를 찾던 도중 셀레늄을 써보기로 하였다. 셀레늄은 검색해 보면 많은 소스들이 나오고 대부분 PHP, python으로 많이 구현하는 듯 하지만 자바 연동이 필요하여 자바로 구현했다. (크롤링 도구 확인) 웹 스크래핑을 더 쉽고 빠르게! 가장 인기 있는 4가지 도구 비밀 공개 | Hashscraper-Blogㅣ해시스크래 인기 있는 웹 스크래핑 도구 4가지(Selenium, Undetected Chromedriver, Playwright, Pyppeteer)에 대한 개요를 확인해보세요. 각 도구의 장점과 단점, 그리고 데이터 추출 프로세스를 개선하는 데 가장 적합한 사 blog.hashscraper.com 1. 셀레늄이란? 위키 백과에 친절하게 나온다..! 셀레늄(Selenium).. 백앤드 이야기/JAVA&Spring 2023. 10. 28. [JAVA] 이름 규칙 출처 : https://dkswnkk.tistory.com/539 [Java] (Project, Package, Class, Method) Naming 규칙 공통 대소문자가 구분되며 길이에 제한이 없다. 예약어를 사용해서는 안 된다. 숫자로 시작해서는 안 된다. 특수문자는 '_' 혹은 '$'만 허용한다. 파스칼 표기법(PascalCase)과 카멜 표기법(camelCase)을 dkswnkk.tistory.com 공통 대소문자가 구분되며 길이에 제한이 없다. 예약어를 사용해서는 안 된다. 숫자로 시작해서는 안 된다. 특수문자는 '_' 혹은 '$'만 허용한다. 파스칼 표기법(PascalCase)과 카멜 표기법(camelCase)을 사용한다. 반의어는 반드시 대응하는 개념으로 사용해야 한다. 1. Project.. 백앤드 이야기/JAVA&Spring 2023. 7. 22. [JAVA&기타] 네이밍 규칙 네이밍 케이스 camelCase (카멜 케이스) PascalCase (파스칼 케이스) snake_case (스네이크_케이스) kebab-case (케밥-케이스) 네이밍 명명 규칙 JavaScript javaScript 는 camelCase 를 사용. 단, 클래스는 PascalCase 를 사용. 파일명 파일명은 kebab-case 로 표현 그래서 kebab-case 또는 snake_case 중에 사용하면 된다. git도 대소문자 무시 MacOS도 파일명을 다룰 때 대소문자를 무시 URL URL 은 kebab-case 로 표현 주소에서 대소문자를 구분함. 그래서 소문자로만 구성하고 kebab-case 로 표현하기 백앤드 이야기/JAVA&Spring 2022. 3. 11. [JAVA] Optional 기능 메모 참고 https://www.daleseo.com/java9-optional/ Java9에서 추가된 Optional 기능 소개 Engineering Blog by Dale Seo www.daleseo.com 백앤드 이야기/JAVA&Spring 2021. 7. 13. [Spring] Spring REST Docs 활용하여 API 문서 만들기 안녕하세요 깐지와꾼지파파 입니다 !!! 그동안 글을 너~~~무 쓰지 않아.. 오랜만에 작성하네요..^^ 오늘은 api 문서를 어떻게 아름답게 공유하면 좋을까 고민하다가 restdocs 를 발견하게 관련하여 글을 써 보려고 합니다. 작성에 앞서 자바 api 문서 자동화 라이브러리로는 주로 두가지를 많이 사용하는데요 Swagger, Spring Rest Docs 두 가지가 대표적입니다 ! 1. 고민해야 할 이슈 1. RESTful 서비스에 대해 정확하고 읽기 쉬운 문서 생성 및 제공 2. 클라이언트 작업자와 서버 작업자 사이의 API 문서 버전 동기화 3. 테스트를 통하여 API 문서 자동 생성 2. Rest Docs 을 선택한 이유 1. 테스트를 성공해야만 문서가 만들어 진다. 2. 소스 자체에 영향이 없.. 백앤드 이야기/JAVA&Spring 2021. 6. 30. [JPA] 메모 백앤드 이야기/JAVA&Spring 2021. 6. 14. [JAVA] stream API 사용하기 질의를 수행할 데이터소스 : 컬렉션 스트림 파이프라인을 구성할 중간 연산 연결 스트림 파이프라인을 실행하고 결과를 만들 최종 연산 중간 연산 : filter, map, limit, sorted, destinct 최종 연산 : forEach, count, collect 예전코드 List list = new ArrayList(); for(V v : data){ if(v.isData()){ list.add(v); } } filter와 collect 연산을 지원하는 스트림 API 를 이용한 코드, 내부반복 사용 List list = data.stream() .filter(v :: isData) .collect(toList()); allMatch : 모든 요소가 일치 하는지 //boolean anyMatch : .. 백앤드 이야기/JAVA&Spring 2021. 6. 9. [Gradle] gradle 명령어 gradlew clean gradlew war gradlew war -Pdev gradlew war -Pqa gradlew war -Pstage1 gradlew clean $ gradlew war -Pstage2 백앤드 이야기/JAVA&Spring 2021. 4. 21. 이전 1 2 3 4 다음 💲 추천 글 반응형