전체 글 70

[ JAVA ] 캡슐화란?

캡슐화 : 기능의 구현을 외부에 감춤 ( 정보은닉 : Information Hiding ) : 캡슐화를 통해 기능을 사용하는 코드에 영향을 주지 않고 ( 또는 최소화) 내부 구현을 변경할 수 있는 유연함 캡슐화를 위한 규칙 1. Tell, Don`t Ask : 데이터 달라 하지말고 해달라고 하기 샘플) * 변경 전 if ( acc.getEmpAuth() == MANAGER ) { ...운영자 권한 } * 변경 후 if( acc.hasManagerAuth()){ ...운영자 권한 } 2. Demeter`s Law : 메서드에서 생성한 객체의 메서드만 호출 : 파라미터로 받은 객체의 메서드만 호출 : 필드로 참조하는 객체의 메서드만 호출 샘플) acc.getExpDate().isAfter(now) -> ac..

IT Diary/# JAVA 2021.07.11

[ JAVA ] try catch 문

Error(에러)와 Exception(예외의 차이) 에러(Error)란 컴퓨터 하드웨어의 오동작 또는 고장으로 인해 응용프로그램에 이상이 생겼거나 JVM 실행에 문제가 생겼을 경우 발생하는것을 말합니다. 이 경우 개발자는 대처할 방법이 극히 제한적입니다. 하지만 예외(Exception)은 다릅니다. 예외란 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류를 말합니다. 예외가 발생하면 프로그램이 종료가 된다는것은 에러와 동일하지만 예외는 예외처리(Exception Handling)을 통해 프로그램을 종료 되지 않고 정상적으로 작동되게 만들어줄 수 있습니다. 자바에서 예외처리는 Try Catch문을 통해 해줄 수 있습니다 여러가지 예외들 예외 구문 이유 ArithmeticExc..

IT Diary/# JAVA 2021.07.09

[ Python ] 장바구니 알고리즘 ( apriori ) 구현해보기 #2

어제 한 내용을 이어서 하자면, 데이터프레임으로 변경을 완료했는데 이 데이터프레임의 내용은 대략적으로 글로 쓰자면 1번째 행은 : JAVA, JSP 2번쨰 행은 : CSS, JAVA, JSP 을 표로 표시한 내용이다. 이제 aprior 알고리즘을 사용해서 어떻게 나오는지 보자 1 2 3 itemset = apriori(df, min_support=0.1, use_colnames=True) itemset print(itemset,'\n') Colored by Color Scripter cs 소스를 돌려보면.. 아래와 같이 값이 나오는데 support에 해당하는 값은 어떻게 나온걸까.. 짱구를 굴려봐도 답이 안나온다.. 이럴땐 구글링! 간단한 샘플을 통한 통계척도 구해보기 역시 구글! 없는게 없다 😄 맞는지..

IT Diary/# Python 2021.07.08

[ Python ] 장바구니 알고리즘 ( apriori ) 구현해보기 #1

연관분석의 대표적인 알고리즘 중 하나인 Apriori를 사용해서 연관분석을 진행해보려고 한다. 장바구니 분석 장바구니 분석은 보통 몇 가지 모델링 기법으로 이루어진다. 판매자들과 전자상거래 사이트에서 일반적으로 사용하는 장바구니 분석과 거래 분석을 통해 소비자들이 가장 많이 사는 제품에 대한 정보와 특정 제품이 가장 많이 팔리는 시기에 대한 정보를 알아내려고 한다. 데이터 기반 의사결정 만들기 장바구니 분석의 결과는 자주 같이 구매되는 아이템 혹은 물건들의 집합이다. 이제 연관도를 향상시키는 강한 지지도, 신뢰도, 향상도로 인해 이런 일들이 가능하고, 소비자들은 그것들을 구매하려 할것이며, 또한 판매자들은 가게나 그들의 웹사이트에 관련 있는 제품들을 같이 진열해 놓을 것이다. 하지만 강한 연관성은 항상 ..

IT Diary/# Python 2021.07.08

[ Knowledge ] AOP (Aspect Oriented Programming) 의 정의

AOP란 ? AOP(Aspect Oriented Programming)의 약자로, 여러 객체에 공통으로 적용할 수 있는 기능을 구분함으로써 재사용을 높여주는 프로그래밍 기법입니다. AOP는 핵심 기능과 공통 기능의 구현을 분리함으로써 핵심 기능을 구현한 코드의 수정 없이 공통 기능을 적용할 수 있게 만들어줍니다. 스프링 AOP 구현 스프링 AOP를 이용해서 공통 기능을 구현하고 적용하는 방법은 다음과 같습니다. 1. 공통 기능을 제공하는 Aspect를 구현한다. 2. Aspect를 어디(Point cut)에 적용할지 설정한다. 즉, Advice를 설정한다. 스프링 AOP 구현 방법 2가지 개발자는 공통 기능을 제공하는 Aspect 구현 클래스를 만들고, XMl이나 자바 설정을 이용해서 Aspect를 어디..

[ Knowledge ] API vs Library vs FrameWork

API(Application Programming Interface) 응용 프로그램에서 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 프로그램 간에 연결을 시켜주는 다리라고 생각하면 쉽다. 특징 uri 를 통해 데이터를 받는 형태가 많음 구현과 독립적으로 사양(사용법)만 정의되어 있다 API에 따라 접근 권한이 필요할 수 있다. ex) Kakao Map API, java API, 여러 기업들의 오픈 API Library 단어 뜻 그대로 도서관으로 생각해보면 쉽다. 필요한 책이 있으면 대여하기 위해 도서관에서 빌려오는 것처럼, 응용 프로그램 개발을 위해 필요한 기능을 가져다쓰는 소프트웨어 특징 독립성을 가진다. 다른 라이브러리를 의존하지 않는다. 응용 프로그램이 능동적으로 ..

[ Knowledge ] GET과 POST 의 차이는?

HTTP 웹상에서 클라이언트와 서버 간에 데이터를 주고 받을 수 있는 프로토콜 HTTP 메소드에는 2가지 방식이 있는데, 그것이 GET 방식과 POST 방식 GET URL에 파라미터를 포함시켜 요청하는 방식이다. 예를들어 https://recordboy.github.io/login?id=user&pw=1234 라는 페이지가 있다고 치자, ? 마크를 통해 URL의 끝을 알리고, id라는 키(key)에 대해선 user라는 값(value)를, pw라는 키(key)에 대해서는 1234라는 값(value)을 전송한 것을 볼 수 있다. 여러개의 키와 값을 보낼 때는 &를 사용하여 이어준다. 이처럼 데이터가 노출되기 때문에 보안에 취약하며, 개인정보가 포함되지 않는 상황에서 캐싱을 하여 페이지 로딩 속도를 높일 때 ..