본문 바로가기

Back-End

(60)
[JAVA] 스프링 IP 주소 가져오기 import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpServletRequest;@RestController@RequestMapping("/api")public class IpController { @GetMapping("/client-ip") public String..
[JAVA] 자바 기초 - 의존성(Dependency), 생성자&수정자, 빌더패턴(Builder) 의존성과 의존성 관계 주입(Dependency Injection, DI)🦄  * 의존성- 한 객체가 다른 객체를 사용할 때- A클래스가 B클래스 또는 인터페이스를 사용하고 있는 경우→ A가 B를 의존한다는 것이 의미하는 것은 의존 대상 B가 변하면, 그것이 A에 영향을 미친다는 것. * 의존성 관계 주입(Dependency Injection, DI)- 의존성이 강할 때 나타나는 문제점을 해결하기 위해 사용- 의존성 주입 : 두 객체 간의 관계(의존성)를 맺어주는 것- 방법 : 생성자 주입, 필드 주입, 수정자 주입 → 객체를 주입받는다는 것은 외부에서 생성된 객체를 인터페이스를 통해 넘겨받는다는 것 = 결합도 낮춤(유연한 구조).   Class Minicar {          private Motor..
[날다프로젝트] Service, Controller 와 Repository / DAO와 DTO Service, Controller 와 Repository 🐸 계층형 아키텍처 @Controller(프레젠테이션 레이어) : 웹 요청과 응답을 처리함 @Service (서비스 레이어) : 내부에서 비즈니스 로직 처리 @Repository(퍼시스턴스 레이어) : DB나 파일같은 외부 I/O 작업을 처리 ⭐ Layered Architecture를 지킴으로써 각 계층 역할을 분리하여 유지보수가 쉽도록! Service 🐸 내용 1. UserService는 사용자와 관련된 비즈니스 로직을 처리하는 서비스 계층의 클래스 2. UserRepository는 데이터베이스와 직접적으로 소통하며 CRUD(Create, Read, Update, Delete) 작업을 수행하는 레포지토리 계층의 인터페이스 DAO와 DTO 🐸 내..
[DB] 데이터프레임 정리 - 행/열 합치기, 결측치, 중복값, 이상치 처리 데이터프레임 행단위/열단위 합치기 행단위 합치기 import pandas as pd ### 임시 데이터 생성1 data = [["Dog", 3], ["Cat", 5], ["Tiger", 2]] index = [0, 1, 2] columns = ["동물", "나이"] df_temp1 = pd.DataFrame(data, index = index, columns = columns) ### 임시 데이터 생성2 data = [["집", 0], ["초원", 0], ["초원", 1]] index = [0, 1, 2] columns = ["사는곳", "뿔의갯수"] df_temp2 = pd.DataFrame(data, index = index, columns = columns) ### df_temp1과 df_temp2..
[DB] 워드클라우드 시각화 - KoNLPY, Okt, Counter, WordCloud 워드클라우드 - 설치준비 🐤 Java 기반으로 만들어진 라이브러리로 JDK 설치 및 환경 설정 - 환경변수 등록 (파일탐색기>내 pc 마우스 우클릭 > 속성 > 고급시스템설정 > 환경 변수 ) * JAVA_HOME : 경로 - JDK설치 폴더까지 * Path 수정 후 두개 추가 : %JAVA_HOME%, %JAVA_HOME%\bin - PC 재부팅 후 설정 확인 : command창 open 후 -> java, javac 입력 후 help 내용 나오면 성공 🐤라이브러리 설치 - nltk 설치 : 영어 형태소 분석 라이브러리(KoNLPY의 상위 라이브러리) * pip install nltk - nltk 플러그인 추가 설치(다운로드 설치 방식) → 플러그인은..
[DB] 데이터 전처리 및 시각화 - 웹크롤링(selenium), 점(분포) 그래프, 원형 그래프 웹크롤링 - 외부 파일 읽어오기 🐤 행렬데이터 처리 라이브러리 import pandas as pd 🐤 외부 파일 읽어들이기 file_path = "./data/movie_reviews.txt" # 구분자 사용해서 txt저장했을 시 구분자를 명시해줘야함 df_org = pd.read_csv(file_path, # 구분자 알려주기 delimiter = "\t", # 제목 지정해주기 names = ["title", "score", "label", "comment"]) df_org 웹크롤링 - 데이터 전처리 🐤 결측치 확인 df_org.info() 🐤 기초통계 확인 : 이상 데이터 확인 - 이상치 확인 : score는 0~10 / label은 0~2 df_org.describe() 🐤 평점(score) 현황 데..
[DB] 데이터 수집 - 웹크롤링(selenium) 웹크롤링 준비 - URL : http://movie.daum.net - 다음영화 > 랭킹 > 박스오피스 > 월간 위치의 데이터 수집 - 수집데이터 : 영화 제목, 평점, 댓글 - 생성할 데이터 : 긍정/부정 - 정적인 웹크롤링을 할 경우 : BeautifulSoup : 하나의 페이지에 보이는 부분만 수집할 때 사용 - 동적인 웹크롤링을 할 경우 : selenium : 클릭과 같은 이벤트 등 페이지 전환을 하면서 수집할 때 사용 🐤설치 필요 : pip install selenium - 동적 웹페이지 처리를 위한 라이브러리(페이지를 컨트롤하는 라이브러리) from selenium import webdriver - 웹페이지 내에 데이터 추출을 위한 라이브러리() from selenium.webdriver.co..
[DB] 데이터베이스 실습 - 버스교통카드 데이터 전처리 시각화(히트맵, 막대그래프, 선그래프) 데이터 파일 다운로드👻 [포항시 BIS 교통카드 사용내역 데이터 수집] 1. URL : 국가교통 데이터 오픈마켓 2. 로그인 후 "포항시 BIS 교통카드 사용내역" 검색 3. 상품 다운로드 >> 200개씩 보기 >> 전체선택 >> 파일 다운로드 >> 80개 압축파일 다운 데이터 가져오기 1. 라이브러리 정의하기 import pandas as pd 2. 사용할 데이터 읽어들이기 - 데이터프레임 변수명 : df_bus_card_tot file_path = './01_data/all/df_bus_card_tot.csv' df_bus_card_tot = pd.read_csv(file_path) print("갯수 : ", len(df_bus_card_tot)) df_bus_card_tot.head() 3. 데이터..