분류 전체보기

    Regex 정규 표현식 모음집

    자바 정규 표현식 문법 https://hbase.tistory.com/160 [Java] 정규표현식 사용법 및 예제 - Pattern, Matcher 자바에서 정규표현식(Regular Expression)'을 사용해보자. 1. 정규표현식(Regular Expression) 정규표현식 혹은 정규식은 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용되는 언어다. 정규 표현식은 hbase.tistory.com https://coding-factory.tistory.com/529 [Java] 자바 정규 표현식 (Pattern, Matcher) 사용법 & 예제 정규표현식(Regular Expression)이란 컴퓨터 과학의 정규언어로부터 유래한 것으로 특정한 규칙을 가진 문자열의 집합을 표현하기 위해 쓰이는 형..

    [JPA] 인텔리J에서 JPA Entity 기반 ERD 그리기

    https://gmlwjd9405.github.io/2019/10/28/intellij-jpa-erd.html [IntelliJ] intellij에서 JPA Entitiy 기반의 ERD 그리기 - Heee's Development Blog Step by step goes a long way. gmlwjd9405.github.io

    [HTTP] @RequestParam vs @RequestBody

    [HTTP] @RequestParam vs @RequestBody

    | 개요 - @RequestParam, @RequestBody - @RequestParam은 URI를 통해서 넘겨 받는 값을 말하고, - @RequestBody는 Http body에 데이터를 묶어서 받는 값을 말한다. - 일반적으로 RequestParameter는 ?key=value와 같이 단일 데이터를 넘겨 받고, RequestBody는 x-www-form-urlencoded나 Json과 같이 특정 데이터 포맷으로 묶여서 담겨지는 경우가 많다. - Post 방식으로 넘겨 받는 URI 모습 *body 값으로 다양한 데이터 포맷이 존재하는 걸 볼 수 있다. | 실험 - POST 방식으로 Body에 담겨 넘어오는 데이터의 타입을 크게 두 가지로 분류해보았다. (물론 데이터 타입은 더 다양하다) 1) x-ww..

    [JPA] repository.save()의 반환값이 안 들어올 때

    | 상황 - repository.save()를 하면 Entity타입의 객체가 반환되어야 하는데 아래와 같이 null이 반환됐다. /*Q14*/ // 트러블 슈팅 : 어? 뭐지? 데이터가 저장은 됐는데, Response값이 안온다. // -- 원인 ) Entity 인스턴스 비교(equals)를 위해 equals, hashcode 필요 @PostMapping("/api/notice4") public Notice addNotice4(@RequestBody NoticeRegister noticeRegister){ return noticeRepository.save( Notice.builder() .title(noticeRegister.getTitle()) .contents(noticeRegister.getCon..

    RDBMS 종류 및 사용법 아카이빙

    H2 database https://yjkim-dev.tistory.com/m/3 https://lob-dev.tistory.com/m/entry/H2%EC%9D%98-LocalIn-Memory-%EC%99%80-ServerTCP-%EB%AA%A8%EB%93%9C - 인메모리란 ? https://www.sap.com/korea/insights/in-memory-database.html - 인메모리 컴퓨팅 https://m.blog.naver.com/gkenq/10183400845 - 인메모리 DB란? 데이터를 하드디스크가 아니라 메인메모리에 저장하는 데이터베이스

    [HTTP] User IP와 Agent(Device) 정보 가져오기

    | User IP와 User Agent 정보란? - 클라이언트가 HTTP를 통해 어떤 요청을 보내면 HTTP header에 사용자 IP주소와 기기정보(Agent)가 담기게 된다. - User IP 주소는, 다양한 종류의 proxy를 고려하여 각 header를 전부 확인하는 것이 필요하다. - 만약 IPv4 형식으로만 IP주소를 얻길 원한다면 [Run]-[Configuration] Arguments VM에 설정을 걸어줄 수 있다. -Djava.net.preferIPv4Stack=true - 사이트 정책 : 로그인 시 히스토리 내역 저장한 후 메인화면으로 이동한다. - 위 정책에 따라 1) 히스토리를 저장할 Entity를 만들고, 2) 스프링 시큐러티를 이용해 로그인 성공시 사용자 IP주소와 Agent정보를..

    [클린코딩] 예외 처리하기 - 용어, 올바른 예외 핸들링 (feat. AOP)

    | 용어 종류 내용 오류(error) OutOfMemory Exception 시스템 상 메모리 부족 StackOverflow Exception 스택 오버플로우 발생 예외(exception) checked Exception Compile 시 체크 : type, syntax 에러 unchecked Exception Runtime 시 확인 : 다양함 | 올바른 예외 핸들링 방법 - 예외 핸들링 : 런타임 시에 발생하는 예외에 대한 핸들링 - 올바른 예외 핸들링이란? (1) 예외 상황이 발생할 때, return을 하지 말고 throw를 해라 (2) try - catch 문을 통해 잡은 예외는 꼭 처리하여 사용자단에 안내한다. (3) 예외 상황일 때만 예외를 던지고, 아닐 경우, 남발하지 않는다. (4) 최상위 ..

    문자열 알고리즘 - KMP와 Robin-Karp 알고리즘

    | 관련 강의 영상 https://www.youtube.com/watch?v=UcjK_k5PLHI - KMP나 Robin-Karp를 사용하면 O(n)의 시간복잡도로 문자열에서 패턴 문자열을 찾을 수 있다. - KMP는 어려워서 일단 Robin-karp 부분만 찾아서 적용해보았다. | Robin-Karp 알고리즘 사용해보기 https://joomn11.tistory.com/111?category=900637 [알고리즘] 라빈 카프(Rabin-Karp)(문자열 탐색)(Rolling Hash) 문자열 탐색 알고리즘 Rabin-Karp는 Hashing을 이용하여 문자열에서 특정 패턴과 일치하는지 찾는 알고리즘이다. 문자열에서 찾고자 하는 패턴의 길이만큼 hash값으로 변환하여, 패턴과 hash값이 같은 joom..

    [클린코딩] 가독성 높이는 습관

    보호되어 있는 글입니다.

    [클린코딩] 좋은 코드란 무엇인가?, 레거시 코드

    | 개발의 과정에서 : 코드를 작성할 때 풀어야 하는 문제와 처한 상황을 함께 고려해야 한다. ex. 어드민에 특정 기능 하나를 추가하는 것. --> 끔찍한 코드 + 하루의 기간. (if문을 하나 추가한다.). 어떤 것이 가장 효율적일까? | 처한 환경이란? : 시스템 및 비즈니스 환경 속에서 현재 내가 풀어야 하는 문제를, 어느 시점까지 처리해야하는 가를 고려해야한다. : 빠른 시간 내에 처리를 해야할 경우, 레거시 코드가 더 효과적일 수 있다. - 저사양 임베디드 시스템 : 용량이나 RAM등 성능 자체가 이슈. 최적화가 가장 중요. - 고성능 서버군(ex. AWS) : 성능에 대한 제한 보다는 확장성 있고 안정성 있는 시스템을 구축. 모니터링 - 성장 중인 초..