Engineering

Engineering/Data

[R] R Programming Web Crawling 워드클라우드

1. 기본 package 설정# install.packages("ggwordcloud")library(ggwordcloud) 2. 실행 시 매번 다르게 그려지도록 설정set.seed(123)color % slice_max(n, n = 50)), replace = TRUE) 3. 흑백으로 그리기set.seed(123)word_count %>% filter(n > 20) %>% ggplot(mapping = aes(label = word, size = n)) + geom_text_wordcloud_area() + scale_size_area(max_size = 20) ..

Engineering/Data

[R] R Programming Web Crawling 단어 빈도 분석

1. 기본 package 설정# install.packages("tidyverse")# install.packages("tidytext")library(KoNLP)useNIADic() # 단어사전library(tidyverse)library(tidytext) 2. 단어 빈도 및 퍼센테이지(%) 계산word_count % count(word, sort = TRUE) %>% mutate(prop = n / sum(n)) %>% ungroup()word_count 3. 단어 확인3-1. 전체 데이터 확인word_count %>% slice_max(n, n = 100) %>% print(n = 100) 3-2. 전체 데이터에서 상위 100개만 확인word_count %>% slice_max(n, n ..

Engineering/Data

[R] R Programming Web Crawling 형태소 분석

1. 기본 package 설정# install.packages("tidyverse")# install.packages("tidytext")useNIADic() # 단어사전library(KoNLP)library(tidyverse)library(tidytext) 2. 데이터 가져오기tm_tb ✔️여러 페이지의 데이터를 가져오는 방법으로 내보내기한 데이터를 사용한다. 3. 문서 전처리 (정규표현식 이용)tm_tb % mutate(본문 = gsub("[[:cntrl:]]", "", 본문)) %>% # 엔터 등 제거 mutate(본문 = gsub("[[:punct:]]", " ", 본문)) %>% # 구두점 등 제거 mutate(본문 = gsub("[[:digit:]]", "", 본문)) # 숫자 제..

Engineering/Backend

Java 클래스 예시 소스 코드: 추상화, 캡슐화, 상속, 다형성

Java의 이해: 클래스와 객체 💡클래스 (Class) 클래스는 멤버 변수 및 메서드를 포함하는 객체를 만들기 위한 코드 양식으로서, 인스턴스(메모리에 할당된 객체)를 생성하는 설계도(틀)라고 할 수 있다. 속성을 표현하는 변수 isaac-christian.tistory.com Java의 이해: 추상화, 캡슐화, 상속, 다형성 💡추상화 (Abstraction) 추상화는 관련 없는 사항을 은닉 또는 삭제하여 핵심적인 개념 또는 기능만을 간추려 내는 작업으로, 나에게 필요한 특징만을 표현하여 본질적 문제에 집중할 수 있도록 한 isaac-christian.tistory.com 이 글은 Java의 이해: 클래스와 객체, Java의 이해: 추상화, 캡슐화, 상속, 다형성 글을 참고한다. Car 클래스 소스코드 ..

Engineering/Backend

Java의 이해: 테스트 (파레토, 롱테일 법칙 / 정적, 동적 테스트 / V모델)

💡 테스트 소프트웨어 개발에서의 테스트는 소프트웨어의 품질을 평가하고 결함을 발견하여 실제 동작 사이의 차이를 수정하는 작업이다. 테스트는 소프트웨어의 오류를 최소화하고 사용자에게 안정적이고 신뢰할 수 있는 소프트웨어를 제공하기 위해 필수적이다. 그러나 테스트는 결함이 있음을 보여줄 뿐, 결함이 없음을 증명할 수는 없다. 소프트웨어는 복잡하고 다양한 입력 조건과 환경에서 실행되기 때문에 모든 가능성을 고려하여 완벽하게 테스트하는 것은 불가능하다. 따라서 테스트는 소프트웨어의 특정 부분을 검사하고 그 부분에 대한 오류를 찾아내고 수정함으로써 소프트웨어의 신뢰성과 안정성을 향상시키는 데에 주로 사용된다. ⚬ 파레토 법칙 파레토 법칙은 경영학자 빌포르도 파레토가 이탈리아에서 20%의 사람이 80% 부를 소유하..

Engineering/Backend

Java의 이해: 구현 (프로그래밍 언어의 규칙)

💡 프로그래밍 언어 구현 단계에서는 단순히 프로그래밍 언어와 코딩 규칙에 대해 다룬다. 1. Fortran: 항공, 무기 분야 2. Cobol: 은행 시스템 3. C/C++/C#: 자율주행, 홈 오퍼레이션(Iot 사물인터넷), 임베디드 시스템(컴퓨터 시스템이 들어가 있지 않은 곳에 시스템을 넣는 것) ⚬ .NET Framework(닷넷 프레임워크) .NET은 모든 운영 체제에서 실행할 수 있는 데스크톱, 웹, 모바일 애플리케이션 빌드를 위한 오픈 소스 플랫폼이다. .NET은 CLS를 따르는 언어라면 모두 실행 및 빌드가 가능하다. 4. Java: 웹 개발, 모바일 애플리케이션, 데스크톱 애플리케이션, 게임 개발, 데이터베이스 ⚬ 자바 가상 머신(JVM: Java Virtual Machine) JVM은 J..

Engineering/Backend

Java의 이해: 디자인 패턴

💡 디자인 패턴 Design pattern 디자인 패턴은 소프트웨어 설계 과정에서 자주 발생하는 문제를 패턴 형태로 일반화한 것으로, 이를 이용하면 코드 및 디자인을 재사용하여 모듈의 역할 또는 모듈 간의 인터페이스 구현 설계 등의 작업을 효율적이고 간편하게 할 수 있다. ⚬ GoF의 디자인 패턴 1995년 GoF(Gang of Four)가 처음으로 디자인 패턴을 구체화하였다. GoF의 디자인 패턴은 소프트웨어 공학에 가장 많이 사용되는 디자인 패턴이며, 목적에 따라 행위 패턴 11개, 구조 패턴 7개, 생성 패턴 5개 총 23개의 패턴으로 구성되어 있다. 💡 행위 패턴 Behavioral 행위 패턴은 클래스나 객체의 상호작용, 손실 결합을 패턴화한 것으로, 하나의 객체를 여러 객체로 분할하여 결합도를 ..

Engineering/Data

[R] R Programming Web Crawling 데이터 수집 (네이버 기사)

기사 데이터를 수집하는 방법으로 아래 3가지를 제시한다.1. 데이터를 하나만 가져오는 방법2. 여러 페이지의 데이터를 가져오는 방법3. 조건을 설정하여 데이터를 가져오는 방법3가지 방법을 구현하는 코드는 거의 비슷하지만 상이한 부분에 대해서는 디버깅을 통해 문제를 해결하는 능력이 필요하다. 1. 기본 package 설정# 1. 기본 package 설치library(tidyverse)library(rvest)✔️ install.packages("") 2. 데이터를 하나만 가져오는 방법2-1. 검색어 설정# 2-1. 검색어 설정search_url ✔️ 검색어: ChatGpt 2-2. URL 주소 검색# 2-2. URL 주소 검색news_url % read_html() %>% # sp_nws1 > div..

Isaac S. Lee
'Engineering' 카테고리의 글 목록 (43 Page)