728x90

전체 글 929

CI/CD란 무엇인가?

CI/CD는 지속적 통합(Continuous Integration) 및 지속적인 배포(Continuous Deployment)의 약자입니다. CI/CD는 소프트웨어 개발 및 배포 프로세스를 자동화하여 효율성과 속도를 향상시키는 방법입니다. 지속적 통합(CI)은 개발 과정에서 개발자들이 작성한 코드를 자동으로 통합하고 테스트하는 프로세스를 의미합니다. 개발자들이 각자의 코드를 작성한 후, 이를 중앙 저장소에 통합하면 CI 시스템이 해당 코드를 가져와서 자동으로 빌드, 테스트, 분석을 수행합니다. 이를 통해 코드 품질을 유지하고 충돌이나 오류를 조기에 발견할 수 있습니다. 지속적 통합(CI)은 개발자들이 작성한 코드를 정기적으로 통합하고 테스트하는 과정입니다. 일반적으로 개발자들은 각자 독립적으로 코드를 작..

Development 2023.06.02

API란 무엇인가?

API는 "Application Programming Interface"의 약자로, 응용 프로그램 간의 상호 작용을 위한 규약이나 인터페이스를 말합니다. API는 소프트웨어 개발에서 중요한 역할을 합니다. API는 서로 다른 소프트웨어 시스템이 상호 작용할 수 있도록 허용하고, 소프트웨어 컴포넌트 간의 통신을 용이하게 만들어 줍니다. API는 일련의 규칙과 프로토콜을 정의하여, 소프트웨어 개발자가 다른 시스템의 기능을 호출하고 사용할 수 있도록 합니다. API는 다양한 형태로 제공될 수 있습니다. 예를 들어, 웹 API는 웹 응용 프로그램 간의 통신을 위한 인터페이스를 제공하며, 소프트웨어 라이브러리 API는 프로그래밍 언어에서 사용할 수 있는 함수와 클래스를 제공합니다. 또한, 운영 체제 API는 운영..

Development 2023.06.01

MSA 아키텍처

마이크로서비스 아키텍처(MicroService Architecture, MSA)는 소프트웨어 개발에서 매우 유용한 접근 방식 중 하나입니다. 이 아키텍처는 소프트웨어 응용 프로그램을 작은, 독립적인 서비스의 집합으로 구축합니다. 각 마이크로서비스는 특정한 비즈니스 기능을 담당하며, 다른 마이크로서비스와는 잘 정의된 API를 사용하여 통신합니다. 마이크로서비스 아키텍처의 주요 이점 중 하나는 소프트웨어의 지속적인 제공과 배포(CI/CD)를 가능하게 한다는 것입니다. 각 서비스가 독립적이므로, 다른 서비스와 별도로 개발 및 배포할 수 있으며, 더 빠른 릴리스 주기와 전반적인 민첩성이 향상됩니다. 또한, 마이크로서비스는 독립적으로 확장할 수 있으므로 더 큰 효율성과 비용 절감을 가능하게 합니다. 하지만, 마이..

Development 2023.05.31

ChatGPT를 이용한 블로그 작성

ChatGPT을 이용해서 블로그를 작성하는 방법에 대해서 ChatGPT에게 물어봤습니다. ChatGPT에게 물어볼 때마다 느낀 점이지만, 항상 원론적인 것만 검색하는 것 같습니다. 프로그래밍 등은 조금은 전문적인 내용이 있지만, 그렇지 않은 내용에 대해서는 원론적인, 누구나 예상하는 내용을 알려 줍니다.(무료 버전이라서 그런가 싶기도 하지만...) 그리고 조금만 검색을 해보면 ChatGPT를 이용해서 블로그를 작성하면 추후에 검색이 안될 거라는 내용의 블로그가 많습니다. 원리는 알 수 없지만 ChatGPT를 이용해서 작성한 내용을 검증하는 프로그램이 있다고 합니다.(물론 그 프로그램도 무력화하는 방법을 찾겠지만....)

Management 2023.05.26

업무기술서 작성법

회사의 업무를 진행하다가 보면 외주업체에게 업무를 요청할 경우가 생긴다. 이때 작성해야 하는 문서가 "업무요청기술서" 혹은 "업무기술서"이다. 업무기술서 작성법에 대해서 알아보자 보통 업무기술서는 다음과 같은 형식으로 작성이 된다. 1. 해당 업무의 목적 2. 해당 업무의 범위 3. 요청 업무의 상세 4. 기타 요구사항등 각 항목에 대해서 상세히 알아보자 먼저, 1. 해당 업무의 목적이 정확하게 전달될 수 있도록 작성한다. 목적이 정확하게 전달되지 않으면 추후 개발이 진행되면서 많은 혼란이 야기될 수 있다. 계약에 따라서 업무기술서는 계약서의 일부로 첨부될 수도 있는데 만약 이렇게 첨부가 되면 수정을 할 수 없게 된다. 그럼 법적인 문제로까지 갈 수 있으므로 업무기술서는 정확히 작성해야 한다. 그리고 최..

