-
Java String Formatting개발입문/JAVA 2017. 9. 10. 12:36
Formatter, REGEX 는 아직 어렵다.예를 들어, 테이블 컬럼에 15자가 들어가고,그 안에 String 값이 1~15자부터 자유롭게 들어갈 수 있을 때, 패딩을 어떻게 유동적으로 주어야하는가. Java Output Formatting> https://www.hackerrank.com/challenges/java-output-formatting Q. 이걸 도대체 어떻게 검색하죠? 내가 검색한 쿼리: String space format 영어 표현: pad a given string찾았다! String Formatter> https://stackoverflow.com/questions/388461/how-can-i-pad-a-string-in-java down voteSince 1.5, String...
-
Java API 분석__LinkedList개발입문/JAVA 2017. 7. 25. 15:56
public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, Serializable 1. LinkedList 는 배열보다 메모리 공간 측면에서 훨씬 유리하다. - 배열과 같은 ArrayList 와 Vector 는 각 위치가 정해져있고, 그 위치로 데이터를 찾는다. 그래서 추가 삭제를 하면 메모리 위치를 이동해야 한다! - 그에 반해 LinkedList 는 중간에 있는 데이터를 삭제하면, 지운 데이터의 앞에 있는 데이터와 뒤에 있는 데이터를 연결하면 그만이다.위치를 맞추기 위해서 값을 이동하는 단계를 거칠 필요가 없다는 뜻! 2. LinkedList 는 List 뿐 아니라 Queue 와 Deque 인터페이스..
-
[30일코딩] Unit TEST개발입문/JAVA 2017. 5. 16. 00:31
개발자가 구현을 하면 여러 사람의 테스트를 거쳐서 디버깅을 한다.주로 기획은 요구사항인 메인기능을 테스트하고, 세부 Test Case 는 QA 가 진행한다. 개발직군은 다른 직군에 테스트를 맡기기 전에최소한 테스트를 진행할 수 있을 정도의 퀄리티로 구현을 해야한다.그리고 테스트 피드백 - 디버깅을 원활하게 해야 프로젝트 완성도가 올라간다. 기획 요구사항/화면 기획 개발 구현 Test-Driven-Development기획 요구사항 반영여부 확인QA TestCase 단위 Report 작성기획 최종 확인, 프로젝트 종결 선언 개발에서 테스트를 해놓지 않으면... 기획이 몇번씩 지적해서 서로 표정이 굳거나QA 가 도저히 테스트 못해먹겠다고 테스트 거부하는 경우가 생긴다.(이런 불편한 상황이 계속되면 프로젝트 오..
-
[30일코딩] Running Time and Complexity개발입문/JAVA 2017. 5. 14. 11:58
Day25. Running Time and Complexity 튜토리얼에서는공학의 가치 중 하나인 "효율성"과 효율적으로 구현하는 방법을 소개해주었다. 이전에 보고서를 배치잡으로 생성할 때1) 알고리즘, 2) DB 설계 3) DB 인덱스 설정에 따라작업의 속도가 천지차이라는 것을 느낄 수 있었는데... 그런 대단한 개념을 비교적 쉬운 코드로 설명, 예제로 구현해볼 수 있다는 점에또 한번 감탄했다 ㅠ_ㅠ (정말 강추강추) 컴퓨터 메모리 vs. 응답시간Space - time Trade off 자원이 한정되어 있기 때문에 "효율성"은 매우 중요하다.자원의 두 축은 컴퓨터 메모리와 시간이다. 컴퓨터 자원이 과거대비 매우 커졌기 때문에- available사람들의 응답속도에 대한 기대감이 커졌기 때문에-현재는 응답..
-
[30일코딩] Heaps and Binary Search개발입문/JAVA 2017. 5. 9. 11:40
Graphs & Trees 1) Root / Node / Leaf루트 노드에서 시작 각 노드들로 이동한다.루트가 아닌 자식이 없는 노드는 leaf node 라고 부른다. 2) Binary: Left and Right 각 node는 최대 2개의 노드 left, right child만 가진다. 3) Parent / Children부모 노드와 자식 노드 순서가 있고 이것은 나무 일부분을 이룬다. sub-tree 4) Recursive그리고 이 sub-tree 들은 반복된다. 5) Height of Trees https://www.tutorialspoint.com/data_structures_algorithms/tree_data_structure.htm Heap힙(heap)은 최댓값 및 최솟값을 찾아내는 연산을..
-
[30일코딩] Generic 제너릭개발입문/JAVA 2017. 5. 9. 10:48
Java는 타입에 까다로운 언어이다.컴파일할 때 서로 같은 타입을 가리키는 지를 엄격하게 확인한다. 그러나 같은 클래스, 같은 메소드를다른 타입으로 재활용하고 싶을 경우를 위해 "제너릭" 이 있다. - Reuse the same class and method throughout datatype with generics- Compiler Type-checking public class Nodepublic E getRandomAnimal(E[] element) {} E 는 Animal 클래스를 상속받은 객체라면 어느것이든 들어올 수 있다.E 는 데이터타입이 들어올 수있는 곳: 리턴타입, 매개변수, 메소드 내 어느 곳이든 사용 가능하다.E 는 객체를 상속해야한다. (즉 int 대신 Integer를 사용해야한다..
-
[30일코딩] Queue and Stack개발입문/JAVA 2017. 5. 7. 23:59
큐와 스택Queues & Stacks Interface Queue 놀이동산에서 대기줄 빠지는 모양먼저 온 사람이 먼저 나가는 방식 - FIFO (First In First Out)- enqueue / dequeue- isEmpty, size, peek etc.- Queue's subclass includes LinkedList Class Stack 카드덱 or 함수호출하는 스택먼저낸 카드는 밑에 쌓인다. (나중에 사라진다.) - LIFO Last In First Out- peek / push / pop- empty, size (참고)LinkedList 와 달리 traverse 할 수 없다. 순서를 빼먹고 지나갈 수 없다!!
-
[30일코딩] Exception개발입문/JAVA 2017. 5. 7. 22:23
Exceptions 예외 1) Checked Exceptions - compile error- can not start the application 2) Unchecked Exceptions (Runtime Exception)- logical error - terminate applications abnormally. Error Handling 예외 처리 컴퓨터에서 예외는 꼭 처리되어야한다.어디에서든가. 예외가 발생할 일말의 가능성이라도 있다면!!!! 예외를 처리하거나 try-catch 문예외를 선언해야 한다. throws 키워드(이렇게 메소드에 선언된 예외도 호출하는 쪽에서 꼭 처리되어야한다.) 1) Try-catch-(finally) block- handle this error right away t..