Category Android

[Android] Google Play Store에 출시하기

패키징이 완료된 App은 Google Play Store에 출시할 수 있습니다.

[Android] 배포를 위한 패키징

안드로이드 앱 개발이 마무리 되면 배포를 위해 패키징을 수행해야 합니다. 안드로이드 패키지 파일은 *.aab 혹은 *.apk 확장자를 갖습니다.

Category Snippets

[수업관련] MySQL 정보를 토대로 POJO,Mapper,Service 소스를 자동 생성하는 프로그램

MySQL의 테이블 정보를 읽어와서 Spring 프로젝트 구조에 맞는 POJO클래스와 MyBatis Mapper, Service 패턴의 인터페이스 및 구현체 클래스를 자동으로 생성하는 파이썬 스크립트 입니다.

[Tip/Tech] 파이썬 pdf 병합 프로그램

이미지 파일이나 pdf 파일들을 병합해 주는 python 프로그램입니다. #01. 설치해야 할 패키지 1 2 3 4 5 6 pip install progress pip install fpdf pip install PyPDF2 pip install Pillow...

[Tip/Tech] 자바스크립트 기본 모듈

jQuery를 사용하여 페이지 작업을 할 때 즐겨 사용하던 기본 코드들 입니다. 혹시 더 좋게 발전시키질 분이 계시다면 공유 부탁드립니다. jQuery Common init code 1 2 3 4 5 6 7...

[Tip/Tech] MySQL 서비스 시작, 종료를 위한 윈도우 배치파일

예전에 필요에 따라 만들었던 윈도우 배치 파일입니다. 지금은 사용을 목적으로 한다기 보다는 필요에 따라 윈도우 batch 파일의 문법을 확인하기 위한 용도로 많이 참고 하고 있습니다.

[Tip/Tech] Visual Studio Code용 Codeigniter Snippets

VSCode에 셋팅해서 사용할 수 있는 Codeigniter용 코드 스니펫 설정 파일 입니다. 개인적인 프로젝트 용으로 사용하던 파일이라 범용적인 상황에는 맞지 않을 수 있습니다. Codeingniter VSCode Snippet 1 2 3 4 5...

Category Tip/Tech

[Windows] 명령프롬프트 기본 명령어

개발을 하다보면 윈도우를 사용하면서 명령프롬프트를 사용해야 할 일이 자주 있습니다. 이 포스팅에서는 기억해 놓으면 도움이 될 명령프롬프트의 기본 명령어들을 정리합니다. 1. 내부 명령어 내부 명령어란 컴퓨터가 부팅된후 사용자가 내린 명령어를...

[Tip/Tech] Git 저장소 초기화

주의!! 그 동안의 commit 이력이 모두 삭제됨. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # 자신의 프로젝트 폴더(git과 연결된)에서 ".git"폴더 삭제 rm...

[Tip/Tech] JSP나 Spring으로 개발된 웹 사이트를 cafe24로 이전하기

Web 기반의 소프트웨어는 고객이 지정한 서버에 소프트웨어를 설치하여 웹 브라우저를 통해서 정상적인 접속이 가능한 형태로 배포해야 합니다. 이 포스팅에서는 고객이 제시하는 서버를 가정하여 웹 호스팅을 신청하는 과정에 대해서 소개합니다. 본...

[Tip/Tech] VMWare 설치 이미지 백업, 복구

VMWare에 가상 운영체제를 설치 후 현 상태를 백업/복구 하는 방법입니다. 백업하기 VMWare에 리눅스나 기타 다른 운영체제를 설치하고 나면 C:/Users/{사용자계정명}/Documents/Virtual Machines 위치에 설치 이미지가 저장되어 있는 디렉토리가 생성됩니다. 그리고 그 디렉토리...

[Tip/Tech] 이클립스 코드 템플릿으로 Service 패턴 구현 손쉽게 하기

이클립스에서 제공하는 Templates 기능을 사용하면 단축어+Ctrl+Space 를 통해 상당수의 코드를 자동화 시킬 수 있습니다. 아래의 과정은 반복적인 작업을 빠르게 진행하기 위한 팁 입니다. 코드의 진행 원리를 파악하지 못한 상태로 아래의...

[Windows] 윈도우 패키지 관리자 choco 사용하기

윈도우에도 리눅스의 yum, apt-get이나 맥의 homebrew같은 패키지 관리자가 있습니다. 이를 사용하여 명령 프롬프트상에서 간단한 명령어 만으로 프로그램을 설치,삭제,업데이트 하는 방법을 소개합니다. 패키지 관리자 소개 간단한 명령어로 소프트웨어를 설치할 수 있으며...

[Tip/Tech] Jupyter Lab 설치하기

JupyterLab은 Jupyter Notebook에서 발전된 버전으로 본디 Python을 통한 데이터 분석에서 사용되던 코드 작성 도구 입니다. 코드작성과 그에 대한 결과 확인, Markdown을 통한 문서 작성을 한 페이지에서 동시에 수행할 수 있기...

[Tip/Tech] Sublime Text Package 설치와 추천 패키지

Sublime Text의 기본 환경 설정과 Package라는 형태의 확장 기능을 설치 방법을 소개합니다. 확장 기능을 통해 더욱 효율적인 코딩이 가능해 집니다. #01. Node.js 설치하기 1) 내려받기 Sublime의 일부 기능들은 내부적으로 Node.js을...

[Tip/Tech] Sublime Text 자바 컴파일 설정

Sublime Text 3에서 javac명령과 java 명령을 동시에 수행할 수 있는 Build Tool 설정 방법 입니다. #01. Build System 생성하기 Tools > Build System > New Build System 메뉴를 선택하여 새로운...

[Windows] 서비스 등록하기

수동으로 설치한 프로그램들이 윈도우 부팅시에 자동으로 구동되도록 명령프롬프트 상에서 윈도우에 서비스를 등록하는 명령어들 정리. 서비스 등록하기 1 $ sc create 서비스이름 binpath=실행파일경로 서비스 해제하기 1 $ sc delete 서비스이름 sc명령...

[Windows] CapsLock키로 한영 전환하기

Mac을 사용하다가 윈도우를 사용하면 가장 적응하기 힘든 부분이 한영 전환입니다. Mac에서는 Cmd+Space 혹은 CapsLock 키를 사용하여 한영을 전환하지만 윈도우에서는 전용 한영키가 존재하기 때문에 맥에서의 습관대로 한영 전환을 시도하면 매번 오타가...

