개인 학습 메모장 (104) 썸네일형 리스트형 MySQL 설치 및 DB 구축과정 미리 실습하기: DBMS 개요와 MySQL 소개 글 작성에 앞서 최근 데이터베이스 관련 지식을 꽤나 까먹은 것 같아 복습할겸 정리하고자 한다. 책은 '이것이 MySQL이다'를 보고 정리했다. 책은 총 4개의 파트로 이루어져 있고 각 파트당 챕터가 여러개 있는 형식이다. 글은 챕터단위로 작성할 것이며 챕터 내의 소제목을 기준으로 문단을 나눠 글을 작성할 것이다. DBMS 개요 데이터베이스의 정의와 특징 데이터베이스: 대용량의 데이터 집합을 체계적으로 구성해 놓은 것 DBMS: 데이터베이스를 관리하는 소프트웨어 시스템 데이터베이스의 특징 무결성: 데이터에 오류가 있으면 안됨 예시) 학생 데이터에서 모든 학생은 학번이 있어야 하며, 각 학생의 학번은 서로 중복되면 안 되는 제약 조건이 있다. 즉 학번이라는 데이터를 통해 무결한 데이터로 보장할 수 있다. 데.. 6월 말 ~ 오늘까지의 회고 어느덧 데브코스에 참여한지 2달이 됐다. 현재까지 스프링 프레임워크, 스프링 부트, jdbcTemplate에 대해 배웠다. 기존에 알고 있던 내용이 많이 포함됐지만, 톰캣을 직접 띄우고 Configuration class를 만들어 DispatcherServlet, ViewResolver, MessageConverter를 모두 등록하고 사용해본 것은 처음이다. 또한 JPA만 사용해봤지 mybatis, jdbcTemplate, Connection을 직접 사용, 반납을 하는 코드를 작성해본 경험은 없었다. 이번 강의를 통해 위에 작성한 내용을 경험할 수 있었고 Spring boot의 AutoConfiguration의 편리함과 어떠한 설정을 자동으로 해주는지 디버깅을 하며 알게 됐다. 또한 데이터베이스에 접근할.. OpenFeign 적용기 최근 WebClient를 잘못 사용하고 있다는 것을 깨닫고 기존의 코드를 Open Feign으로 리팩토링을 하려고 했다. RestTemplate도 있지만 코드가 지저분해지기 때문에 OpenFeign을 이용했다. Feign Feign이란 인터페이스와 어노테이션 만으로 웹 서비스 호출을 쉽게 만든 Netflix에서 만든 기술이다. Spring Cloud Netflix Spring Cloud는 마이크로서비스 아키텍처를 구축하는데 필요한 도구 모음이다. 이 도구들은 분산 시스템에서 발생할 수 있는 여러 복잡한 문제를 해결하도록 설계되었습니다. Netflix는 이러한 마이크로서비스 문제를 해결하기 위해 여러 오픈 소스 소프트웨어(OSS)를 개발하고 공개했다. 이 중에서 Feign은 그 사용법이 간단하고, HTTP.. 데브코스 2주 회고(pre 팀) 데브 코스에 들어와 어느덧 2주가 지났다. 2주 간 꽤 많은 일들이 있었고 돌아볼 사항이 많아 기록을 남기고자 한다. 2주동안 일어난 큰 일들을 생각해보면 아래와 같다. 1. 컬리 서류 불합격 2. 토스증권 서류 불합격 3. 계산기 프로젝트 데브코스 2주 후 느낀점 첫 2주는 팀 소통을 배우는 기간이라고 생각한다. 팀을 이루고 6시간 동안 필수적으로 팀과 함께 공부한 경험은 처음이다. 아마 다른 팀원들도 마찬가지였을 것이다. 처음에는 어색함을 못이기고 많은 대화를 하지 못한 것이 아쉽다. 만남 초반에 친해지기 위한 게임을 많이 했으면 좋았으면 하는 생각이 든다. 그렇다 하더라도 팀을 이뤄서 하는 공부는 혼자서 하는 공부와는 많이 달랐다. 같이 하는 사람이 생기니 동기부여도 되고 나와 다른 사람의 생각을 .. elasticsearch에 형태소 분석기 적용하기 앞으로 elasticsearch를 이용할 때 유용할 것 같아 형태소 분석기 적용 과정을 정리하고자 한다. 형태소 분석기란 여기 "나는 김치를 좋아한다" 라는 문장이 있다. elasticsearch에서 김치를 포함하는 문장을 검색한다면, 검색 결과가 나오지 않는다. elasticsearch는 영어 외의 like 검색을 띄워쓰기 단위로 하기 때문이다. 따라서 "김치를" 까지 검색을 해야 해당하는 문장이 검색된다. 이러한 상황에서 형태소 분석기를 이용하면 형태소 단위로 검색이 가능하다. 적용하기 1. 먼저 현재 elasticsearch가 설치된 경로에 형태소 분석기를 설치한다. elasticserch에서 지원하는 대표적인 형태소 분석기인 nori를 설치했다. $ bin/elasticsearch-plugin i.. Slack Webhook API 사용법 서비스를 제공하다보면 예상치 못한 오류가 발생할 수 있고 개발자는 어떤 오류가 어디서 발생했는지 알아야 더욱 좋은 서비스를 제공할 수 있다. 보편적으로 slack을 많이 이용할텐데 앞으로도 slack을 이용해 에러 메시지를 받는 것을 자주 이용할 것 같아서 이용법을 정리한다. 1. Slack app을 만든다. https://api.slack.com/messaging/webhooks Sending messages using Incoming Webhooks Creating an Incoming Webhook gives you a unique URL to which you send a JSON payload with the message text and some options. api.slack.com 위 링.. Elasticsearch 쿼리빌더로 리팩토링 글을 쓰게 된 이유 이번에 한 리팩토링은 객체지향의 특징을 잘 살렸다고 생각이 들었다. 이후 엘라스틱 서치 뿐만 아니라 다음에 코드를 작성할 때 또한 도움이 될 것이라 생각이 들어 기록을 남기고자 한다. 잠깐의 필수 지식 본문에 들어가기에 앞서 글의 주제와는 다소 벗어나지만 글의 이해를 위해 꼭 알고 있어야 할 사항이 있다. 자바의 인터페이스 메커니즘과 스프링 데이터를 상속받은 인터페이스의 메커니즘을 정확하게 이해해야한다. 자바에서는 일반적으로 new 키워드를 통해 인터페이스를 사용하지 못하고 구현체를 생성해서 인터페이스를 사용해야 한다. 예를들어 다음의 코드가 있다. interface test extends test2, test3{ } interface test2 { void method2(); } c.. CQRS패턴 도입 이야기: 프로젝트에 Kafka 적용하기 지난 글에서 Kafka의 기본의 되는 개념을 공부했다. 이제 프로젝트에서 적용해보자. 1. 카프카, 주키퍼 서버 실행 다음과 같이 docker-compose 파일 작성 후 docker-compose up -d 명령어로 kafka 서버를 실행한다. (각 요소가 무엇인지 알고 싶고 또 다른 설정을 하고 싶다면 다음의 링크 참고 https://www.baeldung.com/ops/kafka-docker-setup) version: '2' services: zookeeper: image: wurstmeister/zookeeper ports: - "2181:2181" kafka: image: wurstmeister/kafka ports: - "9092:9092" environment: KAFKA_ADVERTISE.. 이전 1 ··· 3 4 5 6 7 8 9 ··· 13 다음