본문 바로가기
반응형

전체 글1072

[Mysql] 라이센스 오픈소스로 유명하게 알려진 mysql 에 대해서는 많이 들어봤을것이다.oracle과 합병이 되면서 mariadb라고도 알려져있기도 한 이 mysql 은 오픈소스인만큼 많은 이들이게 사용을 당하고 있다. 하지만 오픈소스라고 해서 언제든지 어디서든 누구든 무료로 사용을 할수 있을까?정답은 NO 이다. mysql은 오픈소스이면서 GPL 라이선스를 따르고 있다.라이선스의 종류 및 특징은 아래 참고 포스팅을 참고하길 바란다. mysql의 라이선스는 제품 종류에 따라 GPL과 자체적인 상용 라이선스 두 가지가 적용된다.제품 종류는 무료와 유료로 나뉜다. 무료 버전은 커뮤니티 에디션(Community Edition)이라는 이름으로 되어있고만약 mysql 사용을 영리 목적으로 사용하려면 유료 버전을 써야 한다. 무료 .. 2022. 9. 30.
sleep() / driver.implicitly_wait() 차이 파이선에서는 페이지 로딩 코드에 delay를 주기 위해서 사용하는것이 두가지 이다. sleep 과 driver.implicitly_wait() 이다. 물론 직접적인 차이는 webdriver 를 쓰냐 안쓰냐의 차이지만 예를들어 selenium을 할때 두가지의 차이가 확연히 보인다. time.sleep() : 프로세스 자체를 지정한 시간동안 기다려준다. (무조건 지연된다.) implicity_wait() : 브라우저에서 사용되는 엔진 자체에서 파싱되는 시간을 기다려준다. 좀더 설명을 하면 time.sleep() import time 필요 지정한 시간만큼 반드시 기다리고(쉬고) 다음 코드를 실행한다. implicity_wait() 셀레늄(selenium)에서만 사용하는 특수한 메소드 from selenium .. 2022. 9. 29.
PSA 란? 자바 spring에서는 몇 가지 특성이 있다. 이전에 포스팅에서 다뤄본적이 있는데 한 가지가 빠져 있어서 그 부분에 대해서 설명을 해보려고 한다. (아래 참고 포스팅 참조) 주제는 PSA 이다. 스프링은 아래 사진이 유명한데 삼각형으로 만들어진 이 그림을 본 적이 있는 분들이 있을 것이다. AOP, DI/IoC 와 어깨를 나란히 하고 있는 이 PSA란 무엇일까? PSA란 환경의 변화와 관계없이 일관된 방식의 기술로의 접근 환경을 제공하는 추상화 구조를 말한다. 이는 POJO 원칙을 철저히 따른 Spring의 기능으로 Spring에서 동작할 수 있는Library들은 POJO원칙을 지키게끔 PSA형태의 추상화가 되어있음을 의미한다. "잘 만든 인터페이스 하나가 열 클래스 부럽지 않다" PSA = 잘 만든 인.. 2022. 9. 28.
[Mysql] 문자열 추출 Mysql 에서도 프로그래밍 처럼 문자열을 자를수가 있다. substring substring(문자열, 시작위치, 길이) select substring("ABCDEF",3); //CDEF select substring("ABCDEF",3,2); //CD select substring("ABCDEF" from 3); //CDEF select substring("ABCDEF" from 2 for 2); //BC left, right left(문자열, 길이) / right(문자열, 길이) select left("ABCDEF",2); //AB select right("ABCDEF",2); //EF substring_index substring_index(문자열, 구분자, 구분자 인덱스) select substr.. 2022. 9. 27.
특정 문자열에서 숫자만 추출하는 법 모든 숫자들을 1개의 문자열로 추출 : re.sub() re.sub()의 Syntax는 다음과 같다. sub()는 string에서 pattern과 일치하는 문자들을 repl로 교체하게 된다. re.sub(pattern, repl, string) 다음과 같이 sub()를 사용하여 문자열에서 숫자가 아닌 문자를 모두 제거하고 숫자로 구성된 문자열을 만들 수 있다. import re string = 'abc123zx456c' numbers = re.sub(r'[^0-9]', '', string) print(numbers) 이 결과는 123456 이 나오게 된다. 연속된 숫자들을 추출하여 List로 리턴 : re.findall() re.findall(pattern, string)은 string에서 pattern.. 2022. 9. 26.
[Mysql] 에서 데이터를 엑셀 파일로 저장 기존 쿼리에서 추가를 하면된다. INTO OUTFILE '/var/lib/mysql-files/test.csv' -- csv 파일을 출력하고자 하는 경로 CHARACTER SET utf8 -- 언어 타입 설정 FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"' -- '|'로 구분하고 구분지운 문자열 타입들을 ""로 감싼다 ESCAPED BY '\\' -- '\\'일 경우 끝 LINES TERMINATED BY '\n' -- 줄바꿈은 "\n"으로 표시 하지만 이렇게 했는데 다음 에러가 나올 경우가 있다. The MySQL server is running with the --secure-file-priv option so it cannot execute this st.. 2022. 9. 25.
Assertions.assertThat 비교 하기 이전 포스팅에서 테스트를 할 경우에는 Junit Test를 사용하기 위해 다룬 글이 있다. 아래 참고 포스팅을 확인해보자. 만약에 service에서 두 객체나 변수 등을 비교 하기 위해서는 다양한 방법이 있지만 결국 확인을 하기 위해서는 System.out.println 으로 보게 될것이다. 일반 코드도 그렇고 테스트 코드에서도 이렇게 작성을 한다면 직접 콘솔을 뒤져가면서 눈으로 확인을 해야한다. 이럴 경우에 비교를 하는 대상을 테스트 코드에 한줄만 추가해두면 된다. Assertions.assertThat("A").isEqualTo("Ad"); 이렇게 해두면 테스트 코드를 돌릴때 두개의 변수 혹은 객체 등 같으면 정상 success가 뜨고 다르다면 빨간색으로 fail이 날것이다. 위에 예제는 A랑 Ad는.. 2022. 9. 24.
ELK 란? ELK( Elasticsearch / Logstatsh / Kibana ) 스택 ELK는 위 그림과 같이, 분석 및 저장 기능을 담당하는 ElasticSearch, 수집 기능을 하는 Logstash, 이를 시각화하는 도구인 Kibana의 앞글자만 딴 단어이고 접근성과 용이성이 좋아 최근 가장 핫한 Log 및 데이터 분석 도구이다. 각 기능에 대한 설명은 아래 참고 포스팅을 확인해보면 된다. 간단한 설명으로는 Logstash 다양한 소스(DB, csv파일 등)의 로그 또는 트랜잭션 데이터를 수집, 집계, 파싱하여 Elasticsearch 로 전달 Elasticsearch Logstatsh로 부터 받은 데이터를 검색 및 집계를 하여 필요한 관심 있는 정보를 획득 Kibana Elasticsearch의 빠른 .. 2022. 9. 23.
kibana 란? kibana는 Elastic Stack 기반으로 구축된 오픈소스 프론트엔드 애플리케이션으로 Elasticsearch에서 색인된 데이터를 검색해서 분석 및 시각화 하는 기능 플랫폼이다. 히스토그램부터 geo맵까지 다양한 시각화 도구를 이용하여 사용자 지정 대시보드와 결합하여 데이터에 생명력을 부여하는 역할을 한다. 고급 데이터 분석을 쉽게 수행하고 다양한 차트, 테이블 및 맵에서 데이터를 시각화 기능을 한다. 사용 용도는 다음과같다. 로깅과 로그 분석 인프라 매트릭과 컨테이너 모니터링 애플리케이션 성능 모니터링 위치기반 정보 데이터 분석과 시각화 보안 분석 및 비지니스 분석 웹 인터페이스를 통해서 elastic Stack 인스턴스를 모니터링 하며 관리하고 보호 주요 기능은 다음 그림과 같다. 2022. 9. 22.
반응형