■ Back-End/- Java
-
[자료구조] 03. 스택과 큐■ Back-End/- Java 2019. 7. 18. 00:08
참고: http://www.yes24.com/Product/Goods/7434347?Acode=101 코딩인터뷰 완전분석 IT 인터뷰를 준비하기 위한 책이다. 이진 트리에서 이진 탐색 트리까지, 가장 자주 출제되고 활용도가 높은 자료구조 및 알고리즘 문제들을 엄선하였다. 가장 까다로운 알고리즘 문제들을 공략하는, 다섯 가지 검증된 전략을 통해, 어떤 어려운 문제도 공략하고 정복할 수 있는 방법을 터득하게 된다. 응시자들이 많이 저지르는 실수들로 어떤 것이 있는지 살펴보고, 그... www.yes24.com 해당 문제들은 위 책에서 출제된 문제들이고, 처음엔 직접 풀어본 뒤 뒷장의 풀이를 보면서 피드백 한 내용입니다.
-
[자료구조] 02. 연결 리스트■ Back-End/- Java 2019. 7. 17. 19:06
참고: http://www.yes24.com/Product/Goods/7434347?Acode=101 코딩인터뷰 완전분석 IT 인터뷰를 준비하기 위한 책이다. 이진 트리에서 이진 탐색 트리까지, 가장 자주 출제되고 활용도가 높은 자료구조 및 알고리즘 문제들을 엄선하였다. 가장 까다로운 알고리즘 문제들을 공략하는, 다섯 가지 검증된 전략을 통해, 어떤 어려운 문제도 공략하고 정복할 수 있는 방법을 터득하게 된다. 응시자들이 많이 저지르는 실수들로 어떤 것이 있는지 살펴보고, 그... www.yes24.com 해당 문제들은 위 책에서 출제된 문제들이고, 처음엔 직접 풀어본 뒤 뒷장의 풀이를 보면서 피드백 한 내용입니다. 1. 비정렬 연결 리스트에서 중복 문자를 제거하는 코드를 작성하라. > 임시 버퍼가 허용..
-
[Java] Java 8 에서 추가된 기능 사용해보기■ Back-End/- Java 2019. 7. 2. 15:50
Java 8이 나온지 한참 지났지만, 실제로 새롭게 추가된 기능을 실무에 활용해본 적은 별로 없어서 이번에 정리해보려고 한다. 새로운 것들이 항상 좋은 건 아니지만, 그렇다고해서 오래 전부터 사용하던 것만 고집해서는 안된다. Java 8에서 새롭게 추가된 기능은 아래와 같다. Lambda 표현식 Default Method 함수형 인터페이스 Stream Optional 날짜 관련 클래스 추가 병렬 배열 정렬 String Joiner 앞으로 직접 사용해보면서 내용을 정리해나가려고 한다. Lambda 표현식 / 함수형 인터페이스 / Stream 클래스 React를 이용해 ES6로 코드를 작성하면서 Lamda 표현식을 사용한 적이 있었다. 그런데 Java에서 Lambda 표현식을 사용할 수 있다는게 많이 어색했..
-
[Java] String.concat(), '+'연산자, StringBuilder, StringBuffer에 대하여■ Back-End/- Java 2019. 7. 2. 13:56
일반적으로 문자열을 연결할 때 자주 사용하는 방법은 (1) String.concat(); (2) '+' 연산자 (3) StringBuilder (4) StringBuffer 이렇게 4가지이다. 이런 방법들이 언제, 어떻게 사용하는게 더 효율적일지 알아보려고 한다. 1. String 클래스의 concat() 메서드 - String 클래스에서 제공하는 기본 메서드이다. - concat() 메서드를 이용해서 문자열을 추가할 때마다, 새로운 인스턴스를 생성한다. 따라서 성능이나 속도 면에서 좋지 않다. 예제 코드 실행 결과 실행 결과를 보면 초기 "공유" 라고 저장된 str의 주소와 concat() 메서드 실행 후 str의 주소가 달라진 것을 볼 수 있다. 만약 반복적인 문자열 연결이 이루어진다면 주소 값이 s..
-
[자료구조] Java로 Tree 구현하기■ Back-End/- Java 2019. 5. 19. 13:57
Java로 Tree 클래스를 만들어보았다. 알고리즘 문제를 풀다보면 트리 클래스를 직접 만들어서 구현해야할 때가 있는데, 이럴 때 사용하면 편리하다. class Tree { private int val; private Tree leftNode; private Tree rightNode; public Tree(int val) { this.val = val; } public int getVal() { return this.val; } public void setVal(int val) { this.val = val; } public Tree getLeftNode() { return this.leftNode; } public void setLeftNode(Tree leftNode) { this.leftNode ..
-
[자료구조] 01. 배열과 문자열■ Back-End/- Java 2019. 5. 15. 20:58
참고: http://www.yes24.com/Product/Goods/7434347?Acode=101 코딩인터뷰 완전분석 IT 인터뷰를 준비하기 위한 책이다. 이진 트리에서 이진 탐색 트리까지, 가장 자주 출제되고 활용도가 높은 자료구조 및 알고리즘 문제들을 엄선하였다. 가장 까다로운 알고리즘 문제들을 공략하는, 다섯 가지 검증된 전략을 통해, 어떤 어려운 문제도 공략하고 정복할 수 있는 방법을 터득하게 된다. 응시자들이 많이 저지르는 실수들로 어떤 것이 있는지 살펴보고, 그... www.yes24.com 해당 문제들은 위 책에서 출제된 문제들이고, 처음엔 직접 풀어본 뒤 뒷장의 풀이를 보면서 피드백 한 내용입니다. 1.1 문자열에 포함된 문자들이 전부 유일한지를 검사하는 알고리즘을 구현하라. 다른 자료..
-
[Java] Thread_쓰레드■ Back-End/- Java 2019. 5. 15. 00:00
참고: http://www.yes24.com/Product/goods/24259565 Java의 정석 최근 7년동안 자바 분야의 베스트 셀러 1위를 지켜온 `자바의 정석`의 최신판. 저자가 카페에서 12년간 직접 독자들에게 답변을 해오면서 초보자가 어려워하는 부분을 잘 파악하고 쓴 책. 뿐만 아니라 기존의 경력자들을 위해 자바의 최신기능(람다와 스트림)을 자세하면서도 깊이있게 설명하고 있다. 저자가 2002년부터 꾸준히 집필해온 책으로 깊이와 세밀함 그리고... www.yes24.com Q. 프로세스란? A. 프로세스는 실행 중인 프로그램을 뜻한다. 프로세스는 데이터, 메모리와 같은 자원과 쓰레드로 구성되어있다. 프로세스는 최소 1개 이상의 쓰레드가 존재하며, 2개 이상의 쓰레드로 이루어져 있을 때 멀티..
-
SonarQube를 이용한 API 품질 검사■ Back-End/- Java 2019. 4. 4. 17:54
1. IntelliJ에 SonarQube 적용하기 우선 SonarQube 서버는 DevOps 팀에서 만든 상태여서, 나는 개발 중인 서비스를 새 프로젝트로 생성해서 품질검사를 하면 된다. (1) 프로젝트 토큰 생성 SonarQube 사이트에 들어가서 우측 상단에 있는 '+' 버튼을 클릭한 뒤, '내 계정'을 들어간다. '보안' 탭에 들어가면 Token을 생성할 수 있다. 토큰 이름에는 보통 사용자 ID나 닉네임을 넣지만, 나는 곧...(읍읍).. 나중에 유지 보수를 위해 서비스 명으로 적었다. 토큰 이름을 입력하고 '생성하기' 버튼을 누르면 위와 같이 토큰이 생성되고, 이 때 반드시 저 토큰을 복사해야 한다. 따로 메모장이나 wiki에 적어둬야 한다. (2) IntelliJ에 SonarQube 연동하기 ..