프로그래밍

1. Test(테스트)1.1 단위테스트언제: 개발 중에 함수, 클래스, 서비스와 같은 소규모 기능 단위가 올바르게 동작하는지 확인하고 싶을 때 사용합니다.왜: 단위 테스트는 코드 품질을 보장하고, 리팩토링 중에 기존 코드가 망가지지 않도록 보호해 줍니다. 또한, 개발 중에 빠르게 오류를 발견할 수 있습니다.어느 상황에서: 새 기능을 개발하거나 버그 수정을 할 때 해당 기능의 정확성을 보장하기 위해 작성합니다.어떻게: JUnit, Mockito, Spring Test를 사용합니다. 스프링에서는 @MockBean을 사용해 의존성 주입을 대체할 수 있습니다. Mock 객체로 데이터베이스나 외부 API와 같은 의존성을 격리하여 테스트할 수 있습니다.@SpringBootTestclass UserServiceTes..
프록시 패턴대상 객체에 접근하기 전 그 접근에 대한 흐름을 가로채 대상 객체 앞단의 인터페이스 역할을 하는 디자인 패턴 프록시 서버서버와 클라이언트 사이에서 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해줌 Nginx비동기 이벤트 기반의 구조와 다수의 연결을 효과적으로 처리 가능한 웹 서버Node.js 서버 앞단의 프록시 서버로 활용 CloudeFlare전 세계적으로 분산된 서버가 있고 이를 통해 어떠한 시스템의 콘텐츠 전달을 빠르게 할 수 있는 CDN 서비스CDN (Content Delivery Network) : 지리적으로 분산된 서버들을 연결한 네트워크웹 서버 앞단에 프록시 서버로 두어 DDOS 공격 방어나 HTTPS 구축에 쓰임 CORS (Cross-Origin Re..
개선전 코드 (코드 리뷰 및 개선점을 요청받은 코드)더보기import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.Collection;import java.util.List;import java.util.Optional;import kwan.utility.customException.CustomReflectionException;public class Utility { static Connection con; static PreparedStatement ps; s..
소프트웨어 공학학문적 의미높은 품질의 소프트웨어를 효율적으로 개발하는 방법을 탐구하는 학문/연구 분야실천적 의미소프트웨어를 제품화함에 있어서 적용할 수 있는 품질보증 및 개선 활동을 규현하는 프로세스 CMMI (Capability Maturity Model Integrated)미국 국방부에 의하여 개발되어 지금까지 수천 개의 기업이 평가/인증받고 있음Level 존재SPICE(Software Process Improvement and Capability Determination)ISO/IEC 15504에 의하여 규정되어 프로세스 개선과 조직 평가 모델로 활용  소프트웨어 개발 및 유지관리 프로세스개발 방법론소스코드를 포함한 형상관리단계별 산출물 관리요구사항 관리테스트 및 검증  소프트웨어 개발 방법론 폭포..
바이트 입출력 // 문자 동일(try catch)InputStream is = new FileInputStream("파일경로");OutputStream os = new FileOutputStream("파일경로");byte[] array = new byte[1024];while(true) { int num = is.read(data) if (num == -1) break; os.write(array, 0, num);}os.flush();os.close();is.close();  보조 스트림// InputStream To ReaderReader reader = new InputStreamReader(new FileInputStream("경로"));// OutputStream To WriterWri..
표현 및 기호설명[]한개의 문자[abc] // a,b,c 중 하나의 문자[^abc] // a,b,c 이외의 하나의 문자[a-zA-Z] // a~z, A-Z 중 하나의 문자\d한 개의 숫자, [0-9]와 동일\s공백\w한 개의 알파벳 또는 한 개의 숫자, [a-zA-Z_0-9]와 동일\...모든 문자 중 한 개의 문자?없음 또는 한개의 문자*없음 또는 한 개 이상+한 개 이상{n}정확히 n개{n,}최소한 n개{n,m}n개부터 m개까지a|ba 또는 b()그룹핑  String regExp = "(02|010)-\\d{3,4}-\\d{4}";String data = "010-123-4567";boolean result = Pattern.matches(regExp, data); // true
류가든
'프로그래밍' 카테고리의 글 목록