[Mac] 기본 개발환경 구성

제가 개인적으로 사용하고 있는 초기 개발환경 구성 방법들 입니다. #01. 시스템 환경 설정 1) 미션 컨트롤 창 순서 고정 미션 컨트롤 창 순서가 기본적으로 최근 사용 순으로 설정되어 있어 의도하지...

Category Java

[Python] Matplotlib 데이터 시각화 연습문제

파이썬 기초 수업중 훈련생들에게 제시한 Matplotlib 활용 연습문제들 입니다.

[Python] 기초 연습문제

파이썬 기초 수업중 훈련생들에게 제시한 기초 문법 관련 연습문제들 입니다.

[Java,Spring] Service 패턴

서비스 패턴이란 DB를 통해 수행되는 비지니스 로직을 구현하는 계층을 의미합니다. 요구사항 정의 과정에서 도출되는 기능들을 명시하고 구현하는 계층이라 이해할 수 있습니다. #01. Service 계층의 구조 #02. Serivce 정의 과정 1)...

[수업관련] 포트폴리오 소스코드 제출방법

소스코드를 PDF형식으로 제출해야 하는 포트폴리오 형 시험시 산출물 제출 방법 입니다. 소스파일 정리하기 아래와 같이 모든 소스파일의 상단에 주석을 작성합니다. Java, JS, CSS, JSON 파일의 경우 1 2 3 4...

[Java,Spring] MyBatis 에러 케이스

MyBatis를 활용하여 데이터베이스 연동을 구현할 때 자주 겪게 되는 에러 메시지들을 상황별로 모아봤습니다. #01. MyBatis 설정파일 오류 Spring의 경우 root-context.xml을 사용하지만 JSP나 일반 Java Console 프로그램의 경우 별도의 설정 파일을...

[Java] 자바 콘솔 프로그램에서 MyBatis 연동

MyBatis란 객체지향 언어인 자바의 관계형 데이터 베이스 프로그래밍을 좀더 쉽게 할수 있도록 도와주는 프레임워크입니다. Framework 뼈대나 근간을 이루는 코드들의 묶음. 프로그램의 기본 흐름이나 구조를 미리 정해놓고, 이 구조에 자신의 코드를...

[Java] 은닉성

Java 언어에서 객체지향의 은닉성을 표현하기 위한 접근한정자를 설명합니다.

[Java] 생성자

생성자

[Java] 클래스와 객체

객체지향 프로그래밍이란 객체가 중심이 되는 프로그래밍 패러다임을 일컷는 용어입니다. 객체 (Object) 사전적 의미 : 어떠한 물건이나 대상 프로그래밍에서의 의미 : 프로그램에서 표현하고자 하는 기능을 묶기 위한 단위 객체를 구성하는 단위...

[Java] 재귀호출

재귀의 사전적 의미는 “원래 자리로 되돌아 가거나 되돌아 옴” 이라고 하고 있습니다. 이를 통하여 재귀호출는 자기 자신에게 돌아오는 처리라고 유추해 볼 수 있겠습니다. 한마디로 정리하자면 재귀호출은 메서드가 자기 자신을 호출하도록...

[Java] 값 복사와 참조 복사

기본 자료형 변수간의 대입과 배열간의 대입 혹은 파라미터로서의 사용은 서로 차이가 있다. 기본 자료형: char, boolean, byte, short, int, long, float, double #01. 값 복사 기본 자료형 변수를 서로 대입하거나...

[Java] 메서드

메서드란 자바프로그램에서 사용하는 최소한의 기능 단위로 자주 등장하는 코드를 재사용 하기 위해 그룹화 해놓은 단위라고 이해하면 좋습니다. #01. 지금까지 작성한 메인 클래스 형식 1 2 3 4 5 public class...

[Java] 2차 배열 연습문제

2차 배열 연습문제 입니다. #01. 아이템의 판매가격 구하기 ItemSale.java 아래와 같이 게임 아이템이 보관되어 있는 인벤토리가 있다. 이 중에서 첫 번째 줄에 있는 아이템들을 판매하려고 한다. 보유수량과 가격이 하나의 행을...

[Java] 2차 배열

열의 개념만 존재하는 1차 배열에 행의 개념을 추가한 형태가 2차 배열 입니다. 좀 더 정확한 개념은 1차 배열의 각 원소가 다른 배열로 구성된 형태라고 보는 것이 맞습니다. #01. 2차 배열...

[Java] 1차 배열 연습문제

1차 배열을 공부한 후 간단히 도전해 볼 수 있는 연습문제들 입니다. 배열 기본 문제 ArrayTest1.java 원소가 1, 3, 5, 7, 9인 1차배열 myarr을 정의하고 이 배열과 크기가 동일한 mycopy 배열을...

[Java] 1차 배열

학급의 성적표를 보고 각 학생별로 총점과 평균을 구해야 한다고 생각해 봅시다. 성적표가 아래와 같다면 3명씩 3과목이므로 총 9개의 변수가 필요할 것 입니다.   국어 영어 수학 철수 92 81 76...

[Java] 형변환

변수의 자료형을 다른 타입으로 변환하는 것을 형변환 이라고 합니다. 형변환에는 일정한 규칙이 존재하는데 코딩시에 이러한 규칙을 따라야 합니다. #01. 암묵적 형변환 1) 정수의 경우 리터럴의 형변환 소스코드에 단독으로 명시되는 숫자나...

[Java] 기본문법 활용하기

조건문, 반복문을 구성하는 블록 {} 안에 다른 문법 표현이 포함될 수 있습니다. 이러한 규칙으로 다양한 문법 중첩 패턴이 생기는데 이 중에서 자주 사용되는 패턴으로는 if-if, if-for, for-if, for-for가 있습니다. #01....

[Java] 반복문

주어진 조건이 참을 충족하는 동안 블록 안의 실행문을 반복해서 수행하는 문법을 반복문이라고 합니다. 반복문에는 while문, do-while문, for문이 있습니다. 이 중에서 가장 단순한 구조를 갖는 문법은 while문이지만 구조가 단순하다 보니 복잡한...

[Java] 조건문

