Programming

Programming/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(..

Programming/R

R Programming Web Crawling 형태소 분석

1. 기본 package 설정 # install.packages("tidyverse") # install.packages("tidytext") useNIADic() # 단어사전 library(KoNLP) library(tidyverse) library(tidytext) 2. 데이터 가져오기 tm_tb % # 엔터 등 제거 mutate(본문 = gsub("[[:punct:]]", " ", 본문)) %>% # 구두점 등 제거 mutate(본문 = gsub("[[:digit:]]", "", 본문)) # 숫자 제거 tm_tb$본문[2] ✔️ 정규표현식 ✔️ mutate(본문 = gsub("", "", 본문)) ✔️ 무엇을 출력할지는 내용을 보면서 생각해 봐야 한다. ✔️ [:cntrl:]: 제어문자 [\x00-..

Programming/Java

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

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

Programming/Java

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

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

Programming/Java

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

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

Programming/Java

Java의 이해: 디자인 패턴

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

Programming/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 % # sp_nws1 > div > div > div.news_info > div.info_group > a:nth-child(3)" 앞부분 제..

Programming/Java

Java의 이해: 아키텍처

💡아키텍처 (Architecture) 아키텍처는 소프트웨어의 뼈대를 만드는 과정으로, 요구분석명세서의 기능을 제한조건에 따라 설계하는 것을 의미한다. ⚬ 컴포넌트 (Component) 컴포넌트는 역할을 가지고 있고 독립적으로 존재할 수 있는 시스템의 한 부분이다. ⚬ 아키텍처의 특징 소프트웨어의 추상화된 전체 구조를 제공하며, 소프트웨어의 구성요소(서브시스템, 컴포넌트) 등을 다룬다. 또한 세부 내용보다 중요 기능을 다루며, 비기능적 요구사항을 반영하고, 제한조건을 정의한다. 1. 시스템 아키텍처: 인프라의 물리적인 구조 2. 소프트웨어 아키텍처: 서버 중심으로 작동하는 소프트웨어의 논리 구조 ⚬ 소프트웨어 설계를 위한 작업 분류 1. 소프트웨어 아키텍처 설계 2. 인터페이스 설계 3. 자료저장소 설계 ..

Isaac-Christian
'Programming' 카테고리의 글 목록 (44 Page)