전체 글
-
[Kubernetes] Minikube와 쿠버네티스 개요Kubernetes 2024. 4. 3. 19:42
쿠버네티스는 컴퓨터들을 연결하여 단일 형상으로 동작하도록 컴퓨팅 클러스터를 구성하고 높은 가용성을 제공하도록 조율한다. 오늘은 minikube에 대해서 알아볼 건데, Minikube는 1개의 노드에서 쿠버네티스 설치 및 사용이 가능하고, 간편하게 로컬에서 쿠버네티스의 기본 기능 테스트 기능이 있으며, 쿠버네티스의 일부 기능이 제한될 수 있다. 그 이유는 쿠버네티스가 클라우드 플랫폼에서만 사용할 수 있는 기능들이 존재하기 때문이다. 쿠버네티스의 특징부터 알아보자. 우선, 쿠버네티스는 대부분의 리소스를 오브젝트라고 불리는 형태로 관리한다. 쿠버네티스에서는 컨테이너의 집합인 Pods, 컨테이너의 집합을 관리하는 컨트롤러 Replica Set, 사용자 Service Account, 노드 Node 까지도 하나의 ..
-
내가 듣고싶은 comment 모음.카테고리 없음 2024. 4. 1. 07:31
오늘 아침에 기사와 유튜브를 잠시 봤는데, 내가 듣고 싶은 말들이 있어 써보았다. 높이 올라갈수록 주변에서 흔들려고 할 겁니다. 흔드는 바람이 작든, 크든 묵묵히 버티는 자가 곧 일류가 됩니다. 정상에 있는 자라면 필연적으로 겪게 되는 시간이죠. (유튜브 comment) 김민재 선수에 대한 카드뉴스였고, 스쳐지나갈 수 있었던 댓글이었는데, 나도 저런 시련을 겪을 때 저런 코멘트를 들었으면 했다. 성공한 자에게 반드시 따라오는 시련..나도 느껴보고 싶다 "저렇게 빨리 성장하고 올라가는게 참 어렵다. 그런 걸 보면 정말 대단하다. '나는 저렇게 안되던데' 라는 생각이 들면서 어떻게 빠른 시간에 성장할 수 있는지 의문이 들긴 하다." (기사) 이정후 선수에 대한 기사다. 나도 저런 가파른 성장폭을 통해 내 분..
-
NginxData Engineer 2024. 3. 28. 19:19
nginx : 기동 nginx -s stop : 정지 nginx -s reload : 재기동 nginx -t : 설정파일 체크 /etd/nginx : main 설정파일 위치 /etc/nginx/conf.d/ : 각 서버용 설정파일 위치 -?, -h nginx 명령어의 도움말 표시 -v nginx 버전 확인 -V nginx를 make 했을 시 컴파일러 또는 configure 옵션 표시 -t, -q nginx 설정파일 오류 체크 -s stop 강제종료 -s quit 실행중인 request 처리 종료하고 nginx 정리 -s reload 설정파일 다시 읽음 -s reopen nginx 재기동중 로그파일을 다시 오픈 -c 설정파일 지정한 설정파일로 nginx 기동(보통 부하시험 등에 사용되며, 보통 사용하지 않..
-
SOLID 원칙Software Architecture 2024. 3. 19. 06:37
좋은 설계란, 시스템에 새로운 요구사항이나 변경사항이 있을 때 영향을 받는 범위가 적은 구조 —> 시스템에 예상하지 못한 변경사항이 발생하더라도, 유연하게 대처하고 추후 확장성이 있는 시스템 구조를 만들 수 있다. 객체지향 개발 5대 원리 SRP, Single Responsibility Principle : 작성된 클래스는 하나의 기능만 가지며 클래스가 제공하는 모든 서비스는 그 하나의 책임을 수행하는 데 집중되어 있어야 한다는 원칙 어떤 변화에 의해 클래스를 변경해야 하는 이유는 오직 하나여야 한다 책임 영역이 확실해지기 때문에 한 책임의 변경에서 다른 책임의 변경으로의 연쇄작용에서 자유로울 수 있음 책임을 적절히 분배함으로써 코드의 가독성 향상, 유지보수 용이 적용방법 여러 원인에 의한 변경 Extr..
-
[Error] MySQL : Update 문 실수 시 조치 사항Data Engineer 2024. 3. 12. 12:07
혹시 update 문을 실수한 적이 있으신가요? 전 조건을 잘못 걸어서 DB 내에서 반영되어야 하지 않아야할 행에도 데이터 변경을 가해 문제가 생긴 적이 있었습니다.. 앞으로, 그런 일이 있지 않기 위해서, 오늘은 그 대응법을 공유해보려고 합니다. 저의 환경은 이러했습니다. - Cloud : Azure - DB 접근 순서 : VM 접속 -> 클라우드 내 Mysql 접속 - DB Client : DBeaver 먼저, 가장 주의해야할 점은 쿼리를 머릿속으로만 그리지 않고 확인 절차를 거치는 것이 좋습니다. 이때, 여러 방법이 있는데요. 1. SELECT 문을 통한 update 쿼리에 영향이 미칠 행 확인 2. TRANSACTION 실행 후 UPDATE, commit/rollback 지정 2번 방법에 대해 설..
-
[SQL] 노선별 평균 역 사이 거리 조회하기Programmers 2024. 3. 10. 17:09
총 누계거리는 테이블 내 존재하는 역들의 역 사이 거리의 총 합을 뜻합니다. 총 누계 거리와 평균 역 사이 거리의 컬럼명은 각각 TOTAL_DISTANCE, AVERAGE_DISTANCE로 해주시고, 총 누계거리는 소수 둘째자리에서, 평균 역 사이 거리는 소수 셋째 자리에서 반올림 한 뒤 단위(km)를 함께 출력해주세요. 결과는 총 누계 거리를 기준으로 내림차순 정렬해주세요. SELECT A.ROUTE , CONCAT(ROUND(SUM(A.D_BETWEEN_DIST), 2), 'km')AS TOTAL_DISTANCE , CONCAT(ROUND(AVG(A.D_BETWEEN_DIST), 3), 'km') AS AVERAGE_DISTANCE FROM SUBWAY_DISTANCE A GROUP BY ROUTE ..
-
Git action - 이론Data Engineer 2024. 3. 8. 08:49
소프트웨어 workflow를 자동화할 수 있도록 도와주는 도구 Test Code 쿼리를 날리고 데이터가 맞는지 정합성 체크 배포 기타 자동화하고 싶은 스크립트 다양한 파이썬 버전에서 실행되는지 확인 Workflow는 하나의 Repo에 최대 20개까지 등록 가능 Workflow 안에 존재하는 Job은 6시간 동안 실행될 수 있고, 초과시 자동으로 중지됨 Github Free는 Storage 한도 500MB, 월에 실행 시간 3000분 Worflow, Event, Job, Step, Action, Runner 등 존재 Workflow Event Job Step Action Runner Git Action 생성하는 흐름 코드 작성 코드 작성 후 Workflow 정의 정상 작동하는지 Test Workflow 정..
-
App UpdateData Engineer 2024. 3. 8. 08:47
강제 업데이트 앱이 새로운 버전으로 올라가면서 기존 앱과 호환이 불가하거나, 치명적인 버그가 있어 기존 앱의 이용자를 모두 필수적으로 새로운 버전의 앱을 사용하도록 할 때 사용 앱 실행 시 강제 업데이트가 필요한지의 여부를 판단 후, 강제 업데이트가 필요하다면 앱 진입을 막고 앱스토어로 연결하여 업데이트 할 수 있도록 안내 강제 업데이트의 경우 기존 앱은 사용할 수 없게 되어, 기존 사용자들의 사용성은 떨어지게 되므로 꼭 사용해야 하는 경우가 아니라면 선택 업데이트 사용을 권장해야 한다 선택 업데이트 앱이 새로운 버전으로 올라가지만 큰 변화가 없어서, 기존 앱과 호환이 가능하여 새로운 업데이트가 있다고만 안내 업데이트 안내 로직 사용자가 앱을 실행 or 백그라운드에서 포어그라운드로 진입 서버에서 앱 최소..