프로그램 소스코드 내의 명령어가 무조건 실행되는 것이 아니라 특정 조건이 충족될 경우만 선택적으로 실행되도록 설정하는 문법적 표현을 조건문이라고 합니다. 1) if문 괄호 안에 주어진 조건이 참인 경우 블록{}안을 수행. 1...

[Java] 기본 입출력

명령프롬프트를 통해 값을 출력하기 위한 다양한 기법과 사용자로부터 직접 값을 입력받기 위한 처리를 살펴봅니다. #01. 출력 1) 괄호안의 내용을 출력하고 줄바꿈 수행하기 println()의 ln은 line의 줄임말 1 2 3 4...

[Java] 연산자

우리가 어릴적에 수학시간에 배웠던 연산에 사용되는 특수 기호들을 연산자라고 합니다. 프로그래밍 언어에서 수학의 연산자를 그대로 사용합니다. 그리고 더 다양하게 존재합니다. #01. 대입연산자 (=) 변수에 값이나 다른 연산결과를 대입하기 위해 사용한다....

[Java] 변수

수학에서의 변수라는 용어는 수식에 따라서 변하는 값을 의미하지만 프로그래밍 언어에서의 변수는 메모리에 저장되는 데이터들을 총칭하는 용어 입니다. #01. 메모리 데이터를 저장할 수 있는 물리적 장치 1) 휘발성 메모리 전원을 OFF하면...

[Java] Hello World

모든 프로그래밍 언어가 가장 처음 작성하는 예제가 “Hello World”라는 간단한 메시지를 출력하는 프로그램 입니다. 개발환경이 설치된 후 확인을 위한 목적으로 간단한 메시지를 출력하는 프로그램으로 개발환경 구축 여부 테스트와 기본적인 코드...

[Java] 자바 시작하기

프로그래밍 언어를 시작하기 위해서는 프로그램이 어떤 원리를 통해 구성되어지는지 파악하는 것이 중요합니다. 이 포스팅에서는 프로그래밍을 시작하기 전에 프로그램이 만들어 지는 원리에 대해 간단히 정리해 보겠습니다. #01. 프로그램이 만들어 지는 원리...

Category Spring

[Spring] log4j.xml에서 `Cannot find DTD...`에러가 발생하는 경우

DTD 파일이란 XML의 문법을 정의해 놓은 파일입니다. XML은 DTD 파일을 먼저 확인하여 문법을 확인하도록 되어 있습니다.

[Spring] 스프링 프로젝트 초기 설정

JU쌤과 HO쌤의 수업시간에 진행되는 Spring 수업에서 이클립스를 기반으로 프로젝트를 생성하고 그에 대한 초기 설정 방법을 정리한 글 입니다. 수업시간에 작성되는 Helper 클래스들의 소스코드가 필요합니다. #01. 프로젝트 기본 설정 1) 새...

[Java,Spring] Service 패턴

서비스 패턴이란 DB를 통해 수행되는 비지니스 로직을 구현하는 계층을 의미합니다. 요구사항 정의 과정에서 도출되는 기능들을 명시하고 구현하는 계층이라 이해할 수 있습니다. #01. Service 계층의 구조 #02. Serivce 정의 과정 1)...

[Spring] JSTL 요약

JSP나 Spring등의 MVC 패턴에서 View를 구현할 경우 자주 사용되는 JSTL 표현법에 대해 정리했습니다. 1) 사용 설정하기 라이브러리 의존성 설정 pom.xml에 다음의 구문 추가 (Spring 설정 과정에서 이미 적용되어 있음) 1...

[Java,Spring] MyBatis 에러 케이스

MyBatis를 활용하여 데이터베이스 연동을 구현할 때 자주 겪게 되는 에러 메시지들을 상황별로 모아봤습니다. #01. MyBatis 설정파일 오류 Spring의 경우 root-context.xml을 사용하지만 JSP나 일반 Java Console 프로그램의 경우 별도의 설정 파일을...

[Java] 자바 콘솔 프로그램에서 MyBatis 연동

MyBatis란 객체지향 언어인 자바의 관계형 데이터 베이스 프로그래밍을 좀더 쉽게 할수 있도록 도와주는 프레임워크입니다. Framework 뼈대나 근간을 이루는 코드들의 묶음. 프로그램의 기본 흐름이나 구조를 미리 정해놓고, 이 구조에 자신의 코드를...

Category Linux

[Linux] Apache 서버 Virtual Host 설정

1 2 3 4 5 6 7 8 9 10 11 12 NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot "디렉토리경로" ServerName 메인도메인 ServerAlias 서브도메인 <Directory "디렉토리경로"> AllowOverride All Allow from all Require...

[Linux] Ubuntu Package Update

우분투 리눅스에 로그인을 하면 매주 발표되는 패키지 업데이트 공지가 표시됩니다. Web, DB 서버 등은 자칫 업데이트로 인해 구동중인 프로그램에 영향을 줄 수 있으므로 충분한 테스트를 통해 적용해야 하지만 시스템 보안업데이트들은...

[Linux] Tomcat 설치

Tomcat은 JSP나 Spring으로 개발된 웹 사이트를 구동할 수 있는 컨테이너입니다. Tomcat을 통해 웹 사이트를 서비스할 수 있습니다. Tomcat 설치 다운로드 1 wget http://mirror.navercorp.com/apache/tomcat/tomcat-8/v8.5.40/bin/apache-tomcat-8.5.40.tar.gz 압축해제 1 tar zxvf apache-tomcat-8.5.40.tar.gz 경로 이동...

[Linux] OpenJDK 설치

OpenJDK는 업데이트시 유료 라이센스를 필요로 하는 Oracle JDK와 다르게 오픈소스 형태로 배포되는 JDK 입니다. 오라클에서 개발한 JAVA의 확장기능을 제외하면 모든 기능이 동일합니다. 루트 권한으로 수행해야 합니다. 설치 가능한 JDK 버전...

[Linux] MariaDB 설치

MariaDB는 MySQL에서 파생된 오픈소스 RDBMS 입니다. 오라클이 썬 마이크로 시스템스를 2010년에 72억 달러(약 8조)에 인수해가면서 썬 마이크로시스템즈에 속해 있던 MySQL 역시 오라클 것이 되었습니다. 오라클이 MySQL을 인수하면서 상업적으로 MySQL을 이용할...

