기타 지식들11 프로비저닝(provisioning) SW 용어 최근 클라우드 환경에서 개발과 운영을 병행하게 되면서, 자연스럽게 개발 관련 용어를 익혀야겠다는 필요성을 느끼게 되었다.AWS의 아키텍처 문서나 백서를 읽다 보면 "프로비저닝(Provisioning)"이라는 용어가 자주 등장하는데, 이를 명확하게 이해하는 것이 클라우드 환경을 효과적으로 활용하는 데 중요한 요소로 보인다! Wiki에서는 프로비저닝을 다음과 같이 정의하고 있다."프로비저닝은 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포하여 필요시 즉시 사용할 수 있도록 준비하는 과정이다." 'Provision'이라는 단어 자체가 "공급, 제공, 준비" 등의 의미를 가지므로, 프로비저닝이란 서비스에 필요한 시스템을 미리 준비하고, 필요할 때 제공하는 과정을 의미한다고 볼 수 있다. 프로비저닝이 자.. 2025. 3. 7. 할루시네이션(Hallucination)이란? 할루시네이션(Hallucination)은 원래 심리학에서 환각을 의미하는 용어지만, 소프트웨어 개발과 AI(인공지능) 분야에서도 유사한 개념으로 사용된다. 주로 AI 모델이나 소프트웨어 시스템이 잘못된 정보나 존재하지 않는 데이터를 생성하는 현상을 가리킨다. ㅇ할루시네이션(Hallucination): AI 또는 알고리즘이 신뢰할 수 없는 정보, 존재하지 않는 데이터 또는 논리적으로 틀린 출력을 생성하는 현상주로 AI 기반 시스템, 검색 알고리즘, 자동 생성 모델에서 발생한다AI 및 머신러닝 분야자연어 처리(NLP) 모델 (예: ChatGPT, Bard, Claude 등)AI가 존재하지 않는 정보를 만들어내거나, 근거 없이 새로운 사실을 생성하는 경우e.g. “A라는 사람이 2022년 노벨 물리학상을 받.. 2025. 2. 18. KPI, 6 Sigma 개념 ㅇ KPI(Key Performance Indicator = 핵심성과지표): 조직의 목표 및 성과를 계량화하여 측정하는 지표조직 전체에서 일관된 목표를 유지하기 위해 KPI를 하부 조직으로 cascading(연계 적용)할 수 있다 (KPI 예시)매출 지표: 월별/연간 매출 성장률, 고객당 평균 매출(ARPU)고객 만족도: NPS(Net Promoter Score), CSAT(Customer Satisfaction Score)운영 효율성: 프로젝트 완료율, 평균 처리 시간품질 지표: 결함 발생률, 서비스 응답 시간 ㅇ 6 시그마(Six-Sigma): 제조 산업에서 시작된 품질 관리 기법으로, 고객 만족도/서비스 등의 영역으로 확장시켰다 6 시그마의 핵심 방법론 - DMAIC(Define, Measure,.. 2025. 2. 11. 썸머타임과 타임존 계산 ㅇ썸머 타임(일광 절약 시간: DST, Daylight Saving Time)보통 3월에서 10월은 태양이 일찍 뜨고, 나머지는 태양이 상대적으로 늦게 뜬다. 시간도 여기에 맞추어 1시간 앞당기거나 늦추는 제도를 썸머 타임이라 한다. ㅇ타임존 계산세계는 다양한 타임존으로 나뉘어져 있으며, 각 타임존은 UTC(협정 세계시)로부터의 시간 차이로 정의된다.UTC (Coordinated Universal Time, 협정 세계시): 원자 시계를 사용하여 측정한 국제적으로 합의된 시간 체계. 지구의 자전 속도가 변화하는 것을 고려하여 윤초를 추가하거나 빼는 방식으로 시간을 조정함으로써, 보다 정확한 시간을 유지한다. 따라서 정밀한 시간 측정과 국제적인 표준에 관해서는 UTC가 선호된다.기준 시간: UTC+0전 세.. 2024. 8. 28. 스트링 풀(String Pool, 문자열 풀) ㅇ스트링 풀(String Pool, 문자열 풀): 메모리 관리 기법 중 하나로, 힙 영역에 있는 특별한 저장소주로 문자열(String) 리터럴을 효율적으로 관리하기 위해 사용된다. 스트링 풀이 있는 언어에서는 동일한 문자열 리터럴이 여러 번 사용될 때, 각 리터럴이 별도로 메모리에 저장되지 않고, 이미 존재하는 동일한 문자열 리터럴을 재사용한다. 이렇게 함으로써 메모리 사용을 최적화하고 성능을 향상시킬 수가 있다. ※ 오션월드의 유수풀, 코딩조교실 인력풀 할 때의 그 풀(Pool)이다. 수영장이라는 의미를 기본적으로 갖고 있지만, 프로그래밍에서는 공용 자원을 모아둔 곳을 의미한다. 문자열 풀에서 문자를 찾을 때는 해시 알고리즘을 사용하기 때문에 속도가 매우 빠르다.https://claremont.tist.. 2024. 8. 21. 스코프의 중요성 [스코프 종류] 아래의 C언어 코드를 보자이 코드는 좋은 코드일까? 나쁜 코드일까?#include int main() { int n; int tmp; n = 1; if (n == 1) { tmp = n + 1000; printf("tmp = %d\n", tmp); } printf("n = %d\n", n); return 0;} 정답은 "나쁜 코드"이며 이유는 2가지이다 1. 비효율적인 메모리 사용tmp는 if 코드 블록에서만 사용되지만, main() 코드 블록이 종료될 때까지 메모리에 유지하게 된다. 따라서 불필요한 메모리가 낭비된다. 만약 if 코드 블록 안에 tmp를 선언했다면 C언어를 구현하는 곳에서 if 코드 블록의 종료 시점에 이 .. 2024. 8. 4. 배열의 인덱스가 0부터 시작하는 이유 혹시 배열의 인덱스가 1이 아닌 0부터 시작하는 이유에 대해서 잘 아는가?아마 많은 사람들이 당연하게 인덱스를 0부터 사용하면서 그 이유는 잘 모를 것이다배열의 인덱스를 1이 아닌 0부터 사용하는 데에는 많은 이유가 있다지만, 그중에서 가장 중요하고 본질적인 이유는 바로 "메모리 주소 계산의 용이성"이다 배열은 메모리에서 연속적인 블록으로 할당된다. 배열의 첫 번째 요소의 주소를 기준으로 다른 요소의 주소를 계산할 때, 인덱스가 0부터 시작하면 포인터 산술이 간단해진다. 예를 한 번 들어보면, array[i]는 배열의 첫 번째 요소 주소에 i * 요소 크기를 더한 값과 같게 된다. 인덱스가 0부터 시작하면 첫 번째 요소의 주소에 0을 더하는 것이 되어 매우 직관적이게 된다.C언어와 같은 초기 프로그래밍.. 2024. 7. 24. 전역 변수의 일장일단 [장점]간편함:작은 프로그램이나 간단한 스크립트에서는 전역 변수를 사용하여 데이터를 공유하는 것이 더 간편할 수 있다. 함수 간에 많은 데이터를 전달하는 복잡함을 피한다.데이터 공유:여러 함수가 같은 데이터를 사용해야 할 때 전역 변수를 사용하면 데이터 전달과 관련된 코드를 줄일 수 있다. 모든 함수가 전역 변수에 접근할 수 있기 때문에 코드가 간결해질 수 있다.메모리 효율성:전역 변수는 프로그램이 실행되는 동안 한 번만 할당되므로 메모리 사용이 효율적일 수 있다. 반복적으로 할당하고 해제하는 비용을 줄인다.상수 데이터:변하지 않는 상수 데이터(예: 설정 값, 하드코딩된 테이블 등)를 저장하는 데 전역 변수를 사용하면 편리하다. 이러한 데이터는 프로그램 전체에서 사용되기 때문에 전역 변수로 정의하는 것이.. 2024. 7. 19. 조건식 순서의 중요성 (단락 평가) while (target->key != key && target != NULL) {} 다음 코드는 심각한 오류를 불러올 수 있다왜 그럴까? 한 번 생각해 보자..........이유는 target이 NULL값인 상황에 있다저렇게 target != NULL 조건을 뒤로 보내게 되면 조건식을 따졌을 때 target이 NULL이여도 그대로 target->key != key 조건식을 검사하게 된다 하지만 포인터가 NULL일 때 그 포인터가 가리키는 값을 접근하려고 하면 segmentation fault(프로그램이 허용되지 않은 메모리 영역에 접근하려고 할 때 발생하는 오류)가 일어나게 된다 따라서 조건식을 아래와 같이 target != NULL 먼저 오게 해야 한다while (target != NULL && ta.. 2024. 7. 19. 이전 1 2 다음