Management 2023.05.26

보안기사 실기 대비 공부법

21년도 9월에 보안기사 필기를 합격하고 실기를 계속 응시하고 있지만, 매번 낙방을 하고 있다. 그래서 인터넷에서 얘기하는 보안기사 실기 공부법에 대해서 알아 볼려고 한다. 보안기사 실기 문제를 얼핏 보면 쉬운 문제로 보이나, 서술형과 실무형 문제의 경우 반복 학습을 통해 정확하게 이해하지 못한 경우 답안 작성이 까다로웠으리라 생각됩니다. 문제 분석 결과 교재(최소 2회 반복)와 기출 문제(최근 3년 치 학습)를 충실히 학습한 경우 56~66점(단답형 13~16점, 서술형 20~23점, 실무형 23~27점) 정도의 점수 분포가 예상됩니다. 즉, 단답형에서 신규로 출제된 문제를 얼마나 많이 맞추느냐가 아니라 서술형, 실무형에서 개념과 원리를 얼마나 정확하게 이해하고 성의 있게 기술했느냐가 합격의 열쇠입니다..

Certificate 2023.04.07

솔루션을 개발할 때 요구사항 정의서를 작성하는 방법

솔루션을 개발할 때 요구 사항 정의를 작성하는 단계는 다음과 같습니다. 1. 문제 식별: 요구 사항 정의 작성의 첫 번째 단계는 해결하려는 문제를 식별하는 것입니다. 비즈니스 문제, 기술 문제 또는 사용자 문제일 수 있습니다. 문제를 해결하기 위해 요구 사항을 조정할 수 있도록 문제를 명확하게 정의하는 것이 중요합니다. 2. 목표 정의: 문제를 식별했으면 솔루션이 달성해야 하는 목표를 정의해야 합니다. 이러한 목표는 구체적이고, 측정 가능하고, 달성 가능하고, 적절하고, 기한이 정해져 있어야 합니다(SMART). 이를 통해 요구 사항이 원하는 결과를 달성하는 데 집중되도록 할 수 있습니다. 3. 이해 관계자 요구 사항 수집: 다음으로 솔루션의 영향을 받는 모든 이해 관계자로부터 요구 사항을 수집해야 합니..

Management 2023.04.06

How to override methods in django

파이썬(Django)에서 함수 재정의 django(python)에서의 메소드 재정의하는 방법은 경우에 따라 다르지만, 공식문서를 확인하는 것이 원칙입니다. 특히 모델의 save() 함수 등과 같이 모델의 경우에는 특히 공식문서를 확인하는 것이 원칙입니다. 일부 메서드에 *args 및 **kwargs가 필요한 이유는 이 것이 "템플릿"(반드시 있어야 하는 것)이 아니라, django가 메서드를 실행할 때 *args 및 **kwargs를 생략할 때 실수로 제외할 수 있는 다른 인수와 키워드 인수를 전달하기 위함입니다. Django의 save() 함수을 보면 기본적으로 전달되는 수많은 키워드 인수가 있습니다. 추상적인 모델의 예를 보자. 이 옵션을 다음으로 재정의하는 경우: class SomeAbstractM..

Development 2021.03.10

django 커스텀 유저 모델(Custom User Model)

Django Custom Model django 에는 기본적으로 정의되어 있는 User 모델이 있다. migrations를 하게 되면 자동으로 테이블이 생성된다. 기본으로 정의되어 있는 모델은 처음 로그인을 할때 username 으로 로그인을 하게 되어 있다. 서비스를 개발할 때 다른 User 모델이 필요하게 된다. 기본적으로 정의되어 있는 모델보다 다양한 정보를 필요로 할때가 있다. 이럴 때는 커스텀 유저 모델을 사용해야 한다. 커스텀 유저 모델 생성 django에서 제공하는 AbstractBaseUser를 상속받아서 Custom User Model을 생성 할 것이다. django의 앱 폴더의 models.py를 아래와 같이 변경한다. models.py from django.contrib.auth.mo..

Development 2021.03.09
반응형
LIST