[Linux] VSFTPD 설치

리눅스에 설치 가능한 FTP 서버 패키지는 vsftpd와 proftpd가 있습니다. 대체로 설정 편의성은 proftpd가 좋지만 성능은 vsftpd가 더 좋다고 알려져 있습니다. 대부분의 상용 시스템에서는 성능에 중점을 둔 vsfptd를 설치하여 사용하고 있습니다....

[Linux] SSH 인증서를 통한 원격 접속

SSH 인증서를 서버에 등록해 두고 사용하면 SSH 접속시 비밀번호를 입력하지 않고 즉시 로그인이 가능합니다. 비밀번호를 유추하기 어려운 문자열로 생성하고 SSH 인증서 파일을 잘 보관하면 보안에 더 유리하고 편의성도 높아집니다. 홈...

[Linux] SSH 서버 설치

SSH 서버는 과거에 사용되던 telnet 통신보다 보안이 강화된 통신 프로토콜입니다. SSH 서버는 CentOS에 기본으로 설치되어 있기 때문에 해당 기능을 활성화 하고 방화벽 설정을 수행하여 바로 사용할 수 있습니다. 아래 작업들은...

[Linux] zsh 쉘 설치

제 생각에 리눅스는 zsh를 알기 전과 그 후로 나뉘는 것 같습니다. 터미널 작업의 효율을 극대화 시켜주는 zsh 쉘의 설치 및 설정 방법 입니다. 기본 설치 root 권한으로 1회만 설치한다. 1...

[Linux] tar 압축, 해제

리눅스에서 가장 일반적으로 사용되는 tar 형식의 압축 명령의 사용 방법 입니다. tar로 압축하기 1 tar -cvf [파일명.tar] [폴더명] ex) abc라는 폴더를 aaa.tar로 압축하고자 한다면 아래와 같이 사용한다. 1 tar -cvf...

[Linux] 파일, 디스크 관련 명령

리눅스에서 사용되는 파일,디스크 관련 명령어들 입니다. 파일 목록 보기 명령어 설명 ls 현재 폴더의 파일 목록 나열 (숨김파일 제외) ls -a 현재 폴더의 모든 파일 목록 나열 (숨김파일 포함) ls...

[Linux] 설치 및 기본 사용 방법

리눅스(CentOS) 설치에 필요한 기본 내용과 설치 후 확인할 수 있는 기본 사용방법들 입니다. 가상머신 활용 가상의 컴퓨터 하드웨어를 소프트웨어로 구현한 형태 호스트 컴퓨터 현재 물리적으로 사용하고 있는 로컬 머신의 운영체제...

[Linux] 리눅스 소개

리눅스를 시작하기에 앞서 한번쯤 읽어볼만한 내용 입니다. (1) 리눅스는 완벽한 멀티유저,멀티태스킹 운영체제이다. 멀티유저라 함은 여러 사용자가 동시에 같은 시스템에 접근할 수 있는 것을 말한다. 이때 시스템을 사용하는 사용자는 미리 허가된...

Category DATABASE

[MySQL] Window 환경에서의 수동설치 (8.0.13기준)

윈도우 환경에서 인스톨러가 아닌 압축 파일을 내려받아 원하는 경로에 MySQL을 수동으로 설치하는 방법입니다. 현재 최신인 8.0.13 버전을 기준으로 설치 후 root로 최초 접속 방법에 변경이 있으므로 주의하시기 바랍니다. #01. MySQL...

Category MySQL

[MySQL] 테이블의 컬럼이름을 Pojo클래스 형태로 생성해 주는 SQL

