본문 바로가기

전체 글61

[CentOS] yum 설치 패키지 확인 전체 검색 yum list installed 설치된 전체 패키지가 보여진다. 분할 검색 yum list installed | more 터미널 하단에 MORE 라고 보여지고 키입력 대기상태가 된다. 스페이스바를 누르면 페이지 단위로, 엔터를 누르면 한줄씩 패키지를 확인을 할 수 있다. 특정 키워드 검색 yum list installed | grep 검색어입력 grep 파라미터로 입력한 검색어가 포함된, 패키지 목록을 보여준다. * more, grep은 yum 옵션이 아니라 linux 기본 명령어이다. 검색시에 상황에 맞게 어디서나 사용하면 된다. 2022. 10. 31.
[Kubernetes] kubespray with ansible로 aws EC2에 kubernetes cluster 설치하기(ubuntu 18.04 LTS) EC2 서버 스펙 Master OS image: ubuntu 18.04 LTS Instance type: t2.medium( 2vCPU, 4GiB Mem) volume: 20GiB root volume port : 22(ssh),6443(API),2380,2370(etcd) kubernetes 실행에 필요한 필수 포트(SG group 설정,중요★) https://kubernetes.io/ko/docs/reference/ports-and-protocols/ 포트와 프로토콜 물리적 네트워크 방화벽이 있는 온프레미스 데이터 센터 또는 퍼블릭 클라우드의 가상 네트워크와 같이 네트워크 경계가 엄격한 환경에서 쿠버네티스를 실행할 때, 쿠버네티스 구성 요소에서 kubernetes.io +BGP peering을 위한 .. 2022. 10. 30.
[Database]공통코드 구조 시스템 통합 프로젝트를 진행하면서 기존의 공통코드 구조를 개선해야 하는 상황에 직면했습니다. 이에따라 공통코드 구조의 개념을 다시 정립할 수 있는 시간이 됐습니다. 이번 포스팅은 공통코드테이블의 구조에 대해 다루어 보겠습니다. (회사 블로그의 포스팅을 참고했습니다.ㅎ0ㅎ) 대표적인 4가지 공통코드 구조에 대해 소개하겠습니다. 1. 공통 코드 유형과 공통코드로 구성한 형태 식별자가 코드유형ID, 코드 조합으로 구성되어 있으며, SQL로 고객유형코드 조회 시 코드유형ID = '1000'조건을 추가하여 사용합니다. 코드유형ID 대신 코드유형영문명 = 'CUST_CLS'처럼 코드유형 영문명을 사용하면 코드유형ID보다 직관적이어서 코딩 생산성을 높일 수 있습니다. 또한, 아래 그림처럼 공통코드유형과 공통코드 엔티.. 2022. 9. 30.
[Airflow] Linux(Ubuntu)환경에서 Airflow 설치 본 포스팅은 Apache Airflow 설치 방법과 Airflow란 무엇인지 정리한 포스팅입니다. 💡 Apache Airflow ? Airflow란 AirBnb에서 만든 workflow 관리 툴입니다. workflow는 일련의 작업의 흐름이며, 예를 들어서 ETL 같은 경우는 데이터를 추출 -> 변환 -> 적재하는 workflow를 관리해주는 툴이 Airflow입니다. airflow 구조 Scheduler - Airflow의 DAG와 작업들을 모니터링하고 실행 순서와 상태 관리 Workers - Airflow의 작업을 실행하는 공간 Metadata Database - Airflow에서 실행할 작업에 관한 정보들을 저장 Webserver - Airflow의 user interface 제공 DAG direc.. 2022. 9. 30.
[IntelliJ] 메소드 한줄 표시(폴딩) 설정 항목 위치 메소드를 폴딩하여 한줄로 표현하는게 IntelliJ기본 설정이다. 단축키 CTRL+ALT+S 또는 상단 메뉴 이동 File > Settings 으로 Settings 창을 열수 있다. Settings 창 왼쪽 트리 메뉴에서 Editor > General > Code Folding 이동하면 그림을 보면 One-line methods 항목에 체크가 되어 있는걸 확인 할 수 있다. 체크를 해제 하면 메소드가 한줄로 표시 되지 않는다. 2022. 9. 16.
[CI/CD]버전표기 SNAPSHOT, M, RC, GA, LTS SNAPSHOT 안정화 되지 않은 변경 사항이 빌드된 버젼 입니다. 1.0.1-SNAPSHOT은 1.0.1 버젼 릴리즈를 위한 개발 단계중에 발생된 특정 시점의 빌드 버젼 입니다. 다음 SNAPSHOT에서 기능이 추가, 변경, 삭제될 수 있기 때문에 가장 불안정한 버전 입니다. M (MileStone) 팀이나 프로젝트마다 정해진 주기마다 배포하는 버전 입니다. M2라고 되어있으면 프로젝트 ‘마일스톤 2번째것’이라는 뜻입니다. 주요 기능이 구현될 때마다 릴리즈하고 개발자들에게 피드백을 받는 버전이라고 합니다 RC(Release candidate) 기능이 안정화되고 앞 단계에서 발생된 문제가 수정된 버전 입니다. 큰 변경사항이나 문제가 없다면 테스트가 완료되고 릴리즈가 될 가능성이 있는 직전의 빌드 버젼 입.. 2022. 9. 9.
[Language] C언어, C++, JAVA, Python의 차이점 TIOBE Index에서 발췌한 2022년 8월 프로그래밍 언어 인기 순위입니다. 우리에게는 익숙한 Python, C, Java 등이 상위권에 랭크된 모습을 볼 수 있습니다. 위의 순위는 프로그래밍 언어를 이용하는 엔지니어의 수, 해당 프로그래밍 언어 관련 강좌 및 홈페이지의 수, 검색엔진에서 프로그래밍 언어가 검색된 횟수를 토대로 순위를 산정합니다. 이 포스팅은 1위 ~ 4위 까지의 프로그래밍 언어의 특징을 소개합니다. 1. Python 1.1. 객체지향 언어, 스크립트 언어, 인터프리터 언어이다. 파이썬은 스크립트 언어로 컴파일 과정 없이 인터프리터에 의하여 실행되므로, 컴파일 언어에 비해서는 속도가 느린 편이다. 1.2. 동적 타입 언어이다. 변수의 자료형을 따로 지정하지 않고 선언하는 것으로 값을.. 2022. 9. 3.
[Database] Oracle 시스템 카탈로그 추출하기, 테이블 , 컬럼, 코맨트 정보 확인하기 DA업무를 맡으며, 그간 DBA보고 뽑아달라 했던 테이블 및 컬럼 정보들이 필요하게 됐는데, DBA가 없더라도 제법 추출하기 쉬운 항목들이므로, 직접 뽑아보면서 정리해봤습니다. 1. 테이블 정보 SELECT * FROM DBA_TABLES; -- 데이터베이스 내의 모든 테이블 SELECT * FROM ALL_TABLES; -- 유저가 소유한 테이블, 유저가 접근가능한 테이블 SELECT * FROM USER_TABLES; -- 유저가 소유한 테이블 (현재 유저의 소유목록이기때문에 OWNER 정보가 없다.) DBA_TABLES 출력예시 2. 컬럼 정보 SELECT * FROM DBA_TAB_COLUMNS; -- 데이터베이스내의 모든 컬럼 목록(숨겨진 컬럼 제외) SELECT * FROM ALL_TAB_CO.. 2022. 9. 1.
[PostgreSQL] 배열 STRING_TO_ARRAY, ARRAY_LENGTH STRING_TO_ARRAY(text, text [, text]) 문자열을 특정 구분자를 지정하여 배열로 변환한다. SELECT STRING_TO_ARRAY('A|B|C|D', '|') ; --Results {A,B,C,D} SELECT STRING_TO_ARRAY('A|B|C|D', '|','B') --Results {A,,C,D} ARRAY_LENGTH(anyarray,int) 배열의 길이를 반환한다. SELECT ARRAY_LENGTH(STRING_TO_ARRAY('A|B|C|D', '|'),1); --Results 4 * {A,B,C,D} 는 1 차원 배열이기 때문에 두번째 인자 값은1을 입력 2022. 8. 31.
[Python] 패키지(package)와 모듈(module) 알아보기 💡 모듈(module) 파이썬에서 모듈은 특정 요소(변수, 함수, 클래스 등)를. py 파일 단위로 작성한 것입니다.. 모듈을 불러오면 모듈 내의 요소를 사용할 수 있습니다. 💡 패키지(package) 패키지는 모듈을 모아놓은 폴더라고 할 수 있습니다. 패키지는 라이브러리라고도 부르지만 라이브러리는 패키지의 집합으로 패키지보다 포괄적인 개념이지만, 혼용해서 사용하기도 합니다. 파이썬 3.3버전 미만은 패키지 폴더 안에 __init__. py 파일이 있어야만 패키지로 인식합니다. 💡 __init__ 용도 __init__.py 파일은 해당 디렉터리가 패키지의 일부임을 알려주는 역할을 합니다. 패키지에서 모든 것(*)을 from 패키지.패키지 import * 하고 싶으면 해당 디렉터리의 __init__. py.. 2022. 8. 31.
[Python] 보편적인 python coding convention(파이썬 코딩 컨벤션) 파이써닉하다 읽기도 편하고 가독성이 높은 코드 파이써닉하기 위해 코딩 규칙을 정해 놓은것을 코딩 컨벤션이라고 함. 한 줄의 한 구문을 준수 if x == 1: print('O') kwargs는 정말 필요한 경우에만 쓰자 가독성을 저해시킬 수 있음 클래스에서 private속성을 가진 변수는 이름 앞에 _(언더스코어)를 사용하여 표현 사용하지 않을 변수는 __(언더스코어 2개)로 표현하자. 1개만 사용하는 것은 지양 for __ in range(100): print('테스트') 동일한 내용물을 가진 리스트를 생성할때는 *를 활용 list_repeatitive = ['hi'] * 4 print(list_repeatitive) 다차원 리스트를 생성할 경우 리스트 내포를 적극 활용 lists = [["hi"] f.. 2022. 5. 24.
[ELK] Kibana로 Data 시각화 안녕하세요 오늘의 포스팅은 이전 시간에 Import한 데이터를 Kibana를 이용하여 시각화 합니다. 2022.02.28 - [ELK] - [ELK] Logstash를 이용해 Elasticsearch csv파일 import 우선 Explorer 주소창에 'localhost:5601'를 입력해서 Kibana를 화면에 띄웁니다. 오랜만에 들어가면 아래와 같이 '0hits'로 출력이 되는데 당황하지 않고 Data 조회 일자를 import했던 날짜를 포함하게 수정합니다. (ELK는 실시간 로그를 수집하여 분석하는 경우가 많아서 기본값이 현재의 시간을 조회 하고있습니다.) Data 조회 일자가 'Today'로 설정되어 있는 모습 data를 import했던 시점으로 설정하면 정상적으로 조회되는 모습 우선 간단하게 .. 2022. 5. 23.
[Java] Jsoup (1) 이번 포스트는 Springboot에서 Jsoup을 이용하여 웹페이지 서버와 통신하는 실습을 진행하겠습니다. 웹페이지를 크롤링하기 위해 라이브러리를 조사할 때 가장 많은 reference가 있었던 다음의 두 라이브러리를 소개합니다. Jsoup? Selenium? Jsoup - HTML 문서에 저장된 데이터를 구문 분석, 추출 및 조작하도록 설계된 오픈 소스 JAVA 라이브러리입니다. - 정적인 자료를 수집하는 경우에 주로 사용합니다. - 정적 데이터를 비교적 빠르게 수집할 수 있지만 브라우저가 아닌 HTTP Request를 사용하기 때문에 동적 데이터를 수집하기 위해서는 해당 서버의 인증키 요구 등 수집할 수 없는 경우가 많다. Selenium - 웹드라이버를 통해서 웹 자동화를 지원해주는 JAVA 라이브.. 2022. 4. 18.
[Spark] 스파크의 문법적 자유도, 스키마 조작, dummy 생성 이번 포스트에서 다룰 것 스파크의 다양한 문법을 소개 스키마를 정의하여 dataframe 만들기 dummy데이터 생성 아래의 링크에서 201508_trip_data.csv 파일 다운로드 후 Spark에서 Data Read https://github.com/Spidyweb-3588/python_skillup/tree/main/201508data 1. Start_Station,End_Station 컬럼을 4가지 방법으로 조회 #1. csvfile.select("Start_Station","End_Station") #2. from pyspark.sql import functions as F csvfile.select(F.col("Start_Station"),F.col("End_Station")) #3. csv.. 2022. 4. 15.
[Spark] Install PySpark with PiP & 파일 읽고, 쓰기 실습 이번 포스트는 예전에 포스트했었던 spark를 설치하여 jupyter notebook 환경에서 pyspark를 사용하는 것보다 활용하기 쉬운 pip를 통해 pyspark를 다운로드하고 확인하고, 실습해보겠습니다. 여기서 pyspark를 pip를 통해 다운로드 한다고 실행되는 것은 아닙니다. spark-3.2.1-bin-hadoop2.7.tgz를 다운 받아 압축풀기 spark-3.2.1-bvin-hadoop2.7의 경로에 대해서 HADOOP_HOME설정 jdk를 다운받아 jdk경로로 JAVA_HOME 설정 winutils파일도 HADOOP_HOME\bin 폴더에 위치해 있어야 함 자세한 건 아래의 링크에 나와있습니다. 예전 포스트 링크 2021.02.17 - [BigData/Spark & Spark Tun.. 2022. 3. 9.