목록MyCloud (85)
MyCloud
이클립스 (Ecllipse) 이클립스는 개발자를 위한 유용한 단축키와 다양한 기능을 제공합니다. 자동완성기능, 리팩토링 기능, 디버깅, 형상관리 등 좋은 기능이 너무 많아요.이밖에도 오픈소스 IDE라는 점, Windows, Mac, Linux 모두 지원가능하다는 점 그 중 이클립스를 사용하면서 자주 쓰는 단축키를 정리해보려 합니다 !Eclipse - Help - Key Assist 메뉴를 통해 단축키 리스트를 확인할 수 있습니다. 이클립스 사용에 유용한 단축키 Key Settings F5 디버깅 시 선택된 행의 메소드 내부로 이동 (Step In) F6 디버깅 시 선택된 행의 아래로 이동 (Step Over) F7 디버깅 시 실행중인 메소드 외부로 이동 (Step Return) F8 디버깅 시 다음 중단..
ArrayList에 이어서 LinkedList에 대해 알아보겠습니다. LinkedList에서 가장 중요한 것은 노드입니다.객체 Node는 data 필드와 next 포인터 변수를 가지고 있는 구조입니다.각 노드는 다음 노드를 가리키는 하나의 참조만을 갖기 때문에 접근이 한 방향으로만 가능합니다. 1234567public static void main(String[] args) { LinkedList numbers = new LinkedList(); numbers.add(10); numbers.add(20); numbers.add(30); numbers.add(40); System.out.println("add : " + numbers);cs LinkedList를 사용하기 위해서는 우선 LinkedList ..
변수에 담겨진 데이터는 하나의 데이터유형을 하나만 보관할 수 있습니다. 하지만 배열은 하나의 데이터유형을 여러개 보관할 수 있습니다. 각 요소들은 정수형 인덱스로 접근가능하며 다양하게 활용할 수 있습니다. 리스트는 순서를 가진 항목들의 모임입니다. 일반적으로 리스트는 배열리스트와 연결리스트로 표현되는데 배열리스트는 크기가 제한되므로 삽입, 삭제 시 범위를 넘어가는 문제가 생깁니다. 반면 연결리스트는 크기가 제한되지 않아 삽입, 삭제가 효율적입니다. + 추가 (ArrayList와 Vector의 차이)기능적 측면에서 보면 ArrayList와 Vector의 차이는 거의 없습니다.하지만 Java API 문서에 따르면, ArrayList에는 다음과 같이 정의되어 있습니다."This implementation is..
* 본 포스팅은 Java Standard Ed.8 version을 기준으로 작성되었습니다. JAVA Collectionjava.util.AbstractCollection JAVA의 Collection은 데이터의 모임을 의미하는 인터페이스입니다.java.util 패키지에 존재하며 Iterable 인터페이스를 상속받습니다. Collection 인터페이스는 List, Queue, Set 인터페이스를 자식으로 가집니다.List에는 ArrayList, LinkedList, VectorQueue에는 PriorityQueue, DequeSet에는 HashSet, LinkedHashSet, TreeSet이 있습니다. List는 중복을 허용하고 순서를 가지는 경우에,Queue는 선입선출(FIFO) 구조가 필요할 때,Se..
빅데이터는 사진, 그림, 영상, 문서등 기존의 데이터와는 달리 정형화되지 않은 데이터를 말합니다.이러한 빅데이터를 금융업에 적용한다면 어떤 효과를 얻을 수 있을까요?최근 안드로이드 금융 카테고리의 매출 1위를 기록하고 있는 빅터(Victor) 어플을 통해 알아보겠습니다. 빅데이터를 통해 향후 주가를 예측할 수 있다? 빅터는 빅데이터를 통해 향후 주가를 예측하는 어플리케이션입니다.개발 배경은 온라인상의 주식관련 정보가 사람들의 투자심리를 반영한다는 데에 있습니다.이에 따라 SNS, 포털사이트, 뉴스 등으로부터 일평균 약 180억개의 데이터 분석을 통해 개별 주식의 향방을 분석하고 사용자에게 상승, 하락 신호를 알려줍니다.빅터의 변동예상 종목감지의 적중률은 무려 77.89%에 이릅니다. 국내 증권사의 움직임..
공간복잡도 (Space Complexity) 효율적인 알고리즘을 판단하는 기준에는 공간복잡도와 시간 복잡도가 있습니다.공간복잡도는 메모리를 얼마나 사용하는지에 관한 복잡도(RAM 사용량)입니다.하지만 최근 대용량 컴퓨터가 많아짐에 따라 중요성이 많이 떨어졌습니다. 시간복잡도 (Time Complexity) 시간복잡도는 시간이 얼마나 걸리느냐에 관한 복잡도(CPU 사용량)입니다.시간복잡도는 명령어들이 몇번이나 실행됬는지, 실행시간을 곱한 합계로 구할 수 있습니다.최상의 경우, 최악의 경우, 평균 시간에 따라 3가지 경우로 표기되며,표기법으로 빅오 표기법(최악의 경우), 오메가 표기법(최상의 경우), 세타 표기법(평균의 경우)이 존재합니다. 빅오 표기법은 최악의 경우(Worst Case)를 나타내는 표기법으..
선형 자료구조 (Linear) 선형 자료구조란 하나의 자료 뒤에 하나의 자료가 존재하는 것입니다. 배열과 리스트가 대표적이고 더 나아가서 스택, 큐도 이에 해당합니다. 비선형 자료구조 (NonLinear) 비선형 자료구조란 하나의 자료 뒤에 여러개의 자료가 존재할 수 있는 것입니다. 트리와 그래프가 대표적이며 계층적 구조를 나타내기에 적절합니다.
자료구조와 알고리즘 대부분의 프로그램은 다양하고 많은 양의 자료(Data)를 처리합니다. 이러한 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법을 자료구조라고 합니다! 또한 자료를 이용하여 주어진 문제를 처리하는 절차를 알고리즘이라고 합니다. 따라서 일반적인 프로그램은 자료구조와 알고리즘으로 구성되어 있습니다. 흔히쓰는 지도어플을 예로 들어보면 위도와 경도(자료)를 저장하고 최단거리 알고리즘을 사용한 어플리케이션입니다. 자료구조를 왜 배워야 할까? 자료구조에는 여러 종류가 잇고 각각의 자료구조는 각자의 연산, 목적이 있습니다. 따라서 다양한 프로그램을 설계할 때, 어떤 자료구조를 선택할지가 우선입니다. 선택되는 자료구조에 따라 프로그램의 성능이 달라지기 때문에 중요한 것이죠. 또한 잘 선택한 ..
안드로이드 앱의 모든 유저 인터페이스(UI) 요소들은 View와 ViewGroup 객체들을 기반으로 합니다.View는 화면의 사각형 영역에 있는 컨텐츠나 화면 레이아웃을 담당하며ViewGroup은 각 View들을 합쳐 화면 전체 레이아웃을 그려냅니다. 안드로이드의 UI 컴포넌트 안드로이드 UI 컴포넌트에는 레이아웃 컴포넌트와 컨트롤 요소들이 있습니다.레이아웃은 사용자 인터페이스에 대한 시각적 구조를 말합니다.액티비티 또는 위젯에 대한 큰 틀이 정의되며, 여러 속성과 매개변수를 정의할 수 있습니다.레이아웃 컴포넌트는 LinearLayout, RelativeLayout, GridLayout 등이 해당됩니다. 컨트롤 요소(UI Control)는 사용자 인터페이스에 있는 대화형 구성 요소입니다.버튼, 확인란과 ..
안드로이드 어플리케이션은 4대 컴포넌트(component)로 구성되어 있습니다. 안드로이드 4대 컴포넌트는 액티비티(Activity), 서비스(Services), 방송 수신자(Broadcast receiver), 콘텐츠 제공자(Content provider) 입니다. 안드로이드 개발은 4대 컴포넌트를 상속받아 정의된 함수들을 override해서 구현하는 경우가 대부분입니다. 액티비티 (Activity) 액티비티는 사용자 인터페이스 화면을 말하며 특정 작업을 담당하는 컴포넌트입니다. 여기서 특정 작업이라는 말은 UI를 화면에 나타내고 사용자 터치 등의 event를 입력받는 작업을 말합니다.액티비티마다 화면을 가득 채우는 창이 하나씩 주어지며 작은 창으로 만들어 다른 창 위에 띄울 수도 있습니다.액티비티를 ..