IT21 스프링 의존성 주입: @Autowired vs @RequiredArgsConstructor + 단위 테스트 예제 스프링에서는 객체 간 의존성을 주입할 때 여러 방법이 있지만, 대표적으로 **필드 주입(@Autowired)**과 **생성자 주입(@RequiredArgsConstructor)**이 있습니다. 겉으로는 어노테이션 하나 차이처럼 보이지만, 동작과 장단점은 크게 다릅니다.1. 필드 주입: @Autowired @Servicepublic class UserService { @Autowired private UserRepository repository; public String getUserName(Long id) { return repository.findNameById(id); }}스프링이 리플렉션으로 필드에 값 주입final 필드 불가능 → 값 변경 가능단위 테스트 어려움.. 2025. 9. 24. [Java] 특정 문자 포함 여부 확인하기 String.contains() vs StringUtils.contains() Java에서 문자열 검색할 때 contains()는 자주 쓰이는 메서드다. 하지만 실무에선 예상 못한 NullPointerException이 발생할 수 있어서 주의가 필요하다. 💥 문제 상황: null을 contains에 넣으면?java복사편집String id = null; boolean result = "abc".contains(id); // 💥 여기서 NPE 발생 String.contains(CharSequence s)는 내부에서 indexOf(s)를 호출하는데,이때 s가 null이면 바로 NullPointerException이 발생한다.즉, null 체크 없이 contains 사용하면 예외 터짐✅ 해결 방법 1: null 체크 후 containsjava복사편집if (id != null && "a.. 2025. 7. 23. [Vue3] composables 역할 개발을 하다보면 여러군데서 똑같이 유효성체크를 할 일이 생기는데 이번에 개발을 하면서 composables 모듈을 하나 말들어서 공통화 했음composables란 재사용 가능한 로직(함수)을 분리해 놓은 모듈로 Composition API를 기반으로 재사용 가능한 함수들을 뜻한다. 이름에서 알 수 있듯이 여러 로직을 "조합(composition)" 할 수 있도록 구성된다.composable을 만들 때 지켜야 할 규칙이 있는데1. 반드시 setup() 함수에서 호출할 것2. 컴포넌트 외부에서 선언될 것3. 이름은 보통 use~ 형태로 4. 반응형 데이터는 ref또는 reactive로 선언해서 반환디렉토리는 아래와 같이 만들면 된다.src/ ├── composables/ │ ├── useCounter... 2025. 7. 3. [ASP.NET] IsPostBack 의미/사용하기 ASP.NET Page_Load 이벤트에서 자주 사용하는 Page.IsPostBack 포스트백이란 한페이지에서 다른 페이지로 이동을 하는게 아니라 다시 자신의 페이지가 새로고침이 일어나는 현상이라고 보면 된다. Page_Load이벤트에서 페이지 요청이 있을 때마다 해당 페이지를 초기화하는 작업이 비효율적이기에 IsPostBack를 사용해서 이 값이 False면 처음 로드된 것으므로 한번만 초기화해야 하는 코드를 넣어주면 된다. 일반적으로 if(!Page.IsPostBack) {} 구문으로 많이 사용하고 처음 해당 페이지를 방문했을 때 실행할 구문을 넣어주는 것으로 해석하면 된다. (F5나 새로고침을 누를 경우 위의 구문은 타지 않음) * 참조 : https://msdn.microsoft.com/ko-kr.. 2020. 4. 21. [ASP.NET] Repeater Control로 데이터 바인딩 하기 Repeater Control를 사용하면 데이터를 화면에 뿌려줄 때 지정된 템플릿을 반복해서 데이터를 바인딩 해줄 수 있다. (네임스페이스 : System.Web.UI.WebControls) 매우매우 간편해서 많이 쓰는 듯 하다. 아래에 소스코드 예제로 설명을 하면 이렇게 aspx에서 Repeater로 템플릿을 지정해준다. 그리고 서버단에서 아래와 같이 받아서 처리한다. Repeater1.DataSource = values; Repeater1.DataBind(); DataSource는 목록을 채울 데이터를 가져오거나 설정하고 DataBind는 데이터를 소스에 바인딩 해준다. 2020. 4. 21. [R programming] 재미로 알아보는 카카오톡 대화 분석 최근에 R을 배우기 시작하면서 여러가지 재밌는(?) 통계 데이터들을 보다가 카카오톡 대화 분석을 해보면 어떨까 하고 검색해봤더니, 이미 여러 훌륭하신 분들께서 샘플 코드를 올려주신 걸 봤다! (야호) 접근하기 쉬운 데이터일 뿐만 아니라, 데이터에 대한 연관성 및 정확성 등도 나에게서 나온 데이터이기 때문에 판단이 쉽고 또 재밌는 결과를 볼 수 있을 것 같았다. 아래의 순서를 잘 따라가다 보면 재밌는 결과를 볼 수 있다. ① 분석 대상 데이터 추출 분석하고자 하는 대화를 해당 카카오톡 대화방에서 "대화내용 내보내기" 기능을 통해 텍스트 파일로 내려받는다. 카카오톡에서 내려주는 파일 여러개를 합쳐서 막 해보려고 했는데, 데이터가 많으면 소스가 돌아가다가 오류가 난다. 적정수준은 구현 환경에 따라 다르겠으나,.. 2019. 7. 6. [R Programming] 정규성 검정 - Shapiro-Wilks test 주어진 자료가 있을 때, 그 자료의 데이터들이 정규분포를 따르는지 검정하는 방법으로 통계의 여러 검정법들이 데이터의 정규분포를 가정하고 수행되기 때문에 데이터 자체에 대한 정규성 검정 진행이 필요하다. (만약 실제 자료가 정규성을 만족하지 않는다면 분석 결과에 대한 타당성이 떨어짐) 정규성 검정 종류에는 아래 3가지가 있고, 여기서는 Shapiro-Wilks Test를 정리하려 한다. - 정규성 검정 종류 : Shpiro-Wilks test, Kolmogorove-Smirnov test, Quantile-Quantile plot [Shpiro-Wilks test] 는 가정이 있다고 한다. 1단계는 정규성 검정(Normality test) 으로 데이터의 정규분포를 검증하는 것으로, 귀무가설과 대립가설을 세.. 2019. 7. 6. [R Programming] - 그래프 그리기! 지난 포스팅 때 R의 기본명령어와 데이터의 빈도, 백분율을 구하는 방법을 간단히 알아보았다! 이번에는 데이터를 기반으로 그래프를 그려주는 함수들에 대해서 포스티잉~ 먼저 첫번째는 막대그래프 - Bar Plot (질적자료에 사용됨) # barplot(frequency or percent) 함수는 위와 같이 barplot을 이용하면 되는데, 값으로 데이터의 빈도나 백분율을 주면 된다! 간단하게 몇가지 함수 예제를 보여주면, barplot(sort(table(diamonds$cut) , decreasing = TRUE)) -> cut의 빈도를 내림차순으로 막대그래프를 이용해 보여주기 barplot(sort(table(diamonds$cut) , decreasing = TRUE), col="yellow") ->.. 2019. 6. 6. R을 활용한 빅데이터 고급 분석 https://mrkevinna.github.io/ Kevin Seongho Na – Marketing Data Analyst from Seoul, Korea Marketing Data Analyst from Seoul, Korea mrkevinna.github.io 2019. 6. 3. 이전 1 2 3 다음