본문 바로가기

Programming

(208)
데이터 과학 데이터 과학자는 디스크에 저장된 ASCII 텍스트, PDF, XML, JSON과 같은 다양한 형태의 데이터를 처리해야한다. 1.데이터를 분석을 수행하기 전에 먼저해야 하는 일은 다양한 형태의 데이터 소스로부터 데이터를 가져온 다음, 데이터 정제(data-cleaning)을 통해 데이터 내에 존재하는 노이즈를 제거해야 한다. 2. 데이터를 인덱싱하고 인덱싱된 데이터에서 검색을 한다. 3. 데이터를 분석한다. 기술통계, 빈도분포, 단순 회귀분석, 다중회귀분석, 상관계수와 공분산 등이 있다. 4. 머신러닝을 사용해 데이터의 패턴을 학습한다. 분류, 회귀, 군집합 머신러닝 작업
데이터 과학 vs 빅데이터 vs 데이터 분석 데이터는 어디 에나 있습니다. 실제로 존재하는 디지털 데이터의 양은 빠른 속도로 증가하여 매 2 년마다 두 배가되고 우리가 사는 방식을 바꿉니다. IBM에 따르면 2012 년에 25 억 기가 바이트 (GB)의 데이터가 매일 생성되었습니다. 포브스 (Forbes) 의 기사에 따르면, 데이터가 이전보다 더 빠르게 증가하고 있으며, 2020 년경에는 지구상의 모든 인간에 대해 매초 1.7 메가 바이트의 새로운 정보가 생성 될 것입니다. 최소한이 분야의 기본 사항을 아는 것은 매우 중요합니다. 결국 여기에 우리의 미래가 놓여 있습니다. 이 기사에서는 데이터 과학, 빅 데이터 및 데이터 분석을 그 기능, 사용 위치, 현장에서 전문가가되기 위해 필요한 기술 및 각 분야의 급여 전망을 기준으로 차별화 할 것입니다. ..
객체지향 객체지향은 데이터 및 데이터와 관련된 프로시저를 객체라고 불리는 단위로 묶는다.객체는 프로시저를 실행하는데 필요한 만큼의 데이터를 가지며, 객체들이 모여 프로그램을 구성한다. 각 객체는 자신만의 데이터와 프로시저를 갖는다. 객체는 자신만의 기능을 제공하며, 각 객체들은 서로 연결되어 다른 객체가 제공하는 기능을 사용할 수 있게 된다.객체는 다른 객체에 기능을 제공하기위해 프로시저를 사용하는데, 이 때 프로시저는 자신이 속한 객체의 데이터에만 접근할 수 있으며, 다른 객체에 속한 데이터는 접근할 수 없다.모든 프로시저가 데이터를 공유하는 절차 지향과 달리 객체 지향은 객체 별로 데이터와 프로시저를 알맞게 정의해야 하고, 프로그램의 규모가 작을 때에는 절차지향방식보다 복잡한 구조를 갖게된다. 하지만, 객체지..
절차지향 절차지향소프트웨어를 구현하다는 것은 최종적으로 소프트웨어를 구성하는 데이터와 데이터를 조작하는 코드를 작성하는 것이다.데이터를 조작하는 코드를 별도로 분리해서 함수나 프로시저와 같은 형태로 만들고, 각 프로시저들이 데이터를 조작하는 방식으로 코드를 작성할 수 있다.프로시저는 다른 프로시저를 사용할 수도 있고, 각각의 프로시저가 같은데이터를 사용할수도 있다.프로시저(procedure)로 프로그램을 구성하는 기법을 절차지향(Procedural Oriented)프로그래밍이라고 부른다. 각 프로시저는 데이터를 사용해서 기능을 구현하며, 필요에 따라 다른 프로시저를 사용하기도한다.또한 여러 프로시저가 동일한 데이터를 공유한다. 예) 시험성적관리 프로그램 평균계산 프로시저는 각 과목의 점수가 보관된 데이터를 읽어서..
자바 컬렉션관련 배열의 한계복수의 데이터를 취급하기 위해 배열을 사용했다.그러나 배열은 길이가 결정되어 있기 때문에 요소의 추가나 삭제가 어려운 문제가 있다.그래서 자바에서는 복수의 데이터를 좀 더 다루기 쉬운 구조로 '컬렉션'을 준비했다.컬렉션과 반복자, 그리고 컬렉션을 다루기 위한 유틸리티 등의 집합을 컬렉션 프레임워크라 부른다. 컬렉션은 배열과 달리 처음부터 크기의 제한을 결정할 필요가 없기 원하는 만큼의 데이터를 저장할 수 있다. 또한 컬렉션 프레임워크는 많은 인터페이스와 구현이 준비되어 있어, 각각 다른 알고리즘으로 데이터를 관리한다.배열처럼 여러 데이터를 처리할 수 있는 List 인터페이스와 키와 값을 나누어 데이터를 유지하는 Map 인터페이스 등이 있다. 대표적인 컬렉션배열 - 복수의 요소를 취급하는 매커니..
자바 배열관련 배열동일 타입의 값을 여러개 취급할 수 있는 기능 int[] array = new int[10];array[0] = 1;array[1] = 1;array[2] = 2;array[3] = 3; 배열 초기화int[] array1 = new int[10]; //크기지정int[] array2 = {1,2,3,4,5}; //초기값 지정int[] array3 = new int[] {6,7,8,9,10}; //초기값과 타입을 지정 int[] array4; array4 = new int[]{1,2,3,4,5}; //값을 지정하여 대입array4 = {1,2,3,4,5}; //이것은 컴파일 에러 배열을 인수로 하는 경우 log("사용자를 등록하였습니다.", new String[] {"userName", "Ken"});l..
자바 타입관련 instanceof 연산자변수의 타입과 완전히 일치하는 클래스만이 아니라 그 타입을 상속한 서브 클래스도 변수에 대입할 수 있다.Object로 정의한 경우 그 변수에 String이든 Integer이든 대입할수 있다.변수에 대입된 객체의 타입이 실제로 무엇인지를 판정하는 방법으로 instancof 연사자를 사용 package com.eeswk.domain; public interface BaseService {public String say();} package com.eeswk.domain; public abstract class AbstractBaseService implements BaseService {protected String name;public AbstractBaseService(Strin..
자바 기본형 참조형 클래스 관련 기본형숫자값을 취급하는 리터렐에서는 언더스코어를 사용하여 구분표기를 할수 있다.(자바7이후)@Testpublic void longConvertTest() {long amount = 123_456_789L;System.out.println(amount);} 확장변환(widening conversion) / 축소변환(narrowing conversion)자바는 타입이 서로 일치하지 않는 경우에도 타입끼리 서로 호환성이 있으면 자동적으로 변환short타입은 16비트의 정수 int 32bit 정수short shortNum = 100;int intNum = shortNum; //확장(short -> int) int 타입의 값을 short 타입의 값으로 취급경우 short타입으로 나타낼수 있는 값의 범위를 넘을 경..