MySQL의 information_schema 데이터베이스에 저장되어 있는 테이블 정보들을 통해 Java에서 사용할 Pojo 클래스의 멤버변수 이름을 자동으로 생성하는 쿼리 입니다. 구문형식 1 2 3 SELECT CONCAT('private ', if(DATA_TYPE = 'int', 'int ',...

[MySQL] root 패스워드 변경

mysql 데이터베이스상에서 root의 패스워드를 변경하는 방법을 소개합니다. 이 포스팅은 root로 로그인 한 상태에서 비밀번호 변경입니다. root의 패스워드를 분실한 경우에 대한 해결책은 되지 못합니다. MySQL 8.x 이상 버전 구문형식 1 alter...

Category R

[R 데이터분석] 상관분석

상관분석은 두 변수가 서로 관련이 있는지 검정하는 통계 분석 기법입니다. #01. 상관계수 (Correlation Coefficient) 상관분석을 통해 도출한 값으로 두 변수가 얼마나 관련되어 있는지, 관련성의 정도를 파악할 수 있다. 상관계수는 0~1...

[R 데이터분석] 가설검정

가설검정은 통계적 추측의 하나로서, 모집단 실제의 값이 얼마가 된다는 주장과 관련해, 표본의 정보를 사용해서 가설의 합당성 여부를 판정하는 과정을 의미합니다.

[R 데이터 수집] 카카오 OpenAPI

카카오개발자사이트에 로그인을 하고 난 후 발급받는 REST API Key를 사용하면 카카오 Open API를 통해 다음에서 제공되는 검색 결과를 수집할 수 있습니다. #01. 연동 준비하기 1) 연동키 발급받기 아래 주소에 접속...

[R 데이터 수집] 영화진흥위원회 OpenAPI 활용

영화진흥위원회 OpenAPI를 활용하면 현재 극장에서 상영중인 영화들에 대한 박스오피스 데이터를 조회할 수 있습니다. 이번 포스팅에서는 영화진흥원 OpenAPI를 통해 JSON 형식의 데이터를 수집하고 이를 그래프로 시각화 하는 내용을 소개합니다. #01. 기본...

[R 데이터 수집] JSON 데이터 처리하기

JSON은 경량의 데이터 표현 형식으로 최근에는 웹, 모바일 등을 중심으로 서로 다른 플랫폼간의 데이터 교환을 위하여 활용되고 있는 사실상의 산업 표준 입니다. 특히 OpenAPI등을 통해 다른 곳에서 제공하는 데이터를 수집할...

[R 데이터 분석,시각화] 한국복지패널 데이터 분석 실습

한국복지패널은 빈곤층, 근로빈곤층, 차상위층등 다양한 계층의 규모 및 생활실태 변화를 동태적으로 파악함으로써 정책형성에 기여함과 동시에 정책지원에 따른 효과성을 제고하고자 하는 곳으로서 한국복지패널의 자료실에서 수집된 데이터들을 내려받아 볼 수 있습니다. 이...

[R 데이터 분석,시각화] MPG 데이터 실습

ggplot2 패키지에 포함되어 있는 예제 데이터로 1998년, 2004년, 2008년도에 미국에서 생산되는 자동차 제조회사들의 자동차의 연비,구동방식 등을 조사한 데이터입니다. 이를 활용하여 지금까지 살펴본 데이터 분석의 기본 개념들과 시각화 방법을 응용해 봅시다....

[R 데이터시각화] 워드클라우드

문장안에서 단어들의 중요도나 빈도수를 색상/크기 등으로 표현한 시각화 기법을 워드 클라우드라고 합니다. 문장에 포함된 단어들을 분석하기 위해서는 의미를 갖는 최소 단위로 쪼개는 형태소 분석이라는 처리가 필요한데, 형태소 분석에 손쉽게 사용할...

[R 데이터시각화] 파이, 산점도 그래프

선 그래프와 막대 그래프 이외에 자주 사용되는 그래프로는 파이 그래프와 산점도 그래프가 있습니다. #01. 그래프 작업 준비하기 1) 패키지 로드 1 2 3 4 5 6 7 8 9 10...

[R 데이터시각화] 막대 그래프

막대그래프는 데이터의 크기를 막대의 길이로 표현한 시각화 자료로서 “성별-소득차이” 처럼 집단간의 차이를 표현할 때 주로 사용됩니다. R에서 생성할 수 있는 막대 그래프의 종류에는 빈도 막대 그래프와 평균 막대 그래프로 구분할...

[R 데이터시각화] 선 그래프

선 그래프는 시간에 따라 달라지는 데이터를 표현하는 시각화 자료 입니다. 예를 들면 환율이나 주가지수 등의 경제지표가 시간에 따라 어떻게 변하는지를 표현할 수 있습니다. 이와 같이 시간에 따라 나열된 데이터를 시계열...

[R 데이터시각화] 그래프 제목, 축 설정하기

그래프는 데이터를 보기 쉽게 그림으로 표현한 것으로 데이터의 추세와 경향성이 드러나기 때문에 특징을 쉽게 이해할 수 있으며 그래프를 만드는 과정에서 새로운 패턴이 발견되기도 합니다. #01.그래프 생성을 위한 준비 이 단원에서는...

[R 데이터분석] 그룹분석

그룹 분석이란 “학년별 국어평균”과 같이 데이터를 집단별로 나누어 그룹함수를 적용한 분석 방법입니다. #01. 필요한 패키지 및 샘플 데이터 가져오기 1) 패키지 가져오기 1 2 3 4 REPO_URL <- "https://cran.seoul.go.kr/" if...

[R 데이터분석] 데이터 정제

데이터 정제란 데이터 분석에 앞서 전처리가 완료된 데이터에 대해 빈값(결측치)이나 정상 범위를 벗어난 값(이상치)들을 제거하거나 다른 값으로 대체하는 처리를 말합니다. #01.결측치 비어있는 값 (DB에서의 NULL과 비슷한 의미) 현장에서 만들어진 실제...

[R 데이터분석] 데이터 전처리

데이터 전처리란 데이터를 본격적으로 분석하기 전에 분석에 적합하게 데이터를 가공하는 작업을 의미하는 것으로 데이터 가공(Data Manipulation), 데이터 핸들링(Data Handling)도 비슷한 의미로 사용되는 용어들 입니다. 데이터 전처리에서 수행되는 주요 작업들 행,열의...

[R 데이터분석] 기술통계

기술통계란 자료를 그래프나 숫자등으로 요약하는 통계적 행위 및 관련 방법을 의미합니다. 데이터를 요약하고 시각화해서 잘 설명하는 것이 중점을 두며 데이터에 대해서 쉽게 설명하기 위해서 시각화를 많이 활용합니다. 기술 통계에서 기본적으로...

[R 데이터분석] 데이터 프레임

데이터프레임(DataFrame)은 행과 열로 구성된 사각형의 표 형식의 자료구조 로서 데이터 분석에서 가장 유용하며 필수불가결한 자료형입니다. 데이터프레임이라는 용어가 낯설다면 엑셀과 같은 분석 프로그램의 시트(sheet) 데이터를 구현하기 위한 자료형이라고 생각하면 이해하기 쉽습니다....

[R] SMTP 서버와 연동하여 메일 발송하기

R에서 mailR 패키지를 사용하면 네이버나 구글에서 제공하는 SMTP 서버와 연동하여 메일을 발송할 수 있습니다. 패키지 설치 및 로드 mailR 패키지는 내부적으로 Java를 활용하고 있기 때문에 이 패키지를 사용하기 위해서는 JDK가...

[R] 패키지의 이해와 파일 입출력

패키지란 R이 제공하지 않는 기능을 구현해 놓은 일종의 확장팩을 말합니다. 온라인에 등록되어 있는 패키지를 다운로드 받아 설치하고 그 패키지에 포함된 기능들을 로드해서 사용할 수 있으며 대부분의 데이터 분석, 시각화 관련...

[R] 내장함수

데이터 분석가에게 제공되어질 목적으로 R 안에 내장되어 있는 기능들로서 대부분 기본 데이터(스칼라값)를 가공하는 기능들입니다. 내부 코드를 볼 수는 없기 때문에 어떤 종류가 있는지, 어떤 파라미터를 전달하는지, 어떤 결과값을 반환하는지만 파악해서...

[R] 함수

함수란 자주 사용되는 명령어들을 그룹화해서 생성한 재사용 가능 단위를 의미합니다. 어릴적 공부한 수학의 함수도 같은 의미로 이해할 수 있습니다. 수학에서의 함수 일반적인 수학 식에서는 함수의 이름을 f로 지정한다. 1 2...

[R] 기본문법 연습문제

경기도 과학진흥원 주관으로 진행하는 이공계 과정의 기업연수에서 2주차 실습 과제로 준비한 연습문제 입니다.

[R] 프로그램 흐름제어(3)-기본 문법 활용하기

if, while, for 문은 각각의 블록({}) 안에 같은 종류의 구문 혹은 다른 종류의 구문을 포함할 수 있습니다. #01. 자주 사용되는 문법 패턴 자주 사용되는 문법의 중첩 패턴은 아래와 같다. if...

[R] 프로그램 흐름제어(2)-반복문

주어진 조건을 충족하는 동안 {}안의 구문을 반복적으로 수행하는 형태를 반복문이라고 합니다. #01. while문 주어진 조건이 참을 충족하는 동안 수행되는 문법 초기식, 조건식, 증감식의 요소를 충족해야 성립된다. 1 2 3 4...

[R] 프로그램 흐름제어(1)-조건문

조건문은 주어진 조건이 참인 경우에만 프로그램 구문을 실행하도록 설정하는 문법 구조를 말합니다. 조건문을 사용하면 프로그램이 선택적으로 실행되도록 할 수 있습니다. #01.if 문 주어진 조건이 참인 경우에만 수행되는 문법적 표현. 1...

[R] 자료구조(4)-리스트

리스트는 서로 다른 종류의 값들을 key(이름)와 value(값)의 쌍으로 저장하는 자료구조 입니다. 이런 형식의 자료구조를 다른 프로그래밍 언어에서는 Map 혹은 Dictionary 라고 부릅니다. 비슷한 개념의 용어를 함께 기억해 놓는 것이 좋겠습니다....

[R] 자료구조(3)-요인

요인(factor)은 범주형 데이터를 위한 데이터 타입으로 주어진 범위 내에서만 값을 할당할 수 있습니다. #01. 요인(factor) 만들기 1) 순서 없는 범주 c()함수에 나열한 값들 중 하나만 지정할 수 있다. 1 2...

[R] 자료구조(2)-행렬

R에서 다룰 수 있는 연속성 자료형으로서 행렬 구조가 있습니다. 행렬은 백터에 행과 열의 수를 지정하여 나누어 표현한 형태 입니다. #01. 행렬 생성하기 1) 2행 3열의 행렬 만들기 백터를 matrix()함수에 전달하여...

[R] 자료구조(1)-백터

여러 개의 스칼라 값들을 연속적으로 저장하는 데이터 형식으로 연속성 자료형이라고도 부릅니다. R에서의 연속성 자료형에는 백터, 요인, 리스트 등이 있으며 이 포스팅에서는 가장 많이 사용되는 벡터 자료형에 대해 소개합니다. 백터 스칼라...

[R] 형식문자

앞으로 다양한 형식의 결과를 출력하려면 문장의 형식을 구성하는 것에 익숙해 져야 합니다. R에는 미리 준비된 치환자를 포함한 문자열에 스칼라값을 치환하여 결과를 만드는 방법으로 sprintf()함수 제공하는데 이 때 사용되는 치환자를 형식문자라고...

[R] R 데이터 타입

R에서 다루게 될 여러가지 데이터의 종류들을 파악해 봅시다. #01. R에서 사용되는 데이터의 종류 변수: 변할 수 있는 수 (일반적인 프로그래밍에서 사용되는 개념) 스칼라: R에서 프로그래밍의 변수를 부르는 용어 1) 스칼라...

[R] R 시작하기

R은 데이터를 분석하는데 사용되는 가장 대표적인 언어로 Python과 더불어 데이터 분석의 양대 산맥으로 꼽히는 언어 입니다. #01. R 소개 데이터를 분석하는 데 사용되는 프로그래밍 언어 파이썬과의 비교   R 파이썬...

Category Javascript

[JS] Class

ES6 버전부터 신규로 추가된 객체 설계 문법으로 Prototype이 발전된 형태로 이해하면 됩니다. Java, C/C++, C# 등의 다른 프로그래밍 언어에서 말하는 Class와 동일한 개념이기 때문에 대부분의 프로그래밍 언어에서 객체지향 개념을 공부하신...

[JS] Prototype

객체지향 언어는 클래스 기반과 프로토타입 기반으로 구분되는데 자바스크립트는 이 중에서 프로토타입 기반에 속합니다. 프로토타입 기반이란 객체의 원형이 되는 형태를 먼저 정의해 놓고 추가적인 기능을 점차 확장하면서 기능을 구성하는 형식입니다. #01....

[JS] JSON

Javascript Object Notation (자바스크립트 객체 표기법)은 자바스크립트에서 복합적인 데이터 구조를 속성이름(key)과 값(value)의 쌍으로 구성하는 표현 방법으로 다른 프로그래밍 언어의 Map 혹은 Dictionary 구조와 대응되는 형태 입니다. #01. 단순히 정보만을 표현하는...

[JS] 배열

학급의 성적표를 보고 각 학생별로 총점과 평균을 구해야 한다고 생각해 봅시다.

[JS] 함수

일반적인 수학의 함수는 하나의 수식을 대변하는 특정 키워드를 의미합니다. 아래의 함수가 있을 때 f라는 키워드로 아래와 같이 x+1이라는 수식을 재사용할 수 있으며 이는 아래와 같이 조건값에 따라 각각 다른 결과를...

[JS] 프로그램의 흐름제어(3) - 기본문법 활용하기

조건문, 반복문을 구성하는 블록 {} 안에 다른 문법 표현이 포함될 수 있습니다. 이러한 규칙으로 다양한 문법 중첩 패턴이 생기는데 이 중에서 자주 사용되는 패턴으로는 if-if, if-for, for-if, for-for가 있습니다. #01....

[JS] 프로그램의 흐름제어(2) - 반복문

주어진 조건을 충족하는 동안 {}안의 구문을 반복적으로 수행하도록 설정하는 구문 형식을 반복문이라고 하며 기본적으로 while문과 for문의 두 가지 종류가 있습니다. #01. while문 주어진 조건이 참을 충족하는 동안 수행되는 문법 초기식,...

[JS] 프로그램의 흐름제어(1) - 조건문

프로그램 구문이 무조건 순차적으로 실행되는 것이 아니라 주어진 조건을 판별하여 선택적으로 실행 여부를 결정하도록 흐름을 제어하는 구문을 조건문이라고 합니다. #01. if 문 주어진 조건이 참인 경우에만 수행되는 문법적 표현. 1...

[JS] 연산자

변수를 활용하여 각종 연산을 수행하는데 사용되는 특수 기호들을 연산자라고 합니다. #01. 산술연산자(사칙연산자) 연산자 설명 + 덧셈 - 뺄셈 * 곱셈 / 나눗셈 % 나눗셈에서의 정수 부분의 몫을 제외한 나머지 1)...

[JS] 변수

데이터를 저장할 수 있는 메모리 상의 공간을 변수라고 합니다. #01. 변수 만들기 1) 전역변수 변수의 선언 변수 이름 앞에 var 키워드를 명시하고 변수 이름을 지정한다. 1 var my_number1; 값의 할당...

[JS] Jupyter에서 Javascript 작성하기

jupyter는 python을 기반으로 하는 데이터 분석에서 많이 사용되는 도구이지만, 각종 언어 환경을 추가하여 다양한 프로그래밍 언어에 대한 연습 도구로서 활용이 가능합니다. Jupyter 설치 jupyter 환경이 설치되어 있어야 합니다. jupyter 설치에...

[JS] 자바스크립트 시작하기

자바스크립트는 웹 브라우저에서 실행되는 스크립트 언어로서 HTML 구조를 제어하거나 HTML에 적용되어 있는 CSS를 추가,수정,삭제 하는 기능을 수행하며 사용자와의 대화식 웹 페이지를 제작할 수 있는 기능 등을 제공합니다. 스크립트 언어 컴파일러에...

Category Algorithm

[algorithm] 변수의 토글 처리 기법

하나의 변수가 2개의 값만을 가질 경우 사용하는 팁들입니다.

Category Python

[Python] Pandas의 DataFrame과 데이터베이스 직접 연동

32-영화진흥원 박스오피스 데이터 수집, 저장

[Python] Pandas의 DataFrame과 데이터베이스 직접 연동

SqlAlchemy 패키지를 활용하여 Pandas의 DataFrame과 데이터베이스를 직접 연동시키는 방법을 소개합니다.

[Python] pymysql을 활용한 MySQL연동

python 데이터베이스 연동 패키지인 pymysql을 활용하면 MySQL과 연동할 수 있습니다.

[Python 데이터 시각화] 코로나19 국내현황 집계하기

http://itpaper.co.kr/demo/covid19/all.php 페이지를 통해 JSON 데이터를 수집하여 그 결과를 지역별 딕셔너리로 구성하고 집계 결과를 생성한 후 각종 시각화 지표를 만드는 과정을 소개합니다. 이 포스팅에서 제시하는 시각화 결과물은 질병관리본부의 웹 페이지 결과물을...

[Python 데이터 시각화] 코로나19 선별진료소 분포 지도시각화

코로나19로 인한 사회적 거리두기가 시행되는 동안 갑작스럽게 얻은 휴가 아닌 휴가를 보냈었습니다. 그 동안 이 시국을 반영한 학습 예제를 만들어보고 싶다는 생각이 들어서 공공데이터 포털의 선별진료소 위치 데이터 파일을 내려받아...

[Python 데이터 시각화] SVG 파일을 활용한 지도 시각화

SVG(Scalable Vector Graphics)는 JPEG, PNG와 같은 그래픽 포맷(Graphic format)의 하나로서 벡터 기반이기 때문에 리사이징이 되어도 전혀 깨지지 않고 모든 해상도에서 자유자재로 활용할 수 있는 이미지 형식 입니다.

[Python 데이터 시각화] 공적마스크 판매정보 지도시각화

공공데이터포털에서는 코로나19 사태 이후 공적마스크 판매 정보를 OpenAPI 형태로 공개하고 있습니다. 이번 포스팅에서는 이 데이터를 requests 패키지를 활용하여 수집한 후 Folium 패키지를 통해 지도위에 시각화 하는 예제를 소개합니다.

[Python 데이터 시각화] folium 지도 시각화

파이썬에서 지도를 활용할 수 있도록 하는 패키지는 여러가지가 있지만, 그 중에서 가장 손쉽게 사용할 수 있는 패키지는 folium 입니다. 이 포스팅에서는 folium을 활용하여 지도위에 데이터를 시각화 하는 과정을 소개합니다.

[Python 데이터 수집] Selenium을 활용한 인스타그램 이미지 수집

파이썬 데이터 분석 관련 수업을 진행하면서 만난 패션회사에 근무하시는 수강생 분께서 인스타그램에서 특정 해시태그에 대한 이미지를 수집하는 업무를 매일 수행하고 있다는 말씀을 하셨습니다. 그 말을 듣고 수업시간에 인스타그램에서 이미지를 수집하고...

[Python 데이터 수집] Selienium을 활용한 쇼핑몰 장바구니 데이터 수집

Selienium을 활용하면 로그인을 해야만 접근 가능한 웹 페이지도 손쉽게 데이터를 수집할 수 있습니다. 이 포스팅에서는 샘플 쇼핑몰 웹 사이트에 저장되어 있는 장바구니에 담긴 상품의 총 합계 금액을 구하는 예제를 소개합니다....

[Python 데이터 수집] 이젠 아카데미 클럽 게시글 수집

로그인을 해야만 접근 할 수 있는 페이지나, 동적으로 화면이 변하는 웹 페이지로부터 컨텐츠를 수집하기 위해 사용되는 Selenium에 대해 알아 봅니다.

[Python 데이터 수집] 페이지번호를 활용한 쇼핑몰 상품 정보 수집

웹 사이트들은 많은량의 컨텐츠를 한번에 표시할 경우 로딩 시간이 오래 걸리는 현상을 방지하기 위해 일정 수량씩 데이터를 끊어서 노출합니다. 그리고 페이지 번호라는 기능을 통해 이 데이터들에 순차적으로 접근할 수 있는...

[Python 데이터 수집] 네이버 뉴스목록 수집

네이버 뉴스 메인 페이지에는 각 분야별로 최신 기사로 이동할 수 있는 링크가 노출되어 있습니다. 이 링크들을 통해 뉴스기사 본문에 대한 URL들을 수집하여 리스트를 만들고 리스트에 저장된 URL들에 대한 반복문을 수행하면서...

[Python 데이터 수집] 웹 페이지 컨텐츠 수집

파이썬의 requests 모듈은 웹 상에 공개되어 있는 컨텐츠는 어떤 형식이든지 수집할 수 있습니다. requests가 수집한 컨텐츠의 형식이 웹 페이지(HTML)인 경우 bs4 패키지의 BeautifulSoup 패키지를 사용하여 원하는 부분의 컨텐츠만 추려낼 수...

[Python 데이터 수집] BeautifulSoup 활용시의 CSS 선택자 정리

BeautilfulSoup은 bs4 패키지에 포함된 클래스로서 requests패키지를 통해 가져온 웹 페이지의 HTML 소스코드를 분석하여 원하는 영역만 추출하는 기능을 제공하는 패키지 입니다.

[Python 데이터 수집] 카카오 Open API (2) - 책,블로그 검색 연습문제

카카오개발자사이트에 로그인을 하고 난 후 발급받는 REST API Key를 사용하면 카카오 Open API를 통해 다음에서 제공되는 검색 결과를 수집할 수 있습니다.

[Python 데이터 수집] 카카오 Open API (1) - 이미지 검색

카카오개발자사이트에 로그인을 하고 난 후 발급받는 REST API Key를 사용하면 카카오 Open API를 통해 다음에서 제공되는 검색 결과를 수집할 수 있습니다.

[Python 데이터 수집] 영화진흥원 Open API를 통한 박스오피스 데이터 수집

OpenAPI란, 누구나 사용할 수 있도록 공개된 API로서 대부분의 OpenAPI는 데이터 교환 형식으로 JSON을 사용합니다.

[Python 데이터 수집] JSON 데이터 수집

JSON은 경량의 데이터 표현 형식으로 최근에는 웹, 모바일 등을 중심으로 서로 다른 플랫폼간의 데이터 교환을 위하여 활용되고 있는 사실상의 산업 표준 입니다. 특히 OpenAPI등을 통해 다른 곳에서 제공하는 데이터를 수집할...

[Python 데이터 수집] HTTP 통신을 활용한 웹 데이터 수집

Python의 requests 모듈을 사용하면 HTTP 통신을 사용하여 웹 페이지, Open API, 이미지 등 다양한 형식의 자원에 접근할 수 있습니다.

[Python 데이터 분석] 가설검정의 이해와 T-검정

통계기반 데이터 분석은 기술통계와 추론통계로 구분됩니다. 기술통계는 앞에서 소개한 데이터전처리, 정제 등을 포함한 데이터를 설명하기 위한 과정 전반을 의미하고 추론통계는 어떠한 가설을 검증하는 과정을 통해 예측을 하기 위한 데이터 분석을...

[Python 데이터 분석,시각화] 한국복지패널 데이터 분석 실습

한국복지패널은 빈곤층, 근로빈곤층, 차상위층등 다양한 계층의 규모 및 생활실태 변화를 동태적으로 파악함으로써 정책형성에 기여함과 동시에 정책지원에 따른 효과성을 제고하고자 하는 곳으로서 한국복지패널의 자료실에서 수집된 데이터들을 내려받아 볼 수 있습니다.

[Python 데이터 분석,시각화] mpg 데이터 실습

mpg데이터는 R의 ggplot2 패키지에 포함되어 있는 예제 데이터로 1998년, 2004년, 2008년도에 미국에서 생산되는 자동차 제조회사들의 자동차의 연비,구동방식 등을 조사한 데이터입니다. 이를 활용하여 지금까지 살펴본 데이터 분석의 기본 개념들과 시각화 방법을...

[Python 데이터 시각화] 서브플롯

Matplotlib은 서브플롯이라는 기능을 통해 하나의 그래픽 영역을 나누어 두 개 이상의 시각화 결과물을 하나의 화면에서 표현하는 기능을 제공합니다.

[Python 데이터 시각화] Pandas 단일 그래프 생성

Pandas의 시리즈나 데이터 프레임은 plot이라는 시각화 함수를 내장하고 있는데, 이 plot은 matplotlib를 내부적으로 임포트 하여 사용하기 때문에 이를 활용하면 DataFrame을 그래프로 즉각적으로 표현할 수 있습니다.

[Python 데이터 분석] 글꼴확인 for Windows

Python의 Matplotlib 패키지를 사용하여 데이터 시각화를 구현할 경우 한글 데이터의 출력에 문제가 발생합니다. 이는 한글을 표현할 수 있는 글꼴을 지정하지 않았기 때문에 발생하는 문제로 Matplitlib의 옵션상에 글꼴 이름을 지정하면 해결됩니다....

[Python 데이터 분석] 그룹분석

그룹 분석이란 “지역별 인구수, 학년별 평균점수, 연령별 평균소득”과 같이 데이터를 집단별로 나누어 그룹함수를 적용한 분석 방법입니다.

[Python 데이터 분석] 데이터 정제

데이터 정제란 데이터 분석에 앞서 전처리가 완료된 데이터에 대해 빈값(결측치)이나 정상 범위를 벗어난 값(이상치)들을 제거하거나 다른 값으로 대체하는 처리를 말합니다.

[Python 데이터 분석] 기술통계

기술통계란 자료를 그래프나 숫자등으로 요약하는 통계적 행위 및 관련 방법을 의미합니다.

[Python 데이터 분석] 데이터 전처리

데이터 전처리란 데이터를 본격적으로 분석하기 전에 분석에 적합하게 데이터를 가공하는 작업을 의미하는 것으로 데이터 가공(Data Manipulation), 데이터 핸들링(Data Handling)도 비슷한 의미로 사용되는 용어들 입니다.

[Python 데이터 분석] 데이터 프레임

데이터프레임(DataFrame)은 행과 열로 구성된 사각형의 표 형식의 자료구조 로서 데이터 분석에서 가장 유용하며 필수불가결한 자료형입니다. 데이터프레임이라는 용어가 낯설다면 엑셀과 같은 분석 프로그램의 시트(sheet) 데이터를 구현하기 위한 자료형이라고 생각하면 이해하기 쉽습니다....

[Python 데이터 분석] Pandas 소개, Series 자료형

Pandas란? 데이터 분석, 처리 등을 쉽게 하도록 만들어진 python package로서 대용량 데이터를 보다 쉽고 안정적으로 처리할 수 있다고도 알려져 있습니다.

Category react

[React] 01강 - Hello React

이 포스트는 수업에 활용되기 위한 강의 노트 입니다. 실습을 진행하기 전까지 수행해야 하는 기본 설정 작업과 간단한 요약 내용이 정리되어 있습니다.