java
-
알고리즘이란? - 자료구조와 함께 배우는 알고리즘 입문(자바)컴퓨터 기초/알고리즘&자료구조 2021. 4. 12. 09:24
해당 포스팅은 "자료 구조와 함께 배우는 알고리즘 입문"이라는 책을 바탕으로 공부한 내용임. 알고리즘이란? 문제를 해결하기 위한 것으로, 명확하게 정의되고 순서가 있는 유한 개의 규칙으로 이뤄진 집합. 알고리즘의 조건은 다음과 같다. - 입력이 가능: 어떤 조건의 수를 받아서 처리할 수 있어야 하기 때문이다. - 출력이 가능: 알고리즘은 문제 해결에 따른 결과물을 도출해야한다. - 명확성: 알고리즘은 각 단계가 명확하고 애매하지 않아야 한다. - 유한성: 알고리즘은 유한한 계산 단계를 거쳐야 한다. 간단히 말하면 명확한 계산 과정을 거친 일종의 문제 풀이를 위한 방법이라고 할 수 있을 것이다.
-
2. 스프링부트와 AWS - 인텔리제이로 깃허브 연동하기실습/AWS 2021. 4. 8. 10:58
해당 파트에선 인텔리제이로 깃허브 연동하는 것을 실습할 예정. 해당 실습을 위해선 깃허브 계정이 생성되어있어야 한다. 1. Github 로그인 및 원격 저장소 생성 깃허브에 계정을 만들었다면 이제 인텔리제이로 돌아온다. 인텔리제이에서 Navigate - Search EveryWhere를 눌러서 검색창을 띄운다. 혹은 Ctrl + Shift + A를 누르면 검색창이 뜬다. 검색창이 뜨면 Share Project on GitHub를 입력하고 엔터를 쳐준다. 원래는 로그인 화면이 뜰 것이다. 나는 이미 연동까지 이 전에 해둔 상태라 바로 원격 저장소에 Repository추가 화면이 떴다. 해당 화면에서 Share를 눌러준다. Share를 눌러주면 연동된 깃허브 계정에 프로젝트와 동일한 이름의 Repositor..
-
스프링 - 프로젝트 생성하기백엔드/스프링 2021. 2. 12. 09:13
해당 글에서는 이클립스를 통해 스프링 프로젝트를 생성하는 방법을 알아본다. 물론 아래 방식과 다르게 스프링 프로젝트를 생성할 수도 있다. 해당 글은 MVC 프로젝트를 위한 프로젝트를 생성하는 방법을 다룬다. 가장 먼저 위와 같이 File - New - Spring Legacy Project를 선택한다. 만약 New 메뉴에 Spring Legacy Project가 없다면 Other를 눌러 찾으면 된다. 위와 같은 화면이 뜨면 Project name을 설정하고 Templates에서 Spring MVC Project를 선택한다. 선택한 후에 Next를 누른다. 그 다음은 위와 같이 이름을 정하고 Finish를 누른다. 이 때 굳이 똑같이 하지 않아도 된다. 보통 예시에는 com.xx.controller로 나오..
-
JSP 기초 문법백엔드/서블릿&JSP 2020. 11. 2. 01:50
JSP는 기본적으로 HTML를 기반으로 그 위에 자바 코드를 끼워넣는 식으로 실행된다. 그래서 실제로는 대부분의 변수 선언, 메서드 선언, 로직 등은 자바 언어로 짜게된다. 하지만 자바 코드를 HTML 사이에 끼워 넣을 때 필요한 문법이 몇 가지가 있다. 1. 스크릿트립(Scriptlet) ""으로 시작하고 끝나는 태그. JSP 문법의 가장 기본이 되는 태그다. 대부분의 JSP 문법 표현을 이 스크릿트립을 기본으로 한다. "" 사이에 실행될 자바 코드를 입력하면 된다. 1){ System.out.println("5는 1보다 크다"); } %> 2. 선언부 (Declaration) ""는 변수, 메서드 등을 선언할 때 이용하는 태그다. 3. 표현부 (Expession) ""는 변수, 메서드 등의 실행에 관..
-
서블릿(Servlet)이란?백엔드/서블릿&JSP 2020. 10. 30. 11:58
서블릿이란? 자바를 기반으로 하는 웹페이지를 동적으로 만들어줄 수 있는 일종의 프로그램을 말한다. 사실 좁게 보면 서블릿이란 위와 같은 기능을 하는 자바의 클래스를 뜻한다. 넓게보면 위 기능을 수행하기 위한 자바의 패키지를 뜻한다. 서블릿의 등장 배경 서버 부분에서 이야기했다시피 과거 서버는 정적인 자료(주로 HTML 문서)만 주고받을 수 있었다. 초기의 클라이언트가 자료를 요청하면 서버는 미리 만들어진 자료를 저장하고 있다가 반환했다. 하지만 인터넷 사용자가 많아지고 다양한 기능을 웹을 통해 구현하고자 하는 움직임이 많아졌다. 사용자는 정적인 자료가 아닌 자기 필요에 맞는 자료를 웹페이지를 통해 제공 받고 싶어했다. 그리고 사용자 요구에 맞춰 동적으로 반응하는 페이지을 만들기 위해 만들어진 것이 서블릿..
-
자바와 자바스크립트 클래스와 오브젝트프론트엔드/JavaScript 2020. 9. 11. 03:58
자바(java)의 클래스(class)와 오브젝트(Object) 기존에 자바를 공부했다면 클래스에 대해 알고 있을 것이다. 자바에서 클래스는 연관된 메서드 및 변수들을 모아놓은 집합이다. 간단하게 예시를 보면 다음과 같다. class student { String name; int age; int number; } 위의 'student'라는 클래스는 'name', 'age', 'number'를 갖는다. 클래스는 위와 같이 연관된 메서드, 변수들을 모아놓은 집합이다. 이러한 클래스를 이용하면 코드의 양을 줄일 뿐 아니라 대형 프로젝트도 훨씬 쉽게 진행할 수 있다. 그리고 이러한 클래스를 활용하기 위해선 자바에선 객체(Object)를 이용했다. 클래스가 원본이라면 객체는 클래스의 복사본과 같은 것이다. 그래서..
-
컬렉션 - Comparable와 Comparator백엔드/자바 2020. 8. 17. 04:01
Comparable와 Comparator는? 객체의 정렬에 필요한 메서드(정렬 기준 제공)을 정의한 인터페이스. Comparable은 특정 클래스의 기본 정렬 기준(디폴트)를 구현하기 위해 사용된다. 반면 Comparator는 기본 정렬이 아닌 그 이외의 정렬을 사용하고자 할 때 사용된다. Comparable과 Comparator는 모두 인터페이스로 이를 클래스에 구현해서 정렬 순서를 정할 수 있다. Comparable을 구현할 경우는 compareTo() 메서드를 구현해야 한다. Comparator를 구현할 경우는 compare() 메서드를 구현해야 한다. Comparable의 compareTo() 메서드는 1개 객체를 매개변수로 받는다. 즉 compareTo()는 해당 메서드를 호출한 객체와 매개변수..
-
컬렉션 - iterator, Listiterator, Enumeration백엔드/자바 2020. 8. 17. 02:44
iterator, ListIterator, Enumeration이란? 컬렉션에 저장된 데이터에 접근하는데 사용되는 인터페이스. Enumeration은 iterator의 구 버전으로서 현재는 주로 iterator가 사용된다. 다만 오래된 코드들의 지원을 위해 Enumeration은 여전히 지원하고 있다. 그래서 실제 학습은 itertor만으로 충분하다. 해당 인터페이스들의 필요성 컬렉션에서 전체 데이터를 한 번에 읽어올 때 다소 번거로운 감이 있다. List, Set, Map의 자료 구조가 모두 다르고, 읽어오는 방법도 제각각이기 때문이다. 그래서 등장한 것이 바로 iterator 계열의 인터페이스다. iterator 계열의 인터페이스들은 컬렉션에 저장된 요소들을 읽어오는 방법을 표준화한다. 이를 이용하면..