일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Nginx
- 알고리즘
- 자바
- Docker설치
- 북노트
- 도커
- F.I.R.S.T
- FIRST원칙
- Docker-compose
- Elasticsearch
- mysql index
- Docker기본개념
- docker
- 데이터볼륨
- mysql
- CleanCode
- MySQL 인덱스
- springboot
- Jenkins
- Jenkins port 변경
- Springboot+Docker 초기설정
- git
- Jenkins설치
- elk
- MongoDB설치 및 환경설정
- 도커예제
- Expo #SpringBoot #네아로
- MongoDB
- 도커실행
- 프로그래머스
- Today
- Total
목록전체 글 (18)
MEMO
1. docker-compose.yml 설정하기 - 사용한 도커 이미지 ( hub.docker.com/r/wurstmeister/kafka) version: '3' services: zookeeper: container_name: zookeeper image: wurstmeister/zookeeper ports: - "2181:2181" kafka: image: wurstmeister/kafka ports: - "9092:9092" environment: KAFKA_ADVERTISED_HOST_NAME: localhost KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 volumes: - /var/run/docker.sock:/var/run/docker.sock 2. 도커 컴포즈 ..
TDD 법칙? 첫째, 실패하는 단위 테스트를 작성할 때 까지 실제 코드를 작성하지 않는다. 둘째, 컴파일은 실패지 않으면서 실행이 실패되는 정도로만 단위 테스트를 작성한다. 셋째, 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 구현한다. F.I.R.S.T UNIT TEST 법칙 F. Fast 빠르게 테스트는 빨라야 한다. 테스트가 느리면 자주 돌릴 엄두를 못 낸다. 자주 돌리지 않으면 초반에 문제를 찾아내 고치지 못한다. 결국 코드 품질이 망가지기 시작한다. I. Independent 독립적으로 각 테스트를 서로 의존하면 안 된다. 한 테스트가 다음 테스트가 실행될 환경을 준비해서는 안 된다. 각 테스트는 독립적으로 그리고 어떤 순서로 실행해도 괜찮아야 한다. 테스트가 서로에게 의존하면 하나가 실패..
한 릴레이션에 여러 엔티티의 애트리뷰트들을 혼합하게 되면 정보가 중복 저장되며, 저장 공간을 낭비하게 된다. 또 중복된 정보로 인해 갱신 이상이 발생하게 된다. 동일한 정보를 한 릴레이션에는 변경하고, 나머지 릴레이션에서는 변경하지 않은 경우 어느 것이 정확한지 알 수 없게 되는 것이다. 이러한 문제를 해결하기 위해 정규화를 한다. 삽입 이상 : 원하지 않는 자료가 삽입된다든지, 삽입하는데 자료가 부족해 삽입이 되지 않아 발생하는 문제점 삭제 이상 : 하나의 자료만 삭제하고 싶지만, 그 자료가 포함된 튜플 전체가 삭제됨으로 원하지 않는 정보 손실이 발생하는 문제점 수정(갱신) 이상 : 정확하지 않거나 일부의 튜플만 갱신되어 정보가 모호해지거나 일관성이 없어져 정확한 정보 파악이 되지 않는 문제점 장점 데..
1. 깨끗한코드 어째서 나쁜코드를 짰는가? 급해서?서두르느라? 대충 짠 프로그램이 돌아간다는 사실에 안도감을 느끼며 그래도 안 돌아가는 프로그램보다 돌아가는 쓰레기가 좋다고 스스로 위로한 경험이 있다. 다시 돌아와 나중에 정리하겠다고 다짐했었다. 물론 그때 그 시절 우리는 르블링의 법칙을 몰랐다. 나중은 결코 오지 않는다. 2. 의미 있는 이름 클래스 이름 명사/명사구 (ex. Customer, WikiPage) Data, Info 와 같은 단어는 피하고, 동사는 사용하지 않는다. 메서드 이름 동사/동사구 (ex. postPayment, deletePage) 접근자(get) , 변경자(set), 조건자(is) 는 javabean 표준에 따라 값 앞에 해당 동사를 붙인다. 생성자를 중복정의(overload..
회사에서 개발하고 있는 서비스에 사용자가 늘어나다 보니 검색엔진의 구축의 필요성이 증가하면서, Elasticsearch 를 도입해보기로 하였다. 한번도 Elasticsearch 를 사용해본적이 없어서 조금이나마 간편하게 구축할 방법인 docker 를 이용해서 구축한 후 local 에서 테스트를 해보기로 하였다. 1. ELK ? Elasticsearch, Logstash, Kibana 오픈 소스 프로젝트 3개를 합쳐서 ELK 라고 한다. Elasticsearch 는 검색 및 분석 엔진으로 무료버전으로도 기본적인 기능은 충분히 사용가능하다. Logstash는 여러 소스에서 동시에 데이터를 수집하여 변환한 후 Elasticsearch 와 같은 곳에 'stash'로 전송하는 서버 사이드 데이터 처리 파이프라인을..
docker 에서 한글을 입력하면, 한글 입력이 되지 않는다. 해당 이슈를 해결하기 위해서는 locale 설정이 필요하다. 1. 초기 locale 2. locale 설정 방법 > apt-get update > apt-get install locales > export LANGUAGE=ko_KR.UTF-8 > export LANG=ko_KR.UTF-8 > locale-gen ko_KR ko_KR.UTF-8 > update-locale LANG=ko_KR.UTF-8 > dpkg-reconfigure locales 3. locale utf-8 설정 완료 Reference http://www.kwangsiklee.com/2018/08/%EB%AC%B8%EC%A0%9C%ED%95%B4%EA%B2%B0-docker..
인덱스란? MySQL 에서 인덱스는 특정 컬럼 값에 대한 색인(목차) 입니다. 두꺼운 책 가장 앞에 목차를 표기해 두어 독자들이 빠르게 원하는 목차로 찾아갈 수 있도록 하는데 이와 비슷한 개념이 MySQL 의 INDEX 입니다. 테이블의 검색속도는 데이터가 몇개 없으면 상관이 없지만, 데이터가 방대해질수록 속도면이 현저히 떨어지게 됩니다. 이때 미리 데이터들에 목차가 되는 형태의 index 를 설정해두면 검색 속도를 향상시킬 수 있습니다. 예를들어 사용자가 100만명이 있는 테이블에서 userId 가 akdu39zkauebglska 라는 값을 찾고자 한다면, 다음이 쿼리를 사용해야 합니다. SELECT userId FROM user_table WHERE userId = 'akdu39zkauebglska'..
Springboot 를 Docker 를 이용해 배포하기 기본적인 Springboot 프로젝트를 만들어 image 로 생성해보기 위해 새로운 Springboot 프로젝트를 생성하였다. 기본 Springboot 프로젝트 설정에 다음과 같이 접속 확인을 위한 String 출력 소스만 추가하였다. //프로젝트 구조 . - Dockerfile - pom.xml - src L main L java L by.example.docker L DockerApplication.java ... 이하 생략 DockerAppication.java 에는 다음과 같이 RequestMapping 만 추가하였다. package by.example.docker; import org.springframework.boot.SpringAppl..