no image
[검색엔진] Solr에 대해서 알아보자
검색엔진 Solr 개요Apache Solr는 오픈소스 검색 플랫폼으로, Apache Lucene 라이브러리를 기반으로 개발되었다.주로 텍스트 기반 데이터 검색, 데이터 색인, 데이터 분석에 사용되며, 대규모 데이터 처리에 적합하다.Solr 주요 특징1. 강력한 검색 및 색인 기능 Solr는 빠르고 효율적인 텍스트 검색 기능을 제공한다. - 키워드 검색 - 부분 검색 및 와일드카드 검색 - 필터링과 정렬 - 여러 언어 지원 2. 확장성과 분산 처리 Solr는 클러스터링 및 분산 검색을 지원한다.SolrCloud 기능을 사용하면 데이터를 여러 서버에 분산해 검색 속도와 데이터 처리 용량을 늘릴 수 있다. 3. RESTful API 지원 Solr는 HTTP 요청을 통해 데이터를 색인하거나 검색할 수 있는 RE..
2024.11.27
no image
[정보처리기사] 소프트웨어 아키텍처
SW 아키텍처란?SW 아키텍처는 소프트웨어 시스템의 기본 구조를 정의하며, 시스템의 주요 구성 요소, 이들 간의 관계, 상호 작용 방식을 포함한다. 또한, SW 아키텍처는 품질 속성(성능, 확장성, 보안성 등)을 충족시키기 위해 설계된 주요 설계 결정을 나타낸다. 소프트웨어 아키텍처는 시스템 개발 과정에서 의사소통의 기반이 되며 시스템의 성공적인 구현과 유지 보수를 위해 필수적이다. 이를 통해 프로젝트 팀은 설계 의도를 명확히 하고 요구사항을 시스템 구조에 반영하며 기술적 위험을 완화할 수 있다.SW 아키텍처 4+1 뷰 모델SW 아키텍처 4+1 뷰 모델은 필립 크리센(Philippe Kruchten)이 제안한 소프트웨어 설계 접근법이다. 이 모델은 복잡한 시스템을 다각도로 분석하여 명확히 이해하고 설계할..
2024.11.19
no image
[정보처리기사] SW 비용산정 모형
소프트웨어 비용산정 모형은 프로젝트 예산을 효과적으로 계획하고 관리하기 위해 사용하는 중요한 도구이다.프로젝트의 특성과 크기에 따라 적합한 비용산정 모형을 선택할 수 있으며 하향식과 상향식 방식에 따라 접근할 수도 있다.주요 비용산정 모형과 하향식·상향식 방식을 아래에 정리했다.하향식 방식과 상향식 방식하향식 방식 (Top-Down Estimation)하향식 방식은 프로젝트 전체를 큰 틀에서 대략적으로 분석한 후 세부 단계별로 비용을 할당하는 방식이다.주로 이전 유사 프로젝트의 데이터를 기반으로 전체 예산을 산정한 뒤 이를 세부 항목으로 분배한다. - 장점: 빠르고 간편하게 예산을 산정할 수 있으며 전체적인 비용 산정을 효율적으로 수행할 수 있다. - 단점: 세부 요소에 대한 분석이 부족할 수 있어 세부..
2024.11.15
no image
[정보처리기사] 소프트웨어 개발 방법론(SDM)
1. 소프트웨어 개발 방법론(SDM)이란?SDM은 소프트웨어 개발 과정을 체계화하고, 단계적으로 프로젝트를 관리하기 위해 정의된 일련의 절차와 원칙이다.이를 통해 개발자는 요구사항 분석부터 설계, 구현, 테스트, 유지보수에 이르는 전 과정을 체계적으로 진행할 수 있다. 2. 주요 소프트웨어 개발 방법론 종류1) 구조적 방법론 (Structured Methodology)구조적 방법론은 소프트웨어를 기능 단위로 나누고 각 기능이 논리적으로 연결되도록 설계하는 방식주로 Waterfall 모델과 같은 순차적 접근 방식을 사용하며, 각 단계가 완료되어야 다음 단계로 진행할 수 있다. - 특징: 단계가 명확하게 구분되며, 계획과 문서화를 중시- 장점: 요구사항이 고정적일 때 효과적이며, 각 단계별 산출물을 관리하기..
2024.11.14
no image
[CS] 생성형 AI 도구의 특징과 장단점
1. Perplexity AI(https://www.perplexity.ai/)- 검색 엔진 기반의 AI 서비스로 웹에서 정보를 검색해 요약하고 관련성을 파악해주는 생성형 AI#장점- 정보 수집과 요약에 탁월해 빠르게 최신 정보를 얻기 좋음.- 소스 링크 제공으로 신뢰도를 높임.#단점- 특화된 질문에 대해선 제한적인 답변을 제공할 수 있음.- 검색 기반으로 사용하므로 특정 정보는 불완전할 수 있으며 출처는 제공하나 정확도는 확신할 수 없음. 2. ChatGPT (https://openai.com/blog/chatgpt)- OpenAI의 언어 모델 GPT-4를 기반으로 한 대화형 AI로 주제에 대한 깊이 있는 응답을 생성하며 한국어 지원이 원활#장점- 자연스럽고 깊이 있는 대화가 가능하며 다양한 주제를 포..
2024.11.13
no image
[정보처리기사] 소프트웨어 생명 주기 (SDLC)
소프트웨어 개발 생명주기(SDLC, Software Development Life Cycle)는 소프트웨어 제품이 기획 단계에서부터 배포, 유지보수에 이르기까지 거치는 전체 과정으로 이 과정에서 각 단계의 역할과 절차를 명확히 하고 프로젝트의 품질, 효율성, 비용 절감을 목표로 한다. SDLC의 주요 단계1. 요구사항 수집 및 분석- 프로젝트의 목적과 목표를 정의하고, 사용자와 이해관계자의 요구사항을 분석한다. 예를 들어, 고객이 원하고 필요로 하는 기능을 명확히 파악하는 단계라고 생각하면 된다. 2. 설계 (Design)- 요구사항을 바탕으로 시스템의 구조를 설계한다. 여기에는 데이터베이스 구조, 소프트웨어 아키텍처, UI 설계 등이 포함되며, 시스템의 큰 그림과 세부 설계를 포함된다. 3. 구현 (C..
2024.11.11
no image
[CS] DNS 레코드 작업 및 리버스 프록시
메일 서버를 On-premis 환경에서 가상화 환경으로 변경함에 따라, DNS 레코드 작업과 함께 기존의 다이렉트 연결에서 프록시 방식으로 스팸 서버와의 연결을 처리해야 한다. 아래는 작업 순서와 각 레코드 설정에 대한 자세한 설명이다. 메일 서버 DNS 레코드 작업 순서가상화된 메일 서버는 기존 물리 서버와 달리 프록시 방식으로 스팸 서버와 연결된다.각 DNS 레코드는 PTR, A, TXT(SPF), MX 레코드 순서로 설정하며, MX 레코드는 메일 수신 서버를 설정하는 항목이므로 가장 마지막에 수정한다. 단계별 작업 상세1. A 레코드 (Address Record)- 역할: 도메인 이름을 특정 공인 IP 주소와 연결.- 조회 방법#설정 확인 후 이미 설정된 상태라면 추가 작업 필요Xnslookup -..
2024.11.09
no image
[CS] 메일 저널링(Mail Journaling): 메일 보관의 중요성과 활용 방법
메일 저널링은 주로 기업이나 조직에서 이메일의 기록을 보존하고, 법적 or 감사 목적을 위해 활용하는 기능이다.특히, 법적 분쟁이나 규제 준수 측면에서 메일 저널링은 매우 유용하다고한다.필자 같은 경우는 위와 같은 상황이 아닌 AS-IS 메일 서버와 TO-BE 메일 서버에 대한 수발신 테스트를 위해서 저널링을 사용하게 되었다.신규 메일 서버를 구축하며 테스트 시, 수발신 데이터를 AS-IS 서버와 TO-BE 서버에 동일한 데이터가 처리될 수 있도록 구성했다.활용성도 다양하고 분쟁이나 규제 측면에서도 매우 유용한 저널링에 대해서 알아보자. 1. 메일 저널링이란?메일 저널링은 시스템이 모든 발신 및 수신 이메일을 자동으로 복사하여 별도의 저장소에 보관하는 기능을 의미한다.저널링을 통해 모든 이메일 기록이 보..
2024.11.09
no image
[CS] 프록시(Proxy)란?
이번 신규 프로젝트를 진행하며 브릿지 구성 방식이었던 서버를 프록시 구성 방식으로 변경해야할 상황이 발생했다.프록시에 대해 알아보자. Proxy(프록시)는 클라이언트와 서버 사이에서 중개 역할을 하는 서버다.일반적으로 사용자의 요청을 받아 대신 서버에 전달하고, 서버의 응답을 다시 사용자에게 전달하는 방식으로 동작한다.이 방식은 보안, 캐싱, 로드 밸런싱, IP 주소 숨기기, 또는 특정 콘텐츠 필터링을 목적으로 활용된다. 프록시 서버는 여러 유형이 있는데, 각 유형마다 역할과 사용 목적이 다르다.가장 일반적인 프록시 서버 유형과 각 유형의 역할을 예시로 살펴보자. 1. 정방향 프록시 (Forward Proxy)정방향 프록시는 사용자가 외부 서버에 접근할 때 중간에 위치하여 요청을 대신 전달해주는 방식이다..
2024.11.08