분류 전체보기

    CI/CD란?

    CI ( Continuous Integration)"지속적인 통합" 이라는 의미로 개발의 빌드 , 테스트 자동화 로 생각하면 된다. 애플리케이션의 버그 수정이나 새로운 코드 변경이 주기적으로 빌드 및 테스트되면서 공유되는 레파지토리에 통합(merge)되는 것을 의미한다.> 개발자들은 코드변경사항을 빈번하게 머지해야한다. 협업을 할 때 여러명의 개발자가 주기적으로 머지를 하지않는다면 머지충돌로 인해 많은 시간을 소모하게 될 것이다. 그렇기에 작업을 작은 단위로 나눠서 개발을 하여야하며 버그를 수정하거나 새로운 기능을 구현한다면 바로 반영을 해야한다.> 따라서 CI는 통합을 위한 빌드 단계(빌드,테스트,머지)의 자동화를 제공한다. 예를 들어, Git을 통해 Push되면 자동으로 테스트와 빌드가 수행되어 안정..

    [Rocky,CentOS] Proxy 통해 사설에서 yum 사용 방법

    1. 구성 및 목적 구성: Proxy 서버(공인) 과 private서버(사설)이 있음 목적: Private서버에서 yum 이용하고자 함 2. Proxy서버에서 squid 설치 및 설정 yum install squid vi /etc/squid/squid.conf ... 생략 ... # Only allow cachemgr access from localhost #http_access allow localhost manager #http_access deny manager http_access allow all # 모든 IP 에 대해 Allow 정책 #http_access allow localhost #local host에 대해 Allow 정책 # And finally deny all other access ..

    [IT용어] Fail-Open(페일오픈) , Fail-Close(페일클로즈)

    - Fail Open : 장애가 셍길 시 액세스를 통과시킨다.(고장시 열림) - Fail Close : 장애가 생길시 액세스를 차단한다. (고장시 닫힘) *밸브용어로 페일오픈 벨브는 전원이 꺼지거나 공기가 차단될 때 밸브가 자동으로 열리는 것을 의미한다. 소방시스템에 적합하고 화재 사고로 전원이 꺼지면 밸브가 열리고 물을 소화로 운반한다.

    [Kuberntes] Annotation(어노테이션) 이란?

    Annotation (어노테이션) label과 흡사한 비식별 메타데이터다. 식별하는 용도로 사용하는 것이 아니기 때문에 레이블 셀렉터의 기능을 가지지 않고 단순히 정보를 설정한다. Kubernetes 에게 특정 정보 전달할 용도로 사용한다. 관리를 위해 필요한 정보를 기록할 용도로 사용(릴리즈,로깅,모니터링에 필요한 정보들을 기록) "metadata": { "annotations": { "key1" : "value1", "key2" : "value2" } } 명령형 커맨드 -생성 및 변경(기존에 있으면 overwrite함) kubectl annotate pods tomcat service.beta.kubernetes.io/openstack-internal-load-balancer="true" apiVer..

    [NHN Cloud 교육] 10월 교육 수강 후기 !!

    10월말에 총 3개의 강의를 수강하였다. 장소는 한국컨퍼런스센터 (강남역 5번출구 근처) 였다. 먼저 처음 들었던 쿠버네티스(NKS) 강의!! - NHN Kubernetes Service(NKS)로 Cloud Native 시작하기 - Intermediate (10/25) 1. Cloud Native의 배경 및 정의 2. 컨테이너 기술의 개요와 필요성 , 쿠버네티스 정의 3. 쿠버네티스 구조 및 기타사항 , NHN Kubernetes Service의 특징 4. 실습관련 Hands-On 기본 환경 구성하기 NKS Management Instance 설정 NCR에 사용자 컨테이너 이미지 저장 NKS/NCR 활용 웹서버 구동하기 NKS Web Console 지원기능 위의 목차 순으로 수업이 진행되었고 NHN C..

    [Python] 문자열 뒤집기(거꾸로 출력)

    'jslee' 란 문자열을 뒤집기(거꾸로 출력) slice 사용하기(string[start:stop:step]) string = 'jslee' reverse_str=string[::-1] print(reverse_str) [결과] eelsj reversed() 사용하기 string = 'jslee' reverse_str=''.join(reversed(string)) print(reverse_str)​ [결과] eelsj​ for문으로 문자열 순서 뒤집기 string = 'jslee' reverse_str='' for i in string: reverse_str = i+ reverse_str print(reverse_str)​ [결과] eelsj​

    [Python] list를 문자열로 변환

    [4,'pizza'] 인 리스트를 문자열로 변환 하기 join()으로 변환 str_list = [4, "pizza"] result = ' '.join(str(s) for s in str_list) print(result)​ [결과] 4 pizza​ join() 및 map()으로 변환 str_list = [ 4, "pizza"] result = ' '.join(map(str, str_list)) print(result)​ [결과] 4 pizza​

    [Python] 숫자를 list로 변환하기

    숫자 123이 있을 때, 이것을 list로 [1,2,3]으로 변환하기 list(map(int,str(n))) number=123 n_list=list(map(int,str(number))) print(n_list)​ [결과] [1,2,3]​ [int(a) for a in str(n)] number=123 n2_list=[int(a) for a in str(number)] print(n2_list)​ [결과] [1,2,3]

    [Linux] 디렉토리 및 파일 속성 확인 및 추가 명령어(lsattr chattr )

    lsattr [ -RVadv ] 대상파일 [옵션] -R : 디렉토리와 그 이하 모든 내용에 대해 재귀적으로 속성값 출력합니다. -a : '.'로 시작하는 파일을 포함한 디렉토리 내의 모든 파일 출력합니다. -d : 디렉토리를 보여줄 때 안에든 파일을 보여주는 것이 아닌, 폴더를 일반 파일처럼 출력합니다. -v : 파일의 버전 출력합니다. -V : lsattr의 버전을 출력합니다. chattr [옵션] [+.-.=속성] 대상파일 [옵션] -R : 하위 디렉토리까지 재귀적으로 바꿈 -V : 파일 속성을 바꾼 다음에 보여줌 -v version : 지정된 파일에 버전을 설정할 수 있습니다. [설정모드] + : 속성을 추가한다. - : 속성을 제거한다. = : 원래 파일이 가지고 있던 그 속성만을 유지하게 합니다..

    [Linux] IPv6 disable 설정하기

    1) conf 파일 수정 vi /etc/sysctl.conf net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1 2) sysctl 적용 sysctl -p 3) 잘 적용되었는지 확인 sysctl -a | grep net.ipv6.conf.*disable_ipv6 *적용하였음에도, tcp6가 계속 통신시도 될 때 os상에서 disable 옵션 적용이 되었어도, 실행되는 JAVA에서 ipv6로 통신을 시도할 수 있다. 이는 JVM 옵션을 통해서 설정을 하고 서비스재기동을 하면 사라진다. # vi catalina.sh CATALINA_OPTS="-Djava.net.pref..