CS 공부, 기타(29)
-
CI / CD
CI/CD는 앱 개발 단계에 자동화를 통합하는 앱 제공 방식으로, 지속적 통합/지속적 제공 또는 배포를 의미한다. 애자일 개발 방식에서 발전한 CI/CD는 운영 원칙을 포함하는 포괄적인 용어이다.지속적 통합CI/CD의 첫 번째 요소이며, 일반적으로 여러 코드 변경을 공유 버전 관리 리포지토리에 자동으로 자주 통합하는 데 중점을 둔다. 각 통합 과정은 자동화된 빌드 및 테스트 프로세스를 통해 개발 주기 초기에 문제를 감지할 수 있다. CI는 서로 다른 팀 구성원의 코드 변경으로 인한 충돌 없이 코드 품질이 유지되도록 보장하여 개발자가 코드베이스의 안정성을 방해하지 않고 동시에 작업할 수 있도록 한다.지속적 제공자동화된 테스트를 통과한 후 코드 변경 사항을 다양한 환경(예: 스테이징 또는 테스트)에 자동으로..
2024.08.21 -
DTO (Data Transfer Object)
DTO(Data Transfer Object, 데이터 전송 객체)프로세스 간에 데이터를 전달하는 객체말 그대로 데이터를 전송하기 위해 사용하는 객체라서 그 안에 비즈니스 로직 같은 복잡한 코드는 없고 순수하게 전달하고 싶은 데이터만 담겨있다. DTO는 주로 클라이언트와 서버가 데이터를 주고 받을 때 사용하는 객체이다.DTO란 무엇이고 왜 사용해야 할까?
2024.08.21 -
Entity (엔티티)
Entity그대로 번역하면 실제, 독립체라는 뜻으로 데이터 모델링에서 사용되는 객체이다. 즉 엔터티(Entity)는 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 "어떤 것(Thing)"이라고 말할 수 있다. "어떤 것"이라고 부르는 것처럼 엔터티는 추상적인 의미를 가지며, 학교나 학생처럼 현실 세계에서 눈에 보이는 개념일 수도 있고 주문이나 결제처럼 눈에 보이지 않는 개념일 수도 있다.엔터티(Entity) ⇒ 데이터베이스의 테이블인스턴스(Instance) ⇒ 데이터베이스에 저장된 데이터 내용의 전체 집합속성(Attribute) ⇒ 인스턴스의 구성요소로써 더 이상 분리되지 않는 단위로, 업무에 필요한 데이터를 저장할 수 있음 적절한 Entity 의 특징업무에서 필요로 하는 정보여야 한다.유일한 식..
2024.08.21 -
소프트웨어 테스트의 7가지 원칙
SW 테스트의 중요성지속가능 개발품질 보증비용 절감고객 만족보안 강화 SW 테스트의 7가지 원칙테스트는 결함의 존재를 증명하는 활동이다.완벽한 테스트는 불가능테스팅은 초기에 실시결함은 집중살충제 패러독스테스팅은 정황 의존적오류 부재의 궤변 원칙 1 : 테스트는 결함의 존재를 증명하는 활동이다테스트케이스를 수행했는데, 결함이 발견되지 않음그렇다면 이 테스팅은 대상 시스템이 결함이 없다는 것을 증명한 것인가?⇒ 테스트 케이스가 얼마나 정교하게 짜여있었는가에 따라 다르다! 원칙 2 : 완벽한 테스트는 불가능테스트 케이스를 엄청 촘촘하게 많이 만들었는데, 다 테스트할 시간이 없다.⇒ 중요한 기능을 먼저 테스트하는 등 전략적인 접근이 필요 원칙 3 : 테스팅은 초기에 실시아직 구현 결과의 범위가 작은 초기에 테스..
2024.08.07 -
코드 리뷰와 Gerrit
코드 리뷰개발자가 작성한 코드를 다른 개발자들이 검토하고 피드백하는 과정코드 품질 개선, 코드 작성 능력 향상, 협업 능력 향상 등을 기대할 수 있다. 코딩 컨벤션읽고 관리하기 쉬운 코드를 작성하기 위한 일종의 코딩 스타일 규약ex) 명확한 네이밍 규칙, 들여쓰기와 포맷팅 규칙, 주석 작성 규칙, 함수와 메소드 규칙 등 코드 리뷰의 목적코드 품질 향상 및 표준화다양한 시각으로 코드를 검토하며, 버그를 발견하고 프로그램의 안정성을 강화팀원 간 지식을 공유하여 팀 전체 역량을 강화 코드 리뷰의 절차구성 ⇒저자 : 코드의 작성자, 리뷰를 요청하는 사람리뷰어 : 변경 내역을 확인하고 의견을 제시승인자 : 리뷰가 완료되고 승인하는 역할 진행 순서 ⇒준비 단계 : 저자가 코드를 준비리뷰 요청 : 저자가 리뷰를 요청..
2024.07.30 -
AIoT
AIoT = AI + IoTIoT 를 통해 수집된 데이터를 인공지능 알고리즘이 분석하여 스스로 판단을 내리는 융합기술 IoT 와 AIoT 공통점과 차이점사물에서 센싱한 데이터의 수집과 데이터 처리 과정에서는 동일한 기능을 수행ButIoT는 정의된 프로그램과 알고리즘을 기반으로 정해진 명령을 수행AIoT는 학습과 추론에 의한 지능형 동작을 수행한다는 것에 차이가 있다. AIoT 의 필요성IoT 디바이스의 증가로 처리할 데이터의 수가 폭발적으로 증가하여 지연과 정체가 발생 → 실시간 의사 결정이 요구될 경우 큰 문제가 됨 엣지 컴퓨팅 / 엣지 AI데이터를 생성하는 지점, 즉 로컬 기기나 센서에서 데이터를 처리하고 분석하는 기술엣지 컴퓨팅과 AI가 결합하여 로컬에서 데이터를 처리하고 인공지능 알고리즘을 실행하..
2024.07.30