■ Back-End
-
[IntelliJ] Maven Download시 timeout 에러 처리■ Back-End/- Server 2019. 12. 29. 01:16
오랜만에 개인 맥북으로 api를 만드려고 했는데, spring boot로 새로운 프로젝트를 만들었더니 Could not transfer artifact org.springframework.boot:spring-boot-starter-parent:pom:2.2.2.RELEASE... 이런 에러가 발생하면서 maven download가 되지 않았다. 프로젝트를 잘못 만들었나 싶어서 계속해서 새로 만들어보고, Spring MVC 프로젝트도 만들어보고, Spring.io 홈페이지에 가서 새 프로젝트를 다운로드 받아보기도 했는데 해결되지 않았다. 에러 로그를 자세히 살펴보니 다운로드하는 nexus 경로가 나와있었는데, 굉장히 낯익은 주소였다. 곰곰히 생각해보니 전 직장 nexus 서버 경로였다..^^ 전 직장에서..
-
[Redis] Redis Client Tool > Medis■ Back-End/- Server 2019. 10. 8. 20:54
Redis를 terminal이 아닌 GUI Tool이 필요했는데, 구글링해보면 유명한 tool들이 많았는데, 대부분 유료이고 가격이 엄청 비쌌다 ㅠㅠ 그래서 직장 동료에게 추천 받은 tool이 바로 Medis이다. 홈페이지 : http://getmedis.com Medis - GUI Manager for Redis getmedis.com Medis도 사실 유료지만 가격은 5900원 정도로 다른 tool에 비해 저렴한 편이다. 하지만 내가 조금만 노력하면 무료로 사용할 수 있다! 1. Medis 소스 코드 받기 아래 github에서 코드를 다운받는다. https://github.com/luin/medis luin/medis 💻 Medis is a beautiful, easy-to-use Mac databa..
-
[자료구조] 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..
-
데이터 조회 속도 개선 > part.1 DB■ Back-End/- PostgreSQL 2019. 5. 24. 09:00
연락처 서비스 개발시 많은 데이터를 조회해서 화면에 뿌려줘야 하는 경우가 있었는데, 페이징 처리를 하지 않고 한 번에 다 보여줘야 했다. 우선 DB에서 데이터를 조회할 때 함께 Join 걸어야 하는 테이블의 수가 많아서, 데이터가 많을 경우 시간이 오래 걸렸다. 그리고 화면에서는 보여줘야할 값들이 많아서, 스크롤을 내릴 때마다 버벅거림이 심했다. 이 두 가지 이슈를 해결하기 위해 쿼리 튜닝과 Indexed DB를 이용한 캐싱 처리를 진행했다. 1. 쿼리 튜닝 DB 구조 테이블 명 구조 기본정보 address_service_no(PK), user_no(PK), user_name, .... 전화번호 정보 address_service_no(PK/FK), phone_no(PK), phone_type, phone..
-
[자료구조] 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 ..