728x90 분류 전체보기66 [Java] StringTokenizer란? 새로운 String 관련 매서드를 알아보자. StringTokenizer이란? StringTokenizer 클래스는 문자열을 사용자가 지정한 구분자(delim)로 쪼개주는 클래스. 그렇게 쪼개어진 문자열을 토큰(Token)이라 한다. StringTokenizer 생성자 public StringTokenizer(String str, String delim, boolean returnDelims); delim의 default값은 공백문자, delim 포함 여부를 returnDelims로 여부확인 StringTokenizer 매서드 StringTokenizer는 어떤 위치 토큰을 사용했는지 기억하고 있고 그 위치를 다음으로 옮김 int countTokens();// 남아있는 toekn 개수 반환 boolean.. 2021. 8. 2. Maven이란? Spring framework를 사용하거나 그렇지 않아도 한번쯤 Maven을 들어보았을 것이다. 그럼 Maven이 무엇인지 살펴보자. Maven이란? Apache Maven은 자바용 프로젝트 관리도구로 Ant대안으로 만들어졌다. Maven은 Apache License로 배포되는 오픈 소스로 프로젝트 관리가 핵심이다. 쉽게 설명하자면 흔히 사용하는 pom.xml(Project Object Model)에 라이브러리를 정의해두면 네트워크를 통해 자동으로 받아주는 역할 수행한다. POM(Project Object Model)에는 프로젝트 기본 정보, 프로퍼티(constant같은), 의존성(라이브러리)과 빌드(프로젝트 빌드에 사용될 정보)를 포함하고 있다. 장점 라이브러리의 관리를 매우 용이하게 해준다. 프로젝트.. 2021. 8. 2. 정렬 알고리즘이란? #알고리즘 #코딩 #노마드 코더 본 포스팅은 노마드코더 영상을 정리하며 학습하기 위한 목적을 가지고 있습니다. 정렬 알고리즘이란? Sorting : 뜻대로 정렬하는 것 그 중 배열 정렬 중에서 이해하기 쉬운 3가지 정렬을 살펴보도록 하자. 1. Bubble Sort(버블 정렬) 시간 복잡도 : O(n^2) ...................................................( 스포하자면 이번에 공부할 3가지 정렬 모두 시간 복잡도는 같다 ) 버블 정렬은 잘 사용되지 않음 좋은 알고리즘은 아님. 그러나 이해하기 쉬운 알고리즘이다. 원리는 간단하다. 배열에서 두개를 선택하여 선택된 왼쪽이 오른쪽보다 크면 swap을 하여 정렬하는 방식 버블 정렬 예시 : java for(int i=0;.. 2021. 7. 26. .class와 .java 확장자 .Java와 .class란? 먼저 다음 개념들을 살펴보자. .Java : 확장자가 java인 인간이 작성한 소스 코드 파일 .class : 소스 코드 파일인 .java 파일을 자바 컴파일러를 통해 byte code로 변환한 byte code 파일 JVM : 자바 컴파일러가 변환한 .class(bytecode)를 실행시키는 프로그램 시나리오 1. 결국 자바 컴파일러가 우리가 작성한 코드를 JVM이 읽을 수 있도록 .class 파일로 변환시켜준다. 2. JVM은 이제 .class 파일을 실행시켜 OS가 읽을 수 있도록 해주는 것이다. (JVM이 targetcode를 로드하고 필요한 기능 OS 호출하여 OS가 하드웨어를 제어한다.) JVM에 더 자세히 알고 싶으면 다음 링크를 참고하고 추가적으로 Code의 종.. 2021. 7. 21. BigO란? #알고리즘 #코딩 #노마드 코더 본 포스팅은 노마드코더 영상을 정리하며 학습하기 위한 목적을 가지고 있습니다. BigO를 알아보자 작성된 코드는 더 빠르다, 더 느리다는 시간으로 표현하지 않는다. 왜 그럴까? 속도는 하드웨어가 결정하기 때문에 시간으로 표현하지 않고 알고리즘 속도는 '완료까지 걸리는 절차의 수'로 결정한다. 예를 들어, 딱 5번의 스탭이 10개스탭보다 훌륭한 알고리즘인 것이다. 선형 검색은 한개씩 한개씩 검색해 데이터가 10개면 10개 스텝이 필요하다. 선형 알고리즘은 input 사이즈가 n이라면 n스텝을 요구하게 된다. 따라서 선형 검색의 시간 복잡도는 O(N)이고 그래프로 표현하면 다음과 같다. 이렇게 BigO는 시간복잡도를 빠르게 설명할 수 있다. 이것을 이해하면 알고리즘 분석을 빠.. 2021. 7. 19. Interceptor, DispatcherServlet이란? 회사 Return server에서 interceptor를 처음 보았다. 지금까지 해왔던 프로젝트에서는 interceptor를 사용하지 않았으나 이번에 알게 되어 간단히 요약해 보려 한다. 인터셉터(Interceptor)란? Interceptor는 말그대로 Controller에 들어오는 요청과 응답을 가로채는 역할로 DispatcherServlet이 실행된 뒤 호출된다. DispatcherServlet은 아래에서 설명하겠다. 먼저, Interceptor는 HandlerInterceptor 인터페이스를 반드시 implements 해야한다. HandlerInterceptor안에 있는 메서드인 preHandle()은 Controller보다 먼저 실행되는 메서드이며, postHandle()은 Controller가.. 2021. 7. 16. Port 8080 required by Project is already in use 에러 해결 방법 가끔 이클립스에서 프로젝트를 실행할때 다음과 같이 8080 포트가 사용중이라는 에러가 발생한다. Several ports (8005, 8080, 8009) required by TestProject are already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change the port number(s). 문제는 PORT 8080을 이미 사용중이라는 것으로 사용중인 것을 종료시키고 다시 실행시키면 된다. 해결 방법은 다음과 같다. 해결 방법 PO.. 2021. 7. 14. SPA(Single Page Application)란? Vue.js를 이용한 Single Page Application 즉, SPA 구조로 된 프로젝트를 회사의 서비스앱에서 처음 접하게 되었다. SPA(Single Page Application)란? 단일 페이지로 구현한 사이트(애플리케이션)이다. 이와 반대 개념은 MPA(Multi Page Application)이고 MPA는 여러 페이지로 구성된 즉, 우리가 보통 흔히 보는 사이트들을 예로 들 수 있다. SPA는 하나의 페이지에서 계속 팝업을 띄운다고 생각하면 된다 (사실 팝업은 아니고 처음 화면인 HTML을 DOM으로 랜더링(바꿈)을 해주는 것이지만). 반면 MPA는 로그인 페이지를 누르면 로그인html로 이동한다고 생각하면 된다. SPA의 장점 빠른 반응성, 화면 전환(사용자 친화적) 서버 요청이 적음 .. 2021. 7. 13. [javascript] Promise란? Promise 예제 포스팅을 읽기 전 다음 포스팅 : javascript 비동기란? 을 참고하자 Promise란? Promise는 자바스크립트 비동기 처리에 사용되는 객체로 주로 서버에서 받아온 데이터를 화면에 표시할 때 사용한다. 일반적으로 웹 애플리케이션을 구현할 때 서버에서 데이터를 요청하고 받아오기 위해 API를 사용합니다. 이때 데이터를 아직 받아오지 못했는데 화면에 데이터를 표시하려고 할때 발생하는 오류를 해결하기 위한 방법 중 하나이다. Promise 사용법(예제) function getSomeData(){ return new Promise(function(resolve, reject){ //데이터를 받으면 resolve 호출 / 실패 시 reject resolve(result); //가져온.. 2021. 7. 12. 이전 1 2 3 4 5 6 7 8 다음 728x90