반응형 All205 [루씬 인 액션] 7. 분석기(2) - 유사어, 기본형 분석기 유사 발음 검색 발음 기본형을 찾아내는 분석기를 구현해봅시다 메타폰, 사운덱스와 같은 알고리즘을 사용할 수 있습니다 메타폰 알고리즘을 사용한 예를 한번 볼까요? public class MetaphoneAnalyzerTest extends TestCase { public void testKoolKat() throws Exception { RAMDirectory directory = new RAMDirectory(); Analyzer analyzer = new MetaphoneReplacementAnalyzer(); IndexWriter writer = new IndexWriter(directory, analyzer, true, IndexWriter.MaxFieldLength.UNLIMITED); Docum.. 2020. 12. 21. [JPA] 영속성 컨텍스트 이점 안녕하세요~ 잭코딩입니다! 이번에는 JPA 영속성 컨텍스트의 이점에 대해 글을 써보려고 합니다! 지난 시간에는 영속성 컨텍스트가 무엇인지 살펴보았습니다 jackjeong.tistory.com/115 [JPA] 영속성 컨텍스트? 안녕하세요~ 잭코딩입니다! 이번에는 JPA 영속성 컨텍스트에 대해 글을 써보려고 합니다! 우캠 3주차에서 JPA 관련 미션을 수행하기 전에 학습한 내용을 정리해보려고 합니다 먼저 영속성 컨텍스 jackjeong.tistory.com 이번 시간에는 이어서 영속성 컨텍스트의 이점을 설명드리겠습니다 영속성 컨텍스트의 이점 1. 1차 캐시 2. 동일성(identity) 보장 3. 트랜잭션을 지원하는 쓰기 지연(Transactional Write-behind) 4. 변경 감지(Dirty C.. 2020. 12. 20. [JPA] 영속성 컨텍스트? 안녕하세요~ 잭코딩입니다! 이번에는 JPA 영속성 컨텍스트에 대해 글을 써보려고 합니다! 우캠 3주차에서 JPA 관련 미션을 수행하기 전에 학습한 내용을 정리해보려고 합니다 먼저 영속성 컨텍스트가 무엇인지 살펴볼까요? 영속성 컨텍스트(PersistenceContext) ? "엔티티를 영구 저장하는 환경"이라는 뜻으로 영속성 컨텍스트는 JPA를 이해하는데 가장 중요한 용어입니다 PersistenceContext는 논리적인 개념으로 눈에 보이지 않고, EntityManager를 통해서 접근할 수 있습니다 엔티티의 생명주기 각 상태를 그림과 설명을 통해 살펴볼까요? 먼저 전체 엔티티의 생명주기는 아래와 같습니다 비영속, 영속, 준영속, 삭제 상태를 각각 코드와 그림을 통해 설명드리겠습니다 비영속 (new/tr.. 2020. 12. 20. [우아한테크캠프Pro] 2주차 - TDD 안녕하세요~ 잭코딩입니다! (해당 업체에서 광고를 받지 않았으며, 교육비를 직접 내고 교육을 받고 있습니다) 교육을 받으며 느낀점을 적기 위한 포스팅입니다 벌써 우아한테크캠프 Pro 3주차 수업이 끝났습니다 2주차 미션(로또)을 완료하여 드디어 2주차 리뷰를 작성하네요 2주차까지는 단위 테스트, TDD를 통한 도메인 설계 미션이었고, 3주차 수업부터는 JPA 기반 미션이 진행되고 있습니다 (실무에서 JPA를 사용하고 있는데 더 깊게 공부할 수 있는 좋은 기회인 거 같아요) 우선 2주차 수업에서는 1주차 미션(racingcar)에 관련된 내용이었습니다 포비가 실제 TDD로 구현하고 리팩터링 하는 과정을 라이브 코딩으로 지켜볼 수 있었습니다 1주차 미션을 수행할 때 고민했던 것들을 포비는 어떻게 구현하는지 .. 2020. 12. 20. [이펙티브자바 3판] ITEM49. 매개변수가 유효한지 검사하라 이번장의 핵심은... 메서드나 생성자를 작성할 때면 그 매개변수들에 어떤 제약이 있을지 생각해야 한다 그 제약들을 문서화하고 메서드 코드 시작 부분에서 명시적으로 검사하자 그 노력은 유효성 검사가 실제 오류를 처음 걸러낼 때 충분히 보상받을 것이다! 유효성 검사 1. 매개변수에 대한 제약은 반드시 문서화해야하며, 유효성 검사는 메서드 몸체가 시작되기 전에 검사해야합니다 2. 오류는 가능한 한 빨리 (발생한 곳에서) 잡아야 합니다 3. 메서드 몸체가 실행되기 전에 매개변수를 확인한다면 잘못된 값이 넘어왔을 때 즉각적이고 깔끔한 방식으로 예외를 던질 수 있습니다 만약, 매개변수 검사를 제대로 하지 못하면? 메서드가 수행되는 중간에 모호한 예외를 던질 수 있습니다 잘못된 결과를 반환할 수도 있습니다 매개변수의.. 2020. 12. 19. [이펙티브자바 3판] ITEM48. 스트림 병렬화는 주의해서 적용하라 이번장의 핵심은... 올바르게 수행하고 성능도 빨라질거라는 확신없이 스트림 파이프라인 병렬화는 시도하지 말자 스트림은 parallel 메서드만 호출하면 자동으로 병렬 실행할 수 있습니다 하지만 주의할 점이 있습니다 // 병렬 스트림을 사용해 처음 20개의 메르센 소수를 생성하는 프로그램 // 주의: 병렬화의 영향으로 프로그램이 종료하지 않는다. public class ParallelMersennePrimes { public static void main(String[] args) { primes().map(p -> TWO.pow(p.intValueExact()).subtract(ONE)) .parallel() // 스트림 병렬화 .filter(mersenne -> mersenne.isProbablePri.. 2020. 12. 15. [루씬 인 액션] 6. 분석기(1) - 활용 및 구조 분석기는 여러 단계를 거쳐 텍스트에서 텀을 분리합니다 분석기 활용 루씬은 텍스트를 텀으로 분리해야 할 필요가 있으면 분석기를 사용합니다 분석기는 색인하거나 검색할 때 사용합니다 상황별로 분석기를 어떻게 사용하는지 알아봅시다 예제1) "The quick brown fox jumped over the lazy dog" WhitespaceAnalyzer : [The] [quick] [brown] [fox] [jumped] [over] [the] [lazy] [dog] SimpleAnalyzer : [The] [quick] [brown] [fox] [jumped] [over] [the] [lazy] [dog] StopAnalyzer : [quick] [brown] [fox] [jumped] [over] [laz.. 2020. 12. 15. 이전 1 ··· 11 12 13 14 15 16 17 ··· 30 다